Search Results: "ron"

13 April 2006

Martin F. Krafft: Soaking the city

We spent eight hours today, starting at around 10:00 o'clock, completely soaked with water. I had read about the Thai New Year celebration "Song Khran," but I would not have believed it to be as extreme as it turned out to be. But let me start where I left off: Phitsanulok. Following the recommendation of the director of the lower northern Thailand Tourist Authority (TAT), we spent the evening by the river running through Phitsanulok, where the Thai were celebrating the "food festival" -- it seems to me that the Thai, or Southeast Asian folk have a festival for almost anything to make it around the year... The road along the river was banked with little booths selling just about everything, from edible to handicrafts, with fair booths offering games such as darts, jumping castles, and live bands in between. Strolling around, we had a bite of the most appealing things -- I did stay away from roasted cockroaches, maggots, and other bugs this time, for I had already sampled them in Vietnam and felt no particular need to repeat the experience, although it was not revolting back then at all: it's just a little meat with a lot of crust that you don't want to eat, and the taste isn't particular. An excellent meal of noodles with some sort of sweet-spicy sauce, together with a beer and the company of some young Thai boys ended the evening for us and we returned to our hotel rather soon, with the intention to get up early to finish our errands and make a run for Sukhothai. So with our plane tickets and some fresh cash, we set out for "Sgt. Tawnee's Folklore Museum", a private collection of traditional Thai "things" -- tools, traps, toys, instruments, clothing, ... just about everything... Sgt. Tawnee was a poor soldier who realised that people were forgetting about how their ancestors went about to solve everyday's problems and consequently started collecting anything and everything -- a truly remarkable and beautiful collection! After a so-so Thai massage (see forthcoming blog entry), we quit the city by bus to arrive in Sukhothai about an hour later, where we were met by the pickup van of the guesthouse we had booked, also following the recommendation of the TAT director: we are staying at the Ruean Thai Guesthouse, a place with cozy rooms, a swimming pool, and very friendly staff, for about 10 EUR a night -- the best guesthouse I have been to in three vacations in Southeastasian countries, three thumbs up, I can recommend it to anyone coming to the area! We had just settled and taken a shower when the hotel clerk notified us that the director was waiting downstairs to take us to the "light show". We boarded his van, together with his family and colleagues, and drove about an hour to Srisatchamalai Historical Park, where we arrived just in time to witness an impressive ceremony, part of the New Year celebration: old people were sitting in rows on chairs, and younger folk passed from one to the next, pouring drops of water into their hands as a form of respect to the elderly to help them stay cool in the dreadful heat of the month. Naturally, we lined up and did as the others did -- and found us filmed and greeted by a television crew afterwards for an interview. Not wanting to be a burden to the director and his family, we followed the suggestion to stroll around in the park for about an hour, until we returned to the agreed meeting point. There, we found that mats had been rolled out on the lawn in front of one of the temples, and maybe 200 Thais were sitting and dining. The director invited us to join them, and we enjoyed Thai cuisine until dusk, when everyone got up for the national anthem and the show began. At first, a famous Thai singer (so we were told) performed a couple of folk songs and we learnt that, (to my knowledge) unlike European folk songs, the Thai sing songs telling real events in history. A fashion show of old, traditional Thai clothing followed, and finally, the stage was set for a performance of the history of Sukhothai. People were all over the place, fighting, dancing, or just "ruling" (as the king(s) would do), and a voice recounted the story, which one of the director's daughters translated for Aline, I was busy taking pictures. Fireworks accompanied the scene, along with flying objects consisting of a real flame underneath a balloon made of rice paper. Most flew high and far away, some got stuck in trees and went up in flames. After the show, I had a chance to see some of the costumes and must say that I am deeply impressed, not only by how Thai people used to dress, but also by the love and care the people put into the show to make it as authentic as possible. Interestingly, only one other tourist ("fallang") was at the event, something the tourist director wants to change in the future -- good thing we witnessed the "pure event"... I seem to prefer places not frequented by tourists, and in the Thais seem to be continuously surprised that we are not heading for the beaches in the south following our time in the north. Back at the hotel, we fell into bed, exhausted from the day and the nightswim in the pool. I got up this morning to find my ear clogged with water -- must have been the late swim. The guesthouse owner insisted to take me to a pharmacy to find some eardrops, and I hope this nuisance will go away soon. We rented a motorcycle for the day and headed in direction of the old Sukhothai city, or the Sukhotai History Park, as it is also called. Waiting for our photo chip to be beamed to CD, we made our first encounter with the way young people like to celebrate the New Year (which officially started today): all over the city, people rode around on the back of pickup trucks, emptying buckets of water over other people. We bought ourselves a water gun and plunged in for the fun. It didn't take 30 minutes until we were soaked, but nothing could stop us. The old city is maybe 10 kilometres away, and the drive was the most unforgetable motorcycle ride I'd ever had: all along the sides of the road, people were filling buckets and splashing everything that passed -- being on a motorcycle with merely a water gun, and as "fallang" (foreigners), we were naturally the primary target for just about everyone, so by the time we had reached the city, we had soaked up half an ocean each. We stopped by a group of kids, gave our water gun to the smallest one, bought a new one, and teamed up with them to fight the passing vehicles. Oh what fun! Dripping, we made our way to the park after a while, and strolled around some temples, the market, and many more water fights. Even though the water obscured the heat, we still didn't feel like taking the barrels of water we had collected for a walk and didn't last too long before we were on our way back, destined to stop again with our allies (the kids) to make sure no car and no passenger got by unwashed. The Thai also crumble up chalk, mix it with water, and smear it into each other's face -- you can imagine how we looked like after a few minutes: soggy and chalked. Finally, we made a run for the hotel and got back at about 16:00 o'clock for the first time of feeling "dry" in eight hours. Now, after some time at the pool, we are loathing for dinner but daren't go for the city as we are wearing our last set of clean, dry clothing; I doubt the Thai lay their buckets to rest at seven and call it an evening. Fortunately the hotel offers food too, so we'll likely be boring and stay in. Tomorrow morning is our flight to Chiang Mai for more of the wet fun. I'll keep you posted. Thanks for reading along.

