Search Results: "ema"

5 April 2010

John Goerzen: Thougts about the Europe visit: Water

This is probably the only real surprising to an American post I ll be making, because it was the little thing that was most surprising. And that despite the fact that I had been warned:
Don t expect to get a glass of tap water at a restaurant or caf ; it s an unusual request that probably won t be understood or honoured. Lonely Planet Germany
Now, before I go on, I want to clarify that this post is NOT a complaint of what I saw in Germany and Prague; it s just a description of how it was surprising to these American eyes, and perhaps also a description of how the American approach such a mundane topic might be surprising to people from elsewhere. (Update: I want to clarify that I only visited 3 cities in Germany plus Prague. I don t want anybody to assume that I m making generalizations about the entire continent here, despite my title; I think the comments reflected that I didn t make this point clear enough. I lack data to draw much of any generalization at all; this is more of reporting on my experiences than anything else.) Utilitarian Water I noticed that the vast majority of toilets I saw in Germany and Prague are of the extremely water-saving variety, with an option for a small or a large flush. These toilets exist in the USA, but are still rather uncommon here. I was glad to see this attitude of conserving water. I was a bit surprised when I took a shower at our hotel in Berlin. Although that hotel was extremely environmentally-conscious in every other way including the toilets, light switches with RFID sensors and timers, etc the shower head was the most wasteful of water I had seen in quite a few years. I felt rather guilty of using so much water for a shower. But our hotel in Prague took shower heads to the next level. The shower head there was this huge square monstrosity, about a foot long on each side. I have never seen a shower head that big. It had a voracious appetite for water, too. Although it could be pointed in any direction, doing so was useless because, even at full blast, it was clearly getting not nearly enough water to propel the spray forward. It seems that this shower head needed special water-guzzling plumbing. But even without it, I felt even more guilty for showering in Prague. I suspect that I used more water for the two showers I took there than I would have over an entire week at home. I also very much suspect that this shower head would be illegal in the USA due to its water consumption. (I should note as an aside that the shower heads I saw in private homes were no different than American ones.) One thing I didn t see was lawn sprinklers. This may have been because there is less open grass in the places we visited, or perhaps because spring hadn t yet really hit. In any case, I wonder if our American habit of pumping water from deep beneath the ground, only to shoot it up in the air and spray it back on the ground again might appear a bit odd to others. Drinking Water In Restaurants We did a lot of walking in Europe, and sometimes we d have walked awhile to get to a restaurant. I really prefer water when I m thirsty, and ordered water with my meal at restaurants a few times. I stopped doing that, though. The presentation varied, but usually it went along these lines: they brought a glass bottle to the table, it cost EUR2 EUR5, and generally contained almost as much glass as water. The most impressive display of water was at a Berlin restaurant. I wanted some water, and so did Terah. So the waitress suggested we could share an EUR 4.90 bottle (0.75L). Sounds good, I guess although it s less water than you d get in a typical American bottle for one person, it seemed a lot by typical German restaurant standards. A few minutes later, our water arrived. It required the waitress to use a full tray to deliver our water and its, well, water accessories. First she carefully placed a frosted plastic water holder, precisely centered on the table between the two of us. Into this, she carefully placed the water bottle. It was, of course, made of glass, and also tall taller than most wine bottles, though containing less actual liquid. I am not yet sure of the purpose of the holder; it certainly wasn t to keep the water cold, as it was served warm. Perhaps they feared the bottle s impressive height acting as a sail and getting knocked over by a gentle breeze. In any case, next came our water glasses, which appeared to be exactly like wine glasses, but bore the logo of the company that bottled the water etched in the glass. After that, she picked the water bottle back up out of the holder, carefully opened it (it was just a regular twist-off lid), and then poured water into each of our glasses. She was careful not to have even a drop run down the side of the bottle, and filled each glass precisely 2/3 full. The glasses were, of course, positioned carefully on the table, and the bottle of water returned to its place of honor within the water bottle holder. This process consumed most of the small quantity of actual water in the bottle. I do believe that is the most elaborate presentation of a small amount of good ole H2O I have ever witnessed. It was made with the kind of care I would expect to be shown to someone that had just bought a $100 bottle of wine, not a EUR5 bottle of water. We had walked a mile (1.6 km) to get to that restaurant, and I was indeed a bit thirsty. I wasn t sure I wanted to drink all of my tiny quantity of water presented so elaborately all at once, so I had a sip of the beer I had the good sense to order along with the water. The beer, incidentally, cost roughly the same per liter as the water and was simply plonked down on the table with a complete lack of fanfare. Sadly, beer is not really very good for quenching thirst, due to its diuretic effects over time. Another surprise came at a restaurant in Prague. It appeared to have the typical prices for water, so I ordered a local Czech orange soda to drink. It, like the water, was served in a smallish glass bottle. In any case, I ordered a traditional Czech goulash to be served in a bread bowl, while Terah ordered some ribs. The waiter took our orders and menus, and returned a minute later bearing a bowl full of water and a lemon slice. This he put next to me, and announced, wash for you. My reaction was: Hmmm. This is different. (Which is why we went to Europe, after all!) What is this for? Did he think my hands looked dirty and needed to be washed before eating? Or did he think I would get them dirty while eating, and somehow fail to use my napkin? It turned out that the use of it became clear. I ate the goulash using the supplied spoon, but the bread bowl it was served in was of course edible too. It turns out it is pretty much impossible to eat a bread bowl that had contained a stew without getting your hands dirty, and the wash turned out to be quite practical and useful. It was free to wash my hands in, but I m sure would have cost EUR5 had I wanted to drink it. Drinking Water American Restaurants Some of you reading this may never have experienced water in an American restaurant, so allow me to explain. In a typical American restaurant, water is free and comes with unlimited refills. Americans generally think of water as healthy (and our doctors and government medical experts urge us to drink plenty of it), and water in a restaurant is a good way to save money while dining. It would generally be considered questionable service if your glass of water at a restaurant got less than half full, and really quite bad service if it sat empty for more than a minute or two. A waiter at an American restaurant will typically go around with a pitcher of ice water. If your large water glass isn t completely full, the waiter will pick it up and step a few steps back from the table before filling it from the pitcher. The waiter will then dump water and ice from the pitcher into it, usually overflowing the top such that some water and ice spills on the floor (so now you see the point of stepping back from the table). The glass will then be returned to your table, wet sides and all. It will be completely full, so you have to be careful not to spill when you take your first sip. The fancier or more expensive American restaurants will offer a version of this, though without the spilling on the floor part. Usually at one of these restaurants, you ll automatically get water set out for you when you arrive. This is free, and if you order another beverage, you ll still keep your water. (Though at any restaurant, it would be quite acceptable to order water along with your other beverage.) Needless to say, this water is coming from a faucet, not some glass bottle, but I m fine with that. A few American restaurants have bottled water on the menu, but I can t recall ever seeing somebody with one in a restaurant. Drinking Fountains Drinking fountains are common in the United States. They provide free tap water to anyone. You can find them near almost any public restroom, whether indoors or outdoors. You can also find them in virtually every park, along some walkways or bicycle routes, in airports and train stations, and even in museums. They re so common that I rarely even think about being able to find water in a city if I m thirsty. Often you ll find them installed in groups of two or three, with one at a lower height so as to be usable by children or adults in wheelchairs, and another at a regular height. Many indoor ones even contain integrated chillers to make the water cold (which, sadly, probably more than negate the environmental benefits of water fountains.) I saw exactly two drinking fountains in Europe, and I can say I got a drink at 100% of the drinking fountains I saw there. One was in the Hamburg airport, but notably it was at the place where you wait to have them check your passport. So you can use a drinking fountain in Hamburg, but apparently you must do so before you have officially entered Germany. The other one was in the Prague airport. It was in an out-of-the-way corner, on the lowest level, by the gates for the people that are flying out on the small planes. Which we were. Above it was a placard bearing a icon indicating that this was, in fact, a drinking fountain and how to use it. I was surprised at the need for the icon at first, but less so after I observed a man walk by, glance at the fountain, and wash his hands in it (rather than do so at a sink in the restroom 5 feet away). As a result, we were sometimes a bit thirsty in Germany. By the time we got to Leipzig, we realized what was going on and bought a Coke bottle which we could refill from the tap water in restrooms as we went along. (This we kept until it was confiscated at a museum in Prague). I didn t see many Germans carrying around bottles of water, but it was still cold, so it s possible they were but were in a coat or bag. I was left with the somewhat unwarranted conclusion that some Germans must be either always slightly dehydrated, carrying around hidden bottles of water, or paying EUR2 for a small plastic bottle of water all the time. In the USA, we do have bottled water. Among people that care about such things, there are certain people that drink only from bottled water as much as possible, and then there are other people that view bottled water as exceptionally expensive and an environmental catastrophe and avoid it as much as possible. I m part of that latter group. I ve noticed that statistics show that Germans consume more bottled water per capita than Americans do, which is not really a surprise given what I observed. Conclusions Part of the reason I wanted to go to Europe was to experience different approaches to things, and we surely did. I didn t expect it to lead to a blog post about something as mundane as water, but here it has. I ve got to say I like the overall attitude of water conservation in Germany, which seems to have gone further than it has in the USA. I also like the system of water fountains we have in the USA, which also helps the environment by reducing demand for plastic water bottles. The wash for me in Prague was just great. One of those moments where I was completely surprised (and in a good way) by something. (I m just glad the waiter spoke a bit of English, because I wouldn t have figured it out at all otherwise.) In the end, part of the fun of traveling is learning about these differences. So next time, we ll just plan on finding a bottle to carry around at the start of our trip, and then thirst won t be a problem. Perhaps I ll even try washing my hands in a drinking fountain.

