Search Results: "cas"

3 June 2008

Christian Perrier: See you too in Mar del Plata

I'm going to Debconf8 My flights: ORY->MAD 2008-08-07 21:10 -> 2008-08-07 23:05 Air Europa
MAD->EZE 2008-08-08 00:55 -> 2008-08-08 09:20 Air Europa EZE->MAD 2008-08-17 12:00 -> 2008-08-18 05:10 Air Europa
MAD->ORY 2008-08-18 07:50 -> 2008-08-18 09:50 Air Europa (ORY is Paris' second airport, which has most of the flights to Spain) So, I apparently share the schedule and route with Noodles but not the airline (he's probably using Iberia). I'll probably try to gather with him to take the bus to Mar del Plata, though. In case someone flies the same day on Air Europa (should be people coming from France, UK, Hungary, Czech Rep., Poland, Italy or Israel...these are connections of Air Europa inside Europe to bring ppl in Madrid, which is their hub), get in touch with me. And, in any case, see you in Mar del Plata.

Clint Adams: Thank you for visiting Hoss, sit back and relax, enjoy the sauce

[Ravioli] Somewhere, probably not in the space between spaces, but somewhere, at this very moment, someone is experiencing distress. He is not keeping this distress clutched tightly inside. He is sharing his distress with others, in the form of a rant, even though no one there has solicited his opinion. He goes on, full steam, disregarding the feeble attempts at participation by those listeners who perhaps feel it polite to acknowledge him. He is not trying to entice anyone to act. He is not trying to troll for arguments. Perhaps he believes himself to be sharing generously his important thoughts. Those hypnotized by his ravings are experiencing a variety of reactions. Some are forced to confront the Truth in his words, and they themselves become distressed as they think about the Unfairness and Injustice created by the actions of others. This distress will cause some of them to wander off elsewhere and help the process cascade by performing rants of their own. Some others will bristle at the Lies and Misrepresentations he tosses out liberally and casually, and they will become distressed as well, and they may suddenly feel motivated to lend their efforts to push a political agenda contrary to the Speaker's. Some are nonplussed. Some become distressed because some self-important fool appears to think he has the right to bother them with his ideas. All this because some asshole decided to throw his weight around when it wasn't and isn't his place. I am not talking about Star Simpson.

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

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

MJ Ray: BBC website, TV and Technology

[Dish]
(How I get TV) The British Broadcasting Corporation, the largest UK public service broadcaster, is seen as a slow lumbering beast and a bit clueless about technology, as you can see from the comment when I wrote about Click: Free=beer and facebook-flaming recently. I think that's a pretty typical view. For example, the BBC has recently helped to launch Freesat which is good in some ways (free-to-air and maybe more standards-based than Sky) but still publishes half-truths like

"Installing a satellite dish is a job for professionals"
(On balance, it's no harder than installing most TV aerials, in my opinion, but remember you get no warranty on DIY.) It's pretty much the same situation online, which is why stories like The BBC and innovation [DavePress] and Good news for websites - BBC told to link out more! continue to be news, nearly 12 years after the BBC's website launched. (Source) One of the few areas where BBC triumphs is probably news-gathering, picking up stories that are unpopular with both business and government, like BBC NEWS: Towns triumph in broadband tests which follows the Experts Say Ofcom Wrong About Rural Broadband storm online. I recently helped The Doon of May team look into internet connectivity and I was surprised how bad it was in their location: a bit of attention from BBC News is most welcome. If you'd like to try receiving the BBC - or some other national broadcasters in Europe - by satellite, I'm currently taking Questions About Cycling on Satellite over on my Cycling Fans blog.

2 June 2008

Fabio Tranchitella: Am I doing it wrong?

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

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

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

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

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

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

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

Juan Luis Belmonte: My project, my mentor & me


The program has officially started on May 26th, i was reading some documentation before starting i would like to start before, but i was working in a company. My project will be for Debian and is called PamNssInstaller. Oh yeah great but.. What is it;
Well lets talk about files involved in this mess :)
nsswitch.conf This file is in charge of how and where to look for the needed information, is divided in two columns, first “what information are we looking for” passwd, hosts, shadow, bootparams, ethers… And the second colums says how and where to look. lets see an example of this file.
passwd: compat
group: compat
shadow: compat hosts: files dns # fhere looks first in /etc/hosts, and if not found lookup DNS
networks: nis [NOTFOUND=return] files # if somethin doesn’t goes ok with nis look in files
…
This way we can see how to set up some kind of chains of looking up the required information.(man nsswitch.conf for more information) pam.d/common-* Files
In pam.d directory we find some files, in a clean base installed system there are 4 conffiles common-passwd, common-auth, common-account and common-session. After installing other things such gdm, samba, sudo, they create their own config files to set up their applications, but we will work on common-* that its aim is global and required for the system and its functionalities. In these files the information is about, how to interact with the different auth modules, and in which order or situations. See an example of a common-account file
account [success=1 default=ignore] pam_unix.so
account required pam_ldap.so
account required pam_permit.so
This is just an example of wht the README.debian of libpam-ldap say that you have to set up in your account file. The aim of the post is not to explain all about pam system. For further information you can look at pam documentation. Due to the policy, these conffiles cannot be modified directly by the packages or their installation. The way to do this is to implement some tools which are capable to do it, and use them by maintainer scripts. So that is the goal of the project, implement that tools, suit them into the source deb packages pack them in libnss and libpam, and work on the package system to do it properly. In this way there are things to specify but the is the main Idea. The common-account example i’ve shown is what libpam tell you to do by hand. In a future when our job is finished, the maintainer script will ask if the user wants to activate, and if it yes, the tools of update-pam will be used to do it. And when a libnss installed the update-nsswitch will be used. Well this was a little explanation of what is what i have to do. At the google summer of code, all applicants as me, have a mentor acting as a tutor on the project, who tells you what to do and what not. It also a partner of you to work with, and is the link between you and the organization, in my case is Debian. My mentor is Fabio Tranchitella also known as kobold. Is Italian and is one of the debian developer who is participating and sponsoring a quite big amount of packages (Overview), and also involved at the zope project. I think his skills are great and i can learn a lot in this project mentored by him. Let me say thanks to him for mentoring me.

1 June 2008

Gunnar Wolf: A long-needed explanation on $self->status

[Attention] Personal content follows. If you got to this post expecting technical or organizational content, go ahead and skip it.
Sometimes, when you don't want something to happen... You don't even talk about it. Sometimes you try hard not even to think about it - Well, it wasn't so in this case, as it has been a long time devoted to... Thinking, thinking a lot.
The important thing is that I feel there is a fact I should have shared with the people I consider close to me. And some people do know it, of course, but it has been hardest for me to share this with who I consider my closest friends - maybe out of hope that the result will be something different?
Anyway... the fact is I have been living on my own for the last two months. Nadezhda and I decided to take a three month period to... Decide what comes next. And most of the time since this strange period began has been quite decent... But the last week or so has been... A bit different. I have been much more... introspective. Maybe it could be seen as more depressive, more introverted.
So, what does this mean? Do I have my mind clear on what to do? No. Not by far. But I am working on finding my feelings and my reality, full-time. I might be under-achieving both in my Real-Life works and in Debian - please cope with me. There is a reason for it, as you now see.
And, no, this post is not aiming at getting sympathy and hugs... It is just... Because I need to finally share this thing I am going through with. Think of it as finally stepping out of the closet, more as a step for myself than for anything else... A significant share of who I consider dear to me, even though we share no contact besides mailing lists I have mostly abandoned and two cathartic and beautiful (and, of course, technically productive!) weeks a year, lives in different timezones and countries - I do hope to have stabilized on either of the two possible realities by the time I meet my Debian fellows. As for my Mexican friends following my life by this blog... Well, just excuse me for not speaking out face to face, as this should have been done.
Comments intentionally closed. Want to say something? Just think it hard enough, it will get to its destination ;-)

Axel Beckert: How to get Network Manager working with ratpoison

Using GNOME Network Manager is a neat way to connect to wireless or virtual private networks from a laptop running Debian Lenny, Sid, Etch with Backports or any of the *buntu distributions. You can control everything from the system tray. But not all window managers have a system tray. And with some window managers it’s not obvious how to make them work with one of those lean third party trays and panels. Especially my favourite window manager for small displays as on the EeePC – ratpoison – insolently puts any panel or tray in the middle of the screen by default. It took me a moment to find out how to make ratpoison work with my favourite third party system tray trayer (which can handle transparency and is only a system tray, no taskbar). First we need to make ratpoison ignore the trayer on the one hand and and reserve space for it on the screen. Fiddling around with preconfigured frames didn’t work well and the following way is also more straight forward:
  1. trayer always has “panel” as window title, so adding the following line to your .ratpoisonrc makes ratpoison ignore trayer:
    unmanage panel
  2. Now all windows overlap the trayer, so we need to configure the space for it. Trayer in the default configuration shows up at the bottom and has a height of 26 pixels, so we tell ratpoison to add a padding of 26 pixels at the bottom of the screen by adding the following line to the .ratpoisonrc:
    set padding 0 0 0 26
Now we are confronted with the problem that these settings only apply to new windows, not ones which were already running when ratpoison starts. I usually start my X session using an .xinitrc or an .Xsession which calls the window manager using exec at the end. We can start the trayer later though by spawning a subshell in the background with a sleep at the beginning. Also the Network Manager applet (nm-applet) can be started that way. In my case the end of the .Xsession looks like this:
( sleep 1; \
  trayer --align right --edge bottom --distance 0 \
	 --expand true \
	 --transparent true --alpha 128 --tint 0 \
	 --SetDockType true --SetPartialStrut true & 
  nm-applet & ) &
exec ratpoison
The result could look like this:
My EeePC desktop with ratpoison, trayer and two aterms
The other programs in the system tray are from right to left: nm-applet (GNOME Network Manager), Twitux (GTK Twitter Client), Audacious, Opera, Pidgin (formerly known as GAIM), Icedove (unbranded Mozilla Thunderbird). The clock on the bottom left is from the package osdclock. Oh, and although I’m fine with trayer: if anybody knows a possibility to control the GNOME Network Manager without the need for a system tray, I would be very happy if you could tell me. :-)

Axel Beckert: One month with Debian Lenny on the EeePC

I ogled with an ASUS EeePC since it was announced, but didn’t want to order one abroad. So I waited until they became available in Switzerland. Digitec is the official EeePC importer for Switzerland and seeems also to be the moving power for yet to come the Swiss localisation of the EeePC. But initially they only offered imported EeePCs with German keyboard layout, but since I really got used to the US layout, I didn’t want to buy ay new laptops or keyboards with German layout. When asking them about US layouts they told me they won’t import from the US and that their competitor Steg Computer is importing US models. But I wasn’t comfortable with Steg and EeePCs also were more expensive there, so I hesitated ordering at Steg. So it was quite unexpected for me when US models showed up on digitec’s website. (Interestingly I never received any mail from their advertised EeePC newsletter, not even when they added 2G models t their repertoire.) So at the end of March (and therefore later as most other geeks ;-) I ordered an ASUS EeePC at digitec. For me, white laptops look like Macs (and Macs are for sissies or masochists ;-) — so I had no problems to decide that I want a black EeePC with US keyboard layout. 2G was to small for my purposes (and also not that much cheaper) and 8G not available. So I went with the 4G, since Debian doesn’t need so much space if you choose the right packages (i.e. neither or at least not that much of GNOME or KDE ;-). I preferred the 4G over the 4G Surf because of the bigger battery capacity (and not because of the webcam which I consider funny but useless:-). Initially the delivery date was set the 28th of March. Then it was subsequently set to “beginning of April”, “mid of April”, “end of April” and “beginning of May”. It finally arrived on 8th of May. In the meanwhile there were reports that even the 4G has been equipped with the smaller battery of the 4G Surf because of some battery shortage after some battery plant burnt down. But fortunately the delivery problems with black 4G US models doesn’t seem to have its reason there and my 4G has a 5200 mAh battery (at least according to its label and ACPI). I also ordered a 2 GB bar of Corsair ValueSelect RAM so that I can pump up the RAM of my EeePC by factor four (for about 10% of the price of the EeePC itself) resulting in having half as much RAM as disk space. Well, I guess, I won’t do suspend to disk in that configuration… ;-) The original Xandros based Linux only noticed 1 GB of the installed 2 GB as already noted on many other places in the web. But that doesn’t really matter, since it only lasted until I found out how to restore it from DVD in case I want to sell the EeePC later (e.g. for getting the successor). It’s fine for novices, but Linuxes feel strange if you can’t even get a console or a terminal with a command line. ;-) The Debian EeePC installer worked fine except that it argued over a checksum error on our mirror which wasn’t reproducable after the installation anymore. I’ve chosen the EeePC to be my first (nearly) pure Lenny installation — compared to the three machines running Sid (i386, amd64 and kfreebsd-i386). It though has a few packages from experimental (mostly xulrunner-1.9) installed. As window managers I have installed ratpoison, FLWM and FVWM. ratpoison — best described as screen for X (although you can’t detach and reattach) since it’s my personal preferences for being productive without big screen resolutions and flwm for a low-resource window manager which can be used intuitivly by both, geeks and non-geeks (and still doesn’t look like Windows at all ;-). And FVWM is installed because it’s my default window manager on all machines with bigger or multiple screens – to be able to compare it with my usual environment. As web browser I’ve got Opera as primary browser (as everywhere else, too) and Conkeror (the EeePC is the test-case for upcoming Debian package of Conkeror) as well as links2 and lynx on the (nearly) text-only side on it, although I need them seldomly. As office programs (as I would ever need some ;-) I’ve got AbiWord and Gnumeric installed since I already use a few GNOME applications (e.g. Network Manager, Twitux, etc.) and OpenOffice.org would take up 170 MB more disk space (then including OOo Draw and OOo Impress) and Siag Office is no more in Debian since years. (Initially I had OpenOffice.org installed instead of AbiWord and Gnumeric until I noticed that I need some of the GNOME libraries anyway.) I also decided that I will need LaTeX then and when so TeX Live also got its chunk of the 4 GB of disk space. I also have a bunch of games on the EeePC. Unfortunately there are a few games which don’t work well on the EeePC due to it’s resolution being smaller than 800x600, so I deinstalled them already again, e.g. I can’t play Cuyo on the EeePC but flobopuyo. Sauerbraten segfaults, but Doom (prboom with freedoom WADs) works fine. Further non-working games unfortunately include Battle of Wesnoth and XFrisk. Still, although quite some parts of GNOME and GNOME Office, TeX Live, ScummVM with Flight of the Amazon Queen and Beneath a Steel Sky, GNU Emacs 22, Iceweasel 3 (aka Mozilla Firefox 3), Icedove (aka Mozilla Thunderbird) and the Iceowl (aka Mozilla Sunbird) are installed, only 2.3 GB of the available hard disk space are used by the installation (i.e. without my home directory). Oh, and btw: Although except the very compact and a little bit wobbly keyboard the EeePC doesn’t feel really small to me (I’ve got quite small hands), but when I sat down in front of my 14” ThinkPad T61 after a day or two with EeePC, the T61, — especially screen and keyboard — felt huge as if it would be some 17” or even bigger notebook. ;-)
ThinkPad vs EeePC ThinkPad vs EeePC ThinkPad vs EeePC ThinkPad vs EeePC
OTOH I still think that a 1920×1200 (which means nearly four xterms in a row) resolution on a 14” notebook would be a good idea, especially compared to the 1440×900 (which means nearly three xterms in a row) my T61 has. ;-) Personal Resumée after one month Pro EeePCContra EeePCPro ThinkPad (in direct comparision)Pro Lenny on the EeePCCon Lenny on the EeePCSummary I’m very happy with the EeePC and I didn’t expect that it would replace my 14” ThinkPad in so many (but still not all) situations. :-)

Russell Coker: Shelf-life of Hardware

Recently I’ve been having some problems with hardware dying. Having one item mysteriously fail is something that happens periodically, but having multiple items fail in a small amount of time is a concern. One problem I’ve had is with CD-ROM drives. I keep a pile of known good CD-ROM drives because as they have moving parts they periodically break and I often buy second-hand PCs with broken drives. On each of the last two occasions when I needed a CD-ROM drive I had to try several drives before I found one that worked. It appears that over the course of about a year of sitting on a shelf I have had four CD-ROM drives spontaneously die. I expect drives to die if they are used a lot from mechanical wear, I also expect them to die over time as the system cooling fans suck air through them and dust gets caught. I don’t expect them to stop working when stored in a nice dry room. I wonder whether I would find more dead drives if I tested all my CD and DVD drives or whether my practice of using the oldest drives for machines that I’m going to give away caused me to select the drives that were most likely to die. Today I had a problem with hard drives. I needed to test a Xen configuration for a client so I took two 20G disks from my pile of spare disks (which were only added to the pile after being tested). Normally I wouldn’t use a RAID-1 configuration for a test machine unless I was actually testing the RAID functionality, it was only the possibility that the client might want to borrow the machine that made me do it. But it was fortunate as one of the disks died a couple of hours later (just long enough to load all the data on the machine). Yay! RAID saved me losing my work! Then I made a mistake that I wouldn’t make on a real server (I only got lazy because it was a test machine and I didn’t have much risk). I had decided to instead make it a RAID-1 of 30G disks and to save some inconvenience I transfered the LVM from the degraded RAID on the old drive to a degraded RAID on a new disk. I was using a desktop machine and it wasn’t designed for three hard disks so it was easier to transfer the data in a way that doesn’t need to have more than two disks in the machine at any time. Then the new disk died as soon as I had finished moving the LVM data. I could have probably recovered that from the LVM backup data and even if that hadn’t worked I had only created a few LVs and they were contiguous so I could have worked out where the data was. Instead however I decided to cut my losses and reinstall it all. The ironic thing is that I had planned to make a backup of the data in question (so I would have copies of it on two disks in the RAID-1 and another separate disk), but I had a disk die before I got a chance to make a backup. Having two disks out of the four I selected die today is quite a bad result. I’m sure that some people would suggest simply buying newer parts. But I’m not convinced that a disk manufactured in 2007 would survive being kept on a shelf for a year any better than a disk manufactured in 2001. In fact there is some evidence that the failure rates are highest when a disk is new. Apart from stiction I wouldn’t expect drives to cease working from not being used, I would expect drives to last longer if not used. But my rate of losing disks in running machines is minute. Does anyone know of any research into disks dying while on the shelf?

31 May 2008

Dirk Eddelbuettel: Accelerated R in Debian

A few months ago, Stephen Milborrow started releasing a patched version of R that performs just-in-time compilation -- see his Ra page for some details and further pointers. In a nutshell, Ra provides a modified R engine so that code preceded by all jit(1) function call, using his jit package from the CRAN archive, will run faster due to just-in-time compilation of loops and arithmetic expressions. Ra offers to pick the low-hanging fruit for users as loops can be a bottleneck. Of course, as shown in Stephen's case study, using appropriate vectorised expression will often be faster still. That said, for a certain class of problems, Ra should offer a decent speed boost. Debian users can now just say
    sudo apt-get install r-base-core-ra r-cran-jit
as the Ra and jit packages in Debian's unstable distribution (and in the case of jit, even in testing). Lastly, version 1.1.0 of Ra was released by Stephen yesterday and is now also in Debian unstable.

Steve Kemp: Alcohol's illegal this month

Busy times, despite being on holiday. Mostly this has been doing "business" work, and fiddling with self-promotion. But despite this I managed to find time to write some extremely useful new Lisp: Anyway very little time over the coming week will be spent online. All being well. Still enjoying playing with my (loaned) Nokia 770 - maybe I'll get another one of my own eventually. ObQuote: 30 Days Of Night

30 May 2008

John Goerzen: The Democratic Delegate Dance

Several stories on NPR today have featured interviews with Democratic voters in Florida and Michigan. Many of them were mad about the situation, but mad at their state democratic parties. Many of them did not vote because they were told their vote would not count, so now they are upset at these efforts to count the vote from these states.

Meanwhile, there is a very interesting post about how Hillary may want these delegates to remain unavailable to her, as a way to continue pressing her case all the way to the convention. Sigh.

Joey Hess: locking down ssh authorized keys

The way .ssh/authorized_keys is typically used is not secure. Because using it securely is hard, and dumping in passwordless ssh keys is easy. I spent about 5 hours today locking down my authorized_keys. rsync The only easy case is a rsync of a single directory. Follow these good instructions. If you need to rsync multiple separate directories, it's easy to find several documents involving a validate-rsync.sh. Do not use, it is insecure -- it allows rsync to be run with any parameters. Including parameters that allow the remote system to rsync in a new ~/.ssh/authorized_keys. Oops. (You can probably also trick validate-rsync.sh into running other arbitrary commands.) To be secure, you have to check the rsync parameters against some form of whitelist. git Locking down git should be easy. Use git-shell. Unless you also want to be able to log in to an interactive shell on the same account. To do that, you'll need to generate a separate ssh key for git. Both git servers I use are named git.*, so I set it up like this in ~/.ssh/config on the client:
Host git.*
    IdentityFile ~/.ssh/id_rsa.git
Then on the server, I added the key to authorized_keys, prefixed with this:
command="perl -e 'exec qw(git-shell -c), $ENV SSH_ORIGINAL_COMMAND '"
(I also tried the simpler command="git-shell -c $SSH_ORIGINAL_COMMAND"; but it didn't work with alioth's old version of openssh, and I didn't want to worry about exposing SSHORIGINALCOMMAND to the shell.) Before arriving at that, I took a detour to using gitosis. It can make it impressively easy to manage locked down git over ssh, but you have to fit how it does things. Including repository layout, and a dedicated account. So I spent several hours changing my git repo layout. In the end, I decided gitosis was too complicated and limiting for what I needed, but I do recommend checking it out. svn Like git, this is fairly easy, since svn provides svnserve. The svnbook documents how to use it in .authroized_keys. Basically, just use
command="svnserve -t"
A similar approach as used for git can be used here if you want to have a dedicated ssh key that causes svnserve to be run. d-i daily builds d-i has a d-i-unpack-helper that can be put in authorized_keys. unison Can probably be locked down similarly to rsync, but I haven't tried yet. duplicity The only way seems to not use duplicity over ssh at all, and instead use a different transport. too hard What if you want to allow locked down git, and a rsync, and maybe unison too, all to the same account? You'll end up with some nasty mismash of all of the above, and there are plenty more things using ssh as a transport that need other techniques to lock them down. Until this becomes easier, a majority will just dump passwordless ssh keys in ~/.ssh/authorized_keys, creating exploitable trust paths that don't need to exist.

29 May 2008

Jacobo Tarrío Barreiro: I m going to Debconf

I'm going to DebConf8, edition 2008 of the annual Debian developers meeting I’m so going to Debconf 8… Here are my travel details to and from Buenos Aires, in case someone wants to fly with me: All for 783 euros, bought 1 week ago. I’m arriving 1 day early and 4 days late, but I’ll take the chance to help the organization after my arrival and visit Buenos Aires after Debconf :) And I’d also like to apologize in advance to anyone I ask to fetch me something, because, being Spanish, it is possible I’ll say something obscene instead ;)

Riku Voipio: blog moved

Buch of quickies:

28 May 2008

Joey Hess: strftime fractional seconds

strftime's time format does not support fractional seconds, but a lot of people want to do that, based on a google search. It's been implemented as an extension to several programs. Each implementation I found uses a different conversion specification, and in each case the character chosen was already used by something else in the standard strftime. The only unused letters are: %f, %i %J %K %L %q %Q %w (and perhaps some punctuation). Of these, "%f" has a good mnemonic for fractional seconds. But I hestiate to poach from such a small space. Looking at glibc's extensions to the strftime format suggested a different approach. I suggest using "%.S" for fractional seconds. There's a good mnemoic and this seems unlikely to be used for anything else. This could be extended to include an optional precision ("%.4S"). It would also be nice to have a standard way of showing microseconds, nanoseconds, and milliseconds too. "%uS", "%nS", and "%mS" would be nice to use; unfortunatly, "%u", "%n", and "%m" are already used in strftime (so are "%U, "%N", and "%M"). I don't have a solution for these, but they're probably generally less useful than fractional seconds anyway.
Update: I neglected to mention the possibility of using the O modifier. Dirk Eddelbuettel points out that R uses "%OS" for fractional seconds. As compromises go, R has chosen a pretty good one. But SuSv3 actually defines the O modifier as causing the locale's alternative numeric symbols to be used, with an example of Roman Numerals. So fractional seconds is probably not quite what "%OS" is intended to do, unless you're in the locale for very fast living people. :-) In current versions of glibc, the alt_digits field used by the O modifier is only present for a few locales: fa_IR, ja_JP, and or_IN. Still, there are plenty of other numeral systems out there, so I still favor making up a new modifier like "%.S", rather than trading off localisation for precision.

27 May 2008

Christian Perrier: Reading blog summary

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

Sandro Tosi: Update pbuilder on a slow internet connection

On a slow line (like mine, @56k) even updating pbuilder could be a problem (or a really boring task):

[host]$ sudo pbuilder update
[...]
Get:4 http://debian.fastweb.it unstable/main Packages [5302kB]

5Mb are enough to do this trick (NOTE: it will work only if you machine and the pbuilder use the same mirror). First, update your box apt packages list with

[host]# apt-get update

once done, you'll find in /var/lib/apt/lists/ the packages list we need. Let's copy those files in a new location:

[host]# cp -arp /var/lib/apt/lists/ /tmp/

then, login into the pbulder chroot with:

[host]$ sudo pbuilder --login --bindmounts /tmp/lists/ --save-after-login

(/tmp/lists/ will be mounted inside the chroot with the files we've just copied, and --save-after-login will save our changes once done). Now

[chroot]# cp /tmp/lists/*astwe* /var/lib/apt/lists/

to copy the lists for Fastweb mirror only (the one I'm using), now

[chroot]# apt-get update
Get:1 http://debian.fastweb.it unstable Release.gpg [189B]
Get:2 http://debian.fastweb.it unstable Release [86.4kB]
Get:3 http://debian.fastweb.it unstable/main Packages/DiffIndex [2038B]
Fetched 88.7kB in 12s (6962B/s)
Reading package lists... Done
[chroot]#

now only few files are downloaded.

I used this trick earlier, in cases where creating or updating the apt packages list for pbuilder was a problem, since the files always resulted corrupted.

Erich Schubert: Fitness

When people think of computer scientists, they think of someone with bad health, a bad skin color and no fitness at all. While there probably are some like that, I actually don't know many. Instead I know people who do things like fighting with sword and rapier. My main sports is advanced lindy hop dancing (which does include occasional aerials and such, but mostly involves 'jumping' around at high speeds). I like dancing most because of the social aspects of it.Myselfi, I can claim to be the very opposite: I just came back from 5 hours of sports, and I'm not even exhausted, just very hungry. The 5 hours include riding about 13 km in half an hour through the city (and we're suffering from a heat wave these days, with winds from the sahara desert reaching germany), then two full training sessions (that really used to stress me when I started), then the ride back of 13 km again.My body mass index is 18.something, so I'm slightly underweight, but I actually eat a lot - but I also eat healthy and diverse. Most of my food I cook myself, so I know it's fresh and where I got it from. I'm not vegetarian, I do eat meat about two times a week. I also try to have some variety there, pork, beef, lamb, deer, chicken, ... I don't drink much alcohol and I do not smoke.So don't stick to that prejudice that computer science people or geeks are physically in a bad shape. You can be both a geek, soical and athletic. The people I know how are in really bad shape actually watch too much TV and such, they neither engage their body nor their mind, nor leave their house much to meet other people.

Next.

Previous.