Wouter Verhelst: Digital Camera

I bought myself a digital camera today. It's probably the most low-end camera you could imagine, approximately the size of the insert-delete-home-end-pgup-pgdown key block on an average keyboard. Well, slightly larger. Obviously the quality isn't very good. In fact, I suspect that many cell phone cameras are of better quality (I wouldn't know, I don't have a cell phone with camera). So why did I buy this thing? Because of its price, which is so low that it's laughable. And, well, because of the size—it can be stashed away nicely. Only I just found out that the battery life isn't very good. I had connected it to my laptop for a bit more than an hour, and now it doesn't power up anymore unless it is connected. According to the manual, it should not use the battery while it's connected to a USB port, but I guess they're wrong. Something else that isn't very good is the English translation they've been doing. Mooha.
Thank you for purchasing this digital camera. It not only can take photos but also has the built-in camera functions. This camera is equipped with a 64Mbit built-in SDRAM; if you want the photos in the camera to be download into the computer ,you are only required to connect the USB cable; and if you want to use the built-in PC camera functions, you can hold the video conference via the Internet to have a face-to-face online chat with others.
... is exactly what the back-cover of the wrapper contained. With no typos. No, not with typos in spaces and commas either. I do have one grunt with this thing, and that is that the 'viewfinder' (sic) is totally useless; if I want to take a picture with the thing, I have to point the camera towards the general area of my subject, cross my fingers, and hope for the best. But, well. It works, and while the pictures aren't very good, they're not that bad, either. I guess that's all I could ask for 14.40 euros.

Matt Brown: 2.6 Suckiness

Has anyone else noticed a sharp decline in the quality and stability of the 2.6 kernels recently? I know that they’ve supposedly done away with “stable” releases and changes are being merged from the development trees straight into the 2.6 mainline, but surely we can still expect some level of stability. I’ve run into some fairly major problems lately. In early December I tried to upgrade our Biscuit PC distributions kernel package from 2.6.13.1 to 2.6.14 but was stymied by the fact that 2.6.14 seems to have completely removed support for building out of kernel modules against the kernel headers only, the full kernel source is now required to be present. This does not play nicely with Debian kernel packages. I haven’t had time to try 2.6.15 yet to see if this change has been reverted, but its a fairly major thing to drop support for and completely removes the ability for me to build packages for external drivers like madwifi. Today I was upgrading a machine with software raid from Woody -> Sarge and proceeded to upgrade the kernel too. I pulled down a copy of 2.6.15.4, ran make oldconfig and then verified that all the crucial options were still selected (raid, promise controller, e100, etc). make-kpkg, dpkg -i, reboot. BANG.

VFS: Cannot open root device "md0" or unknown-block(9,0)
Please append a correct "root=" boot option
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(9,0)

A quick investigation revealed the promise controller as the source of the problem