4 April 2010

Biella Coleman: Advice Dawg: what to do in NYC #1

So since a lot of folks are coming to NYC for Debconf I thought I would post some material on fun stuff to do in the city. I recently found out about this blog Walking Off the Big Apple, which looks great. I posted a recent entry that shows the trees in bloom and I am lucky enough to have one of those trees smack in front of my window. If you are into walking and radical politics, this book might be for you. Finally (for today, more to come), a nice guide for keeping it cheap in NYC

Biella Coleman: Advice Dawg: what to do in NYC #1

So since a lot of folks are coming to NYC for Debconf I thought I would post some material on fun stuff to do in the city. I recently found out about this blog Walking Off the Big Apple, which looks great. I posted a recent entry that shows the trees in bloom and I am lucky enough to have one of those trees smack in front of my window. If you are into walking and radical politics, this book might be for you. Finally (for today, more to come), a nice guide for keeping it cheap in NYC

Russell Coker: Slavery vs Child Porn

Slavery Still Exists! We all like to think of slavery as a problem from the 19th century, but it still exists and is a significant problem! Kevin Bales gave an interesting TED talk about how to combat modern slavery [1]. Currently there are an estimated 27,000,000 slaves in the world, it s a lot but it s a smaller proportion of the world population in slavery than at any time in history. Also the price of slaves is lower than ever before, instead of being a capital asset a slave is a disposable item (this is really bad for the slaves). The estimated average cost to liberate a slave is $US400, this involves rescuing them from slavery and teaching them the skills that they need to have a sustainable life there s no point rescuing them only to have them get captured again! Kevin notes that the US is still paying the price of the botched emancipation of 1865, so the liberation of slaves really needs to be done properly. The estimated total cost to liberate all the slaves in the world is $US10.8 billion. Think about the trillions of dollars that have been spent on wars to supposedly liberate people, when a mere $US10.8 billion would liberate all slaves. That s a fraction of the cost of the proposed National Broadband Network which would you rather have, fast net access for cable TV services or a world without slavery? Censorship of Child-Porn (and other things) vs Liberating Slaves It is often claimed that child porn needs to be stopped to prevent there being economic incentives to molest children in other countries, to achieve this goal the Australian government wants to filter all net access to prevent access to child-porn, other prohibited porn, documentation about euthanasia, and the occasional dental practice (seriously, they just can t get their filters right). Methods that are proven to prevent children being molested should be given a much higher priority than censoring the Internet in the hope of removing economic incentives for child abuse. It seems reasonable to assume that a significant portion of child-slaves are molested (because we know that slave owners are really bad people and there s nothing to stop them from molesting children). Let s assume for the sake of discussion that 1/4 of child slaves are molested. So that would give an average cost of $US1600 to free one child from sexual slavery and three other children from physically abusive environments. Currently the Australian government plans to spend $44,000,000 in Internet censorship with the supposed aim of protecting the children. The fact that the majority of child-porn is believed to be transferred via protocols other than HTTP has not deterred the government from pushing forward a HTTP-only filter for censorship. Also the fact that anyone could use a VPN, tor, or other services to trivially bypass a HTTP filter has not deterred them. Let s assume for the sake of discussion that $US400 equates to $500 Australian, the exchange rate is lower than that but it varies and it s best to be conservative. Therefore the $44,000,000 the government wants to spent on censorship could be used to liberate 88,000 child slaves. If my estimates are correct that would save 22,000 children from being molested. In the unlikely event that slavers happen to be nice people who don t do nasty things like molest children (which really isn t credible) then freeing 88,000 children from slavery and all the physical abuse that it involves is still a really good thing! If a plan to prevent child sexual abuse by liberating slaves fails to actually prevent any sexual abuse then at least you end up with some freed slaves (which is a really good thing). But if a plan to prevent child sexual abuse by censoring the Internet fails then all you end up with is slower Internet access and censorship of totally unrelated things that the government doesn t like.

3 April 2010

Bernd Zeimetz: deb.li - the Debian ShortURL Service - beta test

After several other Debian developers convinced me that a ShortURL service, which is under control of a Debian Developer would be useful for them, I've spent some time to write the necessary code for it. And if it will be used regulary, I'll ask DSA if they want to host it on a proper machine. So I'm happy to announce the public beta test of deb.li (also available under go.debian.net)! Please note that neither the content of the pages nor the CSS is finished... :) As this should not become just another random, spammer-attracting ShortURL service, I will not provide a web based form to add new URLs. Instead new URLs have to be added via a simple JSON-RPC based interface. Other ways to add new URLs will be added on request (or by sending patches ;)), at least an email-gateway similar to db.debian.org is planned. The small piece of documentation which exists so far is available at wiki.debian.org/deb.li And if you want to give it a try now, log into alioth.debian.org and have a look into
/var/lib/gforge/chroot/home/users/bzed/godebian-client
- the usage is documented in the README file and should be pretty straight forward. I hope it will be useful - comments, bugreports and patches are welcome!

Joerg Jaspert: Fun with broken hardware

