Search Results: "ron"

21 May 2007

Bernd Zeimetz: hi, planet // iso8859-15 to utf8 with netatalk magic

<div xmlns='http://www.w3.org/1999/xhtml'> <h1><a name="hi_planet_iso8859-15_to_utf8_with_netatalk_magic" id="hi_planet_iso8859-15_to_utf8_with_netatalk_magic">hi, planet // iso8859-15 to utf8 with netatalk magic</a></h1> <p> <em><strong>Hi, Planet!</strong> <br/> Welcome to my blog, and thanks to <a href="http://blog.zobel.ftbfs.de/" title="http://blog.zobel.ftbfs.de/" rel="nofollow">Martin</a> for subscribing me. I m not going to bother you with any details about me, if you have any questions feel free to ask me on <a href="http://freenode.net/" title="http://freenode.net/" rel="nofollow">freenode</a> or <a href="http://www.oftc.net/" title="http://www.oftc.net/" rel="nofollow">oftc</a> (in case you re wondering: my nick is bzed).</em> <br/> <br/> After a longer time of planning we ve upgraded our main file server at <a href="http://www.architektur.tu-darmstadt.de" title="http://www.architektur.tu-darmstadt.de" rel="nofollow">work</a>: New machine, new storage (7TB - woohoo!), Etch instead of Sarge and <a href="http://en.wikipedia.org/wiki/UTF-8" title="http://en.wikipedia.org/wiki/UTF-8">UTF-8</a> for file names instead of <a href="http://en.wikipedia.org/wiki/ISO8859-15" title="http://en.wikipedia.org/wiki/ISO8859-15">ISO8859-15</a>. Everything not a too complicated thing, except for renaming the about 10,000,000 files from ISO8859-15 to UTF-8 in a proper way. <br/> In theory this is easy, as <a href="http://packages.debian.org/unstable/utils/convmv" title="http://packages.debian.org/unstable/utils/convmv" rel="nofollow">convmv</a> happily takes care of the problem. But this did not work for us unfortunately, as we re not only providing NFS and Samba services, but also AFP (<a href="http://en.wikipedia.org/wiki/Apple_Filing_Protocol" title="http://en.wikipedia.org/wiki/Apple_Filing_Protocol">Apple_Filing_Protocol</a>) via netatalk. Years ago you had to choose ISO8859-15 if you wanted to allow your Apple and Windows users to see the same, non-broken file names - not only because AFP didn t support UTF8 before version 3, which came out with OSX<a href="#fn__1" name="fnt__1" id="fnt__1">1)</a>. Normally you d think that a server would not allow a client to write a file with a file name which includes not supported characters - again, OSX and netatalk go their own way here:<br/> Characters which are not supported by the underlying file system are character(!)-wise encoded using the <a href="http://netatalk.sourceforge.net/2.0/htmldocs/configuration.html#id2898845" title="http://netatalk.sourceforge.net/2.0/htmldocs/configuration.html#id2898845" rel="nofollow">CAP encoding</a>. So we had to find a way to </p> <ul> <li> convert file names from ISO8859-15 to UTF-8 </li> <li> replace CAP encoded characters by the appropriate UTF-8 character </li> </ul> <p> Luckily netatalk ships the <a href="http://netatalk.sourceforge.net/2.0/htmldocs/uniconv.1.html" title="http://netatalk.sourceforge.net/2.0/htmldocs/uniconv.1.html" rel="nofollow">uniconv(1)</a> util<a href="#fn__2" name="fnt__2" id="fnt__2">2)</a> which is able to take care of this problem. It also updates the CNID<a href="#fn__3" name="fnt__3" id="fnt__3">3)</a> Database at the same time. There s two things you need to take care of in case you re using the dbd <a href="http://netatalk.sourceforge.net/2.0/htmldocs/configuration.html#CNID-backends" title="http://netatalk.sourceforge.net/2.0/htmldocs/configuration.html#CNID-backends" rel="nofollow">CNID backend</a>: </p> <ul> <li> uniconv assumes that <em>cnid_metad</em> is listening on port 4700, you need to start it first. Don t run afpd at the same time! </li> <li> If you ve specified external CNID dbpaths in your <em>AppleVolumes.default</em> (normally they re located in the root of each volume, prone to be deleted by users accidentally), you need to move the .AppleDB directory into your volume s root directory, otherwise uniconv will create a new CNID database. Just move it back as soon as uniconv is finished. </li> </ul> <p> Be careful: uniconv assumes that all colons in a file name are part of a CAP encoded character. That s not a problem as long as you have only Mac and Windows clients accessing your server, as both systems do not allow colons in file names. In our case we found a number of cache files from Nautilus (which is running on our sunray/Solaris web-surf terminals as default browser) with colons in the file name. I hope no user will miss them <img src="http://bzed.de/lib/images/smileys/icon_wink.gif" alt=";-)" /> </p> <p> Including a final synchronisation of all files to the new storage, about two hours it took uniconv to convert the file names and a aunch break, we were finished after about 14 hours of work. Until now it seems that our users didn t notice the change at all, except for those who realized that they have much more free space now. Looks like a successful weekend so far! <img src="http://bzed.de/lib/images/smileys/icon_biggrin.gif" alt=":-D" /> </p> <p> <strong>update:</strong> full html in the feed. </p> <div class="tags"><span> <a href="http://bzed.de/tags/debian" class="wikilink1" title="tags:debian" rel="tag">debian</a>, <a href="http://bzed.de/tags/linux" class="wikilink1" title="tags:linux" rel="tag">linux</a> </span></div> <a href="#fnt__1" id="fn__1" name="fn__1">1)</a> and uses a NFD variant of Unicode normalization (<a href="http://en.wikipedia.org/wiki/UTF-8%23Mac_OS_X" title="http://en.wikipedia.org/wiki/UTF-8%23Mac_OS_X">UTF-8#Mac_OS_X</a>), but netatalk takes care of this and translates it into the NFC form, which is used on most other platforms <a href="#fnt__2" id="fn__2" name="fn__2">2)</a> it s called netatalk-uniconv in Debian and shipped with <a href="http://packages.debian.org/stable/net/netatalk" title="http://packages.debian.org/stable/net/netatalk" rel="nofollow">netatalk</a> <a href="#fnt__3" id="fn__3" name="fn__3">3)</a> Catalog Node ID, another crust from old Mac <acronym title="Operating System">OS</acronym> versions </div>

Aigars Mahinovs: SBackup new beta - test and translate please!

With great help from Ouattara Oumar Aziz an new version of SBackup is shaping up in the svn repo and a day ago I created a public beta version - 0.10.4~beta10 which can be downloaded here.
Please report any bugs or regressions to Sourceforge bug tracker. Also an update for translations and new translations can be added. You can either translate in Launchpad or download the template file from the SVN. But beware that there are more translations in Launchpad then in the SVN at the moment, so check there first.
If no blocker bugs are found, we could see a new stable release of SBackup in a weeks time. I am sure that a lot of people will be happy to hear that :). Edit: For some reason, the DEB on the Sourceforge site was cut to third of its size, I uploaded a new version, it should be fine now. And by popular request here is a screenshot, note that by using simple timing the /etc/cron. daily,weekly,monthly folders are used and thus anacron runs the backups if the computer was off at the scheduled time.
New screenshot

20 May 2007

Daniel Burrows: System 76

I've got a new desktop system, after going two years without a desktop at all. My last desktop, which served me well for about five years, was one that I built myself from parts. This time, though, I was feeling a little lazy, and I decided to order a computer from System 76, one of the few companies that will assemble and ship a computer to you with Linux (in this case, Ubuntu) preinstalled.

DSC00497.JPG

The cats were curious about something new appearing in our apartment. They were even more excited when they found out it was full of cat toys! Sadly for them, though, I confiscated all the styrofoam peanuts and stuck them in a cat-proof trash can.

DSC00499.JPG

The usual box of random CDs still exists when you have preloaded Linux. I was surprised to discover that it did not include an Ubuntu CD or five, which seems to me like a no-brainer.

DSC00501.JPG

Of course, this post wouldn't be complete without a picture of the actual box. It looks just like it did on the system76 web site; no surprise there.

DSC00504.JPG DSC00505.JPG

I used the included Ubuntu install for a little while, and it looked like everything was configured reasonably well. The one piece of weirdness was that Ubuntu uses a program called network-manager to configure the network; while it has some nice features (like doing network discovery for wireless, letting programs easily get notifications when network devices go down or come up, etc), these are offset, at least for me, by the fact that it likes to randomly break the computer's network access. This isn't exclusively an Ubuntu problem, of course; etch also installs and configures network-manager by default, and I had the same problems on etch until I purged it. I assume that network-manager works for someone, so probably something to do with the network environment here breaks it.

The system is currently running Debian etch, with Xen domains booting testing and unstable that I use for development. Even without the NVidia graphics drivers and with one of the Xen domains running a computationally intensive job, it's quite snappy; a lot snappier than any other desktop system I've owned recently. And while it's doing this, it's one of the quietest computers I own.

So, in summary, I'm quite happy with this system and I'd suggest System 76 as an option for anyone who wants a Windows-free computer.

Meike Reichle: What a show!

Right, some time has passed since our Fiesta Mexicana, but still here's my record of this memorable evening. In a word: Wow! Panteon Rococo did a spectacular show! I've known and liked their music before, but seeing them live is a whole different matter and just sooo much better! Although their tour has already been lasting for quite some time, they showed absolutely no sign of fatigue. The Vier Linden was pretty full but not cram-full so there was still enough space to dance. (And while we are speaking of dancing, let me say, that some of my muscles are still sore! Those guys just don't give you a rest!) Throughout the whole concert the mood both on and in front of the stage were great and the guys were fooling around and inciting the audience, with themselves setting a good example of how to absolutely lose it (and play an instrument at the same time!) the whole time. The only downer was that a lot of what they said seemed to get lost since many in the audience didn't speak (enough) Spanish, which lead to a kind of lack of timely reactions. (Shenka yells something - Spanish speakers: "Yaay!" - Tiny delay - Rest of crowd: "Yaaaaay!"). Most weren't botherd by this though, and neither seemed the band. After all, it is pretty clear where Panteon Rococo stand and what their opinions are, so there isn't much to guess. Consequently when the band showed first signs of getting towards the end of the concert the audience wouldn't let them go. They of course played La carencia and all the other favourites but the audience just wouldn't get enough, so the encores(?) kind of turned into a "Who drops first" contest. (We did.) If you have any chance to see them while they're over here, do it!. The tour is still on and you can still see Panteon Rococo on the following dates: 20.05.2007 D - Hamburg @ Fabrik
22.05.2007 D - Rostock @ Mau Club
23.05.2007 D - Potsdam @ Lindenpark
24.05.2007 D - Dresden @ Scheune
25.05.2007 D - Paderborn @ Kulturwerkstatt
26.05.2007 D - Rottenburg @ Stadthalle
27.05.2007 D - Passau @ Pfingst Open Air
28.05.2007 D - Essen @ Pfingst Open AIr
19.07.2007 E - Huesca @ Pirineos Sur
20.07.2007 E - Barcelona @ London Bar

PS: Paco soo reminds me of weasel!

Julien Blache: Fixing SANE s SCSI interface in 32/64bit mixed environments

I’ve just uploaded to unstable a new revision of SANE which fixes the longstanding SCSI interface problem in 32/64bit mixed environments. If you own a SCSI scanner, please read on and give it a go. For the past several years, it wasn’t possible to scan using a SCSI scanner if you were running a 64bit kernel and a 32bit userland. The sg_hdr struct, which is the base of the Linux SG3 interface, contains pointers (you see that coming, right?) so its size obviously differs in 32bit and 64bit mode; and a 32bit pointer is kind of useless as-is for a 64bit kernel. The SG3 asynchronous interface (read/write calls on /dev/sgX) does not handle the 32/64bit conversion and returns an error while sanity checking the sg_hdr struct passed to it. Hopefully, the SG_IO ioctl interface, also part of SG3 and now generalized to every SCSI device (not limited to /dev/sgX), uses the same sg_hdr struct with the added bonus that the ioctl 32bit compat layer built into the kernel converts the 32bit sg_hdr it gets from userland to a 64bit sg_hdr it passes on to the 64bit ioctl handler, and back again. Only difference, the SG_IO ioctl interface is synchronous, whereas the read/write interface is asynchronous and thus allows command queueing. So SANE (sanei_scsi) now has lost its command queueing feature but it looks like (after testing) it wasn’t making any difference anymore. This problem affects users on the following architectures, when running a 64bit kernel with a 32bit userland: i386/amd64, MIPS, MIPSel, SPARC, PowerPC, ia64. That makes for an important part of our supported architectures. If you own a SCSI scanner, here’s a test you can do: scan using the current version of SANE in unstable (1.0.19~cvs20070505-2), then with the new, patched version (1.0.19~cvs20070505-3) and report back if: If all goes well, this patch will make it into SANE upstream RSN.

Benjamin Mako Hill: Free Culture Talk Recording

As I mentioned previously, I was graciously given the opportunity to speak the crowd at the Free Software Foundation's Members Meeting in March about some of my work and activism around Free Culture. In front of what was probably the friendliest audience possible, I compared the free software and free culture movements and explained why I think that free culture movement may be off track -- and, of course, what we as a community might be able to do about it. If you listen to it, please try to forgive my faults as a speaker. The message I tried to convey is what I think is one the most important tactical issues facing free culture. If this talk dwells a little too long on free software and the lessons we might take from that world, please consider my audience. You can listen to the talk here:

19 May 2007

Axel Beckert: autossh vs TCP resetter

LUG-Camp 2007 in Interlaken is nearly over, and I’m reading my mail as usual using ssh, screen and mutt on the server. But the ssh connection resets every few minutes. According to the LUSC people (who are running the gateway) some script kiddie is running a TCP resetter somewhere in the network. I remembered that I read about autossh in the Debian package list once a while and that it sounded cool but I had no use for it yet. Until now. I’m writing this over the same crashing ssh connection and I’m typing without taking big notice of the quite often occurring connection resets:
autossh noone.org -t 'screen -rd'
It just works. :-)

Jan Wagner: Pimp my T5725

Yesterday my ordered HP Thin Client T5725 arrived. The clue is, Debian sarge is and no moving parts (no noise) are inside. It’s a really nice thin client and it can be used as Surfstation out of the box. There is also a “HP Connection Administrator” which can manage ‘Citrix‘, ‘rdesktop‘ and ‘XDMCP‘ connections.
After taking a short overview, I decided to update to etch. This was a kind tricky, cause packages did need to update in correct order to save the HP packages. Due the switch from Xfree to xorg with etch, the graphical frontend for configuring the X server didn’t work anymore, but in my environment this is no issue.
So now I’m really happy with a HP Thin Client and bleeding edge software on it, for xdmcp use. ;) , , , ,

Ross Burton: Tasks 0.5

Tasks 0.5 is now released. This release has features a port to OpenMoko and several bug fixes. More information, screeenshots, and tarballs can be downloaded from the Pimlico site. There are no packages yet, but I hope to have those online shortly.

Jose Carlos Garcia Sogo: Apple drop

Or how online media can affect shares markets. Reading Enrique Dans' blog I have found an interesting entry on how a wrong piece of news published in an online medium made Apple shares to drop more than 4% in 6 mins. The history starts when Engadget published a false ticket talking about a delay in iPhone and Lepard releases. A supposed real internal mail from Apple was leaked to them, stating that delay. Actually that was a hoax. A spoofed mail that trespassed Apple mail servers and was delivered to a bunch of Apple employees, one of them leaking it to Engadget. About one hour and a half later, Apple sent another mail to their employees stating the untruth of the previus mail, and Engadget quickly published a rectification. But, in the meantime, the word spread fast and shares drop the 4% percent I mentioned before and with a lot of volume, which is an important signal for brokers that something is going wrong and that you have to sell your shares, increasing the effect in a snow ball way. The shares price drop meant Apple's market capitalization was 4 billion less (as US billions here) in 6 minutes. Information is crucial nowadays. But the speed at which it spreads is even more important.

Apple Market Cap drop

18 May 2007

Nico Golde: grml-1.0 released



3 1/2 years after mika registered grml.org it's done. Congratulations! HURRAY!!!11!1!!
grml provides more than 2500 software packages! Excluding library stuff, more than 1700 packages remain. We don't ship KDE and OpenOffice, but more than 800 packages which Knoppix does not provide. You'll get sysadmins favourite tools, security- and network-related software, data recovery- and forensic-tools, LaTeX, many editors, shells, and of course many texttools.

grml provides several scripts and utils which make life easier. zsh is configured with the completion mechanism. grml-x is a wrapper for configuring and using the X window system. grml-crypt is a program that provides an easy wrapper arround cryptsetup, mkfs, losetup and mount. grml-vpn is a program to establish encrypted communication channels in a network, and so on...


Grml 1.0 release name Meilenschwein was just released.

I am tired of sitting in front of my PC for today, that's why I just link to the:
release announcement.

Russell Coker: PC prices drop again!

A few weeks ago Dell advertised new laptops for $849AU, this was a significant development but I didn’t get around to blogging about it. Now I have just discovered that they have a special deal for $799AU for a laptop including delivery! This is an amazing deal and gives you an AMD Sempron 3500 CPU (not a really fast CPU and only 32bit, but it’s faster than the 1.7GHz Pentium-M that is currently satisfying all my requirements for portable computing), 512M of RAM, an 80G hard drive and a 1280×800 display. It’s far from a high-end laptop (having a lower screen resolution and less RAM than my 3yo Thinkpad) but it will suffice for most things you might want to do on the move apart from running Xen. The exciting thing about this is that as it’s so cheap that most people will probably choose it in preference to a desktop system - the cheapest desktop system that Dell currently offers as a package is $898. The cheap desktop has a dual-core Athlon64, 1G of RAM, and a 160G hard drive. But for most tasks other than games such things aren’t really required. Also a local PC company Suntrom has advertised a new Lenovo Thinkpad with a Celeron-M 1.5GHz, 256M of RAM, 1024×768 display, and a 40G hard drive for $799. The Thinkpad has considerably less compute power than the Dell laptop, but it is a bit cheaper. If Lenovo has maintained the Thinkpad quality (while IBM owned the brand Thinkpad was the Rolls-Royce of laptops) then it would probably be the better choice. On many occasions I have heard people say that they want a laptop computer to save space. When a desktop machine cost $1200 and a laptop cost $3500 that idea was ridiculous. But now that a laptop appears to be the cheapest system in the Dell range on sale in Australia that would be quite a reasonable criteria for purchases. Of course the extra sales of laptops will help fund further laptop technology developments (such as flash storage) that will be of use to those of us who are serious about computing and use laptops they way that they were intended.

Russell Coker: PC prices drop again!

A few weeks ago Dell advertised new laptops for $849AU, this was a significant development but I didn’t get around to blogging about it. Now I have just discovered that they have a special deal for $799AU for a laptop including delivery! This is an amazing deal and gives you an AMD Sempron 3500 CPU (not a really fast CPU and only 32bit, but it’s faster than the 1.7GHz Pentium-M that is currently satisfying all my requirements for portable computing), 512M of RAM, an 80G hard drive and a 1280×800 display. It’s far from a high-end laptop (having a lower screen resolution and less RAM than my 3yo Thinkpad) but it will suffice for most things you might want to do on the move apart from running Xen. The exciting thing about this is that as it’s so cheap that most people will probably choose it in preference to a desktop system - the cheapest desktop system that Dell currently offers as a package is $898. The cheap desktop has a dual-core Athlon64, 1G of RAM, and a 160G hard drive. But for most tasks other than games such things aren’t really required. Also a local PC company Suntrom has advertised a new Lenovo Thinkpad with a Celeron-M 1.5GHz, 256M of RAM, 1024×768 display, and a 40G hard drive for $799. The Thinkpad has considerably less compute power than the Dell laptop, but it is a bit cheaper. If Lenovo has maintained the Thinkpad quality (while IBM owned the brand Thinkpad was the Rolls-Royce of laptops) then it would probably be the better choice. On many occasions I have heard people say that they want a laptop computer to save space. When a desktop machine cost $1200 and a laptop cost $3500 that idea was ridiculous. But now that a laptop appears to be the cheapest system in the Dell range on sale in Australia that would be quite a reasonable criteria for purchases. Of course the extra sales of laptops will help fund further laptop technology developments (such as flash storage) that will be of use to those of us who are serious about computing and use laptops they way that they were intended.

Eddy Petri&#537;or: (Not) Getting Carbide C++ to run on your amd64 Debian Etch. But you get CodeWarrior!

A while ago I decided I wanted to make a couple of nice little apps for my Nokia 6600.
After my successful adventure with pys60 I decided/realized that the Python API does not contain appropriate functions for what I need in my apps, so I decided to setup the development environment for C++ with Carbide C/C++ (the recommended IDE for S60 development for Nokia).

Of course, the IDE is a Windows application and the reason for which Nokia doesn't provide an IDE for Linux (is expected since they are developing maemo and are so into OS) eludes me.
On top of that, I have an Debian Etch amd64 installation[1], so that's more fun.

Fortunately, thanks to Robert Millan and Ove Kaaven, wine is installable from unstable on amd64 and a chroot is not needed[2] anymore.


Now let's see the dependency tree:
Yes, that is all ... summarized. And you can imagine I went though leaps and bounds and wasted a night with this to find out the hard way.

If you don't care about the reasons/story, you can skip to the paragraph where I ran into license issues.

So, first Carbide needs Active Perl. Not any version, but ActivePerl-5.6.1.635. You will find out after you install Carbide c++.

Active Perl, by default, will refuse to install in wine. It relies on some Script Host support.
Good news: it is available on Microsoft's support pages. Bad news: the file is not provided until you go through some crazy scheme[3] to certify you have a genuine Windows installation.

Of course, the genuine stuff failed to work in wine, duh, but having a windows XP OS in qemu was really useful... to try to go further.

Now that I mentioned the Windows XP machine in qemu you might be wondering 'why didn't you installed Carbide c++ in there and start hacking in qemu?' . Well, I wish it was that simple! Believe it or not, the installation in the Windows virtual machine failed in a muuuuch earlier stage it initially did in Wine! It failed in the unpacking phase of the installation, while in Wine that part worked without problems (default config is for Windows XP emulation). Talk about irony!

After a while of trying, I took the risky path (maybe I should install an antivirus, as suggested by wine) and downloaded the kit for the script host stuff from some site on the net (shhh!). Good. I don't remember if I used cabextract or if it worked quite straight forward, but the special configuration entry in Wine Configurator suggests otherwise.

Back to Active-Perl. Now we can try again to install it.

wine msiexec ActivePerl-5.6.1.635-MSWin32-x86.msi

Guess what? The installation failed now, too. After some time of poking, I realised the bastard was looking for mfc42.dll in the installation. There was no word about that in the error message, only in the wine logs there were some hints. No wonder Windows users learn very early to ignore error messages (the error message was plain uninformative).

Where to get mfc42.dll from? The virtual machine! I tried to send them via email, but the link was too slow. Now I realised I could have used winscp, but I didn't thought of that at the time.

The rescue did come this time from M$, but with some effort. It appears that mfc42.dll is by default present on XP, so you only find it for download in some kit (vc6redistsetup_enu.exe) for Windows 9x. That works (lost some time to figure that out, too) since the kit contains a mix of 9x, NT and independent dlls. I think this installation didn't work and I had to cabextract the files by hand and copy them in system32. I registered the mfc42.dll module, after copying it in windows/system32.

wine msiexec /y mfc42.dll

Well, now I have everything installed Carbide should start... Well, no! License issues! I got a message about not having a license for the installation. Ain't that great? I just installed the thing and is the free/handicapped version. What gives? Well, in Carbide C++ 1.2, the Express part of the kit is broken and doesn't install the license file.

So, I installed the professional version since it had a longer trial period, hoping that now I'll be able to see the IDE and start working.

After this, I tried several times to start Carbide itself, but it failed at different points in time. I "just"[4] configured wine for this app to set the order to 'native,builtin' for msvcrt, ole32, oleacc and shdocw and got further.

Hopeless attempts follow....

At this point I got stuck. There was still some error from ole32.dll (apparently), but I couldn't go further.

I tried to install the 1.1 trial version. Got stuck. In any way I couldn't start Carbide c++ :-(( .

GRAND FINALE!

In the end, I also tried the deprecated CodeWarior. Guess what? It installed and ran immediately. Although I am not sure if any of the previous poking had anything to do with it.



[1] I have some packages from unstable
[2] although I had one, I wanted to get rid of it, since gnash started to perform better in the latest versions - still not satisfactory, but OK
[3] some browser plugin WPGInstall.exe, iirc and some app which should send your privat^W^W^Wanalise your system to generate some code that should identify your system as genuine
[4] this also took me some time... start, identify the dll, change the order, restart...

17 May 2007

Gunnar Wolf: Starting as a mentor soon

After a long time talking this as a mere potential would-be-nice thing, finally we are putting some action behind our words: One week from now, Sergio Mendoza and I will start a ~2 month long extracurricular course on Debian. The students? We have 12 students of the Facultad de Ciencias at my University. The students are pre- and post-graduate (licenciatura and maestr a), from the Phsyics and Astronomy areas. Sergio got this group as he is a teacher and researcher at Instituto de Astronom a.
While this first iteration is completely extra-curricular, unofficial and by invitation only, we expect this pilot course to be later presented as an official course in the Faculty.
Many people will remember I usually don't like general courses on Unix, Debian or whatever. What made me accept this time - even more, be enthusiastic about it? First of all, the requirements: We assume the students already know their way (at least as users) in a multiuser Unix-like system, so we won't be hand-holding them all the way through. Second, the focus: Sergio (who is among the first Debian users in Mexico and who got us our first full Debian mirror - which is actually a bit sick, but awaiting for prompt hardware upgrade ;-) ) wants them to focus on becoming developers. Not only developing science-oriented applications and libraries, but properly packaging and integrating them in Debian (and, hopefully, some of them will become interested in joining the project). We will also spend a good portion of the course on teaching them good practices on system adminsitration, teaching the principles behind what we do (i.e. I'm looking forward to participating, and in this case as one of the more students, in the sessions where different cryptography-related topics will be explained, starting from their mathematical foundations and going all the way up towards the implementation, where I'm more comfortable at).
It will be a nice experiment. I will be away for at least five of the lessons (Blame Debconf!), but I'm really looking towards the process and the results.
We will be making rough documentation of what we teach. We don't have a planned complete program, as we want to go with the group's real skills and interests, planning not more than three lessons ahead. This will be, however unofficial it is, my first time in front of a group in a university-esque setting (i.e. not short sessions, not capacitation built for a company, but with people eager to learn what we want to teach. I'll post again on this topic :)

Matthew Garrett: Runtime power saving on Linux - the CPU

Modern processors have a variety of low power modes that can be entered while idle. These "C states" are numbered, currently ranging from C0 (a running CPU) to C4 (a deep runtime sleep state). The problem with these states is that the deeper the sleep, the longer it takes the CPU to wake up. In order to avoid excessive reductions in performance, the kernel must keep track of the processor usage pattern and avoid putting the CPU into a deep sleep mode when it's likely that it'll be needed for more work in the near future.

Traditionally, the kernel has had a fixed timer tick - that is, a fixed number of times a second, the timer will generate an interrupt, wake the kernel and allow processes to be rescheduled. This limits the maximum amount of time the CPU can remain idle, as this timer will fire even when the system is otherwise idle. A tick rate of 1000Hz is desirable for reducing latency, but will also result in the maximum sleep period being 1ms. This is less than ideal.

2.6.21 introduced dynamic tick functionality. Now, rather than having a fixed tick interval, if the system is idle the kernel looks at all outstanding timers and schedules a wakeup in time to answer the next timer. This allows much longer periods of sleep without compromising latency. However, for this to be useful it's desirable to have as few timer wakeup events as possible. The longer the CPU is going to be asleep, the deeper the sleep state that can be used.

Intel have recently released Powertop, an application that tracks the causes of wakeups. These wakeups can fall into two categories - kernel and userspace. Pure userspace timers will usually be due to an application having a timer to handle some sort of trivial activity, like blinking a cursor or polling for state. There are a couple of ways to improve this:Things in the kernel can be trickier. Kernel interrupts may be appearing because of some kernel code specifying a timer, but an alternative is that a userspace application is poking them. Many of the same considerations as userspace apply here:Fixing these issues can range from the trivial (removing unnecessary timers) to the complicated (teaching gstreamer about alsa notifications, teaching the mixer applet to listen to signals from gstreamer). It's all helpful, though. Ideally you want your processor to be averaging at least 20ms in the deepest C state before it's woken up again. There's a lot of low-hanging fruit out there, and every fix improves battery life.

16 May 2007

Andrew McMillan: Contracts for people to work on Open Source Software

A few years ago we needed to introduce employement contracts for all staff at Catalyst. When we got the example contract back from our HR consultant, she had quite naturally biased it strongly in the employers favour, and as a consequence it had a very anal and lawyerly clause in it regarding the ownership of intellectual property. This clearly wasn't going to work well in our environment so I decided to take the opportunity to try and write a clause which was fair and reasonable, which considered the likely desires of both parties, and which expressed an understanding of the sort of environment which often happens with free open-source software. It seems that many people who are interested in working on open source software are also people who will work on (i.e. fiddle with :-) things in their spare time, but they will not necessarily consider the possible consequences of using conmpany resources to do so. I have heard of situations where employment contracts (or perhaps even government enacted legislation) will give ownership of an individual's work to their employer in such situations, so I also wanted the contract to make it clear where and how this might happen. I would like to hear people's comments on the contract clauses which we use here. Is this fair to both parties? Have I missed something? Is the meaning clear? Also, I need to make it clear that it is OK for people to use this text, so I hereby place the text of the following Intellectual Property clause in the public domain. Intellectual Property
  1. All intellectual property, including source code, objects and documentation, relating to work carried out while in the employment of $ COMPANY , remains the property of $ COMPANY , subject to the exceptions outlined below.
  2. All intellectual property, including source code, objects and documentation, owned prior to joining $ COMPANY remains your property. If you choose to use such intellectual property, including source and objects during your time at $ COMPANY , $ COMPANY will have the rights to their continued use in perpetuity, including access to the source code of all versions of such software in use at $ COMPANY .
  3. If $ COMPANY asks you to do something, then we expect that while you work on that something, you will be being paid by us and we (or our clients) will own the IP. In some cases we may elect to open-source that, and may decide to jointly own the IP or make some other arrangement, but it would be at $ COMPANY s option.
  4. If you work on something by your own choice, and on your own time, then you are welcome to own the IP, but if you use the premises or computers of $ COMPANY to do that work then you must license it under a free, open-source license agreed with $ COMPANY .
  5. $ COMPANY may choose to fund some part of your time to work on OSS projects in a non-directed way. $ COMPANY will expect to own the IP for such work, and to participate in the choice of license for such code.
  6. All of the above is subject to confidentiality of client information, and constraints which clients may specifically request in relation to specific project work from time to time.
Over To You I wrote that because I couldn't find examples around the place of similar things. I guess I still see people looking for that sort of thing so I'm publising it here with the idea of providing a seed which can perhaps grow into something else. A few specific questions I would like you to think about: Then, perhaps, if we can see some general agreement on what would, or would not, be a useful standard we can encourage people to use it in their future contracts. I am hoping that through your collective wisdom I will be changing this clause in Catalyst's standard employment contract.

15 May 2007

Russell Coker: Planet feed polling frequency

From reading my web stats yesterday it seems that one Planet has polled by blog feed 1693 times over the first 14.25 days of this month. This is about 5 polls per hour. Another Planet has polled my blog 994 times for an average of about 3 hits per hour. How frequently does it make sense to poll blogs? Speaking for myself I think that waiting an extra 10 minutes to see my latest blog post isn’t going to hurt anyone, and encouraging Planet readers to reload the page so frequently probably isn’t doing them a favour either. For my own personal Planet installation (which mainly aggregates other Linux Planets for my own personal use) I have it poll the feeds every four hours. For a Planet installation designed for general readership it would make sense to have it poll more frequently. Maybe once every hour or once every half-hour. When I initially set up my own planet installation I aggregated the entire feed list of Planet Debian and Planet Linux Australia and it generally took between 10 and 30 minutes to poll all the feeds with 20 minutes being common (Planet does not support parallel downloads). So for a moderate sized Planet with frequent polling you might have one poll end after the next cron job for a poll has begun. It’s a pity that Planet doesn’t support pings. Will the next version do so? I would rather have my blog ping the Planets that I know of that aggregate my content and save thousands of needless polls while also giving a faster update. Finally if you need a fast response for a dialogue then probably blogs and Planets are not the communication mechanism to use, a mailing list would probably be more appropriate.

Biella Coleman: Beyond Labeling, Skin Deep

While most of our products are labeled, labels often don’t reveal all that much because really who can decipher the meaning of all those weird oxidase-perio-para-whatever in your shampoo? But thanks to the environmental working group, you can access a very large database Skin Deep, which is a “a safety guide to cosmetics and personal care.” So find out what toxic stuff are in your personal care products, ditch em, and take further action: As they state on their website:
Due to gaping loopholes in federal law, companies can put virtually any ingredient into personal care products. Even worse, the government does not require pre-market safety tests for any of them. This is unacceptable. Sign the Environmental Working Group’s petition to Congress to turn this around and make personal care products safe.
So check out the database and the petition.

Benjamin Mako Hill: Ubuntu Community Council

Very quietly, the Ubuntu community reached a major milestone today when we held a Community Council meeting, like it does fortnightly. The only thing different was that the council included five new members -- Mike Basinger, Corey Burger, Matthew East, Jerome S. Gotangco and Daniel Holbach. These members are, with the exception of Holbach, not employed by Canonical and were each confirmed by a vote of the full Ubuntu membership. Before the recent elections, I was the only member who was not a Canonical employee -- and I used to be one. From a technical perspective, the founding Ubuntu team was able to benefit from everything that Debian had built -- a running start if there ever was one. From a community perspective though, we had to start from scratch and had to deal with the very difficult situation that paid labor and closely entangled corporate interests. Working with the rest of the team, I drafted a set of community norms (the Code of Conduct) and governance structures designed to keep both the community and Canonical under control. They seemed like good ideas but, because we didn't have a community yet, only reflected the sensibilities of Mark Shuttleworth, myself, and the rest of the early Ubuntu team. The highest Ubuntu governance board, the Community Council was initially filled with people that were in the room in Oxford when we came up with the idea: myself, Mark, James Troup, and Colin Watson. We decided that the council members should, and would, be approved by a vote of the membership. With no members though, we faced a bit of a bootstrapping problem. Three years later, Ubuntu has a vibrant community with hundreds of enfranchised members who have an up-or-down say on the members of the council itself. When we looked for new potential council members to propose to the community, we tried to pick the most active, most level-headed, and most representative group we could find. It was pleasing to see that only one member of the new CC board works for Canonical; Canonical employees are now outnumbered. It has been interesting to see announcements by Fedora, FreeSpire, OpenSuSE over the last few years proposing systems of more inclusive community governance structures that, perhaps not entirely coincidentally, look a bit like what Ubuntu has built in its attempts to empower users in that sometimes awkward community/company environment. Whatever the reasons, I think it means there's more pressure on us at Ubuntu to keep raising the bar. I see today as a great example of how we've done just that.

Next.

Previous.