PDC20267: IDE controller at PCI slot 0000:02:0e.0
PDC20267: chipset revision 2
PDC20267: ROM enabled at 0xf4640000
PDC20267: 100% native mode on irq 22
PDC20267: neither IDE port enabled (BIOS)

Now, the Promise controllor is certainly not disabled in BIOS, and 2.4.21 manages to boot off it just fine so what is wrong with 2.6.15!? Google suggested that I needed to enable the PDC202xx_FORCE option, (which was enabled in 2.4.21 but in 2.6.15 is only available if you happen to select the completely unrelated driver for the next model up promise card to what I have - a bug that has apparently been acknowledged since 2.6.9 but still not fixed!!), however that made no difference whatsoever. After a couple of hours of fiddling around with various kernel settings and boot options (did I mention this machine is 200km away from me…) I gave up and started trying early kernel versions starting with the existing 2.6.13 kernel I was using for the Biscuit PC distribution, which worked first time. So far I’ve not been able to find any other reports of problems with 2.6.15 and the Promise drivers, but from what I saw today they are completely non functional. The common argument I seem to hear when I usually mention this subject (2.6 suckiness) is “but you should just use your distributions kernel”, to which my reply is “but I do…”, for my desktop. The standard Ubuntu kernels work great and I have had no reason to meddle with them. However my desktop needs are a far cry from what I need to be able to do for the servers I maintain at work, or the kernel packages that I need to build for our BiscuitPC distribution. I’m certainly not one of those gentoo type people that need the latest and greatest the instant that it comes out, and I don’t try and run the latest kernel just for the sake of it. But the fact is, new kernels bring new features (not to mention bugfixes and security patches) that are frequently needed, especially in the networking and wireless areas. When I have to spend several days debugging and testing every time we need a new kernel only to find some critical flaw that prevents us from using it I have to stop and wonder whether the current kernel development process is working. Have others had similar experiences with 2.6 kernels recently, is the fact that the latest kernel-image I can find in sid is 2.6.8 confirmation that it’s not just me, or am I really just overly angry due to the hours I’ve spent battling 2.6 lately? Update: Several people have pointed out that I failed to look for linux-image instead of kernel-image and that 2.6.15 is already in sid. My mistake. And yes, I do plan to file bugs, not just rant, but sometimes you need to vent first :)

12 April 2006

Matt Brown: Loading GPG / SSH Keys from a USB Key, Round 2

Back in January I talked about setting up some scripts to automatically load ssh/gpg keys into the appropriate agents when you plugged in a UBS key. I had quite a number of people ask me for my scripts, but they just weren’t quite ready. I’m still not entirely happy with the solution that I’ve come up with, but I figure its working well enough to get some feedback now. It’s based very heavily on the usb-storage script originally written by Sean Finney, so I think that means I owe him Pizza now. However while its based on the usb-storage script it has changed in a few major ways: The mounting of the partition is the key change and I’m still tossing up whether the way I’m doing it is best or whether I should return to having it handled by the script. The primary reason for changing it was to allow the partition to be mounted in a stable location (as opposed to a random directory under /var/tmp) so that I could symlink from appropriate places in my home directory to the partition on the key. The symlinking is needed to keep GPG happy as the gpg-agent seems to store only the passphrase and requires access to the private key whenever you need to sign/encrypt something. The way ssh-agent works is much nicer in this respect, in that once you’ve loaded a key into the agent it doesn’t need to refer to it on disk again. Currently I’m using autofs to mount the partition as needed and this seems to be working well. It’s probably possible to go back to mounting the partition at a stable location from within the script without too much hassle. You can grab the script from http://www.mattb.net.nz/debian/misc/manage-keys The remaining details for my configuration are below: First, setup udev to rename the key partitions to a static name and then fire the script at the appropriate times
/etc/udev/rules.d/usbkey.rules

ACTION=="add", KERNEL=="sd?2", SYSFS serial ="A0494386139B005B", NAME="%k", SYMLINK="usbkeys", RUN+="/usr/local/bin/manage-keys"
ACTION=="remove", KERNEL=="sd?2", RUN+="/usr/local/bin/manage-keys"
Then setup autofs to mount the partition on demand
/etc/auto.master

/media/usb /etc/auto.usbkey --timeout=10

/etc/auto.usbkey

keys -fstype=ext3,ro,noatime,nosuid,nodev :/dev/usbkeys
I keep only id_dsa and secring.gpg on the key and symlink from the appropriate places in my homedir to /media/usb/keys/

