Search Results: "xam"

26 January 2006

Axel Beckert: Athen plans to ban SUVs from the city

According to this Spiegel Online article Athen plans to “ban offroaders” from the centre of the city with the beginning of September 2006. Since the Greek governments argues about the traffic space these cars need, their drivers “only being posers” that have “nothing to do than driving around all the day”, I suspect, they mean SUVs and not offroaders. At least here in Germany, you usually don’t see offroaders in the cities, but a lot of Sport Utiliy Vehicles which usually just pretend to be an offroader (Wired, Guardian) but are perfect for parking with one or two tires on the sidewalk. As outrageous as this sounds — it may have a real and reasonable reason: SUVs are usually bigger than other cars (especially in Europe), they need more parking space and have bad turning circles. They often have to back just to turn left or right in Athen’s narrow alleyways. Because of this, they are accused to cause most of the traffic jams in the centre of Athen I’m still not sure, if I should believe this news, although SUVs are some kind of enemy concept for me. Why only SUVs? Why (AFAIK) also small offroaders like the Suzuki LJ or SJ? Why not being consequent and taking the Paris of ’50s (or ’60s? Can’t remember and Google and Wikipedia didn’t help…) as an example and creating a Zone Bleue (“Blue Zone”), in which only cars may enter, which have appropriate dimensions. “Zone Bleue”? Back in the decades after WWII, Paris had problems with big lorries in the city, so Paris’ introduced the Zone Bleue (AFAIR) in the inner city, which was restricted to vehicles with a floor space less than 5m² or 6m² or so, so even some French car makers started build special “Zone Bleue” versions of their delivery vans with bumpers closer to the van body, tunneled rear lights and rolling shutter instead of outside lying sliding doors. And often high roofs for raising their capacity. (The only “Zone Bleue” van I found pictures of on the net was this Citroën HY Zone Bleue Pickup. You can best see the unusual rear bumper and the tunneled rear lights on the lower left picture.) But back to Athen: Another reason which makes me sceptical about that news is that neither the Englisch Google News nor the the German Google News (also tried several other search terms…) finds any other news about this except the above mentioned Spiegel article. Found via Ignoranz.ch.

25 January 2006

Matthew Palmer: LCA 2006: The Hackfest

