Search Results: "xam"

19 January 2007

Uwe Hermann: Second Life client GPL'd - two weeks later...

A nice recent example of the benefits of open-sourcing software is Second Life, the well-known online virtual world. The Second Life client was released under the terms of the GNU GPL (version 2) roughly two weeks ago. Since then a lot of community activity has been observed: Most of these things (and others I might have forgotten) would certainly not have happened with the closed-source client anytime soon...

MJ Ray: Debian: Fun with no builder 4: pbuilder fans to the rescue

Sven M ller commented:
"Well, if pbuilder slows you down too much, perhaps cowbuilder is the right one for you. I haven't tried it myself yet, but it is supposed to eliminate the worst delay pbuilder introduces: The unpacking of the base.tgz minimal chroot archive."
Nelson A. de Oliveira asked:
"Have you tried cowdancer + pbuilder? It makes creating packages really fast (there is no more need to uncompress the tarball, for example)."
I looked for cowbuilder, but there's no package called that, so I was quite glad for the second comment. I'll backport cowdancer and give it a go. Thanks!

18 January 2007

Biella Coleman: Science on the Money Effect

Within 36 hours of my return to Edmonton, from the blowing Caribbean winds to the still calm of white snow, I have fallen sick with a cold, that while not a flu (at least not 24 hrs later), is still a severe cold, knocking on flu’s door. But ever since I had various horrible experiences having to work with horrible colds (like during my qualifying exams), I don’t mind colds so long as I can stay at home and let the cold run its course, which at least is my current predicament. Because I have been parked at home, I have spent a fair amount of time on the computer today playing catching up with blog entries and emails and I came across a few potentially interesting articles about the effects of money on tieguy’s blog (run law student who knows a heck of a lot about tech, law, and free software but his blog seems to be down at the moment). He linked to pair of articles on the psychological effects of money. I have not read the articles yet (and will post them, hopefully tomorrow once I get access to them via my U of A account), but I bet this will be of interest to some Debianista’s given the recent debates and controversies over the injection of money into Debian via the Dunc-Tanc project. Now a disclaimer: I don’t have a position on Dunc-Tanc, and this is so for many reasons–the primary being I have not delved deeply into the issues an all of the debate and discussion and well, I also experience the ethical issues somewhat more of an outsider, though I do want to see Debian survive well into the future. So I have keep mostly mum on the topic but later I may have more to say. I also have yet to read the articles and am usually a little suspect of psychological experiments that purport to have universal applicability (and am not sure if these fall into this class) so I am not sure how relevant these will be to this particular case. But nonetheless, here they are, and hopefully someone will find some use in them (and sorry if they have been posted here, I am very behind on planet, thanks to dial-up for a month). On a somewhat related though different note, check out Joseph Reagle’s excellent summary of how online communities work well. Now time for much needed sleep.

17 January 2007

Martin F. Krafft: Stuff I forgot to pack

After an amazingly stressless journey [0], I've arrived yesterday evening in Limerick and met Daren and Mel, two alumni of UL who let me move into a spare room in the house they're renting. To be exact, Mel actually lives next door, but who cares about details. After a bit of unpacking, we headed for the pub and returned for an extensive session of Guitar Hero on the Playstation II, which is a truly fun and excellent game.
[0]

I brought my bike along, for transport and exploring. This involved packing a bit of extra stuff, borrowing a friend's Tranzbag, arriving early at the airport to get it boxed to ensure a safer journey, picking it up in Dublin, and somehow getting it to Limerick, where I'd have to reassemble it. I wasn't really looking forward to the trip. It turned out to be stressless, as I said. The boxing cost me 10 Franks at the airport and was completed in less than 5 minutes, nobody at the check-in counter said anything, as if it was the most normal thing for them to check in bikes, some dude retrieved the box in Dublin and placed it on my cart, and while I was waiting, I found out that I wouldn't have to hop on a coach (bus) to go to the Dublin train station, catch a train to Limerick, and then finish the last mile in a taxi: a bus operates fairly regularly directly from Dublin airport to Limerick, taking four hours for the journey. That's about how long it would have taken me via the train station, but I only had to pay 19 the train itself would have been 25 , plus the taxi charges.

