Search Results: "spa"

15 November 2005

Steve Kemp: Things I have never written: #4

Weblog Software
I’ve been keeping an online journal over at LiveJournal since 23rd February 2002. To support them I actually bought a “Permanent Account” a while back, an example of putting money behind companies and/or services which are useful - even when it isn’t required. After getting into the swing of things there I started the blog which is used upon Planet Debian and have also been enjoying that. Livejournal is a nice service, and they have great software powering the site. The Livejournal code is available and it is reasonably simple to install. (I’ve setup a few installations of the codebase, and played with them. I admit I’ve never run it in anger). Obviously it is completely overkill to run your own installation of Livejournal - unless, perhaps, you’re a school or a large company. So for my personal blog I use Wordpress. I don’t particularly enjoy using wordpress. To be honest I need only four features/abilities of weblog software:
  • The ability to create posts.
  • The ability for users to be able to leave comments upon entries.
  • The ability to search previous entries.
  • The ability to export the blog entries as a feed.
Everything else is utterly overkill. The downside of using Wordpress is threefold:
  • Because it is popular there are multiple bots crawling the web and leaving spammy comments.
  • Because it uses some funky addressing system any replacement would leave lots of broken links.
  • It has historically had a couple of security issues.
I’ve been telling mysefl for the past few months:
  • This software has got to go.
  • I’ll wait until there is another security hole discovered.
So .. HTML::Template & CGI::Application will at some point come to the rescue. I’m just not sure when. I guess this means I’ve not yet written a bloggin system…. ;) I want to only cover the basics:
  • Multiple users.
  • Multiple catagories/tags.
  • Comments with a sane anti-spam system.
PS - The Sisters of Mercy rock.

Jordi Mallach: Not that Cambridge

As predicted, the morning was not productive at all. At one point I slightly became concious and saw sladen fetching his bike, opening the door and saying me "Back in two hours!". We didn't know anything about him until 24 hours later. As we started waking up, we tried to think of a plan for the day. The morning was gone, though. Clint took us to a restaurant two blocks away for breakfast, or actually brunch, because that was the only food in many hours. I ate some "pancakes" with banana in them, and barely could finish them; they are very filling. We went to the promenade for a last look at the Manhattan skyline and took some pictures while we tried to figure out what to do.


A last view over Manhattan Mako was developing a plan in secret, though, which involved micah and his car. Micah found out soon after. We went back to Clint's, expecting to find sladen somewhere, but we didn't. I packed my things, and when we really needed to go, we resolved to put his things in the entrance so he could find then and do whatever he wanted on his return. We went on the Metro to Union Square, where, hear this helix, I saw TONS of raperos doing their break-dance thing (ok, maybe not tons, but I did see them). And two blocks away, we arrived to the most incredible book store. Mako has blogged many times about buying very rare books at the Strand for ridiculous prices, but this was totally unexpected. The Strand is huge. On the outside, there's carts with hundreds of second-hand books, all for one dollar. Mako used to go there and browse the books to find interesting stuff. The Acetarium is full of them! Most of the dollar books are total crap though. A very high percent talk about god, religion, "our troops" and stuff like that. Mentally filtering what might be good and what is not is not easy when you haven't done it before. Mako started scanning the shelves as soon as we arrived, and every now and them he'd pick some totally stupid title. I was on my own shelf, missing many good stuff, while mika, Clint and mako did their own. Clint found quite a few titles, but mako didn't find anything good. I got lucky though, and found the precious book of the day: The Spanish Anarchists. The heroic years 1868-1936, by Murray Bookchin. Although old, it was in very good condition, and mako immediately asked if I was taking it. :) I won! The inside of the Strand was incredible too. Three very big floors packed with books, plus the half-priced "reviewer's copies" at the basement. I was totally overwhelmed by the amount of books I'd be interested in buying, and the limited weigh I should be carrying back, so I did my best not to look too carefully. For a few hours, I didn't have a too clear idea of what mako's plans were. At some point, micah phoned him and we rushed to the PATH, the train that goes to New Jersey. Apparently we were meeting micah at Newark, but I still didn't know why we had to go there. During our ride, I could see how pleasant New Jersey is to the human eye. Miles and miles of heavy industries. I'm pretty sure it's the ugliest place I've ever seen. What I couldn't see, and I'm still disappointed, is any of the viciously arrogant rats of the New York metro system. Mako had told me about how they look at you, like saying "if you come down here, you'll be left with 9 fingers", and the incredible number of them on the tracks. Unfortunately I couldn't see any. I blame Michael Bloomberg. At Newark, micah appeared in his car, and we all hopped into it. We apparently were going by car to Boston... including Clint. I was puzzled, as he had to work on Monday, but he'd said that he'd simply "come back". There was a problem though, mako had dilinger's keys, and he was going back to NYC from Boston, and we didn't have time to get to Boston before he left, so we had to find a way of leaving the keys in NYC so he could get into his appartment. Finally, mako resolved that Clint would be left in a cold street, in a rough area of NYC, and he would handle the keys problem. I still didn't understand what was going on. We headed North, and I quickly fell asleep on mika's nap. I'm getting old. When the car stopped again and I suddenly woke up, I looked ahead and... HORROR! We were at the door of a McDonads. WTF WAS GOING ON? So it seems that when you're on the road, there's no much other choice than shit food. After a quick discussion with mako about how badly those burgers taste, I quickly went back to sleep, until we were in Boston. It took a while to find a parking spot, because all of them "permit only". It's impossible to park if you come from somewhere else. I was finally at the Acetarium, a very cool flat in Cambridge, 15 minutes away from the MIT. It was 3:30 in the morning. The day after, we woke up pretty late, and as I opened my laptop and found a privmsg from sladen, he was was knocking at the door. This man has an incredible ability to disappear and reappear when he's most unexpected. Apparently he managed to grab his stuff in NYC, fetch the bus and arrive at 2 in Boston, meeting dilinger at the station, and mako as he went out to MIT. micah and I went to explore Boston, but never managed. We consumed a few hours when trying to ship some equipment to micah's colo, and then trying to find food. When we were ready to go, micah got a very badly timed call, which made him go back to the Acetarium: a server at work was dying or dead. At one point, it was late enough that going to Boston wasn't worth it, so we went to visit the Media Lab instead. On our way there, micah and I kept chatting about this and that, and found out how small the internet is. We both know a bunch of common people from uncommon places like Per , from our involvement in social projects in the net like Indymedia and Sindominio.net. The MIT is incredible, specially the Stata Center by Frank Gehry. We wandered around as we only got voice mail from mako, until an hour later we found we was like 20 metres away from us. He gave us a tour through the Media lab, and it was incredible. I had never seen something like that. Every lab was colourful and fun, and very cool developments were going on everywhere. I also saw the coolest mame box ever, with an arcade case and everything.


The Stata Center, right next to the Media Lab After the tour, micah and I headed back, while sladen stayed to have a look at one of mako's projects. When we got back to the flat, there were a few people already there for mika's sushi party, and I rolled my first sushi rolls, which was fun. A bunch of Debian people joined us, including zufus and gravity, and had a great chat with them. The party ended way too late and after too many beers. sladen used his secret disappearing abilities, and a few colleagues from mako crashed, so there was a bit of overbooking. Mako's solution was simple. mika, him and I could share their bed. I can't say I have slept too much, because mako would keep pulling the blanket and leave me out in the cold, and I was trying not to squish mika. But it went ok, although we discovered too late that mika was hot while I was cold, and we swapped our places too late. Today, we'll go find the Freedom Trail and walk a bit around it, meet gravity and zufus for lunch, and I will sadly have to go back to Cambridge, quickly pack and head to the airport to catch my plane. My hours in North America are expiring.

Martin F. Krafft: Which DNS server?

We are setting up a new server, which is supposed to run a DNS server. I have been a long-time user of djbdns, which has always worked fine for my needs, until I found out that it is not protocol-compliant (just ignore Brad Knowles posts to that thread, please). So what should I use now? djbdns has been okay, but I would not mind moving away from its godforsaken licence and asshole author. However, BIND was the reason back then why I chose djbdns in the anything-else-but-BIND-please manner. Do I have to go back to it and its awful zone files with redundancies all over the place? Or are there good alternatives? I will need to be primary, secondary, and ideally dyndns provider... let me know (and I will summarise).

Aigars Mahinovs: Vantu bridge

Yesterday I received my new Canon 350D and of course most of the evening was spent trying it out on different subjects, with different lenses, in different settings. The results look quite awful - the camera exposes any your mistake :). But I will still try to stand by my idea of trying to do a photoblog of one picture per day, so here goes yesterdays best picture.

Vantu bridge
Van u tilts

14 November 2005

Andrew Pollock: [tech/security] Is there a new BIND vulnerability lurking in the wings?

In recent times I've started seeing something in my logs that I haven't seen before. I'm yet to do any further investigation, but I suppose the next steps would be some packet captures and BIND source code poking...
Nov  8 02:13:16 daedalus named[6933]: errno2result.c:109: unexpected error:
Nov  8 02:13:16 daedalus named[6933]: unable to convert errno to isc_result: 14: Bad address
Nov  8 02:13:16 daedalus named[6933]: dispatch 0x80f6970: odd socket result in udp_recv(): unexpected error
Nov  9 01:08:33 daedalus named[6933]: errno2result.c:109: unexpected error:
Nov  9 01:08:33 daedalus named[6933]: unable to convert errno to isc_result: 14: Bad address
Nov  9 01:08:33 daedalus named[6933]: dispatch 0x80f6970: odd socket result in udp_recv(): unexpected error
Nov  9 10:01:13 daedalus named[6933]: unable to convert errno to isc_result: 14: Bad address
Nov  9 10:01:13 daedalus named[6933]: dispatch 0x80f6970: odd socket result in udp_recv(): unexpected error
Nov  9 10:01:13 daedalus named[6933]: errno2result.c:109: unexpected error:
Nov  9 10:01:13 daedalus named[6933]: unable to convert errno to isc_result: 14: Bad address
Nov  9 10:01:13 daedalus named[6933]: dispatch 0x80f6970: odd socket result in udp_recv(): unexpected error
Nov  9 10:01:13 daedalus named[6933]: errno2result.c:109: unexpected error:
Nov  9 10:01:13 daedalus named[6933]: unable to convert errno to isc_result: 14: Bad address
Nov  9 10:01:13 daedalus named[6933]: dispatch 0x80f6970: odd socket result in udp_recv(): unexpected error
Nov 11 00:02:35 daedalus named[6933]: errno2result.c:109: unexpected error:
Nov 11 00:02:35 daedalus named[6933]: unable to convert errno to isc_result: 14: Bad address
Nov 11 00:02:35 daedalus named[6933]: dispatch 0x80f6970: odd socket result in udp_recv(): unexpected error
Nov 11 00:02:35 daedalus named[6933]: errno2result.c:109: unexpected error:
Nov 11 00:02:35 daedalus named[6933]: unable to convert errno to isc_result: 14: Bad address
Nov 11 00:02:35 daedalus named[6933]: dispatch 0x80f6970: odd socket result in udp_recv(): unexpected error
Nov 13 02:05:47 daedalus named[6933]: errno2result.c:109: unexpected error:
Nov 13 02:05:47 daedalus named[6933]: unable to convert errno to isc_result: 14: Bad address
Nov 13 02:05:47 daedalus named[6933]: dispatch 0x80f6970: odd socket result in udp_recv(): unexpected error
Nov 13 02:05:48 daedalus named[6933]: errno2result.c:109: unexpected error:
Nov 13 02:05:48 daedalus named[6933]: unable to convert errno to isc_result: 14: Bad address
Nov 13 02:05:48 daedalus named[6933]: dispatch 0x80f6970: odd socket result in udp_recv(): unexpected error
Nov 13 23:03:05 daedalus named[6933]: errno2result.c:109: unexpected error:
Nov 13 23:03:05 daedalus named[6933]: unable to convert errno to isc_result: 14: Bad address
Nov 13 23:03:05 daedalus named[6933]: dispatch 0x80f6970: odd socket result in udp_recv(): unexpected error
Nov 15 02:37:32 daedalus named[6933]: errno2result.c:109: unexpected error:
Nov 15 02:37:32 daedalus named[6933]: unable to convert errno to isc_result: 14: Bad address
Nov 15 02:37:32 daedalus named[6933]: dispatch 0x80f6970: odd socket result in udp_recv(): unexpected error
Nov 15 02:37:34 daedalus named[6933]: errno2result.c:109: unexpected error:
Nov 15 02:37:34 daedalus named[6933]: unable to convert errno to isc_result: 14: Bad address
Nov 15 02:37:34 daedalus named[6933]: dispatch 0x80f6970: odd socket result in udp_recv(): unexpected error
Nov 15 02:37:34 daedalus named[6933]: errno2result.c:109: unexpected error:
Nov 15 02:37:34 daedalus named[6933]: unable to convert errno to isc_result: 14: Bad address
Nov 15 02:37:34 daedalus named[6933]: dispatch 0x80f6970: odd socket result in udp_recv(): unexpected error

Wouter Verhelst: Automatic networking

A long time ago, I wrote:
In these days of VPN, IPsec, dynamic routing, tunnels, IPv6, and autoconfiguration protocols, one would expect that it would be possible to configure a laptop to find all kinds of hosts automatically, both for those that are network-specific (proxy servers, NNTP-servers), and for those that are not (mail servers, version control systems, ...).
I then went on to say that I could not, at the time, expect my laptop to find those networks by itself; every time I logged on to some network, I had to set up at least two SSH tunnels. I received a lot of feedback to that post, and I now do have my laptop set up so that it configures itself automatically if necessary. Well, almost; see below. This is what I've done: I don't use ifupdown on my laptop anymore. The package is installed and configures my lo interface, but that's it—nothing else. Instead, I'm using whereami to configure my network cards. Whereami is an excellent piece of software that is configured through two configuration files: detect.conf and whereami.conf. The former has a pretty peculiar syntaxis, which you'll need to get used to at first; but it's very powerful. There are a few things you can do in detect.conf:
  1. Run tests. A test will check whether a condition is true, and set a location based on the result. An example of a test could be
    testmii eth0 lan
    
    which checks whether the MII detects a cable (testmii) on eth0, and will set the lan location if that is true. Tests are the raison d' tre of detect.conf; the point is to run as many relevant tests as possible, to get as much information as possible about the location where you are; that way, you can configure the system later on from whereami.conf (see below). There's other things like testdhcp (check for the presence and/or the returned IP address of a DHCP server), testap (test for the presence of an Access Point), testmodule (check whether something loaded a given kernel module), or even testarp if you're desperate (to test whether a node with a given MAC address lives on the network).
  2. Checking locations. For instance, you might want to run testdhcp on eth0 only if the location lan is set already. This way, you don't get timeouts if you're on the train or anything. Checking locations is done with if <location> ... elif <location> ... else ... fi. Which is to say, you get a multi-line block of if structures, in which you can then run other tests conditionally. I'm just too lazy to write it out here :-)
    Unfortunately, it is not possible to nest if structures in detect.conf; but I don't think it's actually necessary for the detection (it might be nice for whereami.conf later on, but there the issues can be worked around).
  3. There's also the possibility to do things like setting environment variables, default locations, and some similar housekeeping things.
It is possible to set more than one location from detect.conf; for example, right now my laptop claims it's at werk,dhcp,lan. At home, it detects it's at thuis,dhcp,lan—unless I use my wireless interface, in which case it detects it's at zd1211,thuis,wlan,dhcp,wdhcp After whereami finished the tests in detect.conf, your network should be working (provided you have a network cable plugged in, or are in the vicinity of an AP that you can connect to). Next, it will process whereami.conf. The genius of whereami probably lies in whereami.conf: this is a simple shellscript, but every line can be preceded by one of +, -, or =, followed by a location. For example, I have (amongst other things) this set up in my whereami.conf:
+lan ln -sf /etc/news/leafnode/config.generic /etc/news/leafnode/config
+werk ln -sf /etc/news/leafnode/config.werk /etc/news/leafnode/config
+thuis ln -sf /etc/news/leafnode/config.thuis /etc/news/leafnode/config
Whereami will check this file for any lines that start with '+' followed by a location it's going to, or '-' followed by a location it's leaving from, or '=' followed by a location it's either leaving from, going to, or staying at. It then removes the +/-/= plus the location, and dumps the rest of the line to a file; that file is then ran as a shell script. In other words, the above code will overwrite my /etc/news/leafnode/config with an appropriate configuration, depending on what network I'm entering. I don't have to reconfigure NNTP servers anymore. Nor do I need to set up any tunnels—whereami does all of this for me, and more. Next, since a few weeks, I've also added ifplugd. Previously, when I would get my laptop to resume from swsusp, I would need to manually run whereami afterwards; with ifplugd, this is no longer necessary—I just removed the ifupdown script in /etc/ifplugd/action.d, and replaced it with a whereami script that I quickly wrote myself (not as if it's hard, obviously). There's just one thing left: the proxy server. There are just way too many programs that one needs to configure to use a proxy server (or not) in Linux; and though it's possible to configure a proxy server by letting firefox "detect" it, I have no clue how that's done. Additionally, programs that use proxy servers through environment variables can not be reconfigured, unless one logs off and on again. I guess I'm looking for something that will do transparent proxying if there's a proxy server on the network, or just forward the requests to the remote server if not. But that's for another time.

Jordi Mallach: The source of all evil

Yesterday was a very, very intense day, and I had lots of fun. Clint, sladen and I headed to Chinatown walking, with a few detours to be able to checkout Manhattan's skyline. The view from the other shore is awesome, even with the two towers missing. When I compare the current view with how it was four years ago, I understand how much the city has changed without them. They were so impressively big that I just can't picture them too well in my mind.


The skyline of South Manhattan We walked over the Brooklyn bridge, giving me other very cool views of Manhattan, while I hammered Clint with questions about this and that. I saw that since 9/11, you can't go past the Town Hall. "Security reasons", of course. I was very surprised to see police cars in every single street. It's like a Police State, and if you ask me, it didn't make me feel safer. After some walk, we finally got in Chinatown, which is the craziest place ever. People sell stuff on the sidewalks, and many streets are packed with people. We had to meet with mikah, biella, dilinger and his cat at some Chinese place for breakfast/lunch. The place, as Chinatown itself, was crazy. As soon as we sat down a few waitresses landed a few plates on the table, without asking or anything. A few minutes later I could see that the way they serve you is going around with carts with lost of food, and you either want it or not. We left dilinger at the metro station, and moved on to the SoHo. I wanted to go to the SoHo Apple Store to see if they knew about replacement Spanish keyboards for my Powerbook. My powerbook was bought in the US last year, so it has a US keyboard. This is mostly ok, but only mostly as it's missing a key. After SoHo, we went back to Chinatown to pick up bubbles. It was nice to see her after Debconf, and she made the effort to come just for a few hours even if she was ill and had lots to do in Philly. We headed to South Street Port, where I had a long chat about Cuba with micah while we sat on a bench looking at Brooklyn bridge. And then, we gathered all our braveness and headed to the heart of the beast, to the kernel of the system. We walked into the Financial District, and soon enough I was walking in Wall Street no less. If I breathed hard, I could smell the money. The road was paved in gold, and there were skyscrapers everywhere. I discovered the rulers of this world had opened a "public space" in JP Morgan's building. To their despair, probably, it had been taken over by the poor. I wonder what Bloomberg will do about it. As I walked up the street, a strange feeling in my heart grew and grew, until, behind a corner, I saw it. The source of all evil was ahead of me, guarded by George Washington himself.


The New York Stock exchange and it's black evil aura of Capitalism I was standing ahead of this building where so many people behave like bastards everyday, pushing millions to povery for a bit more profit margin. The doors were closed and surrounded by security officers, which despite being asked politely, didn't let us in for "security reasons". Next to it was the Church of Capitalism, at the end of the street. It's curious that such an old church still stands where it was build near the harbour probably a century ago, now surrounded by some of the most modern and tallest buildings in the planet. And then, we visited the bull, which I didn't know is the "friendly" symbol of how Capitalism works.


I had Capitalism by the balls We moved down to Battery Square, past the old US Customs building with the four statues representing the four continents. We saw the damaged sculpture which lived in the WTC, and sat down at the pier to watch a beautiful sunset over the Statue of Liberty.


The Statue of Liberty seen from South Manhattan At that point, biella and micah had to meet some friends at one cinema to see the Wal-Mart documentary. We went to a funky place to have some tea, decided to go see Times Square and then walk to Central Park. At the time, mako was arriving to NYC on the Chinatown bus, so we agreed to meet in a restaurant to have lunch. Paul Sladen finally managed to get lost, after many tries during the day, and wasn't seen until we got back home. Mako and Mika waited for us at the door of an... ethiopian restaurant in the SoHo, despite Mako knows I can't stand spicy food. But in the end it wasn't so bad, I just needed a few more glasses of water than average. And I finally got to know mika, after lots of time of chatting over IRC. Greg, SPI's lawyer, also appeared, and was a nice addition to the group. Mako knew where to take us after that. The Belgian bar was packed, but there was a private party in one of the spaces and we took over some of that space. After a few rounds, we were ready to leave the pub and go for Falafel and some tea. I was terribly falling asleep though, so instead of tea we took a cap back to Brooklyn, where we found Paul waiting at the door. After an hour of inflating a mattress, we were ready for sleep, at 4AM. It didn't look like the morning after would be very productive...

Daniel Stone: [tech] on the iaudio m3

There's a lot of debate going on across Planet freedesktop.org (okay, so just Havoc), and Planet GNOME (most everyone else) about marketing of media players right now. Discussing iAudios seems pretty timely.

Convinced by Jimmac, and also the shiny look, I skipped off to buy one while I was in the UK late last year. My iRiver was alright, but it was absolutely massive and very heavy, so it just had to go. I grabbed one, and have been very happy with it ever since. But with a few bumps in the road.

In April or so, my remote's display suddenly stopped working. Apparently this was a known issue with that one batch of remotes, and everything else was OK. So I eBayed a new remote at a cost of around $au115. Ouch.

Some time after that, I was attempting to reset it on the train, after it hung. Turns out that the reset button is a relatively small part of a small plastic mount, perpendicular to the mainboard. And if you poke the wrong part of it with a pen, you can snap the whole bloody thing off.

About a month ago, I just lost the ability to charge off AC; you could only do it if you were holding it at a weird angle, and eventually it just lost that ability. Which I found weird, since it's not a direct plug; there's a small breakout adapter which contains the plug for it. So it's not like the contacts on the plug in the device itself are just weird. Same problem with the cradle. So I resorted to overnight charges off USB (gah).

A while ago, the final straw in terms of it finally losing day-to-day usability was that it stopped making proper contact with the 3.5mm headphone plug, so if you held it at an angle, it just barely worked, but you got the occasional burst of awful, loud, electrical noise.

It hasn't been treated especially badly; just a lot of use, in my pocket every day, contending with my phone for space. But in just under a year, it's almost completely disintegrated.

The only reason why I bought it really, was because a lot of my older CDs have been destroyed (two roadtrips with a friend, and his car turned out to have some sand in the tray ...), and I'd really rather not transcode from Vorbis to either MP3 or AAC. But I'm pretty sure my next purchase will be a G3 40G iPod off eBay, because the clickwheel is an utter abomination. Say what you will about their marketing, sales in Europe, or whatever (FWIW: they're mindblowingly popular in Australia), but the G3 design is far and away the best design I have ever seen in any music device since my beloved MZ-R900, which met an unfortunate end when it hit ashphalt at high speed. It's quite beautiful, and the UI Just Works.

Compare this with the iRiver, which is clunky and awful to use, and the iAudio, which is the same, but with some bizzare additions. Such as the two clickable jog wheels. One of them is the 'action' button (think: the Navi key on Nokia phones), and the other brings up a context menu. Except when you go into the options, whereby the action button brings you back to the main screen, and the context menu thing is the 'action' or 'OK' button. Totally bizzare.

13 November 2005

David Welton: Late to the party

Something I'm really curious about is why the Java folks suddenly stood up and took notice of Ruby. Is it just Rails? Did Rails arrive in the right place at the right time? It's not a rhetorical question - I don't have a lot of insight into the Java world, so I'm genuinely curious as to what sparked this interest in "beyond Java". Python's been around for a long time, and isn't that different from Ruby. Tcl with Tk runs circles around Java for cross platform GUI development. PHP, even if it's not the cleanest or most glamorous thing out there, makes whipping up small web tools easy. (I'll concede that Perl has a culture that is too far removed from a lot of the things Java tries to do). And all those have been under everyone's noses for years. So why all of a sudden is Ruby the "hot new thing" that is to be embraced, rather "defended against", as we often see in such programming language "willy waving contests". Was this something that was just waiting to happen, and all it took was something to coalesce around? Were people in that world starting to get wrist injuries from typing out so much stuff, and on the lookout for "something else"? Joking aside, I really am curious, because over the years, I've developed an interest in how these things work. I talk about it some in The Economics of Programming Languages, but that's clearly not the whole story. Java and its human resources requirements Another thing I've been idly wondering about is whether perhaps Java got pushed a lot (perhaps unconsciously) by big companies, because 1) it is a good solution for big teams 2) some aspects of it are so big and unweildy that only companies that can muster the manpower to throw at it are going to do well with it, meaning that smaller shops would either have to not compete in that market, or compete poorly. Obviously, it's not strictly necessary to use Java - more often than not, you could accomplish the same thing in less time with some other system, however, the "other pincer" is the marketing out there that Java is the "serious, corporate, enterprise" solution, and that anything "less" just won't do. This gives firms an incentive to use Java even when it might not be the best solution, and helps create a market where it's a given that the solution is some Java system, and the bigger company, being able to bring more people to bear, may have an edge. Anyway, just some idle speculation - what do you think?

12 November 2005

Christine Spang: Mutt sucks less

So, I’ve recently switched to Mutt for mail-reading purposes, and aside from it taking a motherload of all time to get all the necessary parts setup and configured properly having never done it before, I am so far extremely happy. It looks like it’s going to be a huge timesaver overall once I have everything tweaked to my liking. Yay for Erinn giving me her super muttrc file which was incredibly helpful and neato. (Though I’m still tweaking the display colours in it: I agree, helix, I don’t like yours. :-p) All I need to do now is get my spam filtering setup in both procmail and the necessary hooks in Mutt, and add a few macros of my own. (And finish fleshing out my aliases.) Oh, and I need to fix some of my procmail rules, probably to sort by List-Id instead of ^TO, because I believe many of these lists are using bcc or something which breaks my list filtering. I haven’t looked at it too much yet. One of my friends gave me lots of digital pictures from various things: Home-brewed Halloween fun: I was traumatized that I forgot my cross at home. I also apologize for any trauma caused by this picture. (Yes, all three of us are indeed girls.) Edit: added in proper image thumbnail to not be evil.

Bartosz Fenski aka fEnIo: preparing to upload new fuse

I'm working on new fuse (filesystem in userspace) packages and I really wonder if I should simplify their postinstallation procedure as it was mentioned in #337572. That would make my life much easier, cause there's quite many bugreports against undefined behaviour of post-debconf tasks, which are pretty hard to track for me. In fact I suppose that most users simply accept default answers so asking them about anything seems to be overhead.
Let's assume I will remove these superflous questions... now the problem is that if someone answered for them in some previous installation then I could leave unneded group and some config files on their systems. On the other head removing this group could even lead to nonworking system because of one of these bugs: #307624, 307627, 306281.
I'm quite confused what to do now. Both solutions have some advantages and disadvantages. First one at least could lead to less bugs in the future. Hints welcome.

Ian Murdock: The thin(ish) client revolution

David Berlind: “[P]icture a world where, instead of carrying a notebook computer with you everywhere you go, and instead of having power-drinking desktops in every corner of your house, all you have is a USB key that you take from one dirt cheap thin client to another. On that key is not just all of your personal data (that is stored in the cloud but replicated to your USB key for offline usage), but perhaps a small Web server and some applications, both of which are thin-client friendly.” I’m in complete agreement that the thin client/web application computing model is the wave of the future, and that the days of the fat client as the primary mechanism for monetizing software are numbered. However, I don’t buy into the notion that software-as-a-service displaces the traditional fat client entirely, for one very simple reason: It’s going to be a while yet before we have truly ubiquitous network connectivity. Sure, perhaps if you live in the San Francisco Bay area or in a similarly technology centric place, it’s easy to buy into the notion that it won’t be long before we’ll all be connected all the time. However, we can’t lose sight of the fact that a vast majority of the population doesn’t live in a world where technology billboards dominate the morning commute. Heck, my cell phone doesn’t even work when I visit my grandfather in rural Indiana—the notion of an omnipresent wifi fabric built from community hotspots is a long way off there, to put it mildly. And even when we do get to the day when we have ubiquitous connectivity, we’ll still want caching for optimization and replication to eliminate the single point of failure problem, not to mention the ability to retain control over our own digital lives. So, I view the thin vs. fat client juxtaposition as being not so much about user experience—AJAX has shown us that remarkably good user interfaces can be built on the web. It’ll be more about caching and data replication, two very important considerations in any distributed system. I think most people are missing that. David, as usual, appears to get it. My prediction: Applications will increasingly move to the web, so you’ll be able to get to your data anytime, anywhere, and from any connected device. No surprise there. But the majority of the time, when you’re using “your” client device (whether it’s a PC in your home or office or a handheld device or something that lives on a USB key and securely attaches to the network via some device that’s outside of your administrative control), you’ll still primarily interact with the web through a fat client of some sort. To be sure, the fat clients of the future will look a lot different from the fat clients of today. Hint: “Fat client” doesn’t have to mean “self-administered”. Perhaps the fat clients of the future are delivered on demand or via independently developed components that integrate into some larger framework. Perhaps it’s as simple as running a web server locally. But the fat client in whatever form will still be the primary interface the vast majority of the time. That’s why I don’t buy for a minute that Web 2.0 is yet another death knell for Microsoft. They’ve obviously got a great fat client story, and in case you haven’t noticed, they’ve just woken up to what’s going on around them. By the way, this is the area where I think Linux on the desktop could have the biggest impact—it won’t be about who has the better desktop or who can replicate the popular fat client applications of today in open source. It’ll be about who can mold Linux into the fat client framework of the future, seamlessly integrated with applications and services delivered via the web but open. If I were Microsoft’s competitors in this space, namely Google and Yahoo, I’d be spending a lot of time thinking about this. In today’s fat client world, Microsoft is between them and their customers more often than not, and if the past is any indication, they’ll be able to use this position to tremendous advantage.

Antti-Juhani Kaijanaho: This sounds familiar

Cleaning my apartment is a bit like going on an archeological dig: A dried spaghetti noodle... when did I have spaghetti for dinner? Oh, yeah, three weeks ago.
(Tall Dark and Mysterious: See You in Ten Days)

Anand Kumria: IPv4 Link Local addresses

<p> <a href="http://blogs.gnome.org/view/jamesh/2005/11/02/0">James Henstridge</a> notes that <a href="http://www.progsoc.org/~wildfire/zeroconf/">zeroconf</a> can cause large amounts of network traffic. Yes, that was true back in July. A <a href="http://bugs.debian.org/317655" title="bug 317655: Zeroconf crucifies the network">bug</a> was filed and then fixed within 2 days. </p> <p> This was because I was at <a href="http://www.debconf.org/debconf5/">DebConf</a> and able to see how zeroconf performed in a large environment. Basically there are two tests you do to determine whether an <abbr title="Address Resoultion Protocol">ARP</abbr> packet is destined for you. And at the time, zeroconf, was only doing one of them. </p> <strong>Update: 18:20 AEST</strong> <p> <a href="http://www.davyd.id.au/">Davyd</a> asks why would you use zeroconf over <a href="http://people.redhat.com/dcbw/NetworkManager/">NetworkManager</a>. I haven't been able to put my finger on exactly why, but I feel the design is wrong. </p> <p> I do believe there should be an <em>overall</em> co-ordinating process looking after networking on the user-space side of the fence though. I've been thinking about writing something which would do it too; but I haven't fleshed out my ideas enough to commit my editor to coding. </p> <p> Oh, one bug that NetworkManager does have is that it only allocates <abbr title="Internet Protocol v4 Link-Local">IPv4LL</abbr> addresses when it fails to acquire one from the DHCP server. This is wrong and goes against <a href="http://www.rfc-editor.org/rfc/rfc3927.txt" title="Dynamic Configuration of IPv4 Link-Local Addresses">RFC3927</a>. </p>

11 November 2005

Joe Wreschnig: More Python

I’m writing a registration database for Anime Detour, our local anime convention. Normally I would hate this kind of work (does anyone actually like SQL?) but SQLObject, which [info]gesten pointed me towards, is really awesome. It basically turns any SQL database (in my case SQLite) into a Python object database, with classes as tables, instances as rows, and Python class methods for queries. People stuck writing database code should definitely check it out. Another Optimization Lesson
Quod Libet stores a library of your music, like most other players. The most common things the library needs to do, and therefore the most efficient things it should do, are 1) get a list of songs in the library, and 2) check to see if a song is in the library (or equivalently, given some handle, retrieve the song with that handle from the library). Anyone familiar with Python will probably think of a dict keyed to something unique, like the filename or URI. That’s what I did, and that’s what I wrote. When QL saves, it serialize the song list using pickle, and dump it to the library: pickle.dump(library.values(), file). When it loads, it does something like for song in pickle.load(library): if song.valid(): library.add(song) where song.valid() reloads the song if its mtime has changed or removes it if the file no longer exists. So what’s the problem with this code? I sure didn’t see one until this morning, when our Italian translator complained about interestingly long cold cache startup times. The answer’s at a lower level than Python programmers usually have to work at: This sucks for disk cache. library.values() dumps the file in Python dict order, which is not only not meaningful, it’s actually semi-random for security reasons. When I reload the dumped file and iterate through the songs in it, I’m stat(2)ing files in an order designed to be as unpredictable as possible. How is the cache supposed to cope with that? The answer is, it doesn’t. Sorting the songs by filename when saving the dict costs almost nothing (Python out-sorts every other language as far as I know), but saves 10% wall clock time for me when starting - it will probably save even more on filesystems that perform poorly on stats of large files (reiser3), and directory trees that go more than 2 levels deep. Lessons learned: First, CPU profiling is good, but doesn’t have all the answers; profile.py insists the program is slower because of the sorting on exit. Second, ideas that work fine for n=100 don’t work well for n=10000 even if the algorithm you chose scales well with regard to complexity theory. Finally, the fundamentals still matter; fixing slow Python code still makes you consider OS/hardware-level cache effects.

Martin F. Krafft: Seeking a multifunction printer

As I will be operating from a home office from now on, I am looking into getting myself one of those multifunction printers, to be able to make photocopies and the occasional scan, in addition to my need for good and fast printouts. A fax option would be nice should I decide to get a land line again. But the quest is painful. The first decision is between ink and laser. Since I would like to print mainly text, a laser seems like the better choice, and the HP LaserJet 3030 or HP LaserJet 3380 seem interesting at first, but both apparently suffer from "unimpressive print quality." So then there are the HP Color LaserJet 2820 and HP Color LaserJet 2840, but I don't think I will be needing a colour laser printer anytime soon, and these printers are said to be loud and slow, and the scan quality is mediocre. Other laser multifunction devices include the Brother MFC 7420, which is mediocre at best. So, onto the ink jets. The HP PSC 2355 looks interesting (and it's cheap). But it's crap at scanning and lacks and automatic document feeder, something I'd really like. So, staying with HP for two more, there are the OfficeJets: 7210 7310, 7410, 9110, and 9130. Here, the 7410 seems like the clear winner, and it also does duplex printing, but it's way expensive. Plus, it uses the braindead HP b/w + colour dual cartdridge system, which is not very economic at all (and HP enforces HP cartridges with a chip, so printing will be expensive in the long run). ... this brings me to the final three of the printers I looked at: the Canon Pixma MP780 and MP800, as well as the Epson Stylus CX6600. These all have separate cartridges per colour, which seems to me to be way more economic. The MP780 has an automatic document feeder, the MP800 does not. If I were on a Windows machine, my choice would be between the Epson Stylus CX6600 and the Canon Pixma MP780 . Unfortunately, linuxprinting.org doesn't list either of them, so I am somewhat hesitant. While I expect all HP printers to just work with Unix these days, I am not sure about Canon and Epson at all -- CUPS does not list them as supported, although gs has an epson driver it seems. ... and when I am done figuring out which device can be used as a printer from Debian, I'll have to look at the scanning. Unfortunately, Sane does not seem to support any of the printers mentioned above. What a joy. Fucking manufacturers. (If you have any thoughts on that matter, please let me know.)

Uwe Hermann: Lots of 22C3 stuff

22C3 Logo Tim Pritlove Jens (argh, need some sleep!) from the Chaos Computer Club (CCC) has asked for more english blog posts about 22C3, the upcoming hacker conference in Berlin. So here you go. Reminder:
The 22nd Chaos Communication Congress (22C3) is a four-day conference on technology, society and utopia. The Congress offers lectures and workshops on a multitude of topics including (but not limited to) information technology, IT-security, internet, cryptography and generally a critical-creative attitude towards technology and the discussion about the effects of technological advances on society.
The congress (sub-titled "Private Investigations") will be held from December 27th to 30th, 2005, in Berlin, Germany. Some noteworthy bits and pieces: This is gonna be one of the highlights of this year, I'm really looking forward to the congress.

10 November 2005

Jordi Mallach: Discovering Montr al