There's a fairly standard set of activities that go on at linux.conf.au each year -- keynotes, tutorials, seminars, miniconfs, BOFs, lightning talks, keysigning, etc. The hackfest is a standard part of the program, but one which (in the past) maybe hasn't gotten the attention it deserves. I think this is because, in 2004 and 2005, the hackfest was a fairly narrow task -- in Adelaide (2004) contestants had to write a tetrinet client (fairly complex), and in Canberra (2005) contestants had to write either a GUI or an AI for spellcast (a fairly esoteric game that nearly nobody has ever heard of). Prior to this year, I'd never participated in a hackfest. I've never played tetrinet in my life, and I knew I had no hope of writing an AI for spellcast. Also, since the contest in both cases ran for most of the week, to be competitive I figured you had to spend all of your spare time working on your program, and there was beer to be drunk, so I decided it was a bad use of my time. This year, though -- phwoar. A totally different problem set, a new way of running the hackfest. Far more approachable for a much broader collection of hackers, and since it was a 4-hour session, you knew how much time you had to invest up-front. I really appreciated that there was something for pretty much every type of competent programmer. One task, for instance, was to build a config GUI for the ccontrol tool, another was to write a Sudoku puzzle generator. These aren't simple problems, but I'd say that most people I'd call a programmer could make a good showing at one (or both) of these problems. At the same time, though, there were some really low-level problems (like optimising a C program or turning some PPC64 assembly code back into the original C function). These were interesting for me, as it's not something that I'd ever touch myself in the normal world, so it was nice to be able to submerge into something like this for a little while. There were even a couple of problems that didn't require much programming skill -- fix a corrupted gzip archive, and fix a corrupted filesystem image. These are difficult problems, but don't (necessarily) require the production of reams of code to solve. To be able to win the competition, though, you need to have a broad range of skills. This is entirely appropriate (although it rules me out of the running) as a true hacker is adaptable to new problems. With the previous competitions, if you happened to luck out and be a tetrinet or spellcast guru, you had the competition in the bag. This competition will slightly favour someone who is a PPC assembly expert over someone who doesn't know much about anything, for example, but your PPC guru (who can't do much else) is going to get 0wz0red by the problem-solving, google-loving generalist. The time limit aspect was a very, very good move as well. It meant that I could accurately estimate, up front, my total time commitment to the game. I didn't have to worry about getting flogged by someone who dedicated themselves day and night to cracking the problems while I was out stonegrilling my dinner and emptying barmates. Now I only have to worry about getting flogged by people who are just Better Hackers -- which I have no problem with. It was also great to be able to switch on the iRiver and bury myself in the problem for a few hours, instead of putting it off all week and then bodging up a poor solution in the last few hours. So, kudos to Chris and the rest of the team who ran this year's hackfest. I really enjoyed this year's competition, and I hope that next year will be equally interesting.

Matthew Palmer: LCA 2006: Samba 4 -- Oh My!

It's always worth catching a talk from Andrew Tridgell. He's very funny, informative, and always makes his topic accessable to the entire audience. This year's Tridge Talk was on Samba 4, which has just released it's first technology preview. As always, the room was packed -- I really feel for any speaker who's in a parallel session against Tridge, because he's always such a big drawcard, no matter what the topic. The technology in Samba 4 is quite impressive. They've built their own LDAP server, since OpenLDAP is quite strict in it's standards compliance, and that's the last thing you want when you're trying to interoperate with Microsoft. They needed a Kerberos server as well, but in this case Heimdal Kerberos is suitable and nicely integrated. There's also some very strange stuff inside -- for example, there's an embedded JavaScript engine inside, to drive the all-new, hypercool, AJAX-enabled SWAT. Yes, you read that right, parts of Samba 4 are powered by JavaScript. But of course, a talk is always so much more impressive with a demo. The chosen feature was the entertainingly named "Vampire tap" functionality -- "now with longer fangs". You take a Win2k3 domain controller, a Windows XP workstation joined to that domain, and a Samba 4 server. Point the Samba server's fangs at the Win2k3 box, wait a few seconds, shut down the Win2k3 server, change a couple of settings in Samba, restart the Samba service, and then log in again on the Windows XP machine. It all Just Worked. I avoid supporting Windows machines wherever possible, but when such an eventuality is unavoidable, it looks like Samba 4 will make the process significantly less painful.

Matthew Palmer: LCA 2006 -- Schwag Review

It's a conference tradition that you get a pile of schwag at registration -- some sort of collection of toys, brochures, and other miscellania to remember the conference by. Or something. LCA is typically characterised by a pretty good schwag haul -- I can't think of an LCA I've been to (all 2 of them up 'til now) where I've been disappointed with the schwag. This year is no exception. The organisers have clearly gone to a lot of effort to dredge up all sorts of geek-friendly gear to dish out. For example, the conference bag -- it's a laptop-friendly backpack-type apparatus. Lots of pockets, shoulder strap, the whole kaboodle. Very tidy. It's a pity I've already got my Targus carry-everything-including-the-kitchen-sink model, because this bag would make a very nice alternative to that. The stuff inside the bag is just as impressive. There's another retractable network cable, like last year (a bit of a pity, perhaps, but this one is Cat-6 rated, for extra... something), as well as a tiny little 1-AAA torch. There's the usual pad/pen, tourist detritus, and conference program. More interestingly, there's a very shiny yo-yo (puppy dogs, beware!) and (possibly most importantly) a keyring-mountable bottle opener. There's also what is possibly the world's smallest frisbee (less than two inches in diameter -- as one of the organisers said, "Throw it at a speaker you don't like, because it sure as hell doesn't fly"), a laser-cut placemat (tres cool), and a chunk of chocolate (because we're about 5 minutes walk from the local cadbury's factory). Finally, there is the T-shirt. Loved ones will be pleased to hear that the T-shirt this year is basic black, meaning that you won't have to worry about being seen in public with a red-clad Matt. (For those of you watching at home, my wife isn't keen on red coloured clothing for some reason, so last year's conference T-shirt was not a big hit). The speakers are going to have to work hard to top the schwag pile. I await their response with baited breath.

Jonathan McDowell: Mapping Northern Ireland