The coach driver was curious when he saw the box, but I didn't have to pay extra, and after watching Airport on my laptop and listening to the new Katatonia album, I found myself with my bag and the bike next to the university's main entrance, with Mel and Daren on the way to pick me up. Five minutes later, I was in my home-to-be-for-five-weeks.

I dropped into bed at around 4am and promptly overslept the next morning, then decided to use the day for errands, hitched a ride from Laura (the stressed-out Skynet president and Skycon organiser) to an excellent nearby bike store where I reassembled the bike, got myself a lock (see below) and a mud guard for the front wheel, then headed off for the campus bank to open an account, rode back and forth between the Lero building and the bank to satisfy their bureaucratic thirsts and finally obtained the details for my very own Irish bank account. And I squeezed a bit of grocery shopping in between. Meeting Brian (my supervisor) in the hallway, we agreed on a meeting on Monday, so the remainder of this week is for finishing the various proposals and papers on my to-do list, preparing for the meeting by getting back to speed with my research, as well as getting to know the local party crowd exams are about to end in Limerick and I've been told to have picked quite an excellent time of year for my visit because the university will become a mad house this weekend. We'll see how compatible those tasks are, but boy am I glad that I am not living anywhere near the student villages, or as I put it last night: I don't mind going to parties, but if the party comes to where I am, I'd rather not have it be every night. So this would bring me to the title of this post: stuff that I forgot to pack:
  • A second sweater, it's pretty cold here and I don't want to be wearing the same sweater every day (even though it's merino wool and thus woudn't start to smell).
  • A pair of windcheater gloves, the thin wool ones I have aren't exactly made for cycling.
  • Rain trousers to wear over my regular pants. It's raining and wet and the light colours of the pants I am wearing are a high-contrast basis for the mud.
  • My bike's lock key. Fortunately I left it unlocked, but still had to go out and buy a new lock (which was more painless than having the key sent here).
  • Comfy sneakers for home use, as it's too cold to just be wearing socks.
Due to popular request, I shall be back here with pictures of my surroundings one of these days. NP: I Love You but I've Chosen Darkness / Fear Is on Our Side

Russell Coker: lifetime failures (LF)

This morning at LCA Andrew Tanenbaum gave a talk about Minix 3 and his work on creating reliable software.

He cited examples of consumer electronics devices such as TVs that supposedly don't crash. However in the past I have power-cycled TVs after they didn't behave as desired (not sure if it was a software crash - but that seems like a reasonable possibility) and I have had a DVD player crash when dealing with damaged disks.

It seems to me that there are two reasons that TV and DVD failures aren't regarded as a serious problem. One is that there is hardly any state in such devices, and most of that is not often changed (long-term state such as frequencies used for station tuning is almost never written and therefore unlikely to be lost on a crash). The other is that the reboot time is reasonably short (generally less than two seconds). So when (not if) a TV or DVD player crashes the result is a service interruption of two seconds plus the time taken to get to the power point and no loss of important data. If this sort of thing happens less than once a month then it's likely that it won't register as a failure with someone who is used to rebooting their PC once a day!

Another example that was cited was cars. I have been wondering whether there are any crash situations for a car electronic system that could result in the engine stalling. Maybe sometimes when I try to start my car and it stalls it's really doing a warm-boot of the engine control system.

Later in his talk Andrew produced the results of killing some Minix system processes which show minimal interruption to service (killing an Ethernet device driver every two seconds decreased network performance by about 10%). He also described how some service state is stored so that it can be used if the service is restarted after a crash. Although he didn't explicitely mention it in his talk it seems that he has followed the minimal data loss plus fast recovery features that we are used to seeing in TVs and DVD players.

The design of Minix also has some good features for security. When a process issues a read request it will grant the filesystem driver access to the memory region that contains the read buffer - and nothing else. It seems likely that many types of kernel security bug that would compromise systems such as Linux would not be a serious problem on the HURD. Compromising a driver for a filesystem that is mounted nosuid and nodev would not allow any direct attacks on applications.

