Search Results: "beh"

11 June 2008

Clint Adams: Floating job control

Francois-Denis, you can get more bash-like behavior by doing setopt nohup, or you can disown the jobs before exiting, or you can background and disown immediately by running program & . Also, that silly non-free window manager, ion3, is decent with the small popups.

9 June 2008

Joey Hess: heat

Summer crept up behind me and has been beating my about the head and shoulders all week. It's hot (95+ F / 35 C in the shade). I've been slowly adapting back to hot-weather mode, but with the suddenness of the onslaught, it's been hard to keep up. It's easy to get annoyed at hot weather -- like one of pterry's trolls, I know I am a tenth as good a coder in the summer. And I choose not to have air conditioning at home, so if I need to get back to peak performance for something, I have walk downtown to the coffee shop or library or someplace air-conditioned. But this weather is good for the bigger, longer-term thoughts (aka lazing about). And I know I can adapt. Yesterday I hiked in to Abrams Falls, and the heat didn't bother me at all, and just made sitting and meditating under the falls even better. Then I climbed up to the top of the falls and waded all the way back up the creek. Today, I got out in the peak heat of the day and hauled in and unpacked 300 pounds of gear. More on that in a few days..

Pierre Habouzit: reportbug-ng

Dear Bastian let's fix your blog post.
Philipp thinks, the fact that rng is not using the information in /usr/share/bug renders rng unfit for release and upgraded the corresponding bugreport from wishlist to serious. Moreover: since I dared to downgrade the report back to wishlist he decided to remove rng from testing and block it until the bug is fixed.
s/Philipp/the Release Team/g. And yes, we believe that reportbug-ng goes against the Maintainers wishes, and doesn't help users that don't know how to report a bug (and which are rng audience unless I'm mistaken).
I don t want to heat the debate about this bug again, but Philipp s decision seems arbitrary for me and I wonder if the same standard is applied to every other Debian package.
It's not, it was discussed in the Release Team and was not Philipp on his own alone. And yes, the same standards of quality is wanted for every package in Debian.
I mean, rng has no release critical defects.
That's you claiming that, there have been really constructive remarks in both bug that we upgraded, and that I think explain wisely why the current reportbug-ng behaviour doesn't makes it a suitable reportbug tool right now. I think for example that Sam's and Michael Biebl contributions in both bugs are good explanations of what is wrong and why.
It just does not use the aforementioned scripts as additional information in bugreports does this really render the software unfit for release ?
Yes it does. Again, people that use rng are I think, less experienced users, who need guidance through the bug reporting process. The kind of users that often send annoying bug reports. Instead of lowering the annoyance factor, you aggravate it. In the end, rng makes the frustration higher, and totally fails to meet its primary goals: making bug reporting nicer, simpler, and more efficient for the Reporter and the Maintainer. While it's probably nicer for the reporter, you totally fail on the other part of the contract. And if you don't care about the Maintainer, then well, reportbug-ng is just a spam machine to them, and your careless attitude toward them is unfit for release for sure.

8 June 2008

Andrew Pollock: [life] And we're back

We actually got home last Sunday, but I've been too jetlagged, and then too busy with work to really have a chance to write anything... We got back in at around 2pm, but our bags fell victim to Heathrow's Terminal 5, and didn't arrive until around 11pm. I think I lasted until about 8pm, when I had to crash. Poor Sarah had to stay up until 11pm when they finally got around to delivering our suitcases. The week in Zurich was wonderful. The Zurich office is everything the photos make it out to be, and then some. One weird thing: apparently there's some Swiss regulation about how much you're allowed to cool a building in relation to the outdoor ambient temperature, so there's no air conditioning in the office. Instead, you can open the windows. Unfortunately, there's a fairly busy set of train tracks right beside the office, so it can get a tad noisy... It was a pretty warm week, I think around 30°C. I certainly prefer being colder rather than hotter when indoors, so found the lack of decent cooling to be a shame, given the rest of the building's features. That said, it was pretty amazing sweltering away in Zurich, and then looking up and seeing snow on the mountains. It was surprising how much of a temperature difference there was. On the last evening in Zurich, we went on a reconnoitre to try and find the river that we could hear (and see on the map) behind our apartment. We eventually found some street access to it, and it was another world back there. It was fairly thickly wooded, and the sunlight was heavily filtered through the trees, so it was cool and shady. The river was fairly fast flowing over some rocks in parts, which is what was making it so audible. The whole setting was absolutely beautiful. There were a couple of paths, and the whole thing felt like something out of a fairy tail. We think we stumbled onto a fox, but we're not sure. It's a shame we only discovered the place on the last day, as I'd have liked to have explored it further. I really liked Zurich. It was nice and flat, and had an excellent tram service. Monday Night Skate made me wish I'd packed my roller blades. We were wandering around on Monday night, and it felt like the entire city had donned skates and were going out. Apparently the authorities really get behind it, and close roads, and the police go along behind the pack and reopen the roads behind them and pick up the stragglers. Great way to encourage an active lifestyle. We've got all of our photos up now from the Europe trip, and they're here. This brings the total countries I've visited up to 10, excluding Hong Kong and Macau. I don't like selecting China when I generate this map, as I've never been to mainland China. Countries I've visited as of June 2008

Mike Hommey: ADSL woes

For 10 days now, I’ve had ADSL problems. Basically, there is something fishy somewhere between my end and the DSLAM. That can be anything, and for the moment, all I can do is wait for either my ADSL provider or France Telecom, whichever is responsible for the problem, to fix this. Anyways, my network connectivity is sometimes working (though quite slowly, especially on uploads), but more often not, with sometimes connectivity for a few seconds (enough to download small files or pop mail). The glandium.org server being behind this ADSL line, it means that you’re probably not able to see this post. Or maybe a feed-reader/planet/whatever got it while the line was somehow working. Note I’ve been able to setup another MX server, so that mail sent to my domain go somewhere I can fetch them. Don’t worry about sending me messages, they will reach me. Just that it may take time for me to be able to see and/or answer them. Anyways, the main downside is that it makes it harder to handle the upcoming xulrunner transition. On the other hand, the upside is that I finally could take some time to work on ext3rminator again, basically rewriting the code from scratch for reasons I’ll explain when it will be ready for a release. It’s good to see that some new APIs in libext2fs, added since 2002~2003, when I first wrote ext3rminator, make some of the work easier. It’s still sad there is nothing to handle reading the journal. Not that it’s difficult (though not documented much), but that would downsize my code some more ;). Update: It seems to be back to normal.