As you might have read, one of Debians slightly important machines had some hardware trouble. Before I get into more details of this story, let me say thank you to all the people who worked on this issue: - The DSA (Debian System Administrators) team, - the local admins at Brown University Computer Science department. I intentionally leave out the HP support here, I think their work in this issue was pretty suboptimal. While they do follow a certain schema, it took a bit long and the stunt with the technician not finding the replacement board and later on leaving without further notice wasn t all that great. (Update: Just to clarify this: In general we are happy with HP and the hardware and relationship and all that stuff. And usually the support works pretty well, like for all the times we had to replace broken disks.) Now, the story. This all started by us noticing something in ries kernel output telling about some trouble with the ram:
ries kernel: [168074.392016] Northbridge Error, node 0, core: -1
ries kernel: [168074.392186] K8 ECC error.
This was first noticed somewhere at the beginning of January. A DSA member then used the usual HP tools to check whats up, none of it reported an error. There wasn t much of an option left besides waiting what happens in the future. No support would do anything here. Until March we did not have any trouble. But at the 14th of March this changed, as the HP tools now found a serious error, reporting Status: DIMM is degraded for the third DIMM module. A support ticket was opened at this point and a replacement DIMM got sent out. Unfortunately the well known Mr. Murphy did look at this issue and so the wrong thing was sent out to the wrong place. Countdown continued and 10 days later the host decided to randomly lockup. And as HP servers have an Automatic Server Reset function in such cases, the whole machine rebooted. Not only once. Guess how much a filesystem likes such things when the machine is active. And for added fun a second DIMM got reported as broken, we now had DIMM #3 and #4 gone off. A certain ping-pong with HP support later we asked the local admins to take out the broken DIMMs and then also to change the order in which the remaining DIMMs are arranged. Unfortunately this did not help, the errors stayed. At this time we already turned off the services running on the machine and it mostly waited in the HP Insight Diagnostics test from HPs SmartStart CD. (And it always locked itself at 97% here). The support asked us to try another round of work on the machine, which our DSA team and the local admins did. But as it already was the 30th of March and nothing helped, our DSA got a little more direct in asking for a working solution. Like replacing the board and sending a technician to look and fix the machine. This was scheduled for the 1st of April, but turned out to not work as hoped. For some reason the technician was not able to find the board that was sent as replacement (no fault of our local admins!), so nothing happened the 1st of April except us getting a little upset. DSA communicated this to HP support, asking for escalation and finally getting this fixed. Our local admins could at last greet a HP technician on the 2nd of April then and he even had the replacement board with him, so he did his work there. He also confirmed that the two DIMMs mentioned above are faulty. For some reason he did not replace them, but left them outside of the machine. He also left the place without telling the Brown CS staff, so it wasn t the best performance he made. Fortunately the machine was in a working state again, only missing 2 of its DIMMs, 4Gb RAM. This has to be replaced by HP in the next days. When the Brown CS staff found out the technician left without notice they enabled our DSA to access the ilo of the machine again, so they could get the machine back up. Of course the first run was the HP SmartStart stuff again, running a full test. It reported no error, pheeew. There had been a few more steps in getting the settings of the ilo correct again and running a full filesystem check on it, but somewhere in the night the machine was back up and ready for us FTPMasters and Release team to get the services back. As the machine was back up in the middle of the night where I was sleeping, I did start my work somewhere this morning. At 10:25 CEST this started with a md5sum check of all files we have in our pool/ structure, ie. the Debian archive. We had 655k files to check, so it naturally took a while. Luckily we only found 32 broken files. Even better a set of them is already fixed, the rest of them is easily fixable with a set of binnmus the buildd people helpfully schedule, so not too much work involved in fixing this issue. Could have been worse. (Actually, when the first reboots happened, before the long downtime, we also had some broken logfiles, unreadable changes files and such things. But those I already fixed back then). More or less in parallel to the md5sum check we also started the queue daemons again, to let our upload queues from the other hosts forward their files to the central queue on ftp-master, tested the triggers to the new buildd peoples machine and the release team did a britney run. This took the first 5 hours (and a bit) of the process. As a second step, and we are still in this, we started the processing of the incoming queue. Turned out we have to process 10gigabytes of new uploads, in a total of 1285 uploads. This process is still running at the time I write this blog post, having processed about 1100 uploads. A good 9 til 10 hours run, but this was expected. I actually thought it will take even longer. When this is done I will go and have a manual dinstall run. That is, I will run every action a dinstall is usually doing by hand. And verify each step. Usually dinstall takes some 2 hours, manually it can take a bit more. Somewhere during this run a mirror push will also be done, a fairly huge one this time, with all those updates. When this all works I will turn on FTPMaster cronjobs after this dinstall, or at latest tomorrow morning, as usual, and service is back as usual. As far as I know the release team plans to turn on their cronjobs tomorrow morning too, so this will all be nice then. Apropos release: Please note what I wrote in my latest d-d-a mail:
As a sidenote from me: If you have a package that might be involved in
whatever transition to testing, or simply might get involved, it could
really help if you wait a day or two with the next upload, so the
release team can sort through all before you give them new trouble. If
in doubt, try mailing debian-release@lists.debian.org and ask. :)
So, thats it, enough annoyance with all those status bits here and there. I go leave you alone now. :)

Romain Beauxis: On mail servers and google spam filter..

The worst April's fool ever, on which I will not comment here, has forced me to quickly move the services on my previous machine. Among them was the email services, which I fear the most. Configuring again a postfix server, I realize again how arcane its configuration is. Email is probably, with nttp and unix, one of the oldest paradigm in modern computing, and you feel it. I understand that email used to be intrinsicly linked with unix account. But, come on, those were the days where you would login to a mainframe, way before personal computers. So, why do you need to know about all sort of server-wide files, like /etc/aliasee and /etc/mailname ? Why do you need to have to tweak the server-wide accounts and login system to create new mailboxes ? In 99% of the situations now, email accounts do not corresponds to anything on the server, so why keeping all sort of arcane stuff that make the configuration of a mail server so delicate ? On a side note, I would like to share 3 questions. First is this idea of using gmail as a spam filter service. You register your address, say joe@doe.com with your joe.doe@gmail.com and you tell your mail server to redirect all the mail to joe@doe.com to joe.doe@gmail.com. Then in gmail's interface, you ask gmail to redirect all mails to joe@mail.doe.com. Eventually, the mail at mail.joe.com is delivered to the local inbox. This allows to use gmail as a spam filter loop. However, I have no idea if this is something already known and if gmail administrators will like it. Lazy web, what do you think ? Second is the following parameters for postfix: reject_non_fqdn_recipient and reject_unknown_reverse_client_hostname. I wonder if I may loose some mail using them.. Any idea ? Third is that I wanted to configure the old server to relay anything on the new, and filter there. But, as much fuzz there is about open relay, I was not able to configure my postfix as an open relay.. Any idea on how to do it ?

Christine Spang: Christine Spang: is your keysigning offer up to date?

I occasionally get emails from people looking for GPG keysigning around the Boston area, addressed to all the local Debian Developers on the keysigning offers list. Generally, I'm the only one who replies to them, despite there being four or so other people addressed. I wonder if this problem pervades other locations as well. Keysigning is one of the hurdles every person interested in becoming a full Debian Developer must overcome. The New Maintainer process is a hurdle enough in itself! Let's try not to discourage excited newcomers who are already convinced that they want to help Debian by leaving them hanging for long periods of time trying to get their key signed. Have you moved? Are you no longer interested in filling keysigning requests? (I suspect many of those who would answer "yes" to that question are actually inactive, and so are unlikely to actually see this.) Are you interested in filling keysigning requests but didn't know about the offers list? Go to the keysigning offers list on the Debian wiki and update, add, or remove your information. There's also the list of people requesting keysigning you can subscribe to this page to see updates.

2 April 2010

Debian News: Brief Updates: DPL, ftp-master down, release update and April Fools

31 March 2010

Christoph Egger: Another piece of well done software

As I really liked saying why I think Open Game Art is a good project I decided to start a small serie of well done free (well not only software) projects. This time SFML got to be the one. SFML is, as the name already tells, a Simple and Fast Multimedia Library written in C++ but providing bindings for a whole bunch of other languages like Python, Ruby, C, D and others. Debian currently provides the original library as well as the C and Python bindings maintained by the Games Team and myself. On a side remark, SFML also uses my favourite License, zlib. What I really like about SFML is the readable code all through the project. Every time I was unsure what some function does having a look at the actual implementation (and some OpenGL and X11) knowledge turned out to be quite satisfactory. This is, of course, aided by the fact that SFML's development is driven by a single Developer, Laurent Gomila. On the rather weak points I'm still hoping the to-be-released 2.0 Version of SFML will introduce something like a stable API which it currently lacks (although the API has settled and there are no such huge changes as from 1.2 to 1.3 in recent updates any more). SFML also uses hand-made Makefiles for building (now supporting DESTDIR at least -- in some non-standard way) and has the usual load of embedded libraries which results in it's current load of patches. For a nice time burner make sure you take a look at the python binding's snake-like clone. It clearly misses some important aspects to form a full game but it's nice nontheless. I have a (not-quite) small SFML based Project myself, a forward ported game from my old DirectX days, however it's unfortunately not yet playable again und rather stalled at the moment due to lack of time. So much for SFML. If you feel like it feel free to join me on writing about well done pieces of software or just about pieces on how you think it should be done and tell us where you found it happening.