Every delegate of LCA was given a CD with Minix 3, I'll have to install it on one of my machines and play with it. I may put a public access Minux machine online at some time if there is interest.

Uwe Hermann: Surge in GPL source code releases

Is this just me or do we see a highly increased rate of (important and interesting) stuff being released (or announced to be released soon) under the terms of the GPL lately? A few examples: This is a great trend and good news for all of us. A special thanks to Sun for releasing more and more stuff under free licenses!

16 January 2007

Joey Hess: dealing with dialup

Prompted by a friend who finds a dialup internet connection about as appetising as being food for mosquitoes, I thought I'd share some tips for using the current internet on dialup. It's easy to say that dialup is dead, but I've transitioned from dialup to broadband and back something like 4 times so far, and since I don't want to rule out spending time in the middle of nowhere in Costa Rica, or at McMurdo, or in an RV, or in a Bigelo orbital hotel, amoung other dream destinations, I don't let availability of bandwidth deter me. Here's some habits you can learn to lessen the pain: work local This is the most important thing. ssh is great, but latency sucks. If you need to edit a file on a remote system, edit it locally, and copy it across. Since I keep most of my files in subversion, I edit it locally, commit it, and update on the remote machine. If ssh isn't appropriate, use rsync or something. Editing files is just one example; I try to avoid doing anything on a remote machine if I can do it locally. For example, even though an irc client in screen on a remote machine is a nice setup, it's to be avoided on dialup. Another example is using offlineimap to download your mail, so you can read it locally. Yet another example: I have all my projects scripted so I can make a complete release with just single locally ran command, that goes off and automatically triggers everything that needs to happen on the server. Same for blogging, and for making changes to my wikis. cache everything This is an obvious one, but worth mentioning. The most important cache is probably actually a caching dns server. Dns lookups are an easily missed slowdown (true even for many cable/dsl connections). Other useful caches include a squid web cache, and a shared apt cache. Also get in the habit of squirelling files away, instead of deleting them, to avoid re-downloads. know your traffic Look at everything that causes internet traffic, and turn off the fluff. Even the small fluff will make a difference on dialup. This includes turning off VPNs, not keeping chat programs running in the background. If you're not currently using irc, close it. Use a remote irc proxy server to cache messages while you're away, to avoid missing anything. Avoid sitting on web pages that refresh or stream content. Keep iftop running all the time, and know what all the sources of traffic on it are. You can easily waste 25% of a dialup pipe with fluff if you don't keep it under control. downloads are batch jobs Learn to treat downloads (and uploads) as batch jobs that go on in the background or overnight. Don't let your work be blocked waiting on a download if at all possible; don't sit staring at the screen every time a five minute download pops up; go do something else instead. When possible, try to anticipate what you'll need and download it the night before. Set up a remote download queue, of things you want to download at some point, sorted by priority, and rsync from it as a batch job overnight or when you don't need bandwidth for anything else. If you upload a lot of stuff, set up an upload queue too. don't try to do everything on dialup Some things are just not appropriate for dialup. There's no point in trying to download CD images, or much music, or apt-get dist-upgrade, or watch the latest videos on YouTube, or whatever. Even things like Google Maps are just not designed for dialup; the one square you want to see is always the one that will fail to download while the other 8 squares slooowly download in parallell. And AJAX sucks. So avoid this stuff on dialup, don't frustrate yourself. Schedule pit stops where there's high bandwidth to do this kind of thing. Find alternatives you can use while on dialup -- use old fashioned mapping services, and instead of pursuing the latest and greatest videos, download an e-book -- a whole book downloaded in just 5 minutes -- who said this dialup was slow?

Russell Coker: Some ideas for running a conference

Firstly for smooth running of the presentations it would be ideal if laptops were provided for displaying all presentations (obviously this wouldn't work for live software demos but it would work well for the slide-show
presentations). Such laptops need to be tested with the presentation files that will be used for the talks (or pre-release versions that are produced in the same formats). It's a common problem that the laptops owned by the speakers will have problems connecting to the projectors used at the conference which can waste time and give a low quality display. Another common problem is that laptops owned by the conference often have different versions of the software used for the slides which renders them differently, the classic example of this is OpenOffice 1.x and 2.x which render presentations differently such that using the wrong one results in some text being off-screen.