I forgot to mention that while I was home over Christmas I did some work on starting to get Northern Ireland mapped. Many online map services don't have particularly good coverage of NI outside of major roads and Belfast. Look, for example, at Google's map of Newry, where my parents live. Compare this with what I managed to get done with OpenStreetMap's map of Newry. And I didn't spend a whole lot of time getting tracks, so just imagine what I could get covered with a more concerted effort. I also covered the A1/M1 from Belfast to Newry; I'd hoped to cover the road to the point where it crosses into Ireland, but didn't get round to it. Anyway, what I've managed is at OpenStreetMap Northern Ireland. I've a little bit more to upload at some point when I have time, but I'm hoping that others who actually live in NI will start to do some work towards it as well. I notice Ireland has now got a number of roads added as well - there was nothing when I was doing NI. Maybe they'll get connected at some point soon. Like, say, when I'm home next month and fly into Dublin. :)

David Pashley: Bad Shell Scripts

I'm always amazed at the number of bad shell scripts I keep coming across. Take this snippet for example:
TEMP1= mktemp /tmp/tempenv.XXXXXX    exit 1
perl $CONF_DIR/project.pl $@ > $TEMP1
if [ $? != 0 ]; then
  return
fi
. $TEMP1
rm -f $TEMP1
There are several things wrong with this. First it uses a temporay file. Secondly it uses more processes than are required and thirdly it doesn't clean up after itself properly. If perl failed, the temp file would still be created, but not deleted. The last problem can be solved with some suitable uses of trap:
TEMP1= mktemp /tmp/tempenv.XXXXXX    exit 1
trap "rm -f $TEMP" INT TERM EXIT
perl $CONF_DIR/project.pl $@ > $TEMP1
if [ $? != 0 ]; then
  return
fi
. $TEMP1
rm -f $TEMP1
trap - INT TERM EXIT
Of course this can all be replaced with a single line:
eval $(perl $CONF_DIR/project.pl $@)

24 January 2006

Adam Rosi-Kessel: Massachusetts Healthcare and Dunkin Donuts

Those of you outside of Massachusetts (or the United States) may not have heard about our recent healthcare insurance debates. Left Center Left has some interesting entries on the lack of local political analysis and confusion about why the business community opposes the various legislative solutions where those solutions appear to be basically in their self interest. The proposed solutions are converging on a tax on employers who do not pay for their employees’ healthcare. That tax would help pay for statewide coverage of all or most citizens, and hopefully encourage employers to provide insurance for their employees to avoid the tax. (There is strong dissent, for example from the Massachusetts Taxpayers Foundation, as to whether the tax would actually raise any money). Critics argue that the tax will discourage employers from coming to Massachusetts. The two large employers singled out most frequently in the State for not providing healthcare benefits to their large work force are Wal-Mart and Dunkin Donuts. Is it even remotely possible that Wal-Mart and Dunkin Donuts would actually shut down (or stop opening up) stores if they have to insure their employees or pay an additional tax? Obviously increased labor costs (whether through tax or insurance) could cut into profitability—but is there any evidence at all that it would represent a “tipping point” that would cause these employers to shut down? (Note that despite Massachusetts’ reputation as “Taxachusetts,” a study last year that I can’t locate right now pointed out that the overall tax burden on Massachusetts citizens was about in the middle, compared to other states). Even if the health insurance mandate depresses wages, it’s worth noting that it is cheaper for the employer to buy group health insurance for its employees than it is for each of those employees to buy it individually—both because of the bulk buying power and for tax reasons. It is thus not a “zero sum game” where employees wages should be depressed by the exact amount of the increased health care costs. Finally, wouldn’t this measure actually encourage employers to come to Massachusetts who already insure their employees, since presumably the statewide insurance mandate should decrease costs to those already providing insurance as they will no longer be effectively subsidizing the uninsured who work for competitors and other employers? And aren’t those the kinds of employers we would like to attract, rather than more Dunkin Donuts and Wal-Marts? (In fact, wouldn’t fewer Dunkin Donuts lead to less heart disease, thus also cutting down our health care costs overall…?)

23 January 2006

Martin F. Krafft: Lufthansa and Swiss