30 March 2010

Frans Pop: Debianizing an ARM-based netbook

I got this neat little Chinese netbook after a mail to the debian-arm list where one machine was offered in exchange for porting Debian to it. So I offered to get Debian Installer running on it. In total 20 of these ChiTech PC89E netbooks were bought as a group by various people in different countries. The netbook is based on an ARM S3C6410 SoC, has 256 MB RAM and an excellent 8.9" 1024x600 LCD display. The machine itself is 11" and weighs under 800 grams. Most of the weight is the LCD display; they've even had to add a small extra weight in the base to avoid it toppling over backwards. The goal of getting D-I running was achieved last week, though not without needing to overcome some steep hurdles. Base installation Our main problem is that we don't have the source code to either the kernel they use (2.6.24.2 with patches from Samsung and others), or the u-boot bootloader. SSH was available without password for the user account and various basic errors allowed us to root the system relatively quickly. Brute force cracked the root password a few days later. The only information we did have was from the provided desktop system (which is really quite good and certainly looks very polished, but in the end still way too limited), what's on the flash memory and the contents ofa "firmware upgrade" image they provided. Having that firmware upgrade image proved very important as it gave us a good idea how to boot the system from SD card and made it possible to locate the kernel, u-boot bootloader and other files in flash memory. Googling for some boot messages we found two kernel source trees (for a different device: SmartQ) that looked promising as a basis. After some disassembly work by Luke Kenneth Casson Leighton on the kernel to get LCD timings and correct GPIO data we managed to get a basic working kernel: LCD, USB (and thus keyboard and touchpad), and wired networking. Although there are still loads of things that need improving/fixing, that gave me enough to work with to try to get Debian Installer going. The main limitations for running D-I are that we cannot change the bootloader configuration and that their boot procedure does not use an initrd. But we did work out how to boot a custom kernel from an external SD card by making creative use of their "firmware upgrade" procedure. Essentially I needed to find a way to run D-I by only booting a kernel. Piggy-backing an initrd onto a kernel is possible (using the 'bootpImage' target from the upstream kernel build system), but then the size of kernel plus initrd is limited to 4 MB and that is really too limited for a decent D-I initrd (especially if you want full i18n support). I ended up creating a micro-initrd (only 66 kB!) which only function is to mount the external SD card, load the real D-I root initramfs (which now no longer has any real size limitation) and then run init in that. After adding some relatively minor customizations for this netbook (such as installing the kernel from a custom repository on alioth), the installer was up and running. As the framebuffer worked without problem for the newt frontend, I next wondered if it would be possible to also get the graphical installer working. This should be easier for non-x86 systems after the recent switch from DirectFB to X.Org as backend for the graphical installer. And the image below shows it was. I had to create an /etc/xorg.conf to get the USB keyboard and touchpad working (apparently auto-detection does not quite work for less standard hardware), but that was basically it. Language selection So now all we have to do is get all the remaining kernel issues sorted out...

David Welton: Where Tcl and Tk Went Wrong

I've been pondering this subject for a while, and I think I'm finally ready to write about it.
Tcl was, for many years, my go-to language of choice. It's still near and dear to me in many ways, and I even worked on a portion of a book about it ( http://journal.dedasys.com/2009/09/15/tcl-and-the-tk-toolkit-2nd-edition ). However, examining what "went wrong" is quite interesting, if one attempts, as much as possible, a dispassionate, analytical approach that aims to gain knowledge, rather than assign blame or paper over real defects with a rose-colored vision of things. It has made me consider, and learn, about a variety of aspects of the software industry, such as economics and marketing, that I had not previously been interested in. Indeed, my thesis is that Tcl and Tk's problems primarily stem from economic and marketing (human) factors, rather than any serious defects with the technology itself. Before we go further, I want to say that Tcl is not "dying". It is still a very widely used language, with a lot of code in production, and, importantly, a healthy, diverse, and highly talented core team that is dedicated to maintaining and improving the code. That said, since its "heyday" in the late 90ies, it has not ... "thrived", I guess we can say. I would also like to state that "hindsight is 20-20" - it's easy to criticize after the fact, and not nearly so easy to do the right thing in the right moment. This was one reason why I was reticent to write this article. Let me repeat that I am writing it not out of malice or frustration (I went through a "frustrated" phase, but that's in the past), but because at this point I think it's a genuinely interesting "case history" of a the rise and gentle decline of a widely used software system, and that there is a lot to be learned. At the height of its popularity, Tcl was up there with Perl, which was the scripting language in those days. Perl, Tcl, and Python were often mentioned together. Ruby existed, but was virtually unknown outside of Japan. PHP was on the rise, but still hadn't really come into its own. Lua hadn't really carved out a niche for itself yet, either. Tcl is no longer one of the popular languages, these days, so to say it hasn't had problems is to bury one's head in the sand: it has fallen in terms of popularity. To examine what went wrong, we should probably start off with what went right: These features led to Tcl being widely used, from Cisco routers to advanced television graphics generation programs to the AOLserver web server, which was busy serving out large quantities of dynamic web pages when many of us were still fiddling around with comparatively slow and clunky CGI programs in Perl. Note also that there have been a lot of cool things to have gone into Tcl in the mean time. It has a lot of impressive features; many more than most people realize, and has had a lot of them for a while. Check out http://www.tcl.tk to learn more about the "good stuff". But that's not the point of this article... There was a healthy, active community of developers producing lots of interesting add-ons for the language, and working on the language itself. This culminated in its adoption by Sun Microsystems, which hired the language's creator, Dr. John Ousterhout, and a team of people, who added a lot of great features to the language. Quoting from Ousterhout's history of Tcl page:

The additional resources provided by Sun allowed us to make major improvements to Tcl and Tk. Scott Stanton and Ray Johnson ported Tcl and Tk to Windows and the Macintosh, so that Tcl became an outstanding cross-platform development environment; Windows quickly came to be the most common platform. Jacob Levy and Scott Stanton overhauled the I/O system and added socket support, so that Tcl could easily be used for a variety of network applications. Brian Lewis built a bytecode compiler for Tcl scripts, which provided speedups of as much as a factor of 10x. Jacob Levy implemented Safe-Tcl, a powerful security model that allows untrusted scripts to be evaluated safely. Jacob Levy and Laurent Demailly built a Tcl plugin, so that Tcl scripts can be evaluated in a Web browser, and we created Jacl and TclBlend, which allow Tcl and Java to work closely together. We added many other smaller improvements, such as dynamic loading, namespaces, time and date support, binary I/O, additional file manipulation commands, and an improved font mechanism. Unfortunately, after several years, Sun decided that they wanted to promote one and only one language. And that language was Java. So Ousterhout and many people from his team decamped to a startup that Ousterhout founded, called Scriptics, where the Tcl and Tk innovations continued:

In 1998, Scriptics made several patch releases for Tcl 8.0 to fix bugs and add small new features, such as a better support for the [incr Tcl] extension. In April 1999, Scriptics made its first major open source release, Tcl/Tk 8.1. This release added Unicode support (for internationalization), thread safety (for multi-threaded server applications), and an all-new regular expression package by Henry Spencer that included many new features as well as Unicode support.
However, as many a company based around open source was to find later, it's a tough space to be in. Scriptics changed its name to Ajuba, and was eventually sold (at a healthy profit, apparently, making it a relative dot com success story, all in all) to Interwoven, for the "B2B" technology that Ajuba had developed. Interwoven was not interested in Tcl, particularly, so, to create a system for the ongoing development and governance of the language, the "Tcl Core Team" was created. This was something of a blow to Tcl, but certainly not fatal: Perl, Python, Ruby, PHP, Lua have all had some paid corporate support, but it has by no means been constant, or included large teams. At the same time in the late 90ies, open source was really starting to take off in general. Programmers were making all kinds of progress, and had begun to make Linux into what is today the world's most widely used server platform, and laying the groundwork for the KDE and Gnome desktops. While these may still not be widely used, they are for the most part very polished systems, and leaps and bounds better than what passed for the 'Unix desktop' experience in the 90ies. One of the key bits of work that was added to Tk was to make it look pretty good on Microsoft Windows systems. This was in an time when the "enterprisey" folks were turning away from Unix in the form of AIX, Solaris, HPUX, et al. and taking up NT as the platform of choice, so it was in some ways sensible to make Tk work well there, and in any case as a cross platform GUI toolkit, it ought to work well there in any case. And, on the Unix side, Tk emulated the expensive, professional Motif look and feel that serious Unix programmers used. What could go wrong? As Gnome and KDE continued to mature, though, what would become one of Tk's major (in my opinion) marketing blunders took root. I have it on good authority, from someone who was there in the office, that the Scriptics guys working on Tcl and Tk viewed Gnome and KDE (and the Gtk and Qt toolkits) as not really worth their while. To be fair, since Tk has always been under a liberal BSD style license, the Qt toolkit has always been "off limits". Still, though, the attitude was that Tk was a standalone system, and since it ran on pretty much any Unix system, it didn't need to bother with Gnome or KDE. Gradually, though, as more and more people used Gnome and KDE exclusively on Linux, the Tk look and feel began to look more and more antiquated, a relic from the 1990ies when Motif (which has since pretty much disappeared) was king. Tk applications started to really stand out by not looking at all like the rest of the operating system. And, while Linux may not be responsible for a vast portion of the world's desktops, it is widely used by developers, who were turned off by the increasingly creaky look of the Tk applications they saw. Tk is and was actually a fairly flexible system, and it would have been possible to tweak the look and feel to make it look a bit better on Linux, without even doing any major work. Maybe not perfect, but certainly better looking. Nothing happened, though. Another problem was that Tk and Tcl made it so easy to create GUIs that anyone could, and did, despite, in many cases, a complete lack of design skills. You can't particularly blame the tools for how they're used, but there was certainly a cultural problem: if you read most of the early Tcl and Tk books, and even many of the modern ones, there are hundreds of pages dedicated to exactly how to use Tk, but few to none explaining even basic user interface concepts, or even admonitions to the user to seek out that knowledge prior to attempting a serious GUI program. The end result is that a lot of Tk programs, besides just looking "old fashioned" had fairly poor user interfaces because they were made by programmers who did not have a UI/design culture. Contrast that with Gnome and KDE, which have made a point of focusing on how to make a good GUI for their systems, complete with guidelines about how applications should behave. It may have taken them some time to get things right, but they have done a lot to try and instill a culture of creating high quality, well-integrated GUI's that are consistent with the system where they run. Lately, there has been a lot of work to update the Tk look and feel, and it has finally started to bear fruit. However, in terms of marketing, the damage has already been done: the image of "old, crufty Tk" has been firmly planted in countless developers' minds, and no amount of facts are going to displace it in the near future. Another problem Tcl faced, as it grew, was the tug-of-war between those wishing to see it small, light, and easy to distribute embedded within some other program, and those wishing it to become a "full-fledged" programming language, with lots of tools for solving every day programs. Unfortunately, that tug of war seems to have left it somewhere in the middle. Lua is probably more popular these days as an embedded language, because it is very small, and very fast, and doesn't have as much "baggage" as Tcl. Meaning, of course, that it doesn't do as much as Tcl either, but for a system where one merely wishes to embed a scripting language, without much 'extra stuff', Tcl's extra functionality is perhaps a burden rather than a bonus. On the other hand, while Perl was happily chugging along with their CPAN system for distributing code, giving users easy access to a huge array of add-on functionality, and Python was building up a "batteries included" distribution, that included a lot of very useful software straight out of the box. Tcl, on the other hand, chose to keep the core distribution smallish, and only lately has got some semblance of a packaging and distribution system, that is, however, run by ActiveState, and is (at least according to a cursory glance at the Tcl'ers wiki), not even fully open source. The lack of a good distribution mechanism, and, in the meantime, eschewing a larger, batteries-included main distribution left Tcl users with a language that, out of the box, did significantly less than the competition. Technically, a Python style "big" distribution would not have been all that difficult, so once again, I think this is a marketing problem: a failure of the Tcl Core Team to observe the "market", assess what users needed, and act on it in a timely manner. Somewhat related to the large Tcl vs small Tcl issue was one particular extension, or extensions to the language that was noticeably absent: a system for writing "object oriented" code. Tcl, at heart, will never be an OO language through and through, like Ruby or Smalltalk, but that doesn't mean that an OO system for it is not a useful way of organizing larger Tcl systems. Indeed, Tcl's syntax is flexible enough that it's possible to write an OO system in Tcl itself, or, optimizing for speed, utilizing the extensive C API in order to create new commands. Over the years, a number of such systems have arisen, the most well-known being "Incr Tcl" (a play on the incr command, which is akin to += 1 in languages like C). However, none of these extensions was ever included with the standard Tcl distribution or somehow "blessed" as the official OO system for Tcl. This meant that a newcomer to Tcl wishing to organize their code according to OO principles had to pick a system to use from several competing options. And of course, newcomers are the least able to judge a complex feature like that in a language, making it a doubly stressful choice. Furthermore, even experienced Tcl programmers who wanted to share their code could not utilize an OO system if they wanted their code to work with just standard Tcl. Also, if their code had a dependancy on some OO system, it would require the user to download not only the extension in question, but the OO system it was built on, which, naturally, might conflict with whatever OO system the user had already selected! As of Tcl 8.6, thanks to the work of Donal Fellows, Tcl is finally integrating the building blocks of an OO system in the core itself, but this effort is probably something like 10 years too late. Some other more or less minor things that have taken too long to get integrated in the Tcl or Tk distributions include the PNG format (still not there in a production release of Tcl), a readline-based command line (Tkcon is nice, but not a replacement for simply being able to type "tclsh" and get a nice, functional shell like Python, Ruby and most other languages have. This could easily lead to a bad first experience for someone trying out Tcl). Tcl also took too long to integrate a first-class hash type (accessed with the 'dict' command), which only appeared in 8.5. Its "arrays" aren't bad, but don't quite have the full power of a hash table as dict implements them. Once again, the code to do these things was/is out there, it has just been a matter of integrating it into Tcl and Tk, which has been a slow process. One actual technical problem that Tcl faces is the concept that all values must be representable as a string. This is more or less ok for things like lists, hash tables or numbers, but is problematic when the user wishes to represent a value that simply isn't a string. A basic example is a file handle, which at the C API level is a FILE*. How does Tcl get around this? It keeps an internal hash table with a Tcl-script accessible string, such as "file5" that points to a FILE * value that is used internally by file commands. This works pretty well, but there is a big "but": since you can compose a string like "file5" at any time, that must be able to access the actual file pointer, you can't do any sort of "garbage collection" to determine when to clean things up automatically. Other languages have explicit references to resources, so the program "knows" when a resource is no longer referenced by the rest of the program, and can clean it up. Therefore, the programmer must explicity free any resources referenced this way. This explanation is simplifying things somewhat, but it is something I view as a technical problem with Tcl. If you've been following along, you've noticed a lot of "these days" and "recently". That's because Tcl is still very actively developed, with a lot of new ideas going into it. However, if you look at the release dates, it seems that after Ajuba was sold off, and Ousterhout pretty much abandoned an active role in the language for good, placing it in the hands of the Tcl Core Team, there was a lull in the momentum, with Tcl 8.5 taking 5 years to be released. This is actually, in my opinion, an interesting phenomenon in languages: you risk hitting some kind of local maximum when your language is popular enough to have a lot of users who will be angry if things are changed or accidentally broken in the course of big upheavals. So you have to slow down, go carefully, and not rock the boat too much. On the other hand, there is an opportunity cost in that newer languages with less to lose can race ahead of you, adding all kinds of cool and handy new things, or simply fix and remove "broken" features. Erlang is another system that has, in my opinion, suffered from this problem to some degree, but this article is long enough already! Once again, though, not really a technical issue, but a problem with how the code was managed (and not an easy one to solve, at that). A Tcl failure that I was personally involved with was the web infrastructure. What went on to become Apache Rivet was one of the first open source Apache/Tcl projects, and was actually quite a nice system: it was significantly faster than PHP, and of course made use of Tcl, which at the time had a large library of existing code, and could be easily repurposed for projects outside the web (or the other way around: non-web code could be brought in to a web-based project). One thing I ought to have done differently with the Apache Rivet project was listen to the wise advice of Damon Courtney, my "partner in crime" on the project, who wanted to see Apache Rivet have a fairly "fat" distribution with lots of useful goodies. Rails and Django, these days, have shown that that's a sensible approach, rather than relying on lots of little extensions that the user has to go around and collect. The code was out there, I should have helped make Rivet do more "out of the box". A problem that is and it isn't: the syntax. Tcl's syntax is amazingly flexible. Since everything is a command, you can write new commands in Tcl itself - and that goes for control structures, too! For instance, Tcl has a "while" command, but no "do ... while". It's very easy to implement that in Tcl itself. You simply can't do that in most "everyday" languages. However, this comes at something of a "cost". The syntax, for your average programmer who doesn't want to go too far out of their comfort zone, is perhaps a little bit further afield from the C family of languages than they would prefer. Still though, a "human" problem, rather than a technical one. Perhaps, sadly, the message is that you'd better not "scare" people when introducing a new language, by showing people something that doesn't look at least a little bit familiar. Conclusions? First and foremost, that, gradually, Tcl and Tk continue to be improved. However, if one visits developer forums, there are also a lot of negatives associated with the Tcl and Tk "brands", and I am not sure if it will be possible to rectify that. So what can we learn from the rise and subsequent "stagnation" of Tcl?

Russell Coker: Why Comments?

Russ Albery has described why he doesn t support comments on his blog [1]. I respect his opinion and I m not going to try and convince him to do otherwise. But I think it s worth describing why I want comments on my blog and feel that they are worth having for many (possibly most) other blogs. Types of Blog The first thing to consider is the type of post on the blog. Some blogs are not well suited to comments. I have considered turning off comments on my documents blog [2] because it gets a small number of readers and is designed as reference material rather than something you might add to a public Planet feed or read every week as it has a small number of posts that are updated. So conversations in the blog comments are unlikely to happen. One thing that has made me keep comments open on my documents blog is the fact that I am using blog posts as the main reference pages for some of my projects and some people are using the comments facility for bug reports. I may make this the main bug reporting facility I will delete the comments when I release a version of the software with the bugs fixed. One particular corner case is a blog which has comments as a large part of it s purpose. Some blogs have a regular open thread where anyone can comment about any topic, blogs which do such things have the owners act more like editors than writers. One example of this is the Making Light blog by Teresa and Patrick Nielsen Hayden [3] who are both professional editors. The next issue is the content of the post. If I was to create a separate blog for authoritative posts about SE Linux then there wouldn t be much point in allowing comments, there are very few people who could correct me when I make a mistake and they would probably be just as happy to use email. When I write about issues where there is no provably correct answer (such as in this post) the input of random people on the net is more useful. Another content issue is that of posts of a personal nature. Some people allow comments on most blog posts apart from when they announce some personal matter. I question the wisdom of blogging about any topic for which you would find comments intolerable, but if you are going to do so then turning off comments makes sense. Finally there is the scale of the blog. If you don t get enough readers to have a discussion in the comments then there is less benefit in having the facility turned on the ratio of effort required to deal with spam to the benefit in comments isn t good enough. In his FAQ about commenting [4] Russ claims that controlling spam can take a tremendous amount of time or involve weird hoop-jumping required for commenters . I have found the Block Spam by Math [5] Wordpress plugin to be very effective in dealing with the spam, so for this blog it s a clear benefit to allow comments. Since using that plugin my spam problem has decreased enough that I now allow comments on posts which are less than 1 year old previously comments were closed after 90 days. The plugin is a little annoying but I changed the code to give an error message that describes the situation and prevents a comment from being lost so the readers don t seem too unhappy. The Purpose of Comments Russ considers the purpose of comments to be meaningfully addressed to the original post author or show intent to participate in a discussion . That s a reasonable opinion, but I believe that in most cases it s best if comments are not addressed to the author of the post and are instead directed towards the general readers. I believe that participating in a discussion and helping random people who arrive as the result of a Google search are the main reasons for commenting. For my blog an average post will get viewed about 500 times a year and the popular posts get viewed more than 200 times per month, so when over the course of a year more than 1000 people read the comments on a post (which is probably common for one of my posts) then 99.9% of readers are not me and commentators might want to direct their comments accordingly. Of course a comment can be addressed at the blog author so the unknown audience can enjoy watching the discussion. For some of my technical posts I don t have time to respond to all comments. If I have developed a solution to a technical problem that is good enough I may not feel inclined to invest some extra work in developing an ideal solution. So when a reader suggests a better option I sometimes don t test that out and therefore can t respond to the comment. But the comment is still valuable to the 1000+ other people who read the comment section. So a commentator should not assume that I will always entirely read a comment on a technical matter. Comment threads can end up being a little like mailing lists. I don t think that general discussions really work well in comment threads and don t aim for such things. But if a conversation starts then I think you might as well continue as long as it s generally interesting. Generally for most blogs I think that providing background information, supporting evidence, and occasionally evidence of errors is a major part of the purpose of blog comments. But entertainment is always welcome. I would be happy to see some poems in the comments section of technical posts, sometimes a Limerick or haiku could really help make a technical point. Political blog posts can be a difficult area. Generally the people who feel inclined to write political blog posts or comment on them are not going to be convinced to entirely change course, but as there are many people who can t seem to understand this fact a significant portion of the comments on political blog posts consist of different ways of saying you re wrong . The solution to this is to moderate the comments aggressively, too many political blogs have comments sections that are all heat and no light. I m happy for people to go off on tangents when commenting on my political posts or to suggest a compromise between my position and their preferred option. But my tolerance of comments that simply disagree is quite small. Generally I think that blogs which directly advocate a certain political position should have the comments moderated accordingly, people will read a site in the expectation of certain content and I believe that the comments should also meet that expectation to some degree. Comments on political posts can provide insights into different points of view and help discover compromise positions if moderated well. How to provide Feedback Russ advocates commenting to the blog author via email it is now the only option he accepts. My observation is that the number of people who are prepared to comment via email (which generally involves giving away their identity) is vastly smaller than those who use Blog comment facilities. This means that you will miss some good comments. One of the most valuable commentators on my blog uses the name Anonymous and has not felt inclined to ever identify themself to me, I wouldn t want to miss the input of that person and some of the other people who have useful things to say but who don t want to identify themself. I have previously written about how not all opinions are equal and anonymous comments are given a lower weight [6]. That post inspired at least one blogger to configure their blog to refuse anonymous comments, it was not my intent to inspire such reactions (although they are logical actions based on a different opinion of the facts I presented). I believe that someone who is anonymous can gain authority by repeatedly producing quality work. Another option is for people to write their own blog posts referencing the post in question. I don t believe that my core reader base desires short posts so I won t write a blog post unless I have something significant to say. I expect that many other people believe that the majority of their blog comments would not meet the level of quality that their readers expect from their posts (posts are expected to be more detailed and better researched than comments). As an aside forcing people to comment via blog posts will tend to increase your Technorati rating. :-# A final option is for people to use services such as Twitter to provide short comments on posts. While Twitter is well designed for publishing short notes the problem with this is that it s a different medium. There are many people who like reading and discussing blog posts but who don t like Twitter and thus using a different service excludes them from the conversation. For my blog I prefer comments for short responses and blog posts for the longer ones. If you write a blog post that references one of my posts then please enter a comment to inform me and the readers of my blog. Email is not preferred but anyone who wants to send me some is welcome to do so. If this post inspires you to change your blog comment policy then please let me know. I would like to know whether I inspire people to allow or deny blog comments.

John Goerzen: Trip part 7: The Journey Home

March 21 was a day of sitting. We ate breakfast in our hotel in Prague that morning, which was pretty similar to an American hotel breakfast, save that the rolls contained black olives and that the all-you-can-eat buffet didn t have people take a new plate on their second time through. Anyhow, we made it to the airport in Prague with plenty of time to spare. That trip that involved a tram, a subway, and a bus, and was on a Sunday morning when all of these services run less frequently. I wasn t sure what to expect, but we did it in right at an hour, just as the hotel desk had estimated. Anyhow, in Prague they were heavily steering people to the self check-in kiosks. So we tried it, and got about halfway through the procedure when it asked us to put our passport on the glass scanner. I did so, and it appeared to process, then complained that the document is not a passport. Eventually an airport employee came over, had the same result after trying it twice, so beckoned us over to the counter. Then on towards our gate. We briefly considered some sort of snack, since we wouldn t get to Munich until after lunch, but the terrible prices scared us off. An entire dinner with friends the evening before cost only 235 crowns ($12.53) for the two of us together, and one restaurant was advertising a panini and Coke for 1 person at 220 Kc ($11.72). Anyhow, we eventually found ice cream bars at a reasonable price. While sitting down at our gate, in the out-of-the-way small planes only part of the airport, we noticed only the second drinking fountain in Europe conveniently labeled with an icon indicating what it s for. The only person other than me that used it washed his hands in it, and did not sip the water. We eventually got on the packed bus to our plane, then flew to Munich. Over there, announcements at regular intervals suggested that passengers flying to the USA go to their gate immediately so they can pass the extra security screening. What joy. We headed in that direction, stopping only to change my remaining Czech crowns to dollars. And then we got to go through passport control followed by security for the second time of the day. This one took special interest in our camera and Terah s scissors. Mysteriously, there was a stream of people not going through security, and we never quite figured out why. We wanted something for lunch, and inside this special security zone there was only one real option: a bar of sorts. We got there, and watched a guy pay for two small beers and a pretzel. They shop conveniently let him pay for dollars, and the price came to $25. Worst exchange rate ever. We bought a pretzel and two croissants and I got rid of my last Euro note (EUR 5) and a EUR 1 coin. Eventually our flight got going. It was interesting comparing our international flight on Lufthansa to our flight to Hamburg on Continental. Lufthansa came through the cabin even in our cheapest economy seats section with hot wet wipes, handed out and later collected with tweezers, before each meal. The food was slightly better than Continental. The in-flight entertainment system had more things on it, though there were not power hookups at the seats. I still didn t really care for any of the entertainment options, though I did watch a Ricky Gervais movie which was OK. I caught a brief nap and read my Kindle. In Chicago, we got to go through American passport control. To get into the USA, even as a citizen, you get to fill out a whole form. That s a bit different than getting into Germany, where they check your passport and send you on your way without even bothering to inspect your bags. (There s a voluntary office you can go do if you have anything to declare.) I had noted on our form that we were bringing in food, and they asked me what kind. I told them it was chocolate still in the wrapper, and they said, OK, that s fine, and waved us on. So in the end it was really no more involved. All the customs people we saw in every country were friendly and helpful. In Chicago, you have to go through security again after customs, so that made our third security check of the day. At our gate, CNN was showing the House debate on health care, and the bill finally passed just prior to boarding for Indianapolis. That was a pleasant welcome home ! Our flight got to Indianapolis a bit after midnight (as scheduled, sigh), and then there was a bit of a drive. We spent the night in Indiana. Jacob and Oliver were staying there with their grandparents, but of course were already asleep. Jacob woke up in the middle of the night at one point, panicked because he couldn t find the butterfly he always sleeps with. Terah helped him find it, and apparently he just sat there staring at her for a minute. Both boys were happy to see us in the morning. Jacob was talking about the toys, and Oliver was just laughing. We ate breakfast, then tried to get on the road as soon as possible we had an 11-hour (before stops) drive ahead of us, and had to complete it all in one day. We had talked about what we would be doing, and Jacob was sad to leave grandma & grandpa and their farm. About an hour into the drive, Jacob said, Dad, where are we going? We re driving home. Kitty doesn t like that. We should go that way. (and he pointed out the back window.) Back to grandma & grandpa s house? Yeah! Jacob has this habit of referring to himself in the third person as a kitty, and probably more so when there s something sad or difficult. We stopped for lunch or running around breaks a few times, and wound up getting home at about 8:30. Oliver started laughing when he saw our porch, and we got inside, Jacob said, I want to run around all over the place! and he did. They were happy to be home. In Leipzig, Fritzi had chosen a book to give to Jacob. On Monday, I got it out, and explained it was from Fritzi in Germany. Jacob was very interested. I told him it was about a mole (Maulwurf), and he thought that was great too. I couldn t remember Brad s translation of the German story, so Jacob and I made up our own story as we went. This was a big hit, and he had me read the book three times all at once. Then he wanted to talk about who gave him the book again. In all, I m very glad we took the trip. It was fun seeing the sights, visiting with friends, and being a part of an environment that s different from our own. I hope we can do it again before too long.

29 March 2010

Biella Coleman: Do you Open the Hood or Do you Free the Source?

So I tend to de-emphasize the differences between free and open source software as it tends to break down when you look at what people do (as opposed to what certain purists say). That said, there are important differences, especially given certain conditions and questions. In the fall, I participated in a debate on this very question, representing at some level the angle of free, the artist, Zach Lieberman representing open source. I think the meat of the event is during the Q and A so if you are interested in this issue, it might be worth a whirl. I also think this format might work really well for Debconf10 so if you can think of some hot-button issue that should be subject to debate, do propose.

Biella Coleman: Do you Open the Hood or Do you Free the Source?

So I tend to de-emphasize the differences between free and open source software as it tends to break down when you look at what people do (as opposed to what certain purists say). That said, there are important differences, especially given certain conditions and questions. In the fall, I participated in a debate on this very question, representing at some level the angle of free, the artist, Zach Lieberman representing open source. I think the meat of the event is during the Q and A so if you are interested in this issue, it might be worth a whirl. I also think this format might work really well for Debconf10 so if you can think of some hot-button issue that should be subject to debate, do propose.

Roland Mas: FusionForge 5.0

Fourteen months after the renaming of the Free/Open Source code of GForge 4.x to the new FusionForge name, we're pleased to announce version 5.0. As mentioned in the release notes, this is still an incremental step over version 4.8 rather than a revolution, but the changes are important enough, and numerous enough, that we felt it justified to bump the major version number. Major improvements, beyond a host of bugfixes, include: FusionForge 5.0 now also includes new plugins that were previously only floating around (or completely private): These plugins, as well as a large part of the improvements in the trackers and the rewritten Mediawiki plugin, are a direct consequence of the upstreaming of work having been done in private instances of forges. We're happy to note that this goal of ours (to merge local patches into the central repository when it makes sense) seems to be working well. For the record, this 5.0 release includes work and plugins that were reintegrated from sources such as Alcatel-Lucent, Adullact and AdaCore. This release is also the first to have had the benefit of automated testing during the whole cycle. Coverage isn't 100 % yet, but the existing unit tests and functional tests help us be confident in the quality of the release. We'll keep adding more tests as time passes, of course. Looking back at the initial goals stated when the project started, we seem to be on the right track: We still need to work on the database schema and the cross-distro part, as well as cross-forge interoperability. The good news is that work is happening on these fronts already. And with almost 2500 commits, we truly seem to have accomplished at least one of the (implicit) goals: to bring development back to a healthy state. And we're far from being out of ideas for the future, so there's a lot of good stuff still cooking!

Matt Brown: Initial Review of Xero Personal

I ve been eagerly looking forward to the release of Xero Personal which has been heavily promoted by Xero and BNZ (as MoneyMap) for the last few months. Unfortunately my first impressions of the product today are extremely underwhelming. Xero Personal is definitely not worth anywhere close to $5/month for me at this point in time and I m unlikely to even keep using the free trial. To set the context for that statement, Xero Business set the bar high. I first used the original version of Xero while it was still in beta and even then it was clear that it was an application that took accounting to a new level and would provide an order of magnitude improvement in how I maintained the accounts for our business. That promise held true once we started paying for it, even though the cost of Xero is more than 10% of our annual expenses, the time and hassle it saves makes it a worthwhile investment. By contrast today s release of Xero Personal offers nothing new above existing personal finance websites or desktop packages and would take me extra time to use as it fails to handle many of the basic transactions that a normal household will encounter. The way Xero Personal works is by having you manually upload your bank statements (the automatic import functionality that is so useful in the business version of Xero has been restricted to BNZ MoneyMap customers only). For each transaction you are asked to provide two pieces of information. The first is a category which serves as a basic form of account to track expenses and income. For each category you can set a spending or saving goal which Xero will help you track progress towards. The second is a name to identify the other party in the transaction. Xero Personal comes pre-loaded with some fairly generic categories. Annoyingly you re restricted to no more than 8 additional custom categories and the names associated with each transaction are are simple strings you can t link a transaction to another account or entity. To represent a transfer you need two separate transactions, one in each account, which you assign to the special category Transfer so that Xero knows to essentially ignore it. Nothing links the transactions together or ensures that the values balance. In addition to the basic categorisation functionality the application also attempts to track your assets and liabilities (bank accounts and credit cards show up automatically) so that it can compute your net worth. Unfortunately as soon as you try and use this you hit the problem that there is no way to link transactions from your accounts back to your assets and liabilities. This means unless you regularly and manually update your assets and liabilities the net worth calculation only takes into account changes in your cash position and becomes blatantly incorrect. As an example, take the common case of a household with a weekly mortgage (or other loan) repayment. You want the weekly payment to decrease the balance of your current account, increase the balance of your interest expense category and decrease the value of your mortgage liability. Your net worth should decrease by the value of the interest expense only, as the decrease in the value your mortgage liability offsets the remainder of the decrease in the value of your current account. Xero Personal doesn t come close to being able to handle this example today. The ability to split payments to different categories has also been left out (even though it s present in Xero Business and therefore presumably in the underlying engine) so your only option is to categorise the entire payment as a mortgage or housing expense, decreasing your net worth by the full value of the payment. Even if you could split the payment between two categories, one for the interest and one for the principal the inability to link the category for the principal to the liability account means the net worth calculation will still be incorrect. Maybe I m being to hard on this newly released product? It is a SaaS application after all and Xero has an excellent history of releasing regular updates to the business version of Xero. The reason I m so surprised and disappointed by this initial release is that it essentially lacks any double-entry accounting support many of the missing features are core functionality that is already implemented in the accounting platform that supports the business version. Assuming that Xero Personal is built on the same platform (and that would be the obvious choice wouldn t it?) the fact that Xero Personal has been released and is being heavily promoted without these features (compared to the initial version of Xero Business which was fully functional and obviously awesome even in beta) suggests to me that it s a conscious decision to significantly limit the scope and usefulness of the application rather than simply a limit on what could be implemented before the initial release. I sincerely hope that I m wrong and that the coming months bring significant improvements to the functionality of Xero Personal, but until it can support common transactions like mortgage repayments correctly I won t be using it or recommending it to anyone.

28 March 2010

Clint Adams: DPL Campaign Questions 008

Steve Langasek:
As a developer, how do you embody the spirit and culture that has made Debian a great operating system? If elected DPL, how will you inspire the same in others?
I do not believe that there is any one single spirit or culture that has made Debian great, never any truly united community. With contributors from various places around the globe, we have a melting pot of different cultural viewpoints. Furthermore we have people doing things for a variety of reasons, some more selfish than others. The interplay between these differences has led to tension, and it has also led to greatness. I am certain that some of the great things in Debian have come to pass borne out of anger and hatred. We have had shifts in cultural norms over the years. When I joined the project, it was considered highly controversial to use the word fuck . Many community members would scream at anyone who did that, rudely sending private emails to admonish them. Eventually, enough anti-censorship people joined that the political tide turned, and many of the people offended by the use of the word fuck quietly faded away. We effectively disenfranchised them. Now the pendulum may be swinging in the other direction, and if it does, we can expect the same sorts of tensions and the same sorts of attrition. Perhaps this is part of the natural cycle of things, perhaps not. So if I list what I do or what I try to do, I do not believe it adequately answers the question. I think that Debian is superior for technical excellence and cohesive policy, so I try to do my part to meet those standards. I think that Debian is great for being a good Free Software Citizen, so I try to forward relevant bugs and patches upstream. I think that Debian is great for not being fully beholden to corporations, other financial interests, or dictatorial personalities, so I try not to encourage that sort of thing. I think that Debian is greater because of a few team efforts, so when someone tries to set up a worthwhile endeavor, I feel some compulsion to join in or at least be supportive. I think that Debian is greater because of some commitment to transparency, so I try not to do anything important behind closed doors, and even when I assume that something is transparent enough because it has been discussed only in public channels, and someone yells at me for hypocrisy, I try to increase the distribution of that information to a level that people feel is appropriate. As DPL I would try to set a good example by not being a hypocrite about any of the things I think are important to Debian, and would try to inspire an atmosphere of more teamwork, cooperation, and empowerment. I think that this could be revitalizing. Alexander Reichle-Schmehl:
Suppose that you would not run for DPL: Who would you vote and why?
I am not sure of how I will be voting. Each of the candidates had said things that I like, and each of the candidates has said things that I dislike very much. I am choosing not to get into specifics here, because I do not consider it appropriate or ethical to try to affect other people's votes in that manner.

Aigars Mahinovs: Ubuntu 10.04 and NTFS filesystems

subj. don t mix just upgraded a simple Ubuntu 9.10 to Ubuntu 10.04 and it failed to boot. After careful examination, it looks that something replaced the munt line of my NTFS partition in the /etc/fstab and claimed that it is a VFAT partition and mountall that is run during boot gets very, very confused if presented with such dillema, so mach in fact that it hangs and stops the whole boot sequence. The workaround is to boot from a livecd/usb and comment out all NTFS and VFAT lines in /etc/fstab. If that still does not help replace the large UUIDs with device names back. Still have not reported the bug as there look to be several regression in NTFS support, the upgrader corrupting the fstab file and mountall incorrectly handling a case of an unmountable file system. P.S. Also my Firefox would not start that was solved by removing the sessionstore* files in my profile.

Next.

Previous.