It's been a week since I arrived in Montr al, and had not had a free minute to blog about it. There's tons of things to write about, the activity and fun has been mostly non-stop. The travelling wasn't perfect, as always I could not sleep a single minute. Instead, I watched Charlie and the Chocolate Factory, which I had wanted to see for some time and was nice, and Batman Begins, which was positively surprising, being a Batman movie. When I arrived at Montr al's airport, the fun started soon enough. Coming from Spain and having this scary looking face and beard didn't help much to survive customs. When I got in the line and handed my arrival card, I was sent to the immigration office straight away. I was asked what I was coming to Canada for. "To a computer conference", I said. Well, having no "invitation" or anything for this conference made me a quick suspect. After being freed, I walked on my way out, and on the next control, I had my bag searched. And again... "Do you have any document about this conference?". And then, to the real baggage inspection room. As the guy started opening my bag, I suddenly remembered about the fuet I was carrying for Vicente, while I had said, confidently, "No I don't carry any food" in my card. Luckily he saw I was carrying a DragonLance book, liked it and let me go. The next thing was, while waiting for the bus that should take me to Downtown Montr al, my first conversation with a non-airport staff Canadian. So this old woman in her seventies comes along... and the first thing she says... "I hate those fucking moslems". I try to not look too much like "WTF!?" and without replying, listen to this totally moronic and racist monologue about how moslems in Canada come to the country to not work and live of the country's welfare. "Why should they work? They stay at home, and watch TV and fuck. That's all they do. The more kids they have, the more money they get. I don't believe in welfare". So I got on the bus quite shocked. After a bus trip and lots of walking due to forgetting I had to get on another one, I got into the hotel, and started meeting all the people. My first dinner was with Gustavo, Salgado and Carlos, and I felt I wanted to die, I couldn't keep my eyes open. The conference started next morning for me, and has been the usual dynamic as always, only that now it's the first time that I really find myself somewhat useful during the sessions. :) Meeting mdz and kiko happened that morning. That was when all kinds of stuff started to happen. Why do I have to get such bad influences?


Kiko and I managed to not fall over while taking all of these pics in Mont Royal

Jose Carlos Garcia Sogo: Debian Sarge on the press

Yeah! Of course Sarge was released some time ago. How is it in the press now? A Spanish national newspaper, El Mundo is starting a software collection that is going to be given with printed newspaper. All of the included programs in the collection are for Windows OS, but with the first CD there is included a bonus DVD 9 with Debian Sarge in it. And these days they're advertising the software collection in radio and in the newspaper itself using the "Debian Linux 3.1" DVD as a major point in the collection. They are also going to distribute the ISO online after some time. Of course, I am going to get one.

Aigars Mahinovs: No that I have had time to consider my reactions, ...

No that I have had time to consider my reactions, I will write down, what was my experience in Dublin, when I went for a on-site interview for a job in Google. First of all, I had to sign an NDA before entering the office, so I can not tell you about anything that I learnt there. Still this is a huge post, to save me first impression, so that I can look back on it in the future (like tomorrow morning) and see how naive I was. :)

The first thing I noticed after arrival to Dublin was that the highway from the airport to the city was under repair. I was lucky though as I arrive at night and there was almost no traffic. The highway looked strange compared to highways in Belgium, Germany or UK - it had all those strange twists and turns and splits and merges - it looked like the highway was build adapting it into the space between other roads and buildings, like it was some kind of a country road. Oh and that driving on the left side - freaks me out every time.

After I arrived to the hotel and checked in, I discovered that executive suites of 3 star hotel look much like regular suites of five star hotels I've been accommodated earlier in my life. One more fun fact found me soon - the power plugs are all wrong :) When I was in UK some time ago, all homes that I went to used usual EU type plugs, so this was the first time I saw a UK plug in action. Needing power (a computer geek always needs power) I searched for a solution. I thought that I found one, when in the bathroom I found three round holes marked "for shavers only". I responded - "but this is an emergency" and tried to plug my notebook in anyway. Unfortunately they have thought about that - shaver plugs are thinner and just a tiny bit closer, so the regular power plug does not fit in shaver socket. Damn! Oh well, then I'll have to sleep.

Next morning I walked around the area of Google EU Headquarters scouting the surroundings. I found that the building, where the headquarters are, is still under construction - I am sure Google advised the builders on some minor adjustments ;). Just across the street there is a large block of residential houses. Small residential houses. I've seen apartments bigger then some of those houses. I also found several nice apartment houses: from the common "windows that Cappuletti will not climb trough" to modern housing with large windows and modern decor. I also saw the first backyard street in my life - a street less then half a meter wide between two lines of backyards. Diverse life. And that was only one neighbourhood - less then 5 minutes from Google office.

After the interviews were over, I planned to go to see the city center. Unfortunately looking on the map of the city did not provide any clue to discovering any such place. No central building, no central square, no central monument or park. Nothing - just a maze of streets. Well, I hit the maze. What I saw was a flood of people, just like in Riga on Friday night (it was Friday). The difference was that because of the lack of clear centre, the mass of people floated in a larger area. I noticed lots of very special shops that would have not survived in Riga (belt buckle shop?) and a general lack of big supermarkets that we are used to here. Also the people seam to be much more ignorant to traffic rules - it is easy to see people streaming across a street despite a red streetlight.

I can also touch a bit on food, as I tried the food in hotel and in a local fast-food place. Well, the situation in Ireland is much more positive towards fast-food. In Latvia the regular food is both much better and a bit cheaper then fast-food. In Ireland the quality level of regular food seams similar to the fast-food while the price of fast-food is lower. I rated the quality by the taste of meat, where perfect meat is from a wild animal shot in a forest and prepared straight without any additives, and worst meat is slice of fast-food hamburger meat with all the salt and additives they put there. Of course I couldn't get a clear sample within my short stay, but I tried to be as objective as I could.

The conclusion? In my mind, moving from Riga to Dublin will be a downgrade in life quality. Google's offer must be good enough to compensate this, if they want me in. We'll see soon enough. I should have the answer before next week.

P.S. The level of spam in my mail has reached 11 000 per month. Yay! :P

Next.

Previous.