Search Results: "ron"

10 March 2007

Benjamin Mako Hill: What's Wrong With My iPod?

Last November I wrote about an iPod liberation party we held in Cambridge. As I mentioned then, it was a huge success. Mika just got around to polishing up a short documentary video she made from footage at the event and a few interviews afterward. The documentary is called, What's Wrong With My iPod? and it acts as an introduction to DRM on iPods and what we can do about it. The video introduces the concept of DRM, the dangers it brings, and describes the role it plays on the iPod. The second half is about iRony, our iPod liberation party, and RockBox. Please pass the video links around to your friends -- especially those who might not be up to speed on DRM. If it inspires you, think about running your own iPod Liberation Party (instructions here). You can view it on blip.tv (only MP4 until their converter catches up), on YouTube, or you can just download the OGG theora file (also in high quality).

9 March 2007

MJ Ray: Gov: Links for 2007-03-09

We the undersigned petition the Prime Minister to promote the use of Open Document Format within the UK government.
Government documents must be available for tens if not hundreds of years. Currently much electronic documentation is stored in proprietary formats, such as Microsoft's .doc format. In order to allow future generations access to these documents it is imperative that they be in a fully documented standard. Open Document Format (ISO/IEC 26300:2006) is now the international document standard and as such should be supported by the Government.
The Weston Mercury - News: Council chief probe costs 34k
This happened in North Somerset and I remember something similar happening in West Norfolk. When will councillors stop using expensive lawyers to defend themselves at the taxpayers' expense?
opensource - epetition response
Ambivalent reply from the PM's office.
Town and parish councils
Kewstoke is used as a case study, but the link goes nowhere now...
The Irascible Professor-commentary of the day 02-08-07. Movie star teachers.
I've given up watching hero-teacher films. It's really not like that. I guess the oppressive bureaucracy of state education, with pressure from executive teachers to fiddle the student numbers, wouldn't make a good film.
The Irascible Professor-commentary of the day 03-06-07. Why I hope mhy children won't become educators.
Don't let your children grow up to become salesm^Wteachers.
NO2ID:newsletter 66
"Saturday, 10th March - King's Lynn street stall to advertise forthcoming public meeting, from 10am. Volunteers needed! Contact kings.lynn@no2id.net or text/call James on 07778 966395."
Tories want to free (software) Whitehall
The shadow chancellor gets all over the BBC as a result of his party's latest conversion.
Neighbourhood Fix-It
Another better-than-local-councils system from MySociety.
Concerto for blunt instrument: Ode to the No Longer Active
"We held a place for you // But you were busy // You've been so busy lately."

Edd Dumbill: My preview of the O'Reilly Emerging Technology Conference 2007

I was honoured to be on the ETech 07 programme committee. Alas, I can't get there this year due to the very enjoyable reason of recent parenthood. Nevertheless, here are some of the talks I'd earmarked to attend.
Creating Addictive User Experiences (Kathy Sierra)Is it possible to say too many good things about Kathy Sierra? Any project or product built with attention to her advice about empowering users gets a huge head start to popularity and success. I was fortunate enough to spend a day with Kathy last year on a training course, and it was great to see the passion and commitment from her writing runs through her as a person, even behind the scenes.Applied Web Heresies (Avi Bryant)I'd go to this one out of insatiable curiosity. I believe that web conventions enable rapid application design (c.f. REST in Rails) but here's an argument that not following them also reaps rewards. Attend this talk prepared for involvement. I've never met a Squeaker without attitude.
Making Offline Web Applications a Reality (Zimbra)A short product talk, but taking web apps offline is an area to watch. Even if you don't think offline is that important to you, many of the same principles apply to application mobility. Take that key app data off onto your phone, watch or memory stick.Collective Intelligence, Indeterminacy, and the Illusion of Control (Charles Armstrong)More user-facing stuff. How do you give a user of a large nondeterministic piece of social software the idea that they're in control? This is an important topic to me: note how many pieces of social software fall by the wayside right away. For some, it's lack of utility, but that's influenced too by the degree of engagement and control a user feels.
No Program Left Behind: Liberating TV from the Tyranny of the Ephemeral (Tom Loosemore)There is no good reason not to listen to Tom Loosemore. Especially when he feels strongly about something. The idea of this talk is a "vision of a cheap consumer device sitting under your TV that will capture, store, and share all TV, forever." The TV industry sure needs its visionaries.
Patterns: From Fabrics to Fabrication (Dale Dougherty)Dale was responsible for getting my XML career off the ground, and you can find him at work behind some of the smartest things O'Reilly's done over the years. Make magazine was one of those, and now he's moving on to Craft. Design patterns for, er, real designs.RFID Guardian: A Personal Platform for RFID Privacy Management (Melanie Rieback)
Jamming bad RFIDs. Having just taken delivery of an RFID-enabled passport, this is starting to come home to me.Super Ninja Privacy Techniques for Web App Developers (Marc Hedlund)Despite the cute title, lots of good stuff here. Expectnation is going to end up with a truck load of user registrations, and their privacy is important to me. I imagine there'll be some good debate in the Q&A session for this talk.JavaScript: It's Happening All Over Again! (James A. Duncan)I've recently got the JS bug, thanks to JQuery. It's actually a fun and malleable language to work in. I'd go to this talk looking for fellow travellers and hints, though I'm a bit skeptical about Zimki itself.

Russell Coker: SFF disks

I recently bought a refurbished HP DL385 server at auction. It turns out that it takes SFF (Small Form Factor) disks and has the ability to take 8 hot-swap disks (not bad for a 2U server).

The machine supports SAS disks and S-ATA disks as well. So the next thing to do is to buy a bunch of S-ATA disks for it.

When I got the machine it reported that the battery for the write-back cache on the RAID controller could not be recharged and needed to be replaced. Apparently this is a firmware bug and I can fix it by upgrading the firmware on the machine. Of course I need to buy some disks so I can do an OS install first.

As an aside it's amazing how cheap some of the Opteron servers are at auction nowadays.

8 March 2007

Martin F. Krafft: The Cooper Temple Clause

I went out again to the Abart music club (warning: flash content) last night to see The Cooper Temple Clause. They have a new album out, which I haven't heard, but I own and really like their first two records, which is why I decided to go. Hanspeter and I entered the venue to find it filled with loads of people about half our age, mainly of the female gender, and judging from the mood of the music spun by the pre-DJ, we concluded that it's all going to stink and be incredibly soft girly-rock. We prepared for the worst and couldn't quite get the hang of the supporting band, Flink from Lucerne, who had some interesting ideas but generally sang too much and seem to be unfamiliar with the concept of development of musical themes. When they went off, we dived outside to evade the hot and humid air from all the teenies steaming up the place, came back, couldn't decide where to stand, and finally ended up in what would proof to be the best position in the venue, at least if you want to be optimistic about it. We were far enough from the stage to actually hear the singing (as opposed to standing directly at the stage during the Amplifier concert, where we could only barely make out the words), and there was a drift of a breeze whifting away the estrogen mist. And then main act, The Cooper Temple Clause, came on and really impressed me from the start. Hanspeter took a little while to get used to and appreciate the fact that it would be three people singing interchangeably (just as all front musicians kept changing instruments), but I was blown away from the start. Ben, the main singer's voice is amazing in that he can really just scream across all octaves and put a load of emotion into his music. Dan's voice appealed to me less, but it was totally overshadowed by his amazing guitar and bass performance, which built up to a peak in the second half of the show. Tom, who DJ'd and took control over the electronics, started screaming into the microphone more and more as the show went on, and with screaming I don't mean uncontrolled vocal chord noise, but rather perfect control of the pitch and a smooth blend with the rest of the band. Really well done, guys. I am still unsure whether to buy your new record, but I'll definitely be listening to your old ones more often in the near future. And props also to the Abart location, which rose to a top position in my list of best venues in Zurich after only my second visit. NP: Disturbed / The Sickness

Junichi Uekawa: cowdancer bug 413912.

It was a bit tough. The question is about 'what file descriptor is safe to use for cowdancer?'.cowdancer is a preloaded library, and will be loaded with all applications under cowdancer control.The answer to this question will depend on the application behavior. The obviously wrong fds to use are 0, 1, and 2 which are standard input/output file descriptors,and people assume many things about them, and that was why 'screen' ./configure script failed to function within cowdancer.Using file descriptor 3 might feel safe, but applications are free to assume 3 is usable and issue, dup2 or close instructions on it.Hmmm...

7 March 2007

Russell Coker: features of BMW 5 and 7 series

I was reading the brochure about the BMW 530i Touring (which seems to be the BMW name for what is known as a "Station Wagon" in Australia or an "Estate" in Europe). I looked at the brochure on the "Touring" because I am interested in a Station-Wagon - the Sedan version of the 5 series is almost the same in every way other than size and shape.

Here are some of the interesting features:
Adaptive headlights, they turn in to a corner when the car is cornering (showing where you are about to go instead of showing you the scenery off the road) and the high-beam switches off when an oncoming vehicle is detected.

Head-up display for speed, navigation, and other driver-relevant information.

Park distance control (PDC). Gives audio and visual alerts when you are about to hit something at low speed.

Eight air-bags of which only the necessary ones will inflate in a collision, and the inflation power will be determined by the severity of the collision.

Dynamic stability control (DSC), traction control, corner brake control, and more. Described as "all of the known features of DSC".

Seat-belt pre-tensioners in the rear and pyro-technic tensioners for front seat belts.

Rain sensor that turns on headlights, and optional head-light washers.

According to it's brochure the 7 series has bumpers that regenerate their original shape in collisions of speeds up to 6Km/h and a tire defect indicator. Apart from that there doesn't appear to be much benefit over the 5 series apart from more luxury features.

To get the PDF files from BMW Australia (without following my links which BMW will probably break soon) you have to fill in a form with "contact details". To enter that form you need a browser that works with their javascript (which means not Konqueror) so that you can enter your postcode and be prompted with a list of suburbs that match the post-code. The second-last page of that process allows you to download PDF files and it seems to indicate that your data will not be stored if you don't continue past the stage where you download the PDF files. It would be good if BMW could get smart and make their PDF files as easy to download as Mercedes does.

In terms of safety features it seems that the 7 series offers little over the 5 series. By comparing the brochures it seems to me that the Mercedes S series (as described in my previous blog post) has many more safety features than any BMW. Assuming that the BMW documents are accurate they don't seem to compare well with the Mercedes S class. From a quick search on drive.com.au (the best web site for buying used cars in Australia) it seems that the Mercedes keeps it's value better than the BMW - other people apparently share my opinion of the relative merits of the cars.

In future posts I'll summarise the features of some other cars that I consider interesting.

Eddy Petrișor: "I forgot the PIN of my card" and what results from that

I forgot the PIN of my card recently, I dug into the "safe place where the PIN is written" and found that ... (let's say) I don't have it there anymore.

I went to the bank determined to reset my PIN and go on with my life. Here is a short version of the dialog:

- Hello. Your ATM has blocked my card. I would like it back.
- Ok, here you have it, but first, please tell my the secret word you wrote on the form when you made the card.
- Of course... [blabla]
- Ok. The card is unblocked, you will be able to use it in about 15 min.
- Well, yes. I would like to reset my PIN number since I forgot it.
- What kind of card do you have?
- Maestro
- I am sorry, for this type of card, we can't reset the PIN number. We will have to make another card.
- I am sorry, I think there is a misunderstanding here. Are you telling me that I have to make another card just because I want to reset my PIN?
- Yes, for this type of card is not possible to reset the PIN. We have to make another one. We don't have the list of PIN numbers for this kind of cards, so we can't reset the PIN.

[That sounds like "for other types of cards, we have the PIN numbers for every card out there listed on a tally sheet, but we don't for the type of card you have", put in another form. Spooky, huh?]

... If you had the PIN you could change it at the ATM, but we can't do that since we don't have the PIN number.

- Didn't you think that resetting the PIN is a feature useful enough to have?
- [here the broken recorder model enters the scene] For your type of card we can't reset he PIN, we will have to....

[more question from my side trying to understand why is it not possible to just ignore the old PIN and overwrite the information on the card were, of course, fruitless]

[after some time, I gave up]
- OK, how much will it take for the new card to be created?
- Two weeks.
- What? Anyway... how much will that cost?
- 7 RON (approx. 2 or 2.5$)
- OK. Can I withdraw now money from my account?
- Yes
- OK, good, at least that. I would like 500RON. Also, I would like to start the card change procedure.
- Of course.
[The guy gives me the money and starts to look into the system to start the "new card" procedure. Before giving me the money, I asked if he needed my ID or something, but I am not sure if he would have had asked me by himself, if I didn't...]
- There is a small problem...
- Oh, really? Let me guess, it is not possible to start the procedure from this sales point and I will have to go to another one...
- Yes. This card was created at the sales point in Calea Doroban ilor, through a corporate contract and I don't have access to that contract from here... Actually, if I think of it... your employer made that card for you, isn't it?
- Yes.
- In that case you will have to go to your employer and ask for a new card...

GREAT!

On the positive side, at least I can withdraw money from my account... OTOH, I didn't ask if having the card with me would be necessary to withdraw money, so I am not sure if, in the case I will have to give the card to my employer, I will be able to get any cash from the bank...

Andrew Pollock: [tech] iLO shenanigans

One of the many things I'm working on in my copious amounts of spare time is setting up the server that HP donated Linux Australia after I think linux.conf.au 2006. Said server has iLO, which facilitates remote power management and remote console, both things I want to have working on this server before it goes into production. Jon's been madly poking holes in his firewall for me so I could access the iLO stuff. I'm already liking it better than Dell's BMC, because it has things like SSH, although the whole thing hasn't been without some adventures. I fiddled around via the web interface and added an account for myself and an SSH key. Then I tried to SSH in, and promptly got stuff like
buffer_get_ret: trying to get more bytes 4 than in buffer 0
buffer_get_int: buffer error
straight after what looked like a successful connection, and then the SSH connection got terminated. I did a pile of Google searching, and found people had to disable environment variable sending, and agent forwarding to get this to stop happening. Interestingly, I can't find a way to disable SendEnv on a per-host basis with OpenSSH, if it's been set in /etc/ssh/ssh_config, which is kind of annoying. So after solving the problem of gaining SSH access to the iLO, I then battled with the remote console. The host already had a throwaway Linux installation on it, but the remote console kept freaking out about the console being in graphics mode. I figured this was because it was using a frame-buffer. No problem, I just needed to boot with vga=normal. Problem was, GRUB was configured with hiddenmenu so I had 3 seconds to hit Escape before it charged off and booted up. Not that big a deal you'd think, except to get out of the remote console and back to the iLO prompt, you have to hit Escape (, so the iLO eats Escape keys for breakfast. After having a bit of debate with some mainly Red Hat-oriented sysadmins on #sage-au, it turned out that RHEL has a patch so that GRUB accepts any key, not just Escape to present the menu. That was no use to me, as the box wasn't running RHEL. And all I was asking for was if anyone had any iLO experience, no whether or not "any key" was the equivalent of Escape. Sheesh. It turned out that I needed to press Escape twice in that initial 3 seconds, with probably sufficient pause between the two presses for it to register properly, in order for an Escape character to be sent to GRUB. Fun.

6 March 2007

Gunnar Wolf: Suspend to RAM and video cards not noticing

My dear comment-hating Bubulle, you forced me into writing yet another weblog entry :)
I have not yet worked it out completely, but it might be that your problems with suspend to RAM your Dell machine are related to having the Composite or AIGLX extensions loaded. This is just an hypothesis, and might be just wrong, but: So... Christian, have you tried the plainest X configuration? Have you tried maybe switching to one of the virtual consoles before suspending? Or maybe even shutting down your X session?
I hope this helps you chase down your problem. Do not worry, though - I don't want to be hugged/kissed to death by a cheese-eating translation-loving Frenchman.

Marc 'Zugschlus' Haber: EasyRSA on Debian for an OpenVPN CA

After asking for useable CA Software, I have finally settled on using EasyRSA. This is what I did to come across the packaging shortcomings of EasyRSA in Debian. Storing your CA Be sure that your CA is stored in a secure place. Don’t store it online, and make it accessible only to yourself. In my opinion, storing the the CA in a cryptoloop container file on a small 32 MB USB stick is a good idea. Cryptloop is rather easy today and available in the stock Linux kernel. I commonly use grml-crypt to manage the crypto loopback stuff:
sudo grml-crypt start /media/usb4/cryptoloop $MOUNTPOINT
Gotcha: don’t confuse sudo’s “password” prompt with grml-crypt’s “Enter LUKS passphrase” prompt, the cryptoloop password won’t bring you anywhere on the sudo prompt. Preparing the CA directory For the CA, create a dedicated directory in the mounted cryptoloop file system. You’re originally supposed to copy the entire EasyRSA directory tree in there, but I’d recommend to only link the files from your system’s EasyRSA directory to automatically take advantage of distribution updates. You’ll need at least these links:
lrwxrwxrwx 1 mh mh   56 Dec 25 23:23 openssl.cnf -> /usr/share/doc/openvpn/examples/easy-rsa/2.0/openssl.cnf
lrwxrwxrwx 1 mh mh   52 Dec 25 23:22 pkitool -> /usr/share/doc/openvpn/examples/easy-rsa/2.0/pkitool
lrwxrwxrwx 1 mh mh   60 Dec 25 23:23 whichopensslcnf -> /usr/share/doc/openvpn/examples/easy-rsa/2.0/whichopensslcnf
ln -s /usr/share/doc/openvpn/examples/easy-rsa/2.0/openssl.cnf .
ln -s /usr/share/doc/openvpn/examples/easy-rsa/2.0/pkitool .
ln -s /usr/share/doc/openvpn/examples/easy-rsa/2.0/whichopensslcnf .
Configuring your CA The only thing you cannot link is the vars file which contains your CA’s local settings:
export EASY_RSA=“$(pwd)”
export OPENSSL=“openssl”
export PKCS11TOOL=“pkcs11-tool”
export GREP=“grep”
export KEY_CONFIG=$($EASY_RSA/whichopensslcnf $EASY_RSA)
export KEY_DIR=“$EASY_RSA/keys”
# Issue rm -rf warning
echo NOTE: If you run ./clean-all, I will be doing a rm -rf on $KEY_DIR
export KEY_SIZE=1024
export CA_EXPIRE=3650
export KEY_EXPIRE=3650
export KEY_COUNTRY=“DE”
export KEY_PROVINCE=“”
export KEY_CITY=“”
export KEY_ORG=“Zugschlus.de”
export KEY_EMAIL=“mh+easyrsa-mh-openvpn@zugschlus.de”
export PKCS11_MODULE_PATH=“dummy”
export PKCS11_PIN=“dummy”
Comments have been removed from this file. Better copy the file from /usr/share/doc/openvpn/examples/easy-rsa/2.0/vars and edit it to your needs. I added the two PKCS11 variables since you won’t otherwise be able to issue certificate requests. Creating the CA Next, decide on a shell instance where you will do most operations, and source vars in there. Next, run /usr/share/doc/openvpn/examples/easy-rsa/2.0/clean-all. If you do this in a directory of an already-in-use EasyRSA CA, you’ll need to restore your backup. To actually initialize the CA, run pkitool --initca --pass. If you do not give the --pass parameter, you’ll create a CA that can issue certificates without asking for a passphrase, which might not be a brilliant idea. Choose a reasonably secure pass phrase. Creating Certificates - the simple and suboptimal way You can now simply proceed to create an arbitrary number of pairs of “private” keys and associated certificate by simply calling pkitool <clientname> and/or pkitool --server <servername>. Depending on your security policy, you can mandate the private keys to be protected by a passphrase (adding --pass to the command lines), but you’ll have the expense of being asked for the passphrase every time you start a new openvpn daemon. Creating Certificates the Right Way I have put the “private” in quotes since the keys created this way are not really private: The key was created on the box hosting the CA, was stored on the local (crypted) file system and needs to be moved to the target system via a secure channel. Doing so the right way is harder than expected, so it is usually the better way to keep the private key really private by creating it directly on the target system. On the target system, you need OpenVPN installed, and openssl. After the certificate was created, you can remove openssl again. Creating a private key is part of a key-pair generation process that also leaves a certificate request. The contents of the certificate request is public, and you can safely move it to the CA box and convert it to a certificate by signing the request. You only need to make sure that nobody exchanges your target system’s certificate request for her own before you sign it as you might end up certifying a wrong identity. For the rest of this document we’re going to assume that you have ssh access to the target system and have verified the ssh host key, so that you can be reasonably sure to be connected to the right system. To create a certificate request, you can use this script, which I have called create-easyrsa-cert-req:
#!/bin/bash
set -u
TMPDIR=“/tmp”
export OPENSSL=“openssl”
export PKCS11TOOL=“pkcs11-tool”
export GREP=“grep”
export KEY_CONFIG=“/usr/share/doc/openvpn/examples/easy-rsa/2.0/openssl.cnf”
export KEY_DIR=“$TMPDIR/keys.$$”
mkdir -p $KEY_DIR
export KEY_SIZE=1024
export KEY_EXPIRE=3650
export KEY_COUNTRY=“DE”
export KEY_PROVINCE=“”
export KEY_CITY=“”
export KEY_ORG=“Zugschlus”
export KEY_OU=“$(hostname --fqdn)”
export KEY_EMAIL=“mh+$(hostname)-ovpn-cert@zugschlus.de”
export DEBUG=1
umask 077
if [ “$ 1:-foo ” != “server” ]; then
  /usr/share/doc/openvpn/examples/easy-rsa/2.0/pkitool --csr $(hostname)
else
  /usr/share/doc/openvpn/examples/easy-rsa/2.0/pkitool --csr --server $(hostname)
fi
mv $TMPDIR/keys.$$/* .
rm -rf $TMPDIR/keys.$$
When called without parameters, it creates a certificate request for an OpenVPN client certificate, and when you call it with “server” as parameter, it will create a server certificate request. In any case, it will leave two files in the current directory. They are named after the current host name, and have the extensions .csr and .key. The .key file is your private key. keep it private! The .csr file is the certificate request which you can now move to the keys subdirectory of your CA directory via scp or other means such as an USB stick. To do the actual signing, invoke pkitool --sign <hostname> and enter the CA passphrase. You can ignore the error message that there was no .key file to chmod. Gotcha, when signing a server certificate, use pkitool --server --sign <hostname>. Move Certificate to the target host You can now move the certificate to the target system. Since you’re probably going to need the root certificate and the certificate revocation list as well, you can move the .key file (if created on the CA system), the .crt file, and ca.crt to the target system. These files are public, so there is no need for a secure channel. Revoking Certificates Since an OpenVPN server’s only means of authentication is to check whether the certificate presented by a client is signed by the “right” CA, the only way to revoke VPN access is to revoke the certificate. This is also done on the CA system by calling /usr/share/doc/openvpn/examples/easy-rsa/2.0/revoke-full <client-name>. This creates a crl.pem file which contains a list of all revoked certificates. You need to have a mechanism to distribute that list to all systems that might need it, and it is recommended to have this automated. Remember, if you do not distribute the .crl file, the systems are not going to know about revoked certificates.

Gustavo Franco: Debian, get a life

"Second Life runs on 2,000 Intel and AMD servers in two co-location facilities in San Francisco and Dallas. The company has a commitment to open source, with servers running Debian Linux and the MySQL database. Linden Lab chose Debian Linux because the software is suited to scaling massively with a small IT staff, said Linden Lab CTO Cory Ondrejka. MySQL allows the server farms to scale horizontally, by adding large numbers of low-power servers as needed, rather than vertically, which would have required Second Life to run on a few, powerful systems, Miller said."
Joe Miller is VP of platform and technology development for Linden Lab.
Source: http://www.informationweek.com/news/showArticle.jhtml?articleID=197800179

We know that, but sometimes we spend more time and effort with pointless discussions. Discussions are good, don't get me wrong, but they need to start and end. Get a life, go squash some bugs, package something NEW and upload to experimental, write documentation or tell the word who else is using Debian. Debian is bigger than our own egos and debates.

Don't you care that Second Life uses Debian? Aren't you a Second Life user? I'm not a Second Life user, but if Joe Miller come out and tell the word that they use something else, a lot will go and say 'look, Debian is better than that, but the world don't care let us keep fighting'. Debian aims to be a universal operating system, and the universe is bigger than OFTC and lists.debian.org.

Christian Perrier: My suspend to disk works again

There are days like this where you get inspiration. Since about January (strange that one cannot never remember the beginning of such annoyances), neither suspend-to-ram nor suspend-to-disk were working anymore on my Dell latitude X1. Suspend to RAM indeed stopped working back in August 2006 for an unknown reason. The laptop indeed goes into sleep mode but, when waking up, the video card is not restored properly. A quite common problem, unfortunately. Why it suddenly stopped working is hard to explainn but as my laptop runs unstable and, usually, the latest Debian kernel, there may be an explanation somewhere betwwen kernel stuff and Xorg stuff. Since then, I had suspend to disk working pretty well until it suddenly stopped working back in January. The system was printing "Snapshotting system" on the screen and that's all. So, since then, I keep my laptop ON all the time, which is pretty bad when travelling (and I travel a lot all day long as I use public transportation with 3 connections morning and evening). Moreover, I cannot even completely close it because some moron at Dell has decided to hardcode in the BIOS that the laptop should enter suspend to RAM when the LID is closed. So, closing the laptop means....no more screen when opening it up. As a consequence, during last weeks, I had my laptop hald-closed in my bag with some random device inserted between the screen and the keyboard to prevent it to be entirely closed. Absolutely stupid. However, this morning, the Holy Grace touched me. I finally remembered that, for last New Year's Eve week-end, I did setup the Conexant HSF modem drivers on the laptop because I was staying at my mom's place with nothing but a phone line to get my mail. And, definitely, this was the explanation. As soon as I unload the Conexant driver before going to suspend to disk mode, the suspend to disk magically works again. Dammit. Once again a proof that Thou Shalt Never Use Non-Free Drivers. I'm now again a happy suspend to disk user. If someone, some day, can bring me back a working suspend to RAM, I'll hug kiss her him to death.

Jeff Bailey: Birth Announcement

The important thing first:

I'm pleased to announce the birth of our child, Leif Alexander Bailey. Leif is a bio-boy, so we've chosen the male pronoun. He was born at 12:41 (-0500) at the Lasalle hospital by cesarean. Angie is recovering from the surgery. Father is stunned, but has learned how to change a diaper and how to cuddle a newborn to sleep.

For those who want it by the numbers: Leif was born 60 hours after the membranes first ruptured (which was significant, but still just a trickle once we saw what water breaking is *really* like, holy crap). After 49 hours, we transfered from the birthing centre to the hospital since labour had stalled (7cm dilation). Angie was in active labour (4 cm dilated) for 39 hours. At the hospital, after 8 hours, the doctor determined that she was fully dilated and encouraged her to push. Labour had stalled (head was transverse), and so the c-section was ordered.

The result - A healthy baby weighing 4660grams/10 pounds, 4 ounces. 55.5 cm long / 22 inches.

Pictures are up on my flickr account at http://www.flickr.com/photos/jbailey/

We're still not answering emails, calls, or taking visitors yet, really. The messages are being received however, and are much appreciated.

MJ Ray: Eco-Housing

Petr Kratochvil made this comment about his web site:
"For people interested in green living and environment. We're building an ecological house and we want to support 40 others in their ecological living by giving them 10,000. We have only one planet and we have to take really good care of it now."
Visit his site if you want details of how to take a shot at the 10k (summary: mail them some proof of your greenness and post on their forums, then it pays out if they raise a million). This money-raising site is produced by a company doing similar work to us, but I'll be watching this with interest. There's not much choice of eco houses, so maybe its forum will offer up some tips for greening older houses too.

5 March 2007

Andrew Pollock: [tech] MythStream

I like to listen to Nova 96.9's stream, and I'd been doing it really sloppily at home by quitting the MythTV front-end running on the TV, and just running mplayer with the URL of the stream. I really wanted to be able to play the stream through MythTV. So a few weeks ago I did a spot of searching and up came MythStream, which appeared to be just the ticket. I'd already done a few sloppy unpackaged installations of things on the MythTV machine, and I wanted to stop this, so I held off installing it until I had time to make a package of it. Today I finally had time to make said package (which is here if anyone else is interested) and it works a treat for what I want to do. It looks like it has plenty of other features that I don't really need but will explore anyway. MythStream screenshot

4 March 2007

Russell Coker: vaccinations

You might expect that a vaccine against a disease that causes cancer would be widely embraced as soon as it was proven safe. If the disease in question was transmitted by contaminated food or water, sneezing, or most of the other ways that diseases spread then it probably would be widely accepted.

However recently there is a recently released vaccine against Cervical Cancer. The virus in question is only transmitted sexually. Apparently 80% of women in the US will catch it before the age of 50 (so it's obviously not scaring people away from unsafe sex).

There is a strong Christian lobby against the vaccine, their idea is that if sex doesn't cause debilitating and/or fatal conditions such as cervical cancer then their daughters will have less reason to avoid it. The fact is that religious people are statistically more likely to practice unsafe sex (see this link) so it seems unlikely that preventing one of the STDs that religious people might catch will affect the amount of unsafe sex.

One thing that seems strange about the entire discussion is that no-one has raised the possibility of vaccinating boys. Vaccinating boys could lead to the virus being eradicated. Even if an eradication attempt fails it will help save some of the Christian girls.

Christian Perrier: cs: 94.431, de: 84.891, sv: 80.167, vi: 77.601

The l10n NMU blitz campaign continues to give results and not only for French. I'm now reaching quite recent bug reports (about 30-40 days ago)....which were sent by some teams when I started this campaign, back in January. So the stats for these teams will improve strongly, namely the Czech team stats and a few others (Galician, Portuguese, Catalan...). On the ranking contest, Spanish is coming closer to Dutch for the 7th rank, mostly because many Spanish translations were pending in the BTS while much less Dutch ones were. Both these teams have strong QA processes so that slows them down when compared to 1-person "teams". Of course, the result is certainly definitely better. For the 9th rank, Portuguese should come before Brazilian as of today. Ditto for Galician/Catalan for the 14th rank. Another activity began yesterday: try to complete a few packages in testing. These packages have a complete translation for several languages in unstable but they don't qualify to enter testing. So, I will offer to upload l10n fixes through testing-proposed-updates as the release team seems to be OK with that. There's a chance that my own language reaches 100% for testing also, then. And, finally, I'm polishing a new project: proofreading ALL debconf templates, and bring more wording consistency, with the help of debian-l10n-english members. That will of course be a lenny project.

3 March 2007

John Goerzen: A better environment for shell scripting

Shell scripts are good for a lot of things. It's quick and easy to design shell scripts that take input from one program, pass it to another program, munge it for filenames, etc.

But there are a few drawbacks to shell scripts.

The #1 drawback, in my opinion, is that it is extremely difficult to get quoting and escaping right. I often see things like $@ in shell scripts (breaks if a parameter has a space in it). I also see people failing to check for errors properly (set -e helps that). It's also difficult to do a more modern style of exception handling (do a sequence of actions in a temporary directory, and always remove that directory, even if there's an error, but stop processing and propogate the error). Command-line parsing is esoteric and odd, even with getopt. That's not to say that it's impossible to make a secure shell script that handles filenames with spaces in them properly. Just that it's difficult, and makes using common operators like backticks difficult.

Awhile back, I toyed with the idea of making Haskell a shell scripting language. This week, I spent some time to make this a reality. I released HSH, a shell scripting environment for Haskell.

HSH makes it easy to run shell commands, set up pipelines, etc. straight from Haskell. You can either use simple strings to invoke commands (they'll be passed to sh -c), or you can specify arguments as a list (like exec...() takes), which eliminates the strange filename problems.

But the really cool thing is that HSH doesn't just let you pipe from one external program to another. It also lets you pipe to/from pure Haskell functions. Yes, you can pipe the output of ls -l straight into a Haskell version of grep. I've found it to be very nice, especially for more complex processing tasks.

I put these simple examples on the HSH homepage:

run $ "echo /etc/pass*" :: IO String
 -> "/etc/passwd /etc/passwd-"
runIO $ "ls -l" - - "wc -l" 
 -> 12
runIO $ "ls -l" - - wcL
 -> 12
In this example, wcL is a pure-Haskell line-counting function.


The results were surprising. According to SLOCCount, porting hg-buildpackage from a shell script to a HSH script achieved a 20% reduction in source lines of code. And at the same time, gained better error handling, better safety of filenames, better type safety (compile-time type checking), etc. Yet it does exactly the same thing in almost exactly the same way.

Even greater savings will occur too. I decided to reimplement a small part of sed just for fun, and that code is still in my tree. If I removed that and replaced it with a call to sed as in the shell version, that would probably buy another 5% savings.

I didn't really expect to achieve a reduction in lines of code. I thought that I'd be lucky to come close to breaking even. After all, who'd expect something other than the shell to be better at shell scripting?

I don't know if these results are generalizable, but I'm really excited about it.

Brett Parker: Of CGI Scripts and Line Endings

MJ Ray said in Bad Tech: CGI Scripts and Line Endings, "Problem: CGI scripts uploaded with the MS Windows version of FileZilla over SFTP don't work until converted. Either there's some FileZilla settings wrong by default, or it just doesn't work." - the problem is that unlike with traditional FTP, which in ASCII mode would automagically translate line endings in to a sane format, SFTP (as far as I can tell) will always send them as binary, and thus if they were in DOS format before the transfer, they'll be in DOS format after the transfer. So, your choices are (other than the evil perl^M symlink)... Teach users about line endings - get them to do the equivalent of a :set fileformat=unix in vim before saving ;) (I'm not sure which editors out there let you set what line endings to use - might be worth finding out what the users use and looking it up) When they upload, rather than them uploading directly in to FTP space it hits an area that is checked every x minutes - that area is then copied to the right area with the transformation being done server side Something else.

Next.

Previous.