matt@argon:~$ ls -l .ssh/
total 76
-rw------- 1 matt matt 612 2006-04-12 22:45 authorized_keys
-rw-r--r-- 1 matt matt 2694 2006-04-12 22:46 config
lrwxrwxrwx 1 matt matt 22 2006-04-13 01:08 id_dsa -> /media/usb/keys/id_dsa
-rw-r--r-- 1 matt matt 612 2006-04-12 22:46 id_dsa.pub
-rw-r--r-- 1 matt matt 58851 2006-04-12 23:10 known_hosts
matt@argon:~$ ls -l .gnupg/
total 2336
-rw-r--r-- 1 matt matt 126 2006-04-12 22:56 gpg.conf
drwx------ 2 matt matt 4096 2006-04-12 23:07 private-keys-v1.d
-rw------- 1 matt matt 1175737 2006-04-12 23:29 pubring.gpg
-rw------- 1 matt matt 600 2006-04-13 01:51 random_seed
lrwxrwxrwx 1 matt matt 27 2006-04-13 01:08 secring.gpg -> /media/usb/keys/secring.gpg
-rw------- 1 matt matt 10560 2006-04-12 23:27 trustdb.gpg
And that’s basically it. The script takes care of the rest. The main problem I’m having with the script at the moment is that it doesn’t autolock the screen when you remove the key because gnome-screensaver-command is lacking the necessary environment variables to find the DBUS socket it needs to talk to its backend. Need to read up on DBUS/gnome-screensaver and sort out how to fix that tommorrow. Update: Updated example udev config so it doesn’t run a script out of /home

Simon Richter: Madrid

Okay, the group has assembled in front of the bus that is going to bring us to Extremadura. Off we go!

Eric Dorland: The Pain of the GFDL GR and the DPL throws down

(aside: I love acronyms) The GFDL GR is particularly painful for packagers of GNU software like, say, automake. While I voted for it, and I think it was the right thing, it's almost physically painful to have to split my package apart for such ridiculously trivial 3 lines of Front and Back Cover Text:
     Permission is granted to copy, distribute and/or modify this
     document under the terms of the GNU Free Documentation License,
     Version 1.2 or any later version published by the Free Software
     Foundation; with no Invariant Sections, with the Front-Cover texts
     being "A GNU Manual," and with the Back-Cover Texts as in (a)
     below.  A copy of the license is included in the section entitled
     "GNU Free Documentation License."
     (a) The FSF's Back-Cover Text is: "You have freedom to copy and
     modify this GNU Manual, like GNU software.  Copies published by
     the Free Software Foundation raise funds for GNU development."

New DPL Anthony Towns has started his term, guns blazing. I like his idea. Making it easier to contribute to Debian can only really be a net win. The obvious objection is that this will allow untrusted people to upload to Debian. But does the current New Maintainer process really guarantee that an applicant is not malicious? I don't think so. It only weeds out impatient attackers, not determined ones. Now, if we really do believe that it is too dangerous to allow these "Debian Maintainers" direct upload, their uploads could go into their own queue. A queue that would be viewable by any "Debian Developer" to vet the package and approve it. I believe the Fedora Extras project does something similar.

Simon Richter: Geek travel

I'm on my way to the airport, and, from there, to Extremadura via Madrid. I have my soldering iron with me.

11 April 2006

Ross Burton: Building Debian Packages In Scratchbox

Every week I spend half an hour wondering why I can't build Debian packages inside Scratchbox. The error is "you must be root" which is solved with fakeroot, but I'm already running debuild with fakeroot... That, of course, is the problem. debuild will clean the environment before starting dpkg-buildpackage, which wipes all traces of the Scratchbox magic away, breaking fakeroot. Despite debuild being an essential wrapper around dpkg-buildpackage in the normal Debian world, in a Scratchbox it's a big no no. I really must remember this! NP: Debut, Bj rk

Christine Spang: Voting

I’m finding it kind of ironic that only 43% of Debian Developers voted in the DPL Election, while there are other, non-DD contributors that have expressed an interest in voting but can’t with the current rules.

Simon Richter: Absolutely Fabulous

The big problem with snowballs these days is that they melt if taken into a warm environment. I'd have brought a few with me on the way to Madrid, since snowballs are, like, the accessoire of the month. Or so I was told by the kids that were trying to show fashion sense and follow the "maximal three" rule (i.e. one in the hand, one in your neck, slowly melting, and the third one either in the backpocket or in your shoe). I mean, these kids were total fashion victims, even picking up new snowballs when they already had no idea what to do with the old ones their friends had presented them with.

Simon Richter: Absolutely Fabulous