The easy solution to this is for the conference organizers to provide laptops that have multiple boot options for different distributions. Any laptop manufactured in the last 8 years will have enough disk space for the
latest release of Debian and the last few Fedora releases. As such machines won't be on a public network there's no need to apply security updates and therefore a machine can be used at conferences in successive years, a 400MHz laptop with 384M of RAM is quite adequate for this purpose while also being so small that it will sell cheaply.

A slightly better solution would be to have laptops running Xen. It's not difficult to set up Xephyr in fullscreen mode to connect to a Xen image, you could have several Xen instances running with NFS file sharing so that the speaker could quickly test out several distributions to determine which one gives the best display of their notes. This would also allow speakers to bring their own Xen images.

This is especially important if you want to run lightning talks, when there is only 5 minutes allocated for a talk you can't afford to waste 2 minutes in setting up a presentation!

In other news Dean Wilson gave my talk yesterday a positive review.

Gunnar Wolf: Ok, now we are getting somewhere! (Re: XML-based configurations)

Ok, at least Erich states something I agree with (and, lets be fair, its also told by Marius on a comment to my previous post): XML should not be pushed where the data to be represented is flat (or flattish - Say, a INI-style configuration is enough with a not-exactly-flat-but-still-unnested configuration).
Still, I do not buy XML as adequate. Erich insists on the Apache configuration file as an example of how not to do things - And I agree wholeheartedly: It sucks and makes no sense. However, it's just too easy to break proper XML nesting (for the love of the FSM, why is it necessary to repeat the element name we are closing?!) to be something I want to deal with when in a hurry. XML might be great as a data interchange language, but -in my always humble opinion- not more than that.
PS- Erich, your blog is broken as well ;-) The generated RSS has URLs which repeat the '/en' part. Oh, and about my blog complaining about XML: Yes, I was syndicating another site - And the XML parsing engine I use was somehow b0rked as well. Nah, I don't feel like changing my blog's software, it's mostly fine as it is ;-)

Erich Schubert: Config files

Gunnar, the apache configuration files for example are a mess, and certainly wouldn't become harder to edit if they were some real XML. Similar things apply to other applications. And if you reread my first post, I never suggested to use XML for all configuration files, but just for those who need some nesting structures. If you don't need nesting, some other format with proper character encoding information is fine with me. It should just be standardized e.g. with respect to quote handling, whitespace handling etc.
key = value
and
key="value"
are already sufficiently different that most applications can only read one or the other. P.S. I couldn't reach your blog the last few days; today it worked after a long time and with some error message on top: "not well-formed (invalid token)" seems like you're having some problems with the XML for your blog? :-)

Erich Schubert: DBus for music players