7 June 2008

Julien Blache: HAL is crap, film at 11

Joey, I think your whole post only applies to HAL. Fact is, DBus lets you know through a dedicated signal that you’ve been disconnected from the DBus server; at that point, you cleanup the connection and try to reconnect. Works for me. Now, the fact that HAL (and/or libhal, it seems) provides no way of handling this situation cleanly is obviously a major bug. I’m not a great fan of all the desktop crap that’s being promoted and hyped lately, but I am positive about DBus. DBus provides the mechanisms to handle a DBus restart properly, HAL (and pretty much everything else) doesn’t use them, blame HAL, not DBus, for this one. As for the “DBus should never be restarted”… I have no idea why the DBus upstreams would think that, but that also wouldn’t be the first time distributions disagree with upstreams about what is good and what isn’t. The good news is, this is all free software and we can fix it without upstream’s blessing. If somebody out there really believes that it is OK for applications to crash/exit when DBus is restarted, then I don’t have the words. I won’t even mention the new behaviour of the DBus init script in Sid.

David Nusinow: The Cognitive Load Of Web Development

The most dynamic segment of the software industry that I'm aware of is web programming. Flamewars rage about frameworks and browsers and standards and whatnot, and the openness of the whole thing feels like some of the things that made me fall in love with computing as a whole and Free Software in particular. The problem with all that openness is that it's rather difficult to navigate. Aside from the obvious issues with browser incompatibilities, there's an enormous amount of software solutions on the server side, spanning languages, libraries, and frameworks. Each one is an ecosystem to itself, often being large and complicated.

This makes it rather difficult to do certain aspects of web programming well. You are constantly switching between tools and languages, as well as coding paradigms, in order to build a web app in full. You'll be writing HTML, CSS, and Javascript on the client side, each with its own peculiarities. On the server side you'll probably have settled on one language with its own very different varieties of coding style and patterns. Some, like Ruby on Rails, are their own unique brand of language that makes you work both in the DSL (Rails in this case) and the parent language (Ruby here). Template engines often will do the same thing, such as in the case of Django.

It's pretty obvious that having to juggle all these tools places a fairly large burden on the coder. Much to their credit, it's not difficult to work in any of these languages, but to work in them at a high level becomes more difficult the deeper and wider the software stack reaches. You get this a bit in systems programming, juggling C/C++ with a build system and a scripting language, but that's usually it. You can get that number of moving parts just on the client side of the web with HTML, CSS, and Javascript.

Something interesting that seems to be happening is that people are moving to decrease this cognitive burden. One good example is the Google Web Toolkit which lets you write all your AJAXy client-side stuff in Java, and let it get compiled in to Javascript. That way you cut the languages you have to work in. A similar concept is behind Microsoft allowing Ruby (and Python, if I've heard correctly) in Silverlight. Alternately, you can bring Javascript (back) to the server side, which is the motivation behind Helma and Rhino on Rails (the latter of which I hope sees the light of day).

Personally, I'm rooting for Javascript to not become an assembly language, but to take over the server side again. It's a capable and powerful language (much better than Java in my opinion), and we're collectively leveraging it very poorly. Rhino is interesting and has enormous potential, but it needs library binds in the worst way. Currently it's basically using Javascript to write Java, which is rather atrocious (COBOL in any language, etc) but with some Javascript-style wrappers around the Java classes it could be phenomenal. Alternately, there's Spidermonkey, which could be wrapped in a more capable shell with a good FFI, and we could easily have wrappers to our favorite Free Software libraries. This project seems far along here, but it's currently very windows-centric.

There's a lot of potential here though. Unifying the development language for both web and system apps would benefit the Free Software desktop, and give us the ability to better integrate our stuff with the web. One of the best things about Free Software is that it dropped the barrier to entry in software development. I think we can repeat that success again here.

4 June 2008

Bastian Venthur: actual file size does not match size in .changes

Beh! Looks like it is currently not possible to use debsign from etch to sign packages built in a sid cowbuilder environment. Update: Adam just pointed out that this was already announced on debian-devel-announce. He proposed to get an updated version of devscripts from etch-backports. I wonder if we shouldn’t provide a fixed version of devscripts in etch officially, just in case someone who maintains packages actually *erm* uses it.

3 June 2008

Marc 'Zugschlus' Haber: Serial Console Server for the Poor I

The serial port is still the way to access network components out of band. It is slow, but reliable, and remarkably well standardized. It does not have technical whiz-bangs that can fail when one needs things to just work. That makes it the natural way to access critical infrastructure and still being sure that this access vector still works when most other things are down. Every communication link has two sides, so there is a market for devices with a network link and a bigger number of serial ports to connect the actual devices to. Commercial vendors have a broad choice of serial console servers. Most of them, especially the small products with five to ten ports, are quite expensive, so I have been investigating how do build a serial console server with el cheapo hardware. USB comes to mind here, of course.
Picture of the fully equipped USB hub
The hardware side is actually quite easy: A seven-port USB hub, and seven USB-to-serial adaptors (using the widely-deployed Prolific PL2303) are easily purchased for well below a hundred Euros, and naively connected. In my test setup, connected to the hp compaq nc8000 that my blog readers should know only too well by now, the hub does not even need to have its power supply connected. The notebook can power the hub and the seven adaptors just fine. When the UMTS card is plugged in, the ttyUSBx device nodes appear in the order of plugging in the devices. When the system is booted, the order is not very predictable, so one needs - again - udev to give predictable device node names. udevinfo is an important tool to obtain the data set of an USB device which is available to match a device and to act appropriately when it is connected. udevinfo sorts the devices into a tree and shows the relationship of the devices, which device is “behind” which other device from the system’s point of view. udevinfo’s output starts at the leaf of the device tree and shows the information for each node up the tree until its root is reached. One pitfall is that one can only match against the leaf and _one_ other node more up the tree. So you cannot do matches like “the pl2303-based device connected to port 3 on hub 2-3 will be designated USBserial3”. If you try this, your rule will silently be ignored. This is a major turn-off in udev’s implementation. I didn’t try it on sid, but etch definetely shows this behavior. So one can only match like “the tty on the USB subsystem connected to port 3 on hub 2-3 will be designated USBserial3”, but that’s probably as good as it’ll get. The cause for my hub having only seven ports clearly shows itself when one looks at the udevinfo outputs of the fully equipped USB hub: The adapters are connected to ports 1, 2, 3, 4.1, 4.2, 4.3 and 4.4. The seven-port hub is actually two four-port hubs in a single case, with the second one connected to the first one’s port 4. This reflects itself, of course, in the udev rules necessary to address the adapters by the hub port they’re plugged in:
SUBSYSTEM==“tty”, SUBSYSTEMS==“usb”, DRIVERS==“usb”, \
   KERNELS==“*-*.1”, \
   SYMLINK=“USBserial1”
SUBSYSTEM==“tty”, SUBSYSTEMS==“usb”, DRIVERS==“usb”, \
   KERNELS==“*-*.2”, \
   SYMLINK=“USBserial2”
SUBSYSTEM==“tty”, SUBSYSTEMS==“usb”, DRIVERS==“usb”, \
   KERNELS==“*-*.3”, \
   SYMLINK=“USBserial3”
SUBSYSTEM==“tty”, SUBSYSTEMS==“usb”, DRIVERS==“usb”, \
   KERNELS==“*-*.4.1”, \
   SYMLINK=“USBserial4”
SUBSYSTEM==“tty”, SUBSYSTEMS==“usb”, DRIVERS==“usb”, \
   KERNELS==“*-*.4.2”, \
   SYMLINK=“USBserial5”
SUBSYSTEM==“tty”, SUBSYSTEMS==“usb”, DRIVERS==“usb”, \
   KERNELS==“*-*.4.3”, \
   SYMLINK=“USBserial6”
SUBSYSTEM==“tty”, SUBSYSTEMS==“usb”, DRIVERS==“usb”, \
   KERNELS==“*-*.4.4”, \
   SYMLINK=“USBserial7”
These rules will only work for a similary structured hub that is directly connected to the notebook. If there are more hubs in between the “final” hub and the host, the address matched against in the KERNELS matches are going to have a different structure. In the test setup, the first two parts of the address needed to be wildcarded since these addresses keep changing when the host is booted or the hub plugged out and in. So I guess that these udev rules are probably going to fail miserably when more hubs and/or USB-to-serial adaptors are connected. But if one does not do too many changes, things are just fine, and it is possible to put numbers on the USB hub ports and be sure that the USB-to-serial adaptor connected to port 4 is going to be /dev/USBserial4 in the host system. I tried plugging in and out the adaptors in random order, unplugged and plugged the hub itself, booted the host, and the relationship between the port and the device node was stable. In the test environment, I only tested one adapter at a time, but all these tests were successful as well. I guess that many more of these adaptors will eventually need a powered USB hub, but with seven adaptors on a single hub, the power from the USB host is sufficient to live without extra power on the hub. And, I guess, there is some hard limit for the number of USB adapters being used, and some soft limit when managing the ports and adapters is going to get harder. But, I think that a site in need of more than, say, sixteen serial ports on the console server can afford a “real” console server from one of the major vendors, which can be accessed via ethernet, UMTS, ISDN and whatever you can think of. This concludes the hardware part of my serial console server for the poor. Tomorrow, I’ll blog about the software side needed on the host to allow the serial ports to be accessed from the network while still being reasonably secure. The next article will involve ssh, /etc/passwd shells, /etc/shells, a small perl script, ser2net and telnet. And, shell escape is the cue word for grey hairs sprouting on my head.

2 June 2008

Fabio Tranchitella: Am I doing it wrong?

When I moved in Hungary in 2006, I started a direct marketing company. In fact, it is the local local branch of an Italian marketing company where I worked since 2003. The company is growing very slowly: we faced a lot of issues with the local market (I'll probably talk about this topic in another post) and only in the last months things started going on the right path.

I still remember the old days when I spent the whole working day alone, in the office, struggling to find the good motivation to work on something which almost everybody around me considered a failure even before starting. I always considered my company as a family, where trust and respect are the glue for the team members. I remember the old times when Aron, my first employee and now business partner, started learning the internals of the direct marketing: he trusted me, sharing with me the duties of starting up the company.  Looking back I feel proud of what we did and more conscious about what we can do in the future.

Growing also means enlarging the team. To say the truth, I didn't expect to have so many problems looking for new people to add to our team: I interviewed a lot of people for our "python programmer" position, spending a lot of time and energy. I know that living in Hungary also means dealing with a local, small, atypical environment, but we offer the possibility to learn and develop IT and non-IT skills in a young, international environment.

We finally found an interesting guy, with PHP experiences but willing to learn Python. He told us that he could leave his job by the 16th of June, and he could work with us part-time till that date. Everything worked fine for three weeks then, suddenly, he disappeared. For one week, his mobile phone rang, but nobody picked up the line. No answer to e-mails, IRC, MSN or any other communication channel. I was worried, I hoped he was fine somewhere. This morning he called Aron telling him that he was sick, he had an issue with his eye. He visited a lot of doctors. He was busy. So busy that he couldn't call us to tell us so. For one week. After he started working with us four weeks ago. What is more annoying is that he didn't appear worried about his position, about our project, about our company. If I'd have quit from my job, I'd be very very worried about my new employer who is looking for me for one whole week without being able to reach me.

We are a growing company based on a small team, without a strict organigram and a horizontal structure. I trust my workmates, I trust them so much to put in their hands my investments, my reputation, my customers. The best team members knows that errors in this phase (eg. lost customers) can influence the company future and their job position

In this case, I gave out trust, but I didn't get back respect. I'm starting to think that being friendly and building a collaborative environment, a horizontal structure is not helping but damaging the company. Maybe if I'd be a boss with strong authority, then people wouldn't behave in this way.

And yes, of course, the problem with the eye was just an excuse.

1 June 2008

Enrico Zini: Playing with a Holux M-241

Playing with a Holux M-241 Here is how to download tracks from the Holux M-241:
gpsbabel -t -r -w -i m241 -f /dev/ttyUSB0 -o gpx -F  date +'%Y-%m-%d-%H%M%S' .gpx

It might work also via bluetooth, but I have not tried yet. Now, until M-241 support will be released in a stable version of gpsbabel, here is how to compile the version from CVS. Get the sources:
cvs -d:pserver:anonymous@gpsbabel.cvs.sourceforge.net:/cvsroot/gpsbabel login
cvs -z3 -d:pserver:anonymous@gpsbabel.cvs.sourceforge.net:/cvsroot/gpsbabel co -P gpsbabel

Untar this to debianise the sources. If it does to compile because of some errors in lmx.c, apply this patch. Then you can install the resulting package and (hopefully) be happy. Note, after downloading the logs, gpsbabel currently turns on logging. Here is a patch to disable that behaviour. Finally, if you want to hack around a little on the unit, you can play with mtkbabel: the source code is simple, and most of the MTK protocol is implemented, so you can easily feed your own commands to the MTK. Documentation about the commands can be found here: The links are taken from a post in the GPSPasSion forum. For a source of ideas of what commands you can send, you can look into the source code of BT747. For example, to set the M-241 to 2Hz fix, you can add this to mtkbabel:
packet_send('PMTK300,500,0,0,0.0,0.0');
$ret = packet_wait('PMTK001,300,3');

And if you want to set the MTK to an insane 5Hz fix rate, to take really fine grained gpx traces with your laptop, you can use this:
packet_send('PMTK300,200,0,0,0.0,0.0');
$ret = packet_wait('PMTK001,300,3');

31 May 2008

Matthew Garrett: Personality modification through perl

One of the downsides of writing my thesis last year was that focusing on a technical subject for approximately 16 hours a day left me almost entirely unable to relate to people. The irony in this is that losing the ability to socially relate tends to result in you assuming that you're fine and everyone else is just behaving bizarrely, which makes rectifying the situation rather difficult. In an attempt to avoid this I have written some software, because dealing with the symptoms of a problem is always better than dealing with the root cause and technology is always the appropriate solution to social issues.

The aim was to send myself an email once a week that I'd actually have to read. This is achieved by running the script with the generate argument. This sends an email with an appropriate reminder message (something along the lines of "Are you sucking? Really? Are you sure? Is everyone around you suddenly getting annoyed at you for no obvious reason?", and so on) and a bunch of embedded characters randomly spread throughout it. Running the script with the check argument will send the email again if a valid response hasn't been received. Those can be stuck in cron. The final part is to add a procmail or whatever rule that passes replies back to the script with the validate argument. These replies should include a line containing all the embedded characters (order doesn't matter, but if there are multiple occurances of a character than the reply must include that number of occurances). If a valid reply is received then no further emails will be sent until the script is run with the generate argument again.

Also: My perl sucks.

30 May 2008

David Welton: An impressive amount of resources

In the TechCrunch coverage of Google IO, I was impressed by this:
Not every team has the resources Google does to build for every platform. Google is betting on browser over time for mobile devices; it will be the entry point for many applications. But today, the only browsers capable for supporting mobile apps include iPhone and few others. So Google is developing Android, which includes world class Webkit browser.
Here at the world headquarters of DedaSys LLC (which for the time being happens to be "in front of David's computer, wherever that is"), we too have some suspicions about the browser becoming the platform of choice for mobile phones, although there is a big if: When will the carriers make always on, cheap internet connections widespread? Until that happens, client side apps will still probably dominate for many things. And of course for applications requiring hardware access, some kind of local program will be necessary as well for the foreseeable future. (And of course, Hecl is a good choice "for the time being", too!) Coming back to the phrase cited above, what blows me away about it is the sheer amount of time and money that they're investing in something that "over time", they're not really betting on, in the sense that they just want browsers everywhere? Jumping into a market with a new "OS", toolkit, etc... just to spread a platform with a decent browser? Wow. That is a company with a lot of spare change. Most people and companies in business are doing the best they can to stretch out their dollars or euros as best they can. I guess it really takes a behemoth to pour so much in the way of engineering talent and financial resources into something that's in some ways a bump in the road in terms of their long term vision. Or maybe I'm just reading too much into one phrase?

Peter Eisentraut: KDE 4.1 experience

I tried the installation of KDE 4.1 beta 1 on Debian, as described here. I ended up undoing this about an hour later. The environment isn't really usable yet, so my advice to the public is: don't do it, on a system you plan to actually use.

Here is a random assortment of problems I encountered:
So it was quite obvious that that various pieces don't really fit together all that well yet. On the upside, I noticed many really good ideas that I would look forward to using if the overall environment worked.

The good news is that the packaging appears to be really robust (I found one packaging bug with a file conflict) and the upgrade and downgrade works well (you have to use aptitude, as described in Ana's post; apt craps out completely).
So when KDE 4 is actually usable, Debian will be ready. But not for lenny; that would be suicide in my opinion.

Fathi Boudra: reply to KDE 4.1 experience

I don’t know if Peter tries KDE 4.1 beta1 (4.0.80) but I tend to disagree with some comments. False. See the plasma icon on panel ? click on it and you’ll have what you want: panel-configuration.png Could be nice to be more verbose. True, but it’s better with each release and not really a showstopper. Which one do you want ? Indeed. KDE3 uses .kde as home directory and KDE4 uses .kde4. It is intended to not break your KDE3 until we test upgrade path. I don’t know :) I continue to use Kontact from KDE3. Modestas and Sune have switched to kde4pim and they found it better than expected. Hmm It works for me. Konsole saves maximized/normal state. Make sure you unlock widgets with plasma icon on the top-right corner. Drag and drop from K-Menu to panel. Sebas made a nice rough guide to plasma. Take a look !!! KDE4 is more than usable. It contains some glitches but we are far from sucide ;)

28 May 2008

Sune Vuorela: playing with plasma

Now that kde4.1 is beginning to really take shape, I have also upgraded all my computers to kde4. Bye bye kde3. I can’t live without a few kde3 apps though, particularily amarok. But my amarok usage was mostly controlled by the kicker media applet. So I needed something that behaved similar to the kicker media applet. Plasma && dcop command line to the rescue. It still needs some polishing, especially getting the buttons closer together. But it works. It wasn’t that hard to get started, although the plasma docs still haven’t the quality of Qt documentation. Here is how it looks:
My first plasmoid And if anyone wants it, well - it is here: http://elvira.killmulehill.net/~sune/plasmaamarokcontrol-2008-05-27.tar.gz - at least for now.

27 May 2008

Christian Perrier: Reading blog summary

During the last 4 days, I didn't read Planet. So I started an interesting exercise and wanted to comment very briefly on a few entries I just read quickly to catch up. My Planet premium, so to say..

25 May 2008

Enrico Zini: LDAP user database errors

LDAP user database errors In case your machine uses an external LDAP server for the user database, and you see this error:
id: ldap-nss.c:1376: do_init: Assertion  cfg->ldc_uris[__session.ls_current_uri] != ((void *)0)' failed.

The solution is to check that you have no passwords in /etc/libnss-ldap.conf and make it world readable, because software needs to access it in order to access the user database. This is apparently "normal" folk knowledge. Already in the BTS. Now, why is /etc/libnss-ldap.conf not world readable by default? Because a debconf question offers it to be that way. Why does it do so? I have no idea, since passwords should go in the not world readable /etc/libnss-ldap.secret anyway. Why do we get that assertion instead of something like cannot read /etc/libnss-ldap.conf? These sort of obscure errors or behaviours happen so often that I start to believe it's an intentional coding style. Maybe LDAP needs to be something for lite sysadmins with a painful initiation path, so that only the Worth and Pure of Spirit can use the only sane way to have a central user database in Linux. I almost feel like if I disclose these tricky bits one day I will be tied to a rock with an eagle eating my liver.

Axel Beckert: Google Open Source Jam and Webtuesday Hackday

I was at two geek events in Zurich this week: At the Google Open Source Jam Zurich on Thursday evening and at the first Webtuesday Hackday on Saturday. Somehow I expected both events to be quite similar, but they weren’t. Google Open Source Jam When I read “Jam” or “Jam Session” I think of Jazz musicians spontaneously playing together. So for me “Open Source Jam” sounded like a hack session where some spontaneous coding is done. But there was no spontaneous collaboration at Open Source Jam at all. It’s just (more or less spontaneous) talks about different topics and chatting. So I was quite disappointed from that event. There were though quite a lot of people I knew from e.g. Webtuesday, Chaostreff or Debian. I even met some people I just knew from IRC until then. Half of the talks were sole propaganda talks though, e.g. for Webtuesday Hackday, OpenExpo and Soaring as a geek sport. Not really wrongly placed talks, but not what I expected in talks at Open Source Jam. The few rooms and floors I saw reminded me very much to IKEA Children’s Paradies, just even more motley. Though it felt all sterile and wasn’t by far as cool as I expected after what I read elsewhere of Google offices. I also think that several of the Google employees showed some contrived friendlyness, and questions I asked e.g. why I have to give them my e-mail address and employer’s name (what do unemployed or self-employed people do?) got answered with answers I do not really believe – like “for security”. A leopard doesn’t change its spots. A data squid probably neither, even not at events labeled with OSS and said to be for the community. I suspect that finding new employees is one of the reasons behind such events at Google. But after my first visit at one of their locations, this company still makes me feel uncomfortable. And I’m even more sure than before that I wouldn’t want to work there. Not sure if I’ll attend the Google Open Source Jam a second time. Webtuesday Hackday Webtuesday Hackday also was not as I expected, but still more close to my expectations: the Webtuesday crowd gathers for hacking instead of having long talks. :-) There were surprisingly many people from outside Zurich, from Munich and Belgium, from Lake Constance and Lausaunne – not only the usual suspects (who were there anyway ;-). The event took place at Liip’s new office. They still look a little bit empty and steril, but all the toys (mini rugby balls, Wii, plush figures on floor lamps) and people around made them very alive. And they had very cool lamps in the form of their company logo in the office. They sure have a good interior designer. :-) Although most participants found time to do some hacking, many found less time than they expected so we hope that we can glue the talks a little bit more together in regards of timing to cause less interruptions of the hacking. The food was also better at Hackday, too, but mostly because we ate outside. ;-) For lunch we were at Lily’s Stomach Supply at Langstrasse (very recommendable!) and in 6he evening we were at Pizzeria Grottino 79 near Helvetiaplatz. Had a Pizza Vesuvio with Gruyère cheese there. Hackday also had a surprise for me: The IRC channel at Hackday was but when I entered the channel there were someone in I didn’t expect there: tklauser aka Tobias Klauser aka tuxedo. Even more surprising, he read about my project idea for Hackday – a semantic feed cache proxy – and liked it, so he decided to come over to Zurich and join the project. We didn’t came that far until Tobias had to leave again, but the progamming language and partially also libraries had been nailed: Ruby and it’s WEBrick framework. After the Hackday I worked on it a few more hours and it now already saves feeds to a cache. The Mercurial repository is at http://noone.org/hg/sfc-proxy. There were several reasons which spoke for using Ruby instead of Perl (my favourite progamming language and the one I’m most experienced in): Ruby brings HTTP and RSS support already in it’s standard classes and Tobias is more experienced in Ruby than Perl. I started to learn Ruby a few years ago to look beyond my own nose and to get my hands dirty on some object-oriented and nice programming language, but I hadn’t found an appropriate project until now, so this was one more reason to not do it in Perl. I also worked on my Debian package of Conkeror during Hackday. It’s already usable and I now use Conkeror as primary web browser on my EeePC, but e.g. the man page is still missing. As soon as I have the minimum in necessary documentation ready I’ll let it upload to Debian Experimental (since its dependency XULRunner 1.9 is also only in Debian Experimental yet). The Mercurial repository for the Debian packaging of Conkeror is at http://noone.org/hg/conkeror/debian Those who were still at Hackday in the evening decided that the Webtuesday Hackday should become a regular institution and should take place approximately every two months, but stay a one day event (for now). I already look forward to the next Webtuesday Hackday.

Andrew Pollock: [life] Prague to Zurich, and driving in Europe in general

We got back to Zurich late last night (not quite as late as we got into Prague though, thankfully). We stopped off in Deggendorf on the way through Germany to visit our friend Christine from the Bilbys, who has moved back to Germany, along with her Australian boyfriend, who is now furiously learning German (we're talking a year-long immersion program). Deggendorf was a gorgeous little town, with cobblestone streets and more Churches than you can shake a stick at. Unfortunately we could only stay for a few hours, so we had a barbecue lunch and a quick wander around, and headed off on our way again. This morning we dropped the rental car back at the airport, had one of our typical misadventures on the train (went the wrong way at first) and then caught a tram back to the apartment. Everything being in German is a bit of a challenge. Parts of it you can make out, parts of it are totally unintelligible. There seems to be a general tendency to concatenate words, for example, our apartment is on what would translate to "Rehalp Street", but in the local vernacular, is expressed as "Rehalpstrasse". So when you're looking around and trying to follow directions, the names don't seem quite so ludicrously long and intimidating if you just drop the "strasse" or the "br cke" (bridge). The car that we rented from the Zurich airport developed some kind of non-critical fault on the way to Prague, and Sarah exchanged it for another one in Prague, as Hertz seemed unable to fix it. (It had the "check engine" and "check vehicle stability control" lights on). So we drove to Prague in a petrol Toyota Auris, and drove back in a diesel Audi A3. We both preferred the Auris over the A3, as the A3 seemed easier to stall, and harder to recover from a stall. Putting it in reverse was totally unintuitive as well. Speaking of fuel, it sure is expensive over here. We paid about 60 euros in Germany somewhere to put about three quarters of a tank in the Auris on the way to Prague, and we spent about 100 CHF to refill the A3 in Zurich. I think Sarah said the diesel cost converted to about $9 USD per gallon. So it was a nice novelty value to drive across Europe, but I don't think we'll be doing it again in a hurry. I did enjoy driving on the autobahns though. While I'm writing about driving in Europe, I might as well make a note about the traffic signs. We really should have researched them before hopping behind the wheel, as there were quite a few we didn't understand, and they weren't terribly intuitive (to us anyway). For example, European 'No Entry' sign versus European 'No vehicles' sign versus European 'No stopping' sign The first is the pretty internationally standard "no entry" sign, but when you see the third sign in isolation, it seemed to us at least, that perhaps that meant "no entry", where it actually means "no standing". "No parking" is a variant of "no standing", with just one diagonal line. The middle sign means "no vehicles", which makes no sense at all, unless you've seen (and understood) the other versions of this sign, which have lesser restrictions of "no cars" or "no bicycles" and feature an icon of either inside the circle. Speed limit signs were also a bit interesting. You'd have European speed limit sign, which specifies a speed limit, but then you'd have European end of speed limit sign, which means "End of speed limit". Our question was "well what is the speed limit now?" The answer seems to be "the default national limit for the class of road you're on". The final set of signs we didn't understand until Christine explained them to us when we saw her yesterday, were European priority road sign and European end of priority road sign, which are "priority road" and "end of priority road", respectively. We just didn't know what a priority road was. Turns out it means traffic on the priority road has right of way over traffic on roads intersecting it. I would have thought this was pretty obvious, but apparently on a non-priority road, you have to give way to traffic on the right, regardless of whether you have a stop sign or a yield/give-way sign. So there's some sort of implicit four-way stop thing going on on a non-priority road. Every time I see European traffic signs, particularly the triangular warning signs, it gives me a flash back to my childhood. My Aunty Peggy used to have a huge big bag of mixed Lego pieces, including a bunch of European traffic signs, and some square Lego mats, and when we were kids, and we used to go to her house to play, we'd build little towns out of all of the Lego. This was the first time we've driven a manual left-hand drive car, and it was fine, except your immediate subconscious reaction the first few times is to go reaching for the gear stick with your left hand, and bash it into the door. It was also the first time we've driven on a roundabout on the right hand side of the road. That was interesting, because it added an additional thing to think about: the traffic on the left.

Next.

Previous.