Search Results: "ron"

2 June 2006

Martin F. Krafft: Keeping an eye on package involvement

I find my developer QA page to be unappropriately long. At the same time, I have completely lost track of which packages I maintain (well, sort of), (am supposed to) co-maintain, and to which packages I've subscribed via the PTS. A script to the rescue! Please excuse that it's bash (which sucks), but there just isn't another more rapid development tool for such petty tasks out there. Without further ado, you can download checkpkgs and give it a whirl:
  # use $DEBEMAIL
$ checkpkgs
  # use explicit email
$ checkpkgs dude@thisrocksmysocks.org
  # use separate PTS subscription email address
$ checkpkgs dude@thisrocksmysocks.org dude-pts@thisrocksmysocks.org
  # use separate PTS subscription email address and $DEBEMAIL
$ DEBPTSEMAIL=dude-pts@thisrocksmysocks.org checkpkgs
The output is quite simply a table of the following form:
hibernate;cameron@patrick.wattle.id.au;0;1;madduck-pts@debian.org
unifdef;bob@proulx.com;0;0;madduck-pts@debian.org
thinkpad;pkg-tpctl-devel@lists.alioth.debian.org;0;1;
The columns are:
  • package name
  • maintainer
  • whether I am the maintainer
  • whether I am a co-maintainer
  • the address with which I am subscribed to the PTS (if at all) (this is either ($1 or $2) or ($DEBEMAIL or $DEBPTSEMAIL))
So from the above output, I know that:
  • I am a co-maintainer of hibernate and I am properly subscribed
  • I am subscribed to unifdef but I am not a maintainer. Since I sponsored the package, I better keep track of it though.
  • I am a co-maintainer of thinkpad, but I have not yet subscribed to the PTS, so I better do this right now.
The script's only a quick hack, but maybe people come to like it. PS: I really need to set up version control again.

Steve Kemp: I don t want to think too much about what I should or shouldn t do