It was a long fight that Lufthansa fought before they were allowed to swallow Swiss, the second try at a Swiss national airline after the horrendous management mistakes by the SwissAir board. But they won: at the end of March 2006, the merger is supposed to be complete. Sitting once again on a flight to Berlin, operated by Swiss, I am beginning to wonder whether this merger will be completed in time. I am undoubtedly spoiled as a regular Lufthansa flyer, so several things annoy me every time I fly Swiss (economy class, of course):
  • After boarding is complete, I sometimes walk to the business class purser and ask for today's paper. Since I usually fly in the evenings, Lufthansa stewards never deny this request for they are not going to need the paper anymore -- there's nothing more boring than old news. On Swiss flights, I always get a categorical "no" as the answer, the reason being that only business class passengers get papers. It's worth to note that Lufthansa has shelves with papers in the gate area, so I only rarely have to ask the in-flight crew, usually only when the Financial Times wasn't available for grabs. Swiss doesn't consider this an important service.

  • Cheap economy tickets are not rebookable. However, I cannot afford to spend twice or thrice the amount for a ticket, just to be flexible. I have often arrived at airports early. If I am on a Lufthansa flight, I can usually get switched to an earlier flight for free, or for the rebooking fee of 35 EUR. Swiss has never made a compromise. I have had to spend additional nights in a place just because there weren't any seats in my booking class, even though the flight was nearly empty. I know that Swiss is actually performing according to the rules. But one reason why I like Lufthansa so much is because they often bend the rules to please their passengers, no matter whether they are students or high-shot managers. Since Swiss wants to see themselves as the luxury airline, they have no concept of people who can't afford to pay shitloads. Typical Swiss, in some ways.

  • Lufthansa serves meals even on short flights if you fly between 18:00 and 21:00 hours. Swiss offers sandwiches whose consistency suggest they should be used to lessen the impact in case the airplane goes down, not eaten.

  • Lufthansa has great Florida orange juice. Swiss has some cheap crap from the supermarket.

  • Lufthansa serves free alcoholic beverages (incl. beer). Swiss charges Swiss prices (4 EUR for a 0,33 litre can of beer).

I suppose I could list more examples, but then I'd just get more aggrevated. Thus, instead, I ask the crew for another sandwich, in case they have any leftover. Who cares about cushiony sandwiches when you're hungry, right? "I am sorry, we cannot give out more than one sandwich per passenger" This is the last flight of the day to or from Berlin. Are you going to recycle the sandwich and serve it to the morning passengers? Another fun tale about Swiss: their homepage is utter crap. First, it thinks I am Italian, despite my browser sending en,de,fr as preferred languages. Second, there's no way to change the language, it seems. And third, see for yourself: book a ticket to Budapest this coming weekend and state you are a student. You'll be asked to pay 150% of the price that a regular (non-student) passenger would pay for the same flight. So, Lufthansa, are you aware of the amount of homework you have to do?

Andreas Rottmann: networking example: eval server

Today, I implemented open-tcp-listener-accept-loop from Riastradh’s TCP proposal, and extended my own networking proposal to reflect this. For quick testing, I wrote a simple server that evaluates scheme code. No sandboxing or other fancies are implemented, but I think it shows pretty nicely how easy it is to build a multi-threaded TCP server in Scheme48. The code is available via lisppaste. And to all of you that are like me still in 2005: An guatn Rutsch, und a guats neichs!

Andreas Rottmann: Centralized Revision control considered harmful