The big problem with snowballs these days is that they melt if taken into a warm environment. I'd have brought a few with me on the way to Madrid, since snowballs are, like, the accessoire of the month. Or so I was told by the kids that were trying to show fashion sense and follow the "maximal three" rule (i.e. one in the hand, one in your neck, slowly melting, and the third one either in the backpocket or in your shoe). I mean, these kids were total fashion victims, even picking up new snowballs when they already had no idea what to do with the old ones their friends had presented them with.

Riku Voipio: Dueling Banjoes

As I was digging for somthing totally unrelated on the debian-devel archives, I saw one the weird due_ling banj_oes mailings. And ofcourse, I was unable to continue what I was doing, and I rather just had to solve the origin... A quick google gave a one from 2003/06, but I was sure I had seen those requests had before. Some deeper searching, and I found a pointer to debian weekly news which points to many of these mailings, and explains that people ask on debian lists, because, debian lists have #1 position for various typoed versions of this subject.

Still not satisfied, with a little more search engine magic I think I actually found the origin. Little did Ron know what kind of monster would his choice of subject wake up...

While at it, I thought it might be nice to gather a list of these mailings. Feel free to add any mailings I have missed, or fix one the many typos. debian-curiosa indeed.

For anyone really looking for dueling banjoes sheet music: http://www.muziekzetter.be/free/dueling_banjos.pdf or search http://www.olga.net/

10 April 2006

Ross Burton: Sound Juicer "Come Back Stronger Than A Powered-up Pacman" 2.14.2

Sound Juicer "Come Back Stronger Than A Powered-up Pacman" 2.14.2 is out. Tarballs are available on burtonini.com, or from the GNOME FTP servers. Just a few bug fixes: The 2.14.x series of Sound Juicer releases is dedicated to Iain Holmes, who said he loved the Kaiser Chiefs. Or was it loathed, I can't recall. Anyway, the long and never-ending series of 2.14.x releases are dedicated to him. NP: DJ TeeBee live at The Breezeblock

Junichi Uekawa: sudo behavior change strikes pbuilder.

I'm receiving quite a few reports of pbuilder breaking due to sudo change.pbuilder needs a few environmental variables passed on to it.361362is starting to document the way forward.

9 April 2006

Andrew Pollock: [opinion] An Inconvenient Truth

Al Gore gave a talk on climate change at Google yesterday, and I was fortunate to be able to go and listen to him speak for most of it. On-call duties prevented me from hearing the conclusion, which was probably the best bit. His slide deck was excellent. Overall, he wasn't telling me anything I didn't already know, but he had a lot of facts and figures to back it all up, and yup, the planet's royally fucked. It's really reinforced my desire to be as environmentally conscious as possible while in the US, given that this country is the biggest offender. There's not much more we can directly do at home except try to switch to a green power provider, if one is available. According to the calculator, our household is already significantly below the US national average in terms of carbon dioxide production. I wish Australia would get on board with the Kyoto agreement. Not that in the grand scheme of things, it would make a big difference, but it'd still be nice not to be one of the only two developed countries still with its head in the sand. That said, I am very excited about alternative generation projects such as the so called Tower of Power currently underway in Australia. I'm very inclined to buy shares in that.

8 April 2006

Erich Schubert: Proof of concept virus for Linux and Windows

Many IT news websites have been reporting that there is a new proof-of-concept "cross-platform" virus for both Windows and Linux. This is largely overrated. There are a couple of reasons why this type of virus poses no threat to Linux users: So overall, this threat is very theoretic. However, the Linux community should consider defense mechanisms for this. Debian can already verify the integrity of most of its files via md5sums, but some tools (e.g. prelink, to improve application start times) will modify the applications and thus the md5sums. A couple of measures we could/should probably do: These measures could make it even less attractive to write attacks against Linux software. I can't assess the potential security issues we might "inherit" from the Windows platform by offering the Mono C# implementation. This basically means that some of the to-come malware for Windows will run on Linux, too. Only if users try to run their Windows shareware, of course. [Update: another win32+linux virus, from 2001. Noone cared, nothing happened.]

Martin F. Krafft: Restless travellers