I have a new desktop machine. An AMD3000 with 1Gb of memory. It is almost entirely setup. Only three Xen-related woes: Also gnome-desktop-environment is uninstallable on Sid at the moment. Just when I’d switched all my machines to using it :( So now I have: The two Dell Dimension L800s I used for backup purposes are retired. This is good, they had 128Mb of memory each and were always at 90-100% disk capacity. One to go to my sister in York, the other to the first person who claims it in Edinburgh. Now to find another LCD display …. I have a 19″ and a 15″.

Simon Richter: Freezing

I think the next handy device that needs to be integrated into mobile phones is a heater. It must be strong enough for a tent, while I'd probably use it for thawing myself enough to recognize the vibration alarm. Why yes, it is June.

Uwe Hermann: OS Install Experiences - Part 3: PC-BSD [Update]


Note: This article is part of my OS Install Experiences series.
I'll continue with the recently released operating system PC-BSD 1.1, which is based on FreeBSD 6.1. This is actually the first time I installed a BSD-like OS, so I thought it would be a bit of a hassle. But I was surprised to find that the install was really pretty easy (which is a major goal of PC-BSD, as I understand it). I didn't even read a manual or installation instructions or anything... Install
  1. First, I downloaded a PC-BSD 1.1 CD #1 image, burned it on a CD, and booted from that.
  2. The first installer screen is text-based (later it's graphical), and allows you to choose between a normal install ("boot FreeBSD"), install "with ACPI", "safe mode", "single user mode", and "with verbose logging". You can also "escape to loader prompt", or "reboot".
  3. While the installer runs, it merely shows a nice desktop background, pressing any key shows you the boot messages.
  4. After a while you can select a screen resolution for the graphical installer, run fdisk, escape into an "emergency shell", chroot into the root partition, or reboot. Default is to start the installation at a pre-selected screen resolution.
  5. You can choose the language and keyboard layout. Although you can click "back" to return to previous steps in the installer, you can not go back to the language/keyboard selection later!
  6. Partitioning. First, you can choose on which disk to install, then choose the partition to use. The list only shows the primary partitions and an "extended DOS" partition. Device names for disks are a bit different in BSD world. /dev/ad0 (counting starts at 0) is the first disk, /dev/ad0s1 (counting starts at 1) the first "partition" (called "slice" in BSD). It doesn't seem to be possible to install PC-BSD on an extended partition (please correct me if I'm wrong), so I installed it on /dev/hda2 (/dev/ad0s2 in BSD-speak), which is a primary partition. To make things more complex and confusing, a BSD slice can contain multiple "partitions" (not the same as Linux partitions!). I now have /dev/ad0s2a, which is the boot partition, and /dev/ad0s2b, the swap partition. Confused? Me too.
  7. Note that changes made to the partition table seem to be effective immediately, there's no way to go back without losing data! Debian's installer is better at this. The default PC-BSD file system is UFS, btw.
  8. The hardware will be automatically detected (worked quite well for me).
  9. You can now choose to either install the BSD bootloader in the MBR, or install no bootloader at all. Not sure what the best thing for me is here, but I decided to install the BSD bootloader (overwriting GRUB). I might have to re-install GRUB (and tell it about PC-BSD) if the BSD bootloader cannot boot the other (Linux) OSes.
  10. Now I must enter the root password, and I can also create another user. I noticed that passwords can only contain alpha-numeric characters (no %$ ,.#+!? and so on). WTF? They can't be serious... Also, you must enter a real name for the normal user, it won't let you continue until you type something... Pretty annoying. There's a checkbox called "Auto-Login User?" which is enabled by default, but I didn't find out what exactly that does...
  11. The network is successfully auto-configured via DHCP. I was not asked for a hostname, but typed hostname after the install and I got PCBSD.localhost.
  12. Reboot. The CD is not ejected automatically, you have to remove it manually before booting up.
  13. I'm asked to insert CD 2 (language packs), which I don't have (or want), as I only burned CD 1. Clicking "abort" does the trick, and I can continue with English as the default language.
  14. Finally, I'm dropped into a KDE session, and that's it.
Security That's it. Comments, suggestions, flames? Update 2006-06-02: Added IPv6 netstat/sockstat output.

1 June 2006

David Pashley: Tidying Up

A few hours ago I got stressed about the lack of leg room under my desk and ended up spending the next few tidying and moving all of my computers to under the next desk. I also made the mistake of starting to remove keys from my keyboard to clean something sticky and found myself surrounded by keys and a keyless keyboard. It's now nice and shiny, which is more than can be said for the rest of the flat, which is now overrun with all the crap that was around my desk. Another thing that could do with a tidy up is Eddie, my Java liberal feed parsing library. After the initial coding sprint, I've had time to sit back and look at the design of the library and clean up any thing that sticks out. As mentioned in a previous entry, one of the things that has bothered me is that when ever you need to call an object method, you need to be certain that the object is not null. The means you end up with code like:
if (string != null && strong.equals("string"))  
This quickly becomes tiresome and the test for null distracts from the meaning of the code. Fortunately I was reminded of an improvement for string objects. Ideally, we should all be writing comparison conditionals like rvalue == lvalue. (an rvalue mostly is an expresion you can't assign to). The most common rvalue is a literal value like a string constant. The advantage of getting into the habit of writing code like this is that you'll discover at compile time when you accidentally write = rather than ==. Because you can't assign to an rvalue, the compiler will complain. What makes this interesting from a java string point of view is that you can call methods on string literals. Comparing a variable to a string literal, rather than calling .equals() on a variable is that the string literal is not going to be null, so you can remove the test for null and simplify the code:
if("string".equals(string))  
I know it's not everyone's cup of tea, but I prefer it to testing for null every time I look at a string. The other thing is that I've been reading Hardcore Java by Robert Simmons at work. Considering I've only got a few pages in so far. I've received a surprisingly large number of ideas to improve my code. The one that sticks in my head is using assert for doing post and pre conditions on your functions. Using asserts have number of advantages over throwing exceptions, including the fact they get optimised away when you do a production release. In Eddie, during a <feed> element I determine the version of Atom that we are parsing. This had a number of nested if/else if/else blocks. At the end of the function, I wanted to make sure I had set the version string to something, so had the following code:
if (!this.feed.has("format"))  
   throw new SAXParseException("Failed to detect Atom format", this.locator);
 
However, using assertions I can write this as
assert(this.feed.has("format")) : "Failed to detect Atom format";
I highly recommend the Hardcore java book if you want to improve your java programming. It includes sections on the new features of Java 1.5 and using collections. I've made a couple of other cleanups including going through member variable access specifiers to make sure they are right and making several public methods and variables and making them priavte. I also have a couple of ideas about refactoring some of the code to clean it up. Redesigning and refactoring code is almost more fun than writing it in the first place. You get to be in competition with yourself, challenging yourself to write better code and end up with cleaner code in the process. A couple of things I want to do in the near future is use a profiler and code coverage tools. If anyone has recommendations for either of these tools that integrates nicely with eclipse, I'd love to know.

Simon Richter: Leipzig

I have successfully reached the traffic jam in front of the parking lot. Which opens in ten minutes, apparently.

Chris Anderson: Washington here I come

It has been a while since I posted, too busy with class and such I suppose. The year is finishing up and it looks like I'll be off to Silverdale, WA for work this summer. Problem is, I don't know anything about the place. I'll be there for 4 months for work, but I have no idea what sort of environment it is in regards to retail available, transportation, etc. If anyone is from around Seattle or the peninsula area and knows, I'd appreciate some info. There must be a few DDs out there at least.

I also have a renewed interest in Openbox. I used it in the past for a long time then somewhat lapsed on it. Perhaps I'll look into playing with that some more these days. I'm also toying with the idea of picking Bugger back up, but I'm not sure if joshk went anywhere with that after I disappeared. Either way, this is looking like a good summer for hacking something out (from the west coast even).

31 May 2006

Aigars Mahinovs: Debconf6 day 7: Lightning and splashing

May 20th. The day started with an important meeting that was aimed at getting our priorities straight for the Google Summer of Code (SoC) program. Many good and some not so good applications have been proposed to Debian by students from all around the world. Now it was the time for Debian to choose the best of these proposals and rank them according to our priorities. We did not know how many applications Google will grant us, so we had to get our rankings right through the whole scale. We want to be sure, for example, that after this meeting project ranked 5th would be less useful to us then any of the first four, but more useful then all others. The discussions were short and very on topic. Rankings were determined quickly and mentors for all selected project were appointed. AJ leading the BOF was very helpful in making decisions when they had to be made. Now we only need to wait and see how many application slots Google will give us. A set of lightning talks followed. The talks were very different: some were funny, some were serious, some were too fast, some got to get boring. The one talk I want to highlight especially is a talk by Joey Hess about what Debian can learn from Gentoo. Especially handling of configuration files on package upgrades was raised as an example. Gentoo is an interesting distribution that is developing very separate from Debian, so it is quite possible that upon closer inspection there are other things that Debian could use from what Gentoo is doing. That only needs some closer inspection by someone with in-depth knowledge in both systems. Right after the lightning talks I want off to prepare for the second group photo - the fun photo in the pool. It was planned just before lunch. The start was small and easy - 15 people easily make a swirl by the side of the pool. As people continue to join maintaining order becomes harder and harder despite all efforts of self-organization on the part of all people involved. The swirl grows, deforms beyond recognizability and then straightens out again, just to be deformed again by newcomers. Just like Debian. When the number of people grew to 50 I decided that we no longer can get a better swirl in any reasonable timeframe, so I called that shot done and called everyone to group into a single bunch for a different take on the fun group photo. That was much easier except for the splashing fight that broke out in the back rows and took over the whole group as soon as I called that the second fun group photo is also done. After that all went for lunch. The next thing I went to was the discussion about the Debconf7. Apparently it was not supposed to be a public discussion, but after a while the consensus of open discussion prevailed and candidate cities for Debconf7 started their presentations. Edinburgh was the first candidate - they had it all: good transport connectivity, good Internet, nice facilities, nice living places. It was not clear about the food and the prices were very high - 30 EUR per person per day, not including food. As the presenter from next city could not come because of visa problems, stockholm presented for her. Sarajevo is the capital of Bosnia and the organizers have all needed problems solved already: facilities are provided by an UAE company (so they are the best one can get for any kind of money), 20 Mbit of sustained throughput Internet connectivity, very cheap food with good adaptability, 15 minutes from the airport. In total the Sarajevo Debconf would cost around 15-17 EUR per person per day. After that "Brixon boys" presented their city for Debconf7. The presentation was more concentrated on skying and other relaxation issues then on the questions that are more relevant to the organization of such conference as Debconf. >From this meeting and from talking to people later on I have two conclusion on the matter: 1. it would be very good to make a decision on the next Debian conference place slightly more open and also pool people about issues that concern them (which is planned now), but I still think that one person should be entitled to make the final decision; 2. I think Sarajevo is the best choice for next year for many reasons, but most important because of cost. The less it costs per person to hold a Debconf, the more people can be there and the more people could get sponsored travel. Some people might even agree to come to Debconf by a bus, which should be quite possible from most of continental Europe it the conference is in Sarajevo. It would be much cheaper and would still be not as exhausting as the 40 hour flight mambo jumbo that I had to take to get to this event here. Bubulle spoke afterward summarizing the i18n situation in Debian before Debconf6 and the discussions that took place at Debconf6 that intend to improve it. It was a good summary, so you only need to watch the i18n BOF videos if you will be working in the infrastructure. CAcert signing event was conducted after that. I have no idea of the real use of those certificates, but some apparently do. As the final discussion a meeting specifically about the Google Summer of Code i18n infrastructure project was conducted. We were deciding what shall we ask Gintautas (the student that proposed the project) to do, how will we define the scope of his work, so that we can have a definite way of determining if he did that or not be the end of the SoC program. The final decision will ultimately be on me. The result of this meeting was that we will ask Gintautas to take the current code of Pootle and make of it an translation system with clearly separated backend where other translation frontends could be plugged into. After that (optionally) he should work to create such plugins in cooperation with other Debian i18n and Pootle developers and also continue refactoring and remaking the codebase to allow for other plugin development. But the essential part of Gintautas contribution will be a clearly separated translation backend with Pootle frontend and a stable API between them. After the SoC will be over Gintautas will be welcome to present his further vision on the whole infrastructure at the I18N meeting in Extramadura. This work will also serve as a research base to clarify Debian i18n needs, so it is very well possible that at Extramadura it would be decided to abandon the current code and make a new system from scratch in Zope 3. :)

Jacobo Tarr&#237;o Barreiro: More articles, please

When one is translating software, some times the original strings are not clear enough.
#. Type: text
#. Description
#. Menu entry
#. Use infinitive form
#: ../partman-lvm.templates:45
msgid "Delete volume group"
msgstr ""
For example, what’s this? Is this the option to delete a volume group you have selected, or is this the option to select a volume group and then delete it? Because the translation for each case would be different: Borrar o grupo de volumes versus Borrar un grupo de volumes . The difference is just a definite vs. an indefinite article. In fact, it could have been clear in the original English text:
msgid "Delete a volume group"
or
msgid "Delete the volume group"
Well, at least it has a note saying it’s infinitive, not imperative. I won’t translate it erroneously as if it read you, user, delete the volume group at once! . This message was paid for by the Platform For More Articles In Program Text.

John Goerzen: Midnight Musings on a Dark Train

I stepped out the front door Monday morning at 2AM. Our house was a bit warm and stuffy, and I expected a nice, cool breeze. But instead I got a blast of... slightly warmer and stuffier air. Summer must be here.

Terah and I were setting out on a train trip. The train east out of Newton, KS leaves at 3:01AM. We got our bags loaded and set off to the station.

Not long after we got on the train and to our room, the train started moving. Terah fell asleep right away. It's hard for me to fall asleep so quickly the first night of a train trip. The excitement of the upcoming trip keeps me awake. Plus, once I wake up, I usually stay awake. Even if the alarm woke me up at 1:20AM.

This time, I lay awake remembering my ancestors, who migrated from Russia to Kansas in 1874. Some of our trip will follow the same route that they took 132 years ago.

In the train, you hear what sounds like a distant train whistle fairly frequently. It's from the locomotive on our train, but sounds distant because the passenger cars keep the noise out.

We slowed a bit, went around a gentle curve, and the whistle sounded again. Off to one side of the train were the lights of a small town. It's Peabody, KS -- where my ancestors arrived in the middle of the night back in 1874. They were excited to finally be at the end of their journey -- which had taken months and spanned oceans and railroads on two continents. So excited, in fact, that they set off to find their new land in the middle of the night rather than wait for dawn. But how did they cover those 15 miles at night? Did they rent horses and wagons from someone? I couldn't remember, trying to sleep here in the middle of the night.

I'm still awake. I come to a pause in my thoughts and notice the train's horn again. Somewhere ahead, there is a dirt road crossing the tracks. Nobody is there, but the train is sounding its horn to keep them away anyway.

I think back to 1874 in Russia. Not everybody in the Mennonite settlements there left. Those that were too old, too weak, or that couldn't make the trip for whatever reason stayed behind. For most, when they left Russia, they were saying goodbye to their families for the last time. They would never have the opportunity to see them again.

Then their trip began. Through rickety Russian railroads, to long days at sea, then through New York, and on the railroad again, stopping some points along the way. They'd never seen what would be their new home. And there was no going back if it wasn't to their liking. I can only imagine how hard that must have been for this group of German-speaking immigrants from Russia. And how anxious and exciting it would be to finally get off the station and head to their new home.

This group of settlers made quite the impact on Kansas. They brought their "turkey red" winter wheat with them from Russia. This wheat turned Kansas into the world's leading wheat producer. And it helped rescue the ATSF railroad from the precarious financial situation it was in. That was a good move on the railroad's part -- they were the ones that sold land to the Mennonites in Kansas, recruited them to settle in the area, and even built them temporary housing for their first winter in Kansas.

And that's the same railroad we're taveling on now, as I hear the crescendo and then the WHOOSH of a passing train just a few inches from ours.

By now its 4AM. I think back to the train station in Newton, which we left behind just an hour ago. I remembered how earlier in the 20th century, after the Mennonites were well-established in Kansas, they would send off missionaries to other parts of the world -- China or India especially. Those that went off served two 7-year terms. They departed from the Newton train station, just like we had. They probably waited for the train to carry them away in the same room we did. But they knew they wouldn't see their friends, relatives, or home for 7 years.

When missionaries would leave, a large group of church members would accompany them to the station. As the train approached, the people there would start singing their favorite hymns -- a capella, in German. The sound filled the old station, and followed the departing family out onto the platform as they boarded their train. The people leaving weren't the only ones to miss their friends and relatives. Those staying behind would also go 7 years without being able to talk to the missionaries that were departing.

A light flickers by the window. Maybe a yard light, or a small town, or the back side of a warehouse somewhere. Off in the distance, the horn sounds at another crossing.

Time for some sleep.

David Moreno Garza: Debian-related news on the wiki front page

I commented Joey, on DebConf, about an idea on bringing Debian-News.net news syndication into the front page of the Debian Wiki, on some similar way as Wikipedia displays current news on their main page. After thinking a bit more on the idea, and after actually receiving a green light on the Debian Wiki BOF, I thought it would be better if we could include more than only one feed, so we could include more Debian-related news sites, like Debian Administration, DebCentral, etc, as well as some other official feeds like the DSAs or the DWNs. So, after setting a local Planet up and writing a little script, we ended up with the Latest official and unofficial Debian-related news box on the wiki FrontPage, which I hope people would like. Further information about this is can be found at the FrontPageNews page.

David Pashley: Eddie RSS and Atom Feed Parser

I'd like to announce the initial release of Eddie, a feed parser library written in Java. It's taken me over 100 hours, but it now correctly parses 90% of the FeedParser unit tests, including all the rss and atom tests. It's GPLed, with an exception allowing you to use it in any open sourced program. Get it at my website. Need to add documentation and character set and encoding support. Also need to separate the testing infrastructure from the rest of the code. This is the first time I've done any java programming in anger, and I have to say I'm surprised to discover I quite like it. In many ways it seems a very quick language to program in. It seems almost like programming in a scripting language, but stronger typed. This is probably due to not having to worry about memory management. Certainly I don't think I could have written this quite so quickly in C++. Having said that, there are a couple things that I don't like about Java. Everything is a pointer. This is useful at times, but it means that every time you want to call a method on an object you have to test whether it is null or you run the risk of getting the dreaded NullPointerException. Java also doesn't have keywords for and, or and not. I know not everyone likes these, but I keep finding myself trying to use them. I'm sure there are other things I hated, but I can't remember them now. I think I'll end up doing more java programming in the future.

30 May 2006

Uwe Hermann: Irrepressible.info - an Amnesty International campaign against Internet censorship

Let me take a quick break from all the technical posts to turn to a more political topic for a minute. Amnesty International has recently started the Irrepressible.info campaign against Internet censorship, which promotes freedom of information and expression, as well as human rights:
Chat rooms monitored. Blogs deleted. Websites blocked. Search engines restricted. People imprisoned for simply posting and sharing information.
The Internet is a new frontier in the struggle for human rights. Governments with the help of some of the biggest IT companies in the world are cracking down on freedom of expression. Amnesty International, with the support of The Observer, is launching a campaign to show that online or offline the human voice and human rights are impossible to repress.
There are many ways you can help, e.g. by Btw, the OpenNet Initiative (ONI) has an interesting (Flash-based) Internet Filtering Map, showing where in the world information is filtered/censored at which level... Fore more information, you might also want to read this BBC NEWS article. And finally, here's the whole text of the pledge. Repeat after me:
I believe the Internet should be a force for
political freedom, not repression. People have
the right to seek and receive information and to
express their peaceful beliefs online without
fear or interference.
I call on governments to stop the unwarranted
restriction of freedom of expression on the
Internet and on companies to stop helping them do it.

Erich Schubert: Balancing Point

Watch this flash movie on youtube. Cool. I wish I had a camera useable for such things... Balancing point homepage with some still images and link to ifilm (but I can't play the movie there... ifilm seems to be crap...) Or you can just use a search engine to find a download link such as on Filefront.

Andreas Metzler: Charlotte Bront ...

... you rock.

29 May 2006

Arnaud Fontaine: Planet debian package

These days, i have worked on planet debian package. At first glance, it seemed easy to package but actually it wasn't, mainly due to debconf and FHS problems. A package is temporarily available at this address. The main features of the package is the usage of debconf to configure cron interval and also handles /etc/planet.conf for main options. Any comments are obviously welcome.

Martin F. Krafft: Shell sucks

Shell programming must be the most depressive waste of time out there, and if only because things sometimes just don't work the way you'd expect from a scripting language. Take the following simple examples in bash (3):
for i in 1 2 3; do
  echo $i
  exit 1
done
echo END
==> 1
echo -e "1\n2\n3"   while read i; do
  echo $i
  exit 1
done
echo END
==> 1
==> END
WTF? The result of the first -- the whole script exits entirely after the first iteration -- is what I expect. After all, I did not call break, but exit. The result of the second is totally unexpected. I understand that for and while each execute their iterations in a subshell, but why don't these behave in the same way? The fix here is a exit $? following the done keyword. Urks! Here's another one: the task is simply to output the number of 1's in the output (yeah, I realise grep -c can do this too):
cnt=0
echo -e "2\n1\n3\n1"   while read i; do
    case $i in
      1) cnt=$((cnt + 1));;
    esac
  done
echo $cnt
==> 0
The reason? The while subshell receives a copy of the caller environment, so when it updates $cnt, it only updates a copy of the actual variable, leaving the original untouched. Similarly, a variable defined inside the subshell won't be available after the while loop is done. I cannot find a fix that's not bash specific. Of course, it works fine when I replace the while loop by a for loop:
cnt=0
for i in 2 1 3 1; do
    case $i in
      1) cnt=$((cnt + 1));;
    esac
  done
echo $cnt
==> 2
Great, isn't it? And I am not surprised that zsh gets it right. Why would anyone actually want to use bash? Update: here's Joey's explanation for the behaviour, and Clint's account for why zsh does it right. I still can't figure out how to count the 1's. Update ^2: Axel Liljencrantz sent in this message. Update ^3: Alexander Sieck showed me that process substitution ("<(command)") instead of the pipe does work (for both cases):
while read i; do
  echo $i
  exit 1
done < <(echo -e "1\n2\n3")
echo END
Of course that's nowhere near POSIX compliance... Update ^4: my solution, which allows for spaces in the lines:
IFSOLD=$ IFS:- 
IFS='
' # yes, a newline
for i in $(the_command): do
  IFS=$IFSOLD
  ...
done
What a hack!

Uwe Hermann: Stuff IV

28 May 2006

Ian Murdock: Picasa: Why not a native Linux port?

Robert Love: “In Google’s calculation, the cost of a native port outweighed the benefit of a native [port] v s-a-v s a WINE-fueled Picasa. Is that really unexpected? Our development platform is no shining star. We have two toolkits, poor binary compatibility, and unclear direction. To be sure, vendors such as Novell are devoting increasing effort toward improving the Linux ISV and platform story. But the community must make it a priority as well, from the kernel up through the highest levels of the graphical desktop.” That’s part of it (and certainly an accurate assessment of the kind of thinking we need as a community to make Linux a better platform). I think there’s another part of it, though, and that’s that operating systems in general are fundamentally uninteresting to Google as platforms in themselves, as well they should be—after all, the web is Google’s platform, and they dominate there, so why should they promote an alternative where they are much weaker? In my view, the (fat) client bits merely exist to ease the transition from the current, predominantly desktop centric world to a new web centric world where Google naturally thrives. After all, such paradigm shifts are always gradual. There’s the offline question too—if all your data is in the cloud, how do you get to it when you’re not online?—though I suspect over time the browser will provide offline capabilities of some sort, so this is largely a temporary problem too. So, using Wine in ports not only minimizes the incremental cost of building out a foothold on the client (which, again, is a necessity for Google, given that Google’s biggest competitor is between them and 90% of their customers), but it raises the fat client platform up a level too. In other words, it builds a fat client platform with a consistent look and feel across desktop environments; and with this, the operating system underneath rapidly becomes irrelevant. The real question is when Google will hook Picasa into a photo sharing service of its own. I already keep my photos in the cloud, and I’d love to organize and edit them in Picasa (Organizr is nice, but nowhere near as nice as a desktop application, and it doesn’t have some basic functionality, like import from camera and red eye repair). Of course, this is just one example of Google having some platform thinking issues of its own, though that’ll have to be a rant for another day.

27 May 2006

Aigars Mahinovs: Debconf6 day 5: Formal dinner.

May 18th. The fifth day of Debconf6 started for me with a very detailed overview of the debian installer. I have already been quite familiar with the system, but did not really know how to debug the debian-installer system, which was a good part of today's presentation. Many were still tired from yesterday's evening's "testing" of international hard liquors. (Or the pancake party?) At the lunch I discovered on my own skin how hard it was to announce something in the restaurant where we were having food - the room had very high ceiling with high an thick separation beams, so the acoustics of the place were just terrible. I had almost enough volume to fill the room, but after many reflections it was incomprehensible. I had to revert to walking around the tables to remind people about the group photo next day and about the place to meet for today's formal dinner. The rest of the day flew by fast and it was soon time for the dinner itself. People slowly gathered at a parking lot behind the hotels and idly chatted while waiting for the boarding call. After a while people stopped minding me and that resulted in several good portraits. We boarded the bus and went to the place of the formal dinner. The place was a large hall where local volunteers had placed the tables in the form of a swirl. That was a very nice touch. People wondered round and round 'till they choose a place they liked. AJ sat at the very inner end of the swirl and I somehow got to sit at his right hand. Not that it matters. At one moment some person took a crown of Ted's head and rushed to put it on AJ's had. Many photos were taken at that moment (most of them very blurry), but I feel this one to be a bit of an irony: CLUE hanging over Ted, but he doesn't quite get it. But enough about him - there was enough fun at the dinner to satisfy anyone. After a while of nice chatting time food started to appear. First the glasses came, then there were the huge 3l bottles of Cola. I managed to avoid the Mexican version of Cola before that, but now when I tried it Mexican Cola tasted very much like the Estonian version and slightly different from UK's or USA's versions. I guess the sugar type used and the water might be of the difference. Few attempts at simulating a spiral "Mexican" wave along the tables were conducted. Only when AJ personally controlled every part of the way by running along the length of the table, the wave succeeded. :) A Mexican band came in to lighten up the mood. They were met with a huge wave of applause and a burst of flashlights. The music was great - lively and exciting. Spanish speaking people knew most of the songs and sang along. But after a short while the music was started to being drowned out by the sound of a rain hitting the roof. Soon after the food was served I heard scream of surprise with a hint of fear. When I turned, I saw that one of the wall of the hall strangely turned into a waterfall - gush of water was streaming from the roof into the building. People looked at the water, took a bunch of pictures, made a few water related jokes, picked their bags up from the floor and ... continued with the fun. I must say that I was slightly scared, but although others might have been scared as well, most did not show it and the event just went on with a half of the hall having a couple centimeters of water. Water also dripped down on some parts of the tables, so people shifted from there to other places. Meanwhile, outside the rain became stronger, wind became faster, thunder became louder and came closer. The climax of the evening was the sudden loss of power. I was jsut standing on the stage when all the lights inside and outside went out at once. For a moment there was a bit of confusion and the evening became slightly scary in a single instant. Then people took out their mobile phones, PDA's and other devices and lighted the place up with the light from their screens. Some others had handlights, and others made slightly more light for a shorter moments by taking flash photographs, for example, of the ceiling. In a few minutes the emergency light went up and after 15 more minutes the main lamps started coming back on. For most people that was enough excitement for the night, so when the rain calmed down and Gunnar announced that first buses are ready go back to the hotel if some people want that, two buses were overfilled with people wanting to get back. Some stayed. More fresh food was cooked then, including some cooked cactus leaves and some grilled meat after which a desert followed with a rollcake that included a swirl of some red jam. Very Debianish :) After a quick local-optimal packing session the hall was left almost empty in a few minutes. The packing algorithm was interesting - one person was collecting all forks, other person was collecting all spoons, other people were only folding tables, while others were handling chairs. The work division was very effective and allowed people to share the work without any kind of central coordination. And we went back .. to work. On the way to the hotel I noticed pixie sitting in the walkway in a very careful was - it turns out she got one of the kittens to trust her and was holding it in her lap. It was sooooo cute. Kawai! Ted: Many questions were raised about Ted, the "fight" at the formal dinner and the following expulsion of Ted from the event and from the Debian project. An I have a unique perspective on that as I was sharing a room with Ted and talked to him and his friend John after the dinner, but before the expulsion notice. I barely noticed the, now widely speculated about, events at the dinner itself. I noticed that at one point in time the lump of people around the door became a bit bigger and that Ted and John were in the middle of it. I heard no screaming and saw no struggle or fighting and did not see anything strange regarding Ted except this and the other event described higher above. Ted was siting by his table with a woman that I for some time believed to be his wife because of the very caring way he was handling her. After considering that he was from Canada, I assumed (with a though of the twisted humor) that she might then be his Mexican lover (either paid or not), but I did not care enough to find out about it or to raise any conflict about it. I remember thinking that it would sound quite funny in context of his latest blog post about killing of prostitutes which might also be the reason why people where very ready to believe the joke that one of Ted's companions said of the woman being paid to come here with Ted "or maybe not". After the event I wane to sleep to be awaken around 5 in the morning by a discussion going on in my room about the dinner. I went into the discussion slightly irritated with a simple argument - inviting people to a party without an explicit permission of the organizer is a bad thing to do. That point sank in quickly and Ted soon was ready to apologize for that. After that a discussion about individual people and motivations went on for another hour. Ted's action were deeply rooted in the confusion of terms with "bravery" and "cowardice" versus "aggression" and "non-confrontational behavior". Ted's motivation was clearly based on avoiding anything that could be considered to be cowardly and putting emphasis on brave actions, however the most of the rest of Debian project is much more in line with the modern world and prefers non-confrontational behavior to any action causing trouble. Most of the time such behavior is essential for comfortable survival of any geek living in non-geek environment. The difference in values between Ted and the rest of our project was just too immense. When I was walking out of the room at around 7 in the morning next day my final sentence was "Ted, even if you spend rest of the Debconf apologizing and making friends, I do not see a future for you in this project." and the most important was that Ted and John seemed to agree with me on that. I soon found out that DAM's agreed with me too and took action just when I was talking to Ted expelling him from the project. He was also advised to leave the Debconf to avoid any further confrontation. It was harsh, but kind of expected for a long time. This event spoiled my mind for a few hours, but ... the Debconf must go on!

Next.

Previous.