We all know a long time that CVS sucks; the author of that article (in 2002) listed his main gripes with CVS: missing file renaming and not being able to remove directories. So far so I agree completly, these two things make CVS annoying to use, and everyone, even casual CVS users, will stumble upon these mis(sing) features. At that point, both subversion and what later became GNU Arch (to my knowledge, the first Free Software, distributed RCS) were in pre-1.0 versions, but becoming ready for use by the braver souls. While subversion has certainly fixed the renaming and directory problems, subversion has a fundamental shortcoming, making it an obstacle for FOSS to reach its full potential: it restrains the developer that may come along and want to experiment with the code. And no, it is not enough that the developer can checkout the latest code and submit a patch to the mailing list. This might work on projects where such patches are both trivial and quickly fed into the repository. But for more serious work, you will want to keep track of your work for yourself, either so you can review and alter the steps (changesets) done later on, or since you have to submit it piecemeal anyway. It could also happen that another, non-privileged developer wants to work on a thing that needs your modifications, before your patch has been approved and committed, or even before you are fully done with polishing it up fully for inclusion into the mainline. This other developer may also be just interested in your work and like to test it, and while doing so, he finds a little bug and wants to fix it. All this does happen in the real world, even on a large scale, e.g. with Linux distributions, and it’s called branching. The problem with non-distributed RCSs is: you need write access to the repository to create a branch. This is both true in CVS and subversion (although in CVS, branching makes little sense, as merging is a real PITA). To get write access, you have to go through whatever hurdles there may be in that particuliar project until you are deemed worthy of commit access. It is of course clear why it has to be that way: would the developers of that project grant everyone and their dog commit access, they would soon be busy with undoing the damage done by commits that don’t meet quality (or other) criteria, and not having any time left for hacking. This is not a problem with a distributed RCS, however - you simply have (typically) one person maintaining the “official” version of the source code, typically that’s the same person that rolls release tarballs. For example with Linux, it is Linus (for the development branch). That person can have their own repository, where everyone else only has read access, and selectively pulls changesets (patches) from repositories of peer developers. I hope I was able to made clear why using non-distributed RCS for a FOSS project can restrain the possibilities, limiting indivual freedom. So, if you believe in freedom (and software freedom in particuliar), consider giving a distributed RCS of your choice a try. I can heartily recommend darcs, (altough I’m not sure how it scales to bigger projects) but there are several alternatives out there. And in case you want to migrate an existing project, or give your users and developers a choice of RCS, you can use tailor to migrate your old repository, or even establish a two-way gateway between two RCS.

Andreas Rottmann: Yet another logging package

I couldn’t resist the temptation, and started to write yet another Scheme logging library; this has been on my TODO-list for quite some time now, but now it became more urgent, since we need a logging facility for conjure. I hope jao will be pleased to see that my branch of conjure already makes use of the new logging module :-) . Of course, I didn’t in fact start from scratch, but had a look at the various logging libraries available; the Scheme ones being: I also had a look at log4r and the Python logging package; both seem worthy taking as a starting point. What I’ve come up with so far has a pretty similiar model to these systems; you send a log entry that should be logged to a logger, which has zero or more handlers that are responsible for actually doing anything with the log entry, such as writing it to a port. All loggers, besides the root logger have a parent, (also a logger) which log entries are sent to, in addition to being processed by the handlers attached to the logger; the propagation to the parent can also be turned off. The logger hierarchy is established by a hierarchical namespace: The logger with the name '(conjure cc) is a child of the logger named '(conjure). This may all sound overly complicated, but getting started is very straightforward:

;; ,open spells.logging
(define log-info (make-log ‘(test) ‘info))
(configure-logger ‘())
(log-info “hello world!”)

make-log creates a logging procedure. Logging procedures take a single argument to be logged; the argument may be an arbitrary object; it is up to the handlers on how to go about formatting this object. The argument passed to the logging procedure is wrapped in a log entry, which additionally contains the log level. The name of the logger that is to be used is '(test), and 'info is the log level. If the logger '(test) doesn’t already exist, it is created on the fly with no handlers and the root logger as a parent; it can be configured later. This separation of logger creation and configuration is important: In a real application, the logging can be configured from the command line or a configuration file; you don’t want to (hard-)code it into the same module that uses the logger. (configure-logger '()) configures the root logger (which has the empty list as name) with a default configuration. configure-logger also has an optional argument in which you can provide a custom configuration, but I won’t go into this now, since this part of interface is most likely to change. The default configuration amounts to logging everything on (current-output-port). Finally, we log a simple string through the logging procedure log-info. The output looks like this:

(test: [info] hello world!)
Well, enough of this for now; if you got curious you can take peek at the code.

22 January 2006

Joey Hess: on data hoarding

This post, (via Ian M) meshed with some things I've been mulling on for a while about how we treat different types of data today. The relevant quote from that post is this:
I'll bet that we will look back of this era of quasi-networking and wince, "How did we ever live that way?" And the idea of wanting to carry all of your content with you will seem both old-fashioned and rather ridiculous.
I was recently very happy to acquire a large quantity of data files (about 15 thousand), each of which would take me hours to days to do anything with. And I have a few hundred CDs and DVDs with a terabytes or so of achived data on them. There is probably more stuff here than I would ever be able to look at in a regular lifetime if that were all I ever did. I'm adding stuff to the collection regularly. All of this is data that is not freely available; some of it is private stuff like email archives, some more is music, and every other sort of digital media known to man. Except oddly, software, which is almost nonexistant from the hoard except for a few bits that slipped in by accident. The chance that I'll ever look at any single one of these files is probably on the order of one in a thousand, although it's certianly possible that a computer might look at them all and search out some that I will be more likely to look at. Even though I know that I will probably never use most of this stuff, I hold onto it as archives mostly because it's easier to do that, than to decide if I really need to keep it. Or to get it back if I mistakenly discard it. That basic tradeoff, plus the fact that it's very easy these days to aquire large quatities of data and hold onto it cheaply, are the main factors behind this hoarding. What I've described might seem extreme, but it's not very uncommon and most of the people reading this probably do it too, to some extent. But the really interesting thing to me is that if this data were the only data I was able to use, I'd be very unhappy and bored and unable to accomplish much. The interesting thing is all the other data that I don't bother hoarding, because it seems so likely that it will be easy to get it if I need it. Some examples of this data -- and there are untold terabytes of it out there -- include: the complete source and binaries for a dozen operating systems; the complete revision control history of a thousand free software projects; tons of archived web sites, concerts, and movies in the internet archive; every usenet post ever made; every mailing list post I've ever read (or ignored); dozens of bug tracking systems with millions of bug reports; probably not very good scans of any artwork of any significance; more ephemeral blog posts than even boing boing can link to, etc. I don't hoard that data. The tradeoffs dont make hoarding it worthwhile; it's easier to just hope that most of it will always be available, and use my limited resources to keep the small parts of it that I'm responsible for backed up and available to others. Which tends to feel like a better use of time and resources than hoarding data, by the way. I suspect that there is more of this sort of data out there that's important to me, than there is for the average person right now. After all, most people don't find old bugs in bug tracking systems and the history of software's modification in revision control systems interesting, and I understand there might even be a few to whom usenet archives from the 80's arn't fascinating. And I know that the amount of data out there that's important to me has gone up over time. So the big question to me is, will I begin to find my hoarded data is useless, will it ever stop being important, and will I stop adding to the hoard? Some technological advances, like faster bandwidth, could tilt the balance that makes some things worth hoarding now. But at least for me, data still seems to be worth hoarding if the cost of accessing it is more than the cost of keeping it on media, or if its future availability can't be guaranteed. There are a lot of services that don't meet these criteria, things like itunes, and bittorrent, and netflix. These things won't stop hoarding; they'll just make hoarding easier, despite themselves. If it were still the 80's I'd be hoarding nearly every freely available thing I listed 5 paragraphs above. Some of it no longer needs to be hoarded thanks to technological change, some of it due to new services, but it seems to me that the really important change that tilts the balance from hoarding data to not is a growth in trust, and a change in what kinds of data are valuable. I trust the Internet Archive. I (sorta kinda) trust Google. And so I trust them to keep their content available, and so I don't try to hoard it. More and more I find freely licensed data, whether it's Free software, CC licensed media, or whatever, to be more valuable than proprietary data. And because it's freely licensed it can be archived online for everyone, by everyone, with network effects, and no need for hoarding.

Matthew Palmer: LCA 2006 -- Schwag Review

It's a conference tradition that you get a pile of schwag at registration -- some sort of collection of toys, brochures, and other miscellania to remember the conference by. Or something. LCA is typically characterised by a pretty good schwag haul -- I can't think of an LCA I've been to (all 2 of them up 'til now) where I've been disappointed with the schwag. This year is no exception. The organisers have clearly gone to a lot of effort to dredge up all sorts of geek-friendly gear to dish out. For example, the conference bag -- it's a laptop-friendly backpack-type apparatus. Lots of pockets, shoulder strap, the whole kaboodle. Very tidy. It's a pity I've already got my Targus carry-everything-including-the-kitchen-sink model, because this bag would make a very nice alternative to that. The stuff inside the bag is just as impressive. There's another retractable network cable, like last year (a bit of a pity, perhaps, but this one is Cat-6 rated, for extra... something), as well as a tiny little 1-AAA torch. There's the usual pad/pen, tourist detritus, and conference program. More interestingly, there's a very shiny yo-yo (puppy dogs, beware!) and (possibly most importantly) a keyring-mountable bottle opener. There's also what is possibly the world's smallest frisbee (less than two inches in diameter -- as one of the organisers said, "Throw it at a speaker you don't like, because it sure as hell doesn't fly"), a laser-cut placemat (tres cool), and a chunk of chocolate (because we're about 5 minutes walk from the local cadbury's factory). Finally, there is the T-shirt. Loved ones will be pleased to hear that the T-shirt this year is basic black, meaning that you won't have to worry about being seen in public with a red-clad Matt. (For those of you watching at home, my wife isn't keen on red coloured clothing for some reason, so last year's conference T-shirt was not a big hit). The speakers are going to have to work hard to top the schwag pile. I await their response with baited breath.

Matthew Palmer: The Future Is FUSE

Well, probably not, but it's a nice catchy headline. <grin> What I do think is that there is a pile of unexplored functionality hiding in mapping more things to regular filesystems. FUSE has lowered the barrier to providing access to non-traditional filesystem places -- there's versioned filesystems, SFTP (of the SSH variety) filesystems, filesystems into tarballs and zip files, and so on. Implementing a FUSE filesystem is as simple as whipping up a few callback methods in your favourite programming language (the native bindings are, of course, in C, but there's FUSE libraries for Python, definitely, and I'm fairly sure I've seen Perl and Ruby ones as well) to implement things like stat, open, read, and so on. Then you run the program as per normal and suddenly you can read and write things you've *never* read or written before... Beyond the mundane extensions of reality listed above, there's whole new vistas of relatively unexplored territory for filesystem-like operations, which are (a) waiting to be explored, and (b) much easier to implement due to the fun of FUSE. For example, SQL databases are very hierarchical in nature. Databases contain tables which contain rows which contain fields which contain values. If you can track your foreign keys, some of those values can be symlinks/directories to other records, or a directory of records for join tables. Sure, it's horribly inefficient to update whole tables by for i in *; do echo 12 > $i/fieldname; done, but at the very least it could be an interesting way of viewing data, and with some judicious caching (depending on use-case) the performance could probably be made half-sensible. A more refined version of this is the idea of reporting into pseudo-flatfiles. Imagine if you could open a file and have a spreadsheet of all of your data. With FUSE, it's possible. A killer one that my boss Dave Kempe came up with is a search filesystem -- you create a directory in this FUSE filesystem that is named after a search query -- perhaps "2005 financial". A Google Desktop-style search then results every time you enter that directory, and all matching files are available for your viewing pleasure. I understand that gmail works something like this "virtual folders with search" model, and I know that applications like Evolution and Liferea already have some sort of virtual folders type of thing, but we don't think that anyone's written something like this for filesystems. Considering that you can run a FUSE filesystem over Samba, you can easily have a company-wide document search-and-retrieval with persistent (and shared) queries, which is probably a pretty valuable thing. Even all of these, though, are relatively tame ideas when weighed against the myriad of things that my tiny mind can't even dream up. I don't think people have put much thought into how far a filesystem really can go, because before FUSE, if you wanted to write a filesystem, you were pretty much restricted to kernel-mode programming -- a very limited (and dangerous) world for your average application programmer.

Holger Levsen: On workrave and workplaces

Thanks to David Pashley I have discovered workrave, a tool with the aim to help you prevent RSI. I find it really useful, though in the beginning it sometimes feels annoying, for example when you're in the middle of doing something. After two days of using it, I'm slowly changing my habbit of clicking on the "postpone" button in those cases, as this a.) leads to another interrupt soon and b.) means even more finger movements (to click on the button and getting back to work).

Taking the breaks as adviced (I've only changed the defaults slightly) is really relaxing in my experience and even if I'm in the middle of doing something, I don't loose my concentration if I pause for 25 seconds and relax. I do loose more of my concentration if I do use the postpone or skip button :-)

And it's also not only helping preventing RSI but also back pains (which are related in my opinion / experience as one of the core causes for RSI is bad posture which also leads to back pains) and those breaks also help not to forget to eat and drink, which sometimes happens during hacking sessions.

So I'm a happy workrave user now, even though I'm still annoyed by bug 348845 - which I would happily fix myself if the sources for the images were available...

Which brings me to the topic of content being unsuitable for "the" workplace, because it offends people. I am offended, but not really surprised, how many people (and workplaces) seem to be offended by mentioning lesbians, but not for sensible reasons but because of the sexual reference. Heck, even Microsofts CEO seems to happily get along with gays, lesbians, bisexuals and transgenders even though Microsoft as an american company has to fear those (christian) talibans, which is not the case for Debian.

And you really shouldn't blame anybody else except yourself if you visit non-work related URLs during your working hours.

20 January 2006

Thomas Hood: Less impressed with bank machine software

In the past I have cited automated banking machine software as an example of an application that is extremely well tested because it has to be. I take it back. "Bank machines belonging to the Dexia Bank in Belgium have developed an interesting problem. The machines cease to function as soon as someone presses the '7' key. Inconvenient for customers who have '7' in their PIN codes."

19 January 2006

Riku Voipio: software patent directive gone

So software patent directive was shot down at 648-14 votes. Not time to rejoice yet (well, maybe one beer.

The media seems to have picked up examples like "ABS brakes" and "CAT scanners" as examples of rejected patents, which is terribly misleading. They are examples of Inventions having computers, rather than the pure-software patents free software developers and small businesses are against.

We need to start working for a sane patent unification directive, that does what it says, not this Computer-Implement-Invention crap, that in fact legalilizes pure-software patents. The industry lobbiers have probably already started lobbying a new weasel-language directive.

At the other end, we need to stop our local patent offices from issuing swpats on their own.

...

Riku Voipio: names with pwgen

Finally here, Maemo platform, and the device it runs on, Nokia 770.

Featuring and Sponsoring a large range of Free software, for example kdrive xserver,matchbox,gtk/d-bus,gstreamer, and Scratchbox we created among other things at Movial. Thanks to all Debian and other FLOSS developers who made it possible!

Edd Dumbill: Rails, Bazaar and SwitchTower

I have just submitted an enhancement to SwitchTower to let you use Bazaar as a source control system. SwitchTower is a deployment framework for Ruby on Rails applications, allowing fine-grained control over deployment of Rails applications to one or many servers.  My contributed module lets people who use Bazaar join in the fun. Until such time as my patch is approved, save it in the app/switchtower/scm directory of your Rails app. The module assumes that the Rails application is in the root of your tree. In your SwitchTower deploy.rb file, add:
set :repository, "you@example.com--archive/whatever--trunk--1.0"
set :scm, :baz
set :checkout, "export"
The "export" setting can be omitted if you really want baz to check out all the arch directories full of version control junk onto your live servers. Note that the repository follows a specific version. If you branch your deployed version, you'll need to change the repository to the new version.

18 January 2006

Eric Warmenhoven: You can use a coupon!

For a while now I’ve been thinking that I’d like to get my private pilot’s license, so I’ve decided that once daylight saving time begins, I’ll start taking lessons. Does anyone have a recommendation for a good instructor? I’d prefer one based out of Reid-Hillview, since I live just off Capitol. Also, how long should it take, and how much should it cost? (I know those answers are dependent on how much flight time I need before I feel comfortable taking the exams, but I’m just looking for an average.) Lisa’s dad has his license so he was able to give me a bit of an idea, but he got his out of Hollister so I’m not sure if there’s a difference. Also, I’d like to get my IFR and probably also multi-engine; but I’ve heard some people say that it’s a good idea to wait a while after getting VFR before getting IFR. Is there any merit to that? Lisa and I are also getting serious about buying a new home, and this time we’ve even got a realtor helping us find houses that we might be interested in. It’s sort of off to a slow start, since the market is kind of slow right now anyway, but I’m hoping it will pick up soon. Also I don’t think we’ve adequately explained to the realtor quite what we’re looking for, and how little work we’re actually willing to do to the house. We’re hoping to move sometime this year, but I’m not sure whether that’s realistic. Fortunately we don’t have any urgent need, so we don’t have to settle for something; but I’d still like to get it over with as quickly as possible.

Next.

Previous.