We've been busy travelling, never spending more than a night in the same place. Leaving Bangkok on the "3rd class" train for Ayuthaya was an experience of its own kind. The platform was full with people waiting for the train to arrive, and when it did, we witnessed something totally unexpected for the Thai: they almost quarelled to get into the train first to catch a seat. Fortunately we got lucky in the otherwise crowded wagons. We stopped frequenly, and a glance out of the window would give you a peek into the lowest end of Thai civilisation: barracks built along the tracks with large numbers of people vegetating along. Inside the train it was hot and sticky, and we were surely happy to disembark in Ayuthaya about an hour later than planned. Ayuthaya was the Siamese royal capital between the 14th and the 18th century (the name derives from Sanskrit and means "undefeatable") and a bunch of temples and ruins, most with strong Khmer influence, survived the various Burmese attacks until today, making the city a nice attraction for those who like "stone piles" (as I've heard them described). We had made arrangements from Bangkok with the Baan Lotus Guesthouse, run by a lovely lady who spoke good English. Apart from the broken light in our room, the setting, the friendliness of our host, and the cleanliness of the rooms were definitely worth the price. After visiting Wat Phra Mahathat, the temple home to a Bhudda's head embedded in twisted roots, we had a guide escort us to a remote Elephant camp to witness the preparations for the upcoming New Year celebration (Songkran) in a week from now -- we are definitely looking forward to that. Later that night, we met some locals at a bar for chatting and went to bed late, thanks to our host handing over the keys and making an exception to the 11pm curfew. We got up to meet the guide from the night before, who took us around three temples before dropping us off at the boat stop for a short cruise around the island (Ayuthaya is encircled by a river). Our train to Khorat (Nakhon Ratchasima) was scheduled for 12:23, and so we had to forgo most of the temples due to time constraints; Ayuthaya is close enough to Bangkok to come back here again during a future trip. Reaching the station with ample time, we found the (express) train to be full, but did not feel like waiting for the slower train an hour later, so we talked the station ward into getting us on anyway. Interestingly, I think he would have tried his best even if I had not slipped him 100 Baht (2 EUR) under the table. We got on, and even had two seats in an air-conditioned wagon, so the trip was quite relaxing -- to the point that we almost missed our stop. Shortly before reaching Khorat, we rode through a thunderstorm, and there was a light drizzle as we stepped out of the station. The distance from Bangkok showed, the Tuk Tuk drivers (Tuk Tuks are the infamous three-wheeled taxis you find all over Southeast Asia) didn't hassle us, it was in fact not at all easy to find one, and when we did, he did not know where the Tokyo Hotel, our chosen home for the night, was located. With a map in hand, we thus simply started walking, but had to run for shelter at an ice factory when the rain picked up and sent cats and dogs onto the streets that really aren't made to take that much liquid. Eventually, a Tuk Tuk picked us up and got us to the hotel safely, and an hour later, the rain stopped. We did not miss a beat to get outside and ended up at "The Mall", a magnificent American-style "shopping paradise" (as Aline would call it) which clearly showed that shopping is one of the top passtimes for Thais. We ended the evening at Khorat Texas, a very nice bar in the centre of the town, with decent food and live music. As I was rolling a cigarette, a local from the next table curiously came over, and shortly thereafter, the two of us joined the three of them at their table for some cultural exchange in broken English. We picked up quite a few handy Thai expressions but also came to the conclusion that the Thai don't really know how to say things themselves and would often disagree with each other over the endings of words. But as the beer kept flowing, we seemingly got better at Thai intonation, although the language is definitely very hard for Europeans. I could not help but notice though that it seems to be better suited for cell phone conversations in noisy places while one of the three men we met kept chatting away to his wife for an hour while the band was playing in the background. This morning, we weren't motivated to get up before 11, checked out, made travel arrangements for our next destination -- Phimai -- dropped off some laundry, and then headed for the national museum, which we only found through the technique of circling and spiralling inwards. Not much to see otherwise here. The Lonely Planet guide says this city is unexciting, but it grows on you if you spend longer periods of time. Sure, like most cities, I say. As it stands, we have reason enough to abandon the place and spend tonight in Phimai, close to the famous and beautifully restored Khmer temples of the area, so that we can hopefully spend as much time as possible in the temple area before the heat gets unbearable. Nevertheless, speaking of heat, yesterday's rain shower cooled the air by 5 or 10 degrees, and it's very bearable right now. I have to point this out because in general, the month of April is not a month during which to travel Northern Thailand due to the temperatures approaching 40 degrees during the day. I know for sure that next time, I will be looking into clothing made out of fabric better suited to handle large amounts of sweat than cotton. We hope to leave Phimai on a bus to Udon Thani. I expect that shall be the next time I get to write. Thanks for reading along.

7 April 2006

Axel Beckert: Last day at work