I was considering to modify mpd, my favourite music player (using a daemon and multiple frontends, however I usually don't interact much with it anyway except the casual 'skip' button press). I wanted it to support DBus, so I could more easily add e.g. a "love" and a "hate" button, and start collecting data which songs I like. Seaching for "mpd dbus" quickly turned up a proposed freedesktop.org standard by VideoLan people and some discussion by for example the XMMS2 folks. I'm looking forward to that. Right now, my "Multimedia buttons" are bound to some shell scripts that try to find out which media player I'm running and trigger the appropriate command there.

15 January 2007

Russell Coker: top 10 girl geeks

We have a list of 10 (famous) girl geeks from CNET and one from someone else.

The CNET list has Ada Byron, Grace Hopper, Mary Shelly, and Marie Curie. Mary Shelly isn't someone who I'd have listed, but it does seem appropriate now I think about it. Marie Curie is one of the top geeks of all time (killing yourself through science experiments has to score bonus geek points). I hope that there are better alternatives to items 4, 7, 9, and 10 on the Cnet list.

The list from someone else has 9 women I've never heard of. If we are going to ignore historical figures (as done in the second list) but want to actually list famous women then the list seems to be short. If we were to make a list of women who are known globally (which would mean excluding women who are locally famous in Australia, or in Debian for example). The only really famous female geek that I can think of is Pamela from Groklaw.

The process of listing the top female geeks might have been started as an attempt to give a positive list of the contributions made by women. Unfortunately it seems to highlight the fact that women are lacking from leadership positions. There seem to be no current women who are in positions comparable to Linus, Alan, RMS, ESR, Andrew Tanenbaum, or Rusty (note that I produced a list of 6 famous male geeks with little thought or effort).

Kirrily has written an interesting article on potential ways of changing this.

Lucas Nussbaum: ruby & native threading

Stefano Zacchiroli said:
To balance this, according to my first read of Ruby’s threading capability, it’s my impression that not only at most one thread can execute Ruby code at a time (limitation shared by OCaml, due to the non-distributed nature of mark and sweep garbage collectors), but also a thread blocked on a syscall will block all other threads to run. Dumb Ruby threads (but I still hope I’m wrong …)
This is not totally true:

Joey Hess: debootstrap's 6th anniversary

Sometime this month, debootstrap turns six years old. I was thinking about this last night as I tweaked a new xen instance that the hosting provider had installed Debian on using debootstrap, while in the other window using a debootstraped system to investigate a weird apt premissions problem. All very standard, and between this kind of thing, installing Debian with d-i, and building packages with pbuilder, a lot of us would be lost without debootstrap now. The story of exactly how it came about is interesting, though it's blurred by time in my memory. Maybe AJ will correct me, but I think it went something like this: Debootstrap is one of my favorite examples of a tool that ends up being much more general purpose than was first envisioned (at least by me; AJ may have known all along). The collection of stuff that has grown up around it and the way it's changed how both Debian developers and users work is pretty impressive.

14 January 2007

Ian Murdock: On the importance of backward compatibility

I’m often asked why I’m so obsessed with backward compatibility and, as a result, why I’ve made the issue such a central part of the LSB over the past year. Yes, it’s hard, particularly in the Linux world, because there are thousands of developers building the components that make up the platform, and it just takes one to break compatibility and make our lives difficult. Even worse, the idea of keeping extraneous stuff around for the long term “just” for the sake of compatibility is anathema to most engineers. Elegance of design is a much higher calling than the pedestrian task of making sure things don’t break. Why is backward compatibility important? Here’s a great example, via Joel Spolsky (note: from 2004):
Raymond Chen is a developer on the Windows team at Microsoft. He’s been there since 1992, and his weblog The Old New Thing is chock-full of detailed technical stories about why certain things are the way they are in Windows, even silly things, which turn out to have very good reasons. The most impressive things to read on Raymond’s weblog are the stories of the incredible efforts the Windows team has made over the years to support backwards compatibility: “Look at the scenario from the customer’s standpoint. You bought programs X, Y and Z. You then upgraded to Windows XP. Your computer now crashes randomly, and program Z doesn’t work at all. You’re going to tell your friends, ‘Don’t upgrade to Windows XP. It crashes randomly, and it’s not compatible with program Z.’ Are you going to debug your system to determine that program X is causing the crashes, and that program Z doesn’t work because it is using undocumented window messages? Of course not. You’re going to return the Windows XP box for a refund. (You bought programs X, Y, and Z some months ago. The 30-day return policy no longer applies to them. The only thing you can return is Windows XP.)” I first heard about this from one of the developers of the hit game SimCity, who told me that there was a critical bug in his application: it used memory right after freeing it, a major no-no that happened to work OK on DOS but would not work under Windows where memory that is freed is likely to be snatched up by another running application right away. The testers on the Windows team were going through various popular applications, testing them to make sure they worked OK, but SimCity kept crashing. They reported this to the Windows developers, who disassembled SimCity, stepped through it in a debugger, found the bug, and added special code that checked if SimCity was running, and if it did, ran the memory allocator in a special mode in which you could still use memory after freeing it. This was not an unusual case. The Windows testing team is huge and one of their most important responsibilities is guaranteeing that everyone can safely upgrade their operating system, no matter what applications they have installed, and those applications will continue to run, even if those applications do bad things or use undocumented functions or rely on buggy behavior that happens to be buggy in Windows n but is no longer buggy in Windows n+1… A lot of developers and engineers don’t agree with this way of working. If the application did something bad, or relied on some undocumented behavior, they think, it should just break when the OS gets upgraded. The developers of the Macintosh OS at Apple have always been in this camp. It’s why so few applications from the early days of the Macintosh still work… To contrast, I’ve got DOS applications that I wrote in 1983 for the very original IBM PC that still run flawlessly, thanks to the Raymond Chen Camp at Microsoft.
I can almost feel the revulsion among my readership right about now. However, next time you’re in Best Buy or CompUSA, look at the shelf of Windows applications, then compare it to the shelf of Mac applications, and perhaps you’ll better understand why it’s important. Beyond the results speaking for themselves, I’ll argue that it takes a better engineer to move a platform forward while at the same time making sure things don’t break. It’s pretty easy to wash your hands of something and declare it to be someone else’s problem.

13 January 2007

Erich Schubert: More on configuration files

Gunnar doesn't like the idea of recommending XML for configuration files, why do you need to be able to edit a XML-file with a non-XML-aware editor if you don't like the raw syntax? If you don't like the raw syntax, use an editor that gives you a different representation. Or use some transformation. Write a tool that converts YAML to XML and back, if you like YAML better. (Btw, this is another reason to use a common library for configuration file handling - let people choose their configuration file formats!) Writing XML in the raw with a good schema-aware editor with syntax highlighting is actually quite nice. Have you ever edited an XML file with eclipse? You really should do that... I once opened my Openbox (a rather minimalistic window manager) configuration file in eclipse. Guess what, it was giving me useful syntax completion! It had loaded and used the referenced schema file. openbox configuration in eclipse It's not as if I think XML is the ultimate thing; (nor is Eclipse an editor I'd use for configuration files; startup takes years and it frequently crashes for me. vim also has some XML support...) IMHO there is a lot in XML that should be stripped (such as attributes); I like JSON syntax better, except it's in turn lacking essential information such as character encoding, namespaces and schema information. I also don't thin JSON allows comments. But when handling information from multiple sources (and multiple schemes), XML is really useful. It removes most of the quessing needed for handling other formats. And that is what I'm precisely advocating: use standardized formats. Consider for example the apache configuration. Do you know of any tool that can parse the apache configuration files other than apache? Some parts look like SGML/XML, but they don't have much more in common than using < and >. When you are in need of automating something with apache, you'll be annoyed by this. If apache would be using something where you have a reliable parser ready for - that would be nice. Have a look at the xchat.conf configuration file. It uses "key = value", but they have these extra spaces there and don't use quoting, this means the file can't be loaded by many parsers, e.g. bash. Now lets use at buttons.conf - compeltely different syntax, "KEY value" blocks, separated by empty lines... Btw, note that configuration handling with XML to me means also keeping comments somehow... most applications will nuke any comments in their configuration files; which is funny since most configuration syntaxes do have a notion of comments, but did you ever come across an application using sh-style configuration (i.e. that you could source in bash/dash/zsh), that keeps comments? P.S. The YAML homepage is not YAML. It's valid XHTML. Only if you strip out all the tags and attributes and use only the text content within the /html/body/pre tag, then you have something which probably is YAML. This compatibility with HTML is probably why XML was at all successful.

12 January 2007

Meike Reichle: Happy New Year! and some resolutions

Slightly belated, but still: Happy new year everyone! We spent the holidays with my parents, pretty relaxing, didn't do much but lie on the couch, do crosswords and watch my sisters dwarf rabbit, that my mom hat to "rabbit-sit". Christmas was as usual a three-generations celebration and quite nice. On the 4th we went to see Irie Révoltés. Absolutely great concert!! We danced our hearts out. But, you know what? The best is not only seeing a great concert, but having the next day off. Sleeping in 'til way past noon, waking up with a beep in yours ears, a smelly pile of cloths beside your bed and every muscle sore. Have a wonderful breakfast with eggs and sausage, spend half an hour under a hot shower and spend the rest of the day humming melodies and tending to your aching muscles. Wonderful! Unfortunately the new year didn't continue that great. I caught a nasty cold and spent the last four days in bed. But, oh well, it's getting better, I can almost breathe soundlessly again!. Generally, this is going to be a very important year! In the middle of December I registered my Magister (comparable to a master's) thesis. I've got six months to finish it, so the first half of this year will be used for that. Once the thesis is handed in, the final (really final this time) exams start, first a very long written one, than an oral one, this will take until October. After that ... well, we'll see. I've set my mind on a PhD, since I'd like to pursue an academic career, so the next step will probably be trying to get a PhD grant. First things first though ... Resolutions Finally this is probably the first new year I really made some new year's resolutions. I'll put them here, so I can nail myself down to it over the year:
  1. First off, there are some things that I simply hope to keep the way they are:
    • I live in a wonderful relationship that I hope will simply go on forever :)
    • Also, I have quite a cool job (several actually), that I hope I can keep for another while.
    • I changed my eating habits quite drastically during the last months. I used to love everything "Just add water": teas, soups,puddings ... RAMEN!! Luckily it didn't reflect on my weight, which is pretty constant, but still I know that stuff is 90% chemical crap and who knows what it will lead to. (I know the optimal human would have three eyes, but I am actually quite happy with my average two.)
      So, I've cut down on that quite a bit and now have a subscription with an organic farm nearby that delivers so called Abokisten (subscription boxes?) that are delivered weekly and contain different vegetables, fruit, a loaf of bread and some cheese. The boxes' content is kind of randomized, so you get something different every week. It's a pretty neat service, since the food is really great, the price is reasonable, it's delivered right to my door, and (most of all) it makes me cook! So, here's another Keep that up!
  2. So much for the keeping, now for the changes/tasks: I guess the first is, of course, my thesis and exams. I plan to do those as good as possible. I'll be something of a challenge though. This is the first time I do such a large "project" (the thesis takes six months) all on my own, and (most worrying) at home. So here's a test on self-discipline!
  3. Although I've done a lot of acting in my "younger years" (haha) I've always been rather unmusical. This has been nagging on me for quite a while, so I've taken up playing the Blues Harp last month. I picked that instrument since I love the Blues and it's also easy to learn but still very flexible (and cheap). So far it's been huge fun but the art is, as always, keeping it up.
  4. There's this little blog I'm maintaining, that has been horribly neglected over the last year, so another resolution is to post here more often. (This way posts also won't have to be so horribly long, such as this one.)
  5. I couldn't help but notice that that geek girls top ten which Erinn mentioned (congrats by the way :)) contains but one European women. So here's something to do as well. There's quite a bunch of pretty impressing ladies over here, too. (Even AFTER 1950,dear CNET) And it seems, they need a bit more visibility. Maybe there are some things that can be done about that too ...
So, lots of plans. I hope publishing them here will help sticking to them. This also concludes my "little post", I hope the next will follow in a more timely manner.

Erich Schubert: RDF representation of packages?

I wonder if we should do some RDF representation of packages - especially including dependency data. That way we can maybe use some RDF reasoners to query our data, and maybe extract some interesting information. On the other hand, people with interest in RDF to use our real-world data for their experiments, and maybe we get something back from them. There is a couple of package metadata we currently are not tracking inside the actual archive, but in different places. Including licensing information (debian/copyright), homepage location (on packages.qa.debian.org), download location (debian/watch) - it would be nice to aggregate these into some RDF store, and export them somehow. For most of the package information (especially dependency information), we'll have to write our own ontology (I wonder if we can map version numbers to some standard rule language, or if applications will need an external reasoner to process them?); for some things we can reuse the FOAF (Friend-of-a-friend) or DOAP (Description of a project) ontologies. The first is rather common for describing people, people-people and people-thing relationships; the latter was designed for describing opensource projects (but won't be directly applicable to packages of a project). I've blogged about my RDF export of Debtags data before; the canonical first step would actually have been to export the package data, and enrich it with the Debtags collected data... Note that RDF is designed in a way that you can have one site provide metadata for another site. For example, the Debtags RDF export contains "category" information for Debian packages, but does not contain e.g. the description of the packages it talks about via an URI. So there is nothing wrong from a RDF point of view of keeping e.g. the licensing, watch or homepage data separate. For the Google Summer of Code, there was a proposal including "collaborative repository of meta-informations about source packages (CRMI)"; but the first part of the proposal, the "distribution wide tracker tool (DWTT)" showed to be a bigger task than expected. But maybe we'll still see CRMI at some point, and maybe we can have it provide an RDF export of data (using a semantic wiki might be a good starting point for CRMI maybe?). [P.S. this blog posting maybe belongs more into the en/linux/debian category. But only the xml category is also syndicated on planet.XMLhack, and I want this post to go there to reach more RDF users. I really need to switch my blog to some software which supports tagging...]

Alexander Schmehl: Teaching me how to administrate computers...

That's why I went to the university today. Fascinating... After working as system administrator for several years I must visit a university course showing me, how a computer works. They started with the very basics (That's a CPU... that's a mother board...) I think we spend the first four weeks to "learn" that if you buy a mother board, you must take care that the CPU works with it. So far we covered hard discs and some peripheries, too. Sigh. If that course wouldn't have compulsory attendance... Well. But at least I can amuse myself about the lecturer. Often he muddles up technical term -- which is quite a achievement when reading the text on the slides. Maybe he's a bit dyslexic, would explain some of his... uhm... strangenesses. But back to topic: Today the topic of the course was Operating System Installation. And to my pleasure, he did not only install an operating system made by a company in Redmond, but he wanted to install a Linux System, too. Well... First he tried to install the new Vista he just got instead of the older Windows Version he should knew better. Bad choice... Often new introduces features seemed to confuse him. After he finished with that, he installed an opensuse system. And sometimes he tried to explain a bit about Unix philosophy. Another bad idea. Those of us, who are familiar with that stuff could see, that didn't know what he was talking about, and those of us who are not familiar with Unix/Linux philosophy didn't learned it from him. For example he choose not to use grub or any other Linux Boot loader but the one shipped with Windows, which means he needs to tell Linux not to install the mbr, to boot later from DVD, to extract the first bytes of the partition via dd, to copy it to a floppy, to reboot to windows and to add it with some commands in the dosbox thingy. When I asked him, why he didn't used the boot loader from Linux, he told me, that in former lilo times, in was quite easy to make the system unbootable. And when I then informed him, that that's the reason, grub has been invented, he said, we use the windows boot loader, because he wants to do so. Oh, and as part of a test, we must install those two system our self. Including the brain dead stuff he does. Sigh. Some times courses, which should be quite easy for you, can turn out to be really depressing... I'm really looking forward for part two of the system administration course, which will try to teach me windows administration and networking. The Unix Course has been cancelled. Don't know why.

Enrico Zini: python-scoping

Python scoping How do you create a list of similar functions in Python? As a simple example, let's say we want to create an array of 10 elements like this:
a[0] = lambda x: x
a[1] = lambda x: x+1
a[2] = lambda x: x+2
...
a[9] = lambda x: x+9
Simple:
>>> a = []
>>> for i in range(0,10): a.append(lambda x: x+i)
...
...but wrong:
>>> a[0](1)
10
What happened here? In Python, that lambda x: x+i uses the value that i will have when the function is invoked. This is the trick to get it right:
>>> a = []
>>> for i in range(0,10): a.append(lambda x, i=i: x + i)
...
>>> a[0](1)
1
What happens here is explained in the section "A Jedi Mind Trick" of the Instant Python article: i=i assigns as the default value of the parameter i the current value of i. Strangely enough the same article has "A Note About Python 2.1 and Nested Scopes" which seems to imply that from Python 2.2 the scoping has changed to "work as it should". I don't understand: the examples above are run on Python 2.4.4. Googling for keywords related to python closure scoping only yields various sorts of complicated PEPs and an even uglier list trick:
a lot of people might not know about the trick of using a list to box variables within a closure.
Now I know about the trick, but I wish I didn't need to know :-(

Next.

Previous.