As some of my friends already know, I’ve quit my current job and will start working at the Department of Physics of the ETH Zurich in May. Today is my last day at work here and I feel a little bit sentimental. Most co-workers became friends during the last four and a half years and I’ll move away from a bunch of friends at Darmstadt and from some friends in Mainz and Frankfurt/M. And I’ll leave the Rhine-Main area just shortly before LinuxTag moves in. Fsck. But it had to be. Although I like creating dynamic web pages with Embperl and Apache, I became sick of working with SuSE Linux, sick of developing with OpenLDAP, sick of developing web applications which must (also) run with Apache under Windows or with MS Access. Since I understand that for the success of my current employer the use of these products can’t be changed that easily, the only solution for me was to quit the job. My new job at the ETH Zurich will be administrating mostly Unix systems at the Department of Physics as well as some Unix user training. I won’t get rid of Windows and OpenLDAP there though, but I won’t have to develop software with them. What I’ll get rid of is SuSE: I will have my beloved Debian around me (which I can use here only for building Debian packages for customers) and some FreeBSD (no change here ;-), too. So I really look forward to my new job. Therefore I’ll move to Zurich soon. And since I have down there a lot of friends, too — not only through Symlink and the Linux User Group Switzerland but also people from the 2CV scene — it’s not so hard to the leave the current environment and jump into a new one. Another advantage of moving more southwards is that I’ll be closer again to the rest of the Beckert family, at least the part I’m related to. (The biggest number of Beckerts seem to live near Chemnitz according to Geogen, so perhaps I should pay attention to this when visiting the Chemnitzer Linux-Tage the next time.) But I’ll come back and visit the Rhine-Main area probably quite often, not only for LinuxTag. P.S.: It maybe that further blog postings about my move to Zurich only appear in the German written part of my blog and therefore not on Planet Debian (but Planet Symlink).

Wouter Verhelst: DFSG vs GFDL

One of the things that has kept Debian in heated discussion over the last few years is the question whether the GFDL, or the GNU Free Documentation License, is free according to Debian's own DFSG. We've had three votes on the subject, with the final one decisively saying it's conditionally free. Or so I thought. Yesterday, Josselin Mouette proposed another GR on the subject, since he believes there's a conflict between GR 2006 001 and the current text of the DFSG. Sigh. At least he isn't trying to reverse the effect GR 2006 001. But still; no, the GR does not conflict the text of the DFSG. I used to think otherwise, but got swayed by the discussions on -vote that occurred prior to GR 2006 001, especially (strangely) the one that happened as a result of Anton Zinoviev's amendment, which ended up as choice #3 on the ballot. At the the time, I was supportive of the original proposal to throw out all GFDL-licensed documents, even though I disliked doing so (for obvious reasons); but I felt that the arguments about the DRM clause did hold. This was wrong, and it took me an insult to see it. Quoting Anton, myself, and Craig Sanders:
This clause disallows the distribution or storage of copies on DRM-protected media only if a result of that action will be that the reading or further copying of the copies is obstructed or controlled. It is not supposed to refer [to] the use of encryption or file access control on your own copy.
No; however, as written it can be interpreted as such.
only by nutcases with an agenda. normal people (including lawyers and judges) wouldn't have such an insane and insupportable interpretation. that's because normal people rely on facts. and evidence. they don't just make up whatever crap they need to suit their argument.
Craig's way of saying things did not immediately have the intended effect; and had I not grown tired of the discussion, I probably would've missed it. But the fact that I stopped following the discussion gave me some time to think about it, and as such, Craig's argument had a chance to sink in. When I was finally swayed, I failed to attribute it to Craig, however, instead thinking it was an argument by Anton that did it. The point is this: the mere fact that you're able to construct an interpretation of a license which is logically sound and complies with everything, does not mean that it is a sane interpretation. Lawyers and judges, strange people though they might be according to some jokes, are still people; human beings. If you come up with an interpretation that nobody in court came up with on the first reading of a given text, then chances are rather high nobody will follow you. That's what really matters: whether something you claim will hold in court. Not whether something you claim holds up to your own argumentation. And yes, claiming that doing chmod -r, or storing something on an encrypted filesystem is somehow restricting distribution, seems a little far-fetched. After all, when I'm storing something on my own hard disk, or even in the privacy of my home-directory on a large shared fileserver, I'm not engaging in a distribution of any kind.
From WordNet (r) 2.0 (August 2003) [wn]:
  distribution
      n 1: (statistics) an arrangement of values of a variable showing
           their observed or theoretical frequency of occurrence
           [syn:  statistical distribution ]
      2: the spatial property of being scattered about over an area
         or volume [syn:  dispersion ] [ant:  concentration ]
      3: the act of distributing or spreading or apportioning
      4: the commercial activity of transporting and selling goods
         from a producer to a consumer
Definition 3 and 4 seem to require an active action by the originating person; when someone copies a file from your $HOME, you didn't distribute the file to them; they took it from you. In our culture of sharing is good, you should share!, I missed it; but a court would probably see copying without asking for permission more as stealing, rather than distributing. After all that, the arguments about the DRM clause being too broad seemed a bit weak to me; and given that the FSF had already agreed on it being a bug which needed to be fixed, as they had for the other arguments against the GFDL (apart from the Invariant sections, which are not being discussed here), made me decide that the big giant insane problems with the GFDL are not so much of a problem as most people seem to claim.

6 April 2006

David Welton: Language Design - weak types and easy marshalling

Weak/Dynamic typing One of the things I really like about Tcl is how very, very dynamic it is. It's possible to replace just about everything 'on the fly', including control commands like if and while (in Tcl, they're just commands, not special syntax). Like Lisp, Tcl gets a lot of its flexibility from its simplicity, and one of the ways that things are kept simple is via the concept of "Everything Is a String". Some people erroneously recall the early days of Tcl and take this to mean that Tcl represents everything as a string internally, making it very slow for numerical operations. That hasn't been true for something like 8 years - Tcl values are translated into a more appropriate internal representation 'on demand'. However, the concept still gives you lots of flexibility:
set a b
You don't have to quote things - they default to strings - the variable 'a' now contains the value 'b'.
set lst  a b c d e 
No fiddling around with lots of syntax - the above is defined as a string (we could have used "" to group the words), but it gets turned into a list
llength $lst
5
Things are automatically converted into the type you want to work with. Of course, this also makes it really easy to work with code as strings and vice versa:
proc until  cond code   
    while  1   
        uplevel $code
        if   [uplevel [list expr $cond]]     return  
     
 
set i 0
until  $i == 10   
    puts "i is $i"
    incr i
 
and so on and so forth. Ruby (and Python) handles things a bit differently than Tcl does. Even though it's still very dynamic, it is more strongly typed:
"5" + 5 # error
Whereas the same code runs just fine in Tcl - "5" is transformed into a number, because if the programmer is trying to add to it, they must want it to be a number. On the other hand, strong typing can help catch errors, may help make things clearer, and in corner cases, probably helps catch nasty surprises. One of the things that Tcl's system facilitates, at least with simple types (lists, strings, numbers, dicts) is 'marshalling' or 'serializing'. Want to send a hash table down a socket?
 puts $sk $mydict
 # And on the other side:
 gets $localsk mydict
 dict get $mydict key
When you start treating it as a dictionary, it "just turns into one" - or throws an error. Good programmers will check for errors, but that goes for whatever language you use. This often comes in handy for code-creation, as well - it's very easy to build up a string programmatically and then evaluate it, much as you might do with a list in Lisp. It also makes coding short scripts... well, shorter, because you don't have to fiddle around telling the language what you mean, in most cases. Treat it like how you want to use it, and it will work out what you want to do. Hecl Hecl comes into the picture, because I've borrowed a lot of design ideas from Tcl, but the language is still used by only a few people, so we're free to hack on it and change things that we don't like about Tcl. Lately, we've been having an interesting debate on the merits of Tcl style weak typing, vs stronger Ruby-style typing, as well as the string representation you get when you attempt to print a type: http://sourceforge.net/mailarchive/message.php?msg_id=15254941 http://sourceforge.net/mailarchive/message.php?msg_id=15254942 There are certainly some things that could be improved in Tcl's way of dealing with things - one area where it doesn't do so well is in dealing with NULL values - you can't really deal with that in a string, because a blank string is different from no value at all. Wolfgang would like to go towards more Ruby-style values. I'm willing to consider most anything at this stage, because it's interesting, and I like going over the possibilities, in order to make Hecl as useful as possible. "Everything is a string" has its limits in Tcl, in any case, because what ends up happening is that 'complex' types (files, say), are tied, via a hash table, to the C struct that actually implements them, meaning that the string representation is really only a pointer to something else, and isn't "meaningful", as it is with lists or dicts. I think, though, that in this case I'll mostly want to keep types weak/dynamic, as Hecl aims to be a complement, not a replacement for Java, so in many cases, I'd rather see it make nearly the opposite design decision, where it's reasonable. We'll see, though, who knows what 'type' of interesting compromise we might end up with. Of course, I'm always happy to see new people join the discussion.

Next.

Previous.