Search Results: "cas"

12 April 2009

John Goerzen: Flowers, Music, and Grandparents

Flowers I ve written a lot lately about my Grandma Klassen, who passed away this week. But I m going to start this post about my Grandma Goerzen. She died when I was just an infant. I never knew her, but as the years pass, it seems that I remember her better and better. After we moved out to the farm where she and Grandpa Goerzen lived for decades, we noticed some flowers she had planted 30 years ago were still coming up, having withstood hail, hot summers, frost, construction equipment, and neglect all that time. Terah said, It s like your grandma left us a housewarming gift. Some of these flowers had never bloomed. Until this week. One bloomed for the first time the day Grandma Klassen died. A second bloom appeared the day of her funeral. Music #1 My jr. high and high school band teacher loves music (and old engines, but that s another story). You couldn t sign up for band at my high school; you d sign up for the class called LIFE. To him, music and life are indistinguishable. He says that anybody can speak to somebody, but music is the best way to speak to the heart. My Grandpa Klassen died when I was 11. Grandma Klassen, before her health declined, loved to tell me the story of the music at his funeral. At his funeral, my mom and I played a piano duet of Nearer, My God to Thee which we had already learned for a different event. When we were done, Rev. Epp went to the pulpit and said something along the lines of, If the music in heaven is as good as that, it ll be a great place indeed. I was just 11, and though music did speak to me at that age already, I don t think I understood how it moved people, such as my grandma, until many years later. Music #2 Grandma Klassen loved music, too, and that s reflected in each of her children all of them play trumpet, for instance. So it s no surprise that there was a lot of music this week. She died as two of her children were singing hymns to her at her room in the nursing home. Two of her grandchildren played trumpet for her at her burial. And my brother and his wife played trumpet and piano at her funeral. It was all beautiful, and like my band teacher said, it spoke to my heart. Music #3 I knew about gradma s love of music for quite awhile. When she was in better health, I took her to concerts sometimes. One of her favorite hymns was Joyful, Joyful, but she hadn t known it was based on Beethoven s 9th Symphony. I learned that the Wichita Symphony Orchestra was performing the 9th, and took her to the performance. She loved it, and I seem to recall that she kept talking about it for a few years afterwards. It certainly didn t hurt that the singing on the 4th movement was in German. I burned her a new-fangled CD of it, which I frequently saw in or near her CD player. The Kansas Mennonite Men s Chorus is an all-volunteer choir with about 300 members. They give a couple of concerts a year, and occasionally tour throughout North America and Europe. Their motto is we sing that others may live because 100% of money collected at their concerts goes directly to charity. Attending one of their concerts is a powerful experience not easily forgotten. I think the only time I ve heard a choir come close to being as amazing as that was when I had the opportunity to attend a Robert Shaw concert a few years ago. I went with grandma to one of the Kansas Mennonite Men s Chorus performances a few years ago. As you might expect, she loved it I think she called it powerfully good. This year, I finally joined the choir. I still remember that first practice. We warmed up by singing Holy God, We Praise Thy Name a song that has opened every KMMC concert for years. These people hadn t sung together for almost a year, and there were plenty of new people like me there too. But it only took a few bars of singing before I realized just what it was I had joined. The choir started out with the quietest, but most powerful singing you can imagine: Holy God, we praise thy name. By the time we got to the end of the page, the building was ringing from 300 men singing Infinite thy vast domain, everlasting is thy reign! at the top of their voices, in perfect harmony. We got to the end. The director said. . . Wow. I don t think a first practice ever spoke to my heart before that day. Music #4 Nearly 20 years ago, Grandma Klassen bought me a new bible. After she gave it to me, I asked her what some of her favorite passages were. She took me straight to the blessing in Numbers 6, and made sure I underlined it and bookmarked it. It goes like this:
The Lord bless you,
The Lord keep you,
Make his face to shine upon you and be gracious unto you,
The Lord life up his countenance upon you and give you peace.
My uncle had read this blessing to her the last time he talked to her. And the KMMC for years has ended their concerts with a beautiful benediction based on this passage. Grandma heard it at the concert I attended with her. It has been a favorite of my mom for years, too. So I had the thought: we really ought to sing it as a benediction at her funeral. It was hard to find the right mix of people on short notice, but we wound up with me singing baritone, my brother singing 2nd tenor (we both normally sing bass), and his wife both playing piano and singing 1st tenor, and relying on the piano to fill in the bass part. We had a little chance to practice before the funeral, but not a lot. The two of them have done a lot musically, but I haven t nearly as much, so I got in some extra practice at home, too. When it came time to sing, it was an emotional moment for sure more than a bit hard to focus, knowing the history and meaning of these words. When we got to and give you peace , and moved into the chorus of amen that finishes the song, I almost broke down right there, but didn t quite. We didn t give a perfect performance, for sure, on such short notice. (And they had me singing with them, so we wouldn t have been perfect even with plenty of notice!) But it didn t have to be perfect. After we ended the last, quiet amen , I think I heard about a half-dozen noses blowing all at once. My band teacher was right about music speaking to the heart. Later, during lunch, my aunt said to me, Wow, John, I ve never heard you sing before! That s right, and this may be the last time you hear me sing, too! I don t normally sing in a small group like this. A few minutes later, my uncle that gave the message came over and talked to the three of us. John, today you three brainwashed me. Oh? Yes. For years, I thought that there was no music as beautiful as the trumpet. After hearing you three sing, I have to reconsider. And so my band teacher was also right: music is life. My grandma was a person that could hardly speak without touching the heart. That beautiful melody of her life didn t stop when she died Tuesday afternoon. I ve been hearing it all week.

Jonathan McDowell: Adventures with an Intel G41 and KMS

I bought a new machine recently; for the flat at present with the aim of it becoming an upgrade for the media box once my lease is up. Nothing spectacular; E5200 Dual Core Pentium at 2.5Ghz, MSI G41M-FIDP mobo and 4G of OCZ DDR2 800. I don't need that much, but for 30 how could I resist? Total price, including the extra postage tax to NI and a small case, 200 from eBuyer. I had an existing HD I could use and also managed to find a spare DVD writer too.

I did a 64 bit lenny install from the multiarch netinst CD. There was a slight issue with partman getting confused at one point but I couldn't reproduce it so it might well have been user error. Network, graphics, sound all detected fine out of the box.

Anyway. Part of the reason for a G41 based board is that it's a fairly recent Intel chipset but slightly cheaper than the cutting edge G45. And Intel have been pretty good about getting decent support for their chipsets, both in X for 2D and Mesa for 3D. Unfortunately the X support in lenny isn't great; the driver (2.3.2) works, but I found I needed to disable acceleration for it to be reliable. And I wanted to take advantage of what the chipset could offer.

Helpfully there was a push of various shiny new bits of X into unstable last week, including libdrm 2.4.5 and xserver-xorg-video-intel 2.6.3. So I thought I'd give that a try. I don't want to track unstable on this box as it'll have pretty dire connectivity (Orange 3G at best). Testing may be a possibility but I'd need to sort out a way of pulling the updates via a USB stick on a better connected box - pretty sure I've seen things about doing this in the past so will have to investigate. For the moment I added an entry for unstable, set pinning to prefer lenny and told aptitude to install xserver-xorg-video-intel and mesa from unstable. While I can't possibly recommend this unless you're confident about being able to repair any resulting mess yourself I found it went quite smoothly and didn't pull in nearly as much new stuff as I feared.

The newer X/Mesa packages alone weren't enough. The PCI IDs for the G41 aren't yet in mainline kernels, let alone the 2.6.26 variant in stable. So I compiled up 2.6.29.1 with this patch and figured I'd enable Kernel Mode Setting at the same time. 2 reboots later (when setting KMS you don't want to enable the intelfb driver, but you do still need to enable the "Console on Framebuffer" option. Ooops.) and I had a shiny X install proclaiming OpenGL 2 hardware acceleration support and Xv. Plus switching between X and a text console was pretty damn smooth. Rockin'

On the whole I'm quite impressed, though I am seeing occasional freezes with Xine and Xv output - not sure what it's tickling as mplayer seems to be ok and I can't actually get any error output when it happens. Will try and hook it up to the network and see if I can still login that way at some point. For the moment it's still perfectly usable aside from that.

John Goerzen: Goodbyes

Yesterday was my grandma Klassen s funeral at Alexanderwohl Mennonite Church, where she had been a member for decades. My uncle, a pastor, gave the meditation. He had been a missionary in Vietnam during the war, and he remained there after the United States withdrawal. During that time, things were very dangerous for him, and all means of communicating with the family back home were completely cut off. My grandparents had no way of knowing if he was OK. He later heard of a conversation my grandma had with a neighbor one day during this time: Neighbor: You must be so worried about your son in Vietnam! Grandma: Not really. I gave him back to the Lord the day he graduated high school. Neighbor: If you re not worried, then I m REALLY worried! Grandma: Why worry? Heaven is just as close to Vietnam as it is to Kansas. That exchange sums her up pretty well, I think. She was so deeply religious that it gave her a great sense of peace about life. We heard so many stories about her this week. We heard how, when she was already in her upper 80s, she helped a farmer get his equipment out of the mud and ran some heavy farm machinery. She was in charge of my cousin s schoolwork for a little while (she lived with them back then, and his parents were taking a trip). She apparently made sure he did every little assignment left for him in exacting detail, even the ones that his mother had said were extra , just in case he needed something else to do. Apparently when his parents got back, he said he loved his time with grandma, but begged them to never put her in charge of his schoolwork again! I told the story of learning to play chess when I was a child. My grandpa was teaching me the game. I was having some trouble learning some of the rules, and was frustrated because he was also beating me (like usual). After a little while of me getting more and more frustrated, grandma said something to him in German and all of a sudden I started winning. Yesterday evening was the community Good Friday church, with the combined choirs of our church and Alexanderwohl singing. That wasn t the easiest thing to do after the funeral in the morning, but I m glad I did. Tomorrow I ll be singing again for Easter.

11 April 2009

Mike Hommey: Following up on SSH through jump hosts

I got interesting comments on my previous post about SSH through jump hosts, that made me think a bit. The first one of them suggested to use a syntax that unfortunately doesn t work on anything other than zsh, but had the nice idea to add a login for each jump server. Sadly, this only works when there is only one hop, for reasons similar to those we will explore below. The second one suggested / would not be so good a separator, because it would fail in svn+ssh urls and such, which is a good point that I didn t think of only by lack of such use case. The simplicity of the resulting configuration was nice enough. This decided me to take a shot at implementing something that would allow adding both login and port number for each jump server. The first implementation detail to set was which characters to use for login, port number and hop separators. I chose respectively % (@ is unfortunately impossible to use because ssh would take it, leaving out any hop before the character), : (pretty standard) and + (not allowed in DNS, and not too illogical as such a separator, I thought). The result can look like dark magic when you are not savvy with sed and regular expressions:
Host *+*
ProxyCommand ssh $(echo %h sed 's/+[^+]*$//;/+/! s/%%/@/;s/:/ -p / ;s/\([^+%%]*\)%%\([^+]*\)$/\2 -l \1/ ) PATH=.:\$PATH nc -w1 $(echo %h sed s/^.*+//;/:/!s/$/ %p/;s/:/ / )
The syntax you can use to connect through jump hosts is the following:
ssh login1%host1:port1+login2%host2:port2+host3:port3 -l login3
We ll see further down why we can t put a login for the final destination host. Or if you want to skip the boring implementation details, you can also skip to the end, where a slightly more compact version lies: while writing this post, I got some optimization ideas. Let me try to split the sed syntax to make it a little more understandable:
s/+[^+]*$//; # Remove all characters starting from the last + in the string (i.e. keep the n - 1 first hops)
/+/! # If the string doesn t contain a + after the previous command (i.e. there is only one hop remaining), do the following, otherwise, skip until the closing curly brace
s/%%/@/; # Replace % with @ (% is doubled because of the ProxyCommand)
s/:/ -p / # Replace : with -p . Combined with the previous command, we rewrite login%host:port as login@host -p port
;
s/\([^+%%]*\)%%\([^+]*\)$/\2 -l \1/ # Rewrite hop1+hop2+login%lasthop as hop1+hop2+lasthop -l login
The second sed goes like this:
s/^.*+//; # Remove everything up to the last occurrence of + in the string (i.e. only keep the last hop)
/:/! # If there is no : in the string, do the following, otherwise, skip the next statement
s/$/ %p/;
# Add %p at the end of the line
s/:/ / # Replace : with . These last three instructions prepare a host port combination for use with nc.
Let s see what the ProxyCommand looks like for some examples, skipping PATH setting and nc option for better readability:
host1+host2
ssh host1 nc host2 %p
login1%host1+host2:port2
ssh login1@host1 nc host2 port2
login1%host1:port1+host2:port2
ssh login1@host1 -p port1 nc host2 port2
Now, maybe you start to see why we can t put a login on the last hop: not only does it make no sense for nc, but also the main ssh process that runs the ProxyCommand and will actually talk to the remote host won t have any knowledge of it. From the above examples, it also appears obvious why we replace login%host:port with login@host -p port : so that the ssh command in the ProxyCommand gets the proper arguments for login and port. Note we could also replace with host -p port -l login for the same effect. With even more hops, this is what happens:
host1+host2+host3
ssh host1+host2 nc host3 %p
login1%host1:port1+host2:port2+host3
ssh login1%host1:port1+host2:port2 nc host3 %p
Each of these ProxyCommands will trigger another ProxyCommand quite looking like our first few examples. In the first hops, if we d just replace all % with @ , in cases where logins are given everywhere, we d end up with a ProxyCommand like the following:
ssh login%host1+login%host2 nc host3 %p
As we saw above, we can t use a login on the last hop, which means this ProxyCommand wouldn t work as expected and is why we have to rewrite login1%host1+login2%hop2 as login%host1+host2 -l login2 with the last instruction in the first sed. In the end, this is what happens:
login1%host1+login2%host2+host3
ssh login1%host1+host2 -l login2 nc host3 %p
login1%host1:port1+login2%host2:port2+host3:port3
ssh login1%host1:port1+host2:port2 -l login2 nc host3 %p
In this last example, you see the :port2 part is not changed into -p port2 . Actually, it would still work with the latter form : the ProxyCommand ssh login1%host1:port1+host2 -p port2 -l login2 would itself have ssh login1@host1 -p port1 nc host2 %p as ProxyCommand, in which %p would be replaced by port2, given as argument to -p. Based on this and with further small optimizations, we can slightly shorten our ProxyCommand to the following :
Host *+*
ProxyCommand ssh $(echo %h sed 's/+[^+]*$//;s/\([^+%%]*\)%%\([^+]*\)$/\2 -l \1/;s/:/ -p / ) PATH=.:\$PATH nc -w1 $(echo %h sed s/^.*+//;/:/!s/$/ %p/;s/:/ / )
sed instructions decryption is left as an exercise to the reader ;). Update : modified the shortened version to fix the issue spotted in the comments.

Neil Williams: Thanks, Debian.

Hmm, this is a little story of how to break Xorg in Sid and then use Squeeze to fix it. :-)

I never liked having extraneous packages, so I don't like xserver-xorg-video-all - I just want xserver-xorg-video-foo (nv in the case of the laptop in question). So the latest upgrade from Sid wanted to bring in all the video (and input) packages and I tried to work around it. Hmm. Turns out, I could use -o Apt::Get::Download-Only=true and dpkg --force-depends -i to get the packages I wanted. The thing is, one of the modules needs to be installed for the dependency on xserver-xorg-video-all to be met by a Provides. It's the Provides that has changed. So I installed xserver-xorg-video-nv by force and logged out. Oops. No X.

Various other hacks later, I tried to build xserver-xorg-video-vga (which I thought was probably the missing one) only for the build to fail on amd64. Brokenness. Hmm. (it doesn't build in a pbuilder chroot either, bug filed.)

I've always run a pure Sid install but I know people who mix Sid and Squeeze, so I added a Squeeze source and started doing a lot of apt-get install xserver-xorg-video-foo/testing - again concentrating on just the video packages I need. Aha! X restarted - umm, but the mouse didn't move and the keyboard did nothing in X, only in the existing terminal. Repeat process with xserver-xorg-input-all/testing and I'm back in a working X. Phew.

My own fault, I know (I shouldn't have forced the package installations, should have just waited for the complete dependency chain to be available), but it's nice to get out of this mess so easily.

Jeff Bailey: Creationism Museum

On our move down to California, Angie, Leif and I stopped by the Creationism Museum. I mentioned this a couple of Augusts ago. Unfortunately, I didn't want to post about it without having the pictures, and I've only just finally got around to uploading them. I suck, news at 11.

http://picasaweb.google.com/kaladron/CreationismMuseum

We went with Stephanie, and had a great time. We got there a bit late, so didn't get to see the floor show and stuff, but we did get a chance to see the exhibits. The people there were a little reminiscent of the TV show Circle Square, where the people were just a little too friendly, and blinked just a little too rarely.

How we heard about the creationism museum was from an Interview on CBC, where the guy who opened the museum talked about how they were trying to show a different interpretation of the results of archaelogical digs, and how they saw this as a religion, and that science is just another religion. We were a bit shocked when we got to the US to discover that the guy is somewhat less rational there, claiming that what they're doing is good pure science, etc.

The premise is an interesting one: They start with the literal truth of the bible and then interpret everything against that backdrop. The argument is a vaguely reasonable one: Scientists do this all the time using what they've learned in school. They've learned that the universe is billions of years old, and therefore will do carbon dating a certain way, etc. If you start with the bible saying that the universe is 6000-odd years old, then results wind up getting interpreted differently.

The key to most of how the world wound up the way it is is apparently tied up in two major events: First, the story with the apple (Sorry I'm a little light on details, I didn't grow up Christian) caused people to start eating meat and wearing clothes.

Aside of the moment, my in-laws have a great fridge magnet from restoringeden.org: "God's original plan was to hang out in a garden with some naked vegetarians"

The second big event was the great flood, which killed all the dinosaurs, caused turbulence, moved continents around, and some other stuff.

Amusingly enough, when looking for a link to the CBC review, I found a review of a complaint about the interview: http://www.cbc.ca/ombudsman/ombudsmanweb/39.htm

Anyhow, had a great time. Enjoy the photos. =)

Andrew McMillan: DAViCal 0.9.6.3 released

After far too long (too many holidays away from my keyboard :-) I've released DAViCal 0.9.6.3 and AWL 0.36. This is mostly a stability release, fixing all those little niggles that might only affect a few corner cases, but it frees me up now to concentrate on adding more functionality for a 0.9.7 release in due course. Hopefully this will be the last in the 0.9.6.x series. More information in the DAViCal release notes on the wiki. There are quite a few changes to the AWL libraries which this release depends on, but most of those changes have been driven by my Work Request Management System and Capital APMS projects, rather than from DAViCal.

10 April 2009

Joey Hess: Racing the Beam

I devoured Racing the Beam last night. It does a great job at getting inside the Atari 3600 platform and explaining how it affected the early games that ran on it. Full of great examples, like Yars Revenge displaying its own code onscreen as a visual effect, to avoid needing a random number generator. Teaches how to analyse screenshots of 3600 games and see how the crazily limited hardware was coaxed into drawing them. Highly recommended, just wish it were twice as long. (I also enjoyed that the book itself is a nice recursive hack. Its (fairly cheap) printing process didn't allow reproducing the detailed color photos of the games needed for reference. So they printed them on the inside of the dust jacket instead.)
While I just missed out on the heyday of the Atari 3600, I was writing similar games on my 130XE a bit later, mostly limited by having to use slow BASIC. This was probably the first video game I ever wrote, judging by its filename ("VIDIO").
You're the green dot, zipping across the screen. Each time it reaches the right side, it wraps back to the left, leaving a wall behind. Crash into the wall and you lose a life.
As I've mentioned before, I still enjoy VIDIO, both its simplicity and gameplay. And the key to its gameplay is that the dot moves fast and the controls are not very precise, making it hard to go thru a given hole in the wall. And the controls are not very precise because of a limitation of the platform. The BASIC program can only sample the joystick position occasionally, and so there's little fine control. So, Racing the Beam has helped me realize that the platform made this game what it is.
BTW, here's the code to VIDIO. (more)

Kapil Paranjape: Controvertialism

Rahul Basu pointed out an article by the eminent scientist Freeman Dyson. In the past Dyson has raised a number of interesting questions and has been thought-provoking, but it is difficult to read him when he writes like this. I have re-phrased what he has said (debunking climatologists) and turned it into an argument against the Large Hadron Collider so that we can see how obnoxious it sounds.1
My first heresy says that all the fuss about the Higgs particle is grossly exaggerated. Here I am opposing the holy brotherhood of high energy physicists and the crowd of deluded citizens who believe that the world is predicted by the standard model. Of course, they say, I have no degree in physics and I am therefore not qualified to speak. But I have studied the standard model and I know what it can do. The model solves the equations of gauge theory in the simplest cases, and it does a very good job of describing the interactions of the known particles. It does a very poor job of describing how mass arises and the chemistry and the biology of phenomena we see everyday. It does not begin to describe the real world that we live in. The real world is muddy and messy and full of things that we do not yet understand. It is much easier for a scientist to sit in an air-conditioned building and run computer models, than to put on a lab coat and measure what is really happening in the complex phenomena of compounds and materials. That is why the high enery physicists end up believing their own models.
The rest of the article can then be similarly re-phrased but I will just summarise it as:
There is no reason for the rest of the world to believe the high energy physicists and squander billions of dollars into following their proposed unique solution to the questions of physics.
Of course, there is a good chance that Dyson will agree with the above point of view as well! The problem with controversialists'' like Dyson is that they believe that taking extreme positions helps clarify issues. Unfortunately, extremists are a-dime-a-dozen in today's world. I suppose I should clarify that I accept neither the extreme position on climatology nor the one on the LHC!

  1. My friend is a high energy physics theorist!

Obey Arthur Liu: Google Summer of Code 2009: Debian s Shortlist

Copy of http://lists.debian.org/debian-devel/2009/04/msg00421.html. Hi folks, We have been pretty busy these past few weeks with the whole Google Summer of Code 2009 student application process.
I can say that we have this year a very good set of proposals and I d like to thank all the students and mentors for this. I am going to present to you our shortlist of projects that we would like to be funded and believe we can reasonably manage to get funded. As always, remember that the number of slots is not final yet at this point so we can t promise anything. The first preliminary slot count given today was *10* (same as last year) and we hope to get *2* more (as we did last year). This shortlist is alphabetically ordered because we don t want to reveal the current internal rankings. I am inviting you to debate what you think is cool, what is useful, what is important to Debian, maybe give us pointers to resources or people that could be helpful for the projects. We will try to alter our current rankings to reflect the zeitgeist in Debian, while taking into account the personal information that we have about each student involved. The deadline for any modification is on the 15th, so get everything in by the 14th. The final selected projects will be announced by Google April 20th, ~12 noon PDT / 19:00 UTC. We ll have another announcement then. Three proposals need or may need a mentor, I indicated it. For more information about the projects or mentoring and how to talk to us directly, scroll down past the list. Debian s Shortlist : - Aptitude Package Management History Tracking
- Automatic Debug Packages Creation and Handling
- Debbugs Web UI: Amancay Strikes Back
- Control Files Parsing/Editing Library/Qt4-Debconf Qt4-Perl bindings
- Debian-Installer Support for GNU/kFreeBSD
- KDE/Qt4 Adept 3.0 Package Manager
- Large Scientific Dataset Package Management
- MIPS N32 ABI Port
- MTD Embedded Onboard flash Partitioning and Installation
- On-demand Cloud Computing with Amazon EC2 and Eucalyptus Integration
- Port back update-manager to Debian and all Derivatives
- Debian Autobuilding Infrastructure Rewrite And the details: Aptitude Package Management History Tracking Student: Cristian Mauricio Porras Duarte, Mentor: Daniel Burrows Aptitude currently does not track actions that the user has performed beyond a single session of the program. One of the most frequent requests from users is to find out when they made a change to a package, or why a package was changed; we want to store this information and expose it in the UI in convenient locations. As a side effect, this might also provide some ability to revert past changes. Automatic Debug Packages Creation and Handling Student: Emilio Pozuelo Monfort, Mentor: Marc Brockschmidt This proposal aims at providing debug binary packages for the packages in the Debian archive in an automatic manner, moving them away from the official Debian archive to an special one. This has the benefits of providing thousands of debug packages without any work needed from the developers, for all the architectures, without bloating
the archive. Debbugs Web UI: Amancay Strikes Back Student: Diego Escalante Urrelo, Mentor: Margarita Manterola The Amancay project aims to be a new read/write web frontend to Debian s BTS; allowing DDs and contributors to easily interact with bugs via an intuitive yet powerful interface, enabling new workflows and creating new contribution opportunities like triaging while upholding reporting quality. Control Files Parsing/Editing Library/Qt4-Debconf Qt4-Perl bindings Student: Jonathan Yu, Mentor: (probably) Dominique Dumont see below This project proposes a common library for parsing and manipulating Debian Control files, including control, copyright and changelog. Main ideas include validating and parsing of these files, with both Strict and Quirks modes for the parser. The second idea is a new frontend for Debconf using Qt4 (for which Perl bindings will be written). Debian-Installer Support for GNU/kFreeBSD Student: Luca Favatella, Mentor: Aurelien Jarno GNU/kFreeBSD is currently using a hacked version of the FreeBSD installer combined with crosshurd as its own installer. While this works more or less correctly for standard installations (read: the exact same installation as in the documentation), it does not allow any changes in the installation process except the hard disk partitioning. This project is about porting debian-installer on GNU/kFreeBSD, and to a bigger extent, make debian-installer less Linux dependant. KDE/Qt4 Adept 3.0 Package Manager Student: Mateusz Marek, Mentor: NEEDS MENTOR, see below. Finish Adept 3.0, a fully integrated package manager for Qt4/KDE4. Adept is currently the only viable path to a Debian native package manager on KDE that would support modern features such as tags, indexed search or good conflict resolving. With Aptitude-gtk still in development and only available for GTK+ and (K)PackageKit having fundamental problems, Debian needs this project to stay in control of its package management on KDE after much neglect in the recent years. Large Scientific Dataset Package Management Student: Roy Flemming Hvaara, Mentor: Charles Plessy Large public datasets, like databases for bioinformatics are typically too big and too volatile to fit the traditional source/binary packaging scheme of Debian. There are some programs that are distributed in Debian, like blast and emboss, that can index specialised databases, but Debian lacks a tool to install or update the datasets they need and keep their indexing in sync. MIPS N32 ABI Port Student: Sha Liu, Mentor: Anthony Fok This project first focuses on creating a new MIPS N32 ABI port for Debian. Different from O32 and N64, N32 is an address model which has most 64-bit capabilities but using 32-bit data structures to save space and process time. A second focus will be given on making such a mipsn32el arch fully optimized for the Loongson 2F CPU which gains more and more popularity in subnotebooks/netbooks in many countries. MTD Embedded Onboard flash Partitioning and Installation Student: Per Andersson, Mentor: Wookey Many embedded devices have MTD onboard flash as persistent storage like the Kurobox Pro NAS, the Neo Freerunner, the Sheeva Plug or the OLPC. With MTD flash being so popular and with increases in capacity, support for MTD partition/installation would make Debian even more interesting to a wide range of of devices, making it one step closer to being universal. On-demand Cloud Computing with Amazon EC2 and Eucalyptus Integration Student: David Wendt Jr, Mentor: (probably) Steffen Moeller see below In many academic fields, as well as commercial industries, people use clusters to distribute tasks among multiple machines. Many times this is done by packaging a whole operating system disk image, uploading it onto the cluster, and having the cluster run it in a VM. This project intends to make it easier for Debian to distribute prepared disk images templates like they distribute CD images now, for the users to recreate or customise these templates with Debian packages and for administrators to host such clusters with Debian. Port back update-manager to Debian and all Derivatives Student: Stephan Peijnik, Mentor: Michael Vogt The project would involve taking the distribution-(Ubuntu-)specific update-manager code, analyzing it, and creating a package with just its core functionality, decoupling the distribution-specific parts and thus making the core code extensible by distribution-specific add-ons. This in turn would remove the need of porting update-manager to Debian with every upstream release. An additional optional goal would be replacing the synaptics-backend with a python-apt based one. Debian Autobuilding Infrastructure Rewrite Student: Philipp Kern, Mentor: Luk Claes Rewrite the software that currently runs the Debian autobuilding infrastructure in a way that makes it more maintainable and robust. It will use Python as its programming language and PostgreSQL for the database backend. By harmonizing buildds, many build failures can be prevented and wasteful workload on buildd volunteers can be reduced. On mentoring: Petr Rockai, the original developer of Adept has offered help to anyone willing to adopt Adept. Sune Vuorela has offered help for any Qt4 and KDE related issues. *We really need a mentor here*. The student is quite competent but Google dictates that we provide a mentor to handle student management. Dominique Dumont, although not DD, has signaled interest in mentoring this, although it hasn t been confirmed yet. Sune Vuorela has offered to help co-mentor for the Qt4-Debconf and Qt4-Perl bindings part. Steffen Moeller has signaled interest in mentoring this, although it hasn t been formally confirmed yet. Charles Plessy of the Debian Med team will provide help for use cases related issues. Eric Hammond, developer of the original vmbuilder image creation tool and maintainer of a set of Debian and Ubuntu images will provide help for Amazon EC2 and image creation issues. Chris Grzegorczyk from the Eucalyptus team will provide help for Eucalyptus and Eucalyptus/Debian integration issues. Contacting us: Considering the tight schedule, most stuff happens live on IRC: #debian-soc on irc.debian.org You can also consult our wiki page for some additional information:
<http://wiki.debian.org/SummerOfCode2009> We have a mailing-list at:
<http://lists.alioth.debian.org/mailman/listinfo/soc-coordination> Keep this discussion on debian-devel@lists.debian.org while cc-ing soc-coordination@lists.alioth.debian.org. This thread is for debian-devel primarily.

Russell Coker: Fixing the Correct Network Bottleneck

The latest news in the Australian IT industry is the new National Broadband Network (NBN) plan [1]. It will involve rolling out Fiber To The Home for 90% of the population, the plan is that it will cost the government $43,000,000,000 making it the biggest government project. Kevin Rudd used Twitter to say Just announced biggest ever investment in Australian broadband - really exciting, infrastructure for the future [2]. Now whenever someone says that a certain quantity of a resource is enough you can expect someone to try and refute that claim by mentioning that Bill Gates supposedly stated that 640K is enough when referring to the RAM limits of the original IBM PC. As an aside, it s generally believed that Bill Gates actually didn t claim that 640K would be enough RAM, Wikiquote has him claiming to have never said any such thing [3]. He did however say that he had hoped that it would be enough for 10 years. I think that I needed that disclaimer before stating that I think that broadband speeds in Australia are high enough at the moment. In any computer system you will have one or more resources that will be limited and will be bottlenecks that limit the overall performance. Adding more of other resources will often make no difference to performance that a user might notice. On the machine I m using right now to browse the web the bottleneck is RAM. A combination of bloated web pages and memory inefficient web browsers uses lots of memory, I have 1.5G of RAM and currently there is 1.3G of swap in use and performance suffers because of it. It s not uncommon for the machine to page enough that the mouse cursor is not responsive while browsing the web. My options for getting faster net access on this machine are to add more RAM (it can t take more than 2G - so that doesn t gain much), to use more memory efficient web browsers and X server, and to simply buy a new machine. Dell is currently selling desktop machines with 2G of RAM, as they are 64bit systems and will therefore use more memory than 32bit systems for the same tasks they will probably give less performance than my 32bit machine with 1.5G of RAM for my usage patterns. Also the latest EeePC [4] ships with 1G of RAM as standard and is limited to a maximum of 2G, I think that this is typical of Netbook class systems. I don t use my EeePC for any serious work, but I know some people who do. Does anyone have suggestions on memory efficient web browsers for Linux? I m currently using Konqueror and Iceweasel (Firefox). Maybe the government could get a better return on their investment by spending a small amount of money sponsoring the development of free web browsers. A million dollars spent on optimising Firefox seems likely to provide good performance benefits for everyone. My wife s web browsing experience is bottlenecked by the speed of the video hardware in her machine (built-in video on a Dell PowerEdge T105 which is an ATI ES1000). The recent dramatic price reductions of large TFT monitors seem likely to make video performance more of an issue, and also increases the RAM used by the X server. Someone who has reasonably good net access at the moment will have an ADSL2+ connection and a computer that is equivalent to a low-end new Dell machine (which is more powerful than the majority of systems in use). In that case the bottleneck will be in the PC used for web browsing if you are doing anything serious (EG having dozens of windows open, including PDFs and other files that are commonly loaded from the web). If however a machine was used for simply downloading web pages with large pictures in a single session then FTTH would provide a real benefit. Downloading movies over the net would also benefit a lot from FTTH. So it seems to me that browsing the web for research and education (which involves cross-referencing many sites) would gain more of a benefit from new hardware (which will become cheap in a few years) while porn surfing and downloading movies would gain significantly from FTTH. The NBN will have the potential to offer great bi-directional speeds. The ADSL technology imposes a limit on the combination of upload and download speeds, and due to interference it s apparently technically easier to get a high download speed. But the upload speeds could be improved a lot by using different DSLAMS. Being able to send out data at a reasonable speed (20Mbit/s or more) has the potential to significantly improve the use of the net in Australia. But if the major ISPs continue to have terms of service prohibiting the running of servers then that won t make much difference to most users. Finally there s the issue of International data transfer which is slow and expensive. This is going to keep all affordable net access plans limited to a small quota (20G of downloads per month or less). It seems to me that the best way of spending taxpayer money to improve net access would be to provide better connectivity to the rest of the world through subsidised International links. Brendan makes an interesting point that the NBN is essentially a subsidy to the entertainment industry and that copyright law reform should be a higher priority [5].

8 April 2009

Eddy Petri&#537;or: About the protests in Moldavian Republic

Many people in the western world are completely unaware that in the Moldavian Republic there is an ongoing protest against the current Communist Party which is at power after the parliamentary elections held on Sunday. The protestants accuse the Communists of election fraud and there are numerous reports of dead people being recorded as voters, people which, by religion, chose not to vote, and other several people which couldn't have voted.

Tuesday the protests took a violent turn, apparently "aided" by some instigators which were reported to be seen as recording the protesters, taking notes and, generally, not fitting the picture. During the day the national television broadcasted absolutely no information on the events, and aired documentaries, cartoons and no news on any of the protests. To me, this looked very much alike what the Romanian Television aired during the Romanian Revolution in December '89 when during the fights in the streets of Bucharest the Television aired no images from the centre of Bucharest.

But, back to Moldavia, at the end of the day, sadly, the Parliament and Presidency buildings were devastated, making it easy for the Communist leaders to produce some disinformation propaganda based on real footage.

Yet again, sadly, but it seems under the protection of some of the aforementioned instigators, the flags of the EU and Romania were waved at the highest levels of the Parliament building during the time the protesters allegedly took over that building (there were several reports that the Police forces actually simply let them in, without actually needing/being forced to do that; also the passivity of the policemen seen in the footage from Romanian televisons was obvious).

As many Moldavian students live and study in Romania, some of them wanted to go home and take part at the protests happening in Chi in u. To their surprise, many of them were denied the right to enter their home country. Many, if not all, Romanian journalists were also denied access in the country accusing alternatively technical issues, lack of proper papers (although only the passport or the ID card was officially required), lack of safety, or simply refusing without reason.


Today, the Moldavian president Voronin, accused Romania as being behind the manifestations in Chi in u, Moldova's capital and said it will declare as a persona non grata the Ambasador of Romania in Moldova, and thus forcing him to leave Moldova within 24 hours. He went even further and said that visas will be required from now on for Romanian nationals. As soon as this was announced, it was one of the most invoked reasons by the Moldavian customs as a rejection reason, although, according to Moldavian Embassy officials in Romania, no rules or procedure were known for the release of visas for Romanian nationals.

Also, during Wenesday, Moldavian crossing points were opened and closed alternatively but incosistently accros the entire border for Moldavian nationals. Romanian nationals were denied in most cases (although some Romanian truck drivers were reported as allowed to cross). At some point during the day the Moldavian officials from the customs told the Moldavian students awating at the border that they are offered access on the condition they go direclty home with the buses provided by the Moldavian customs and were warned that going to Chi in u wasn't a smart choice for them. Some of the information from students which managed to enter their home country suggested that is advisable to not enter the country since they were going to be denied of the right to leave the country later, when they were to return to Romania to their studies (after Easter).

What's sadder is that the Moldavian voting system is built in such a way that the vote counting, in the end is done by Government officials behind closed doors, inside a Ministry. OTOH, the international official observed the things which happend in public, but did not see any of the dead voter lists (since they were not present when those votes were casted), and declared the vote as mostly legal and without major or significant incidents.


According to the media, before the elections, the Communists were credited with 35-37% of the votes in an independent poll, while in the exit poll conducted by the Communists themselves they were credited with 42-45% of the votes. In the end the last official partial results credited them with approximately 51% of the votes.

About Vladimir Voronin, it is a known fact that he has double citizenship, Moldavian and Russian and is a reserve general within the Russian Army and currently has a pretty nice pension from the Russian state.


All I can say is that, although the Moldavians' desire to have a real democracy is a legal and reasonable request, the western world chose, due to the international circumstances, to look the other way around and not to incommodate Russia in any way. Moreover, to accuse Romania to have unionist desires an act upon those desires is planly stupid since now Romania is part of the EU and Moldova uniting with Romania is simply impossible now, since Moldavia's economy would sunk even more the fragile and regressing Romanian economy and Romania would instantly fail the EU requirements which would mean disaster for us.

Mike Hommey: Detecting per-process namespaces

Back with per-process namespaces. This time, I will give several methods to more or less reliably detect their use, some requiring root access, some not. We will, though, limit ourselves to mount namespaces , that is, not PID, UTS or network namespaces. The first method, which is based on the contents of /proc/pid/mounts should work on any kernel supporting namespaces (since 2.4.19):
$ md5sum /proc/[0-9]*/mounts awk -F [ /]* ns[$1] = ns[$1] ? ns[$1] , $3 : $3 END for (n in ns) print n, ns[n]
/proc/[0-9]* is used instead of /proc/* to avoid listing self, too. The awk script displays a summary : a md5 sum followed by the PID of all processes which /proc/self/mounts file has this md5 sum.
This method relies on the fact that the /proc/pid/mounts files may be different between namespaces, even when the same mount points are used because the ordering may differ. This method is obviously unreliable, except when all namespaces have different mount points. During my tests, it has been reliable to detect whether a process uses the same namespace as the init process, but different processes with different namespaces were reliably listed together as having the same namespace. The next method, based on the contents of /proc/pid/mountinfo will work on any kernel implementing this file (since 2.6.26):
$ md5sum /proc/[0-9]*/mountinfo awk -F [ /]* ns[$1] = ns[$1] ? ns[$1] , $3 : $3 END for (n in ns) print n, ns[n]
The script is essentially the same, only pointing at mountinfo instead of mounts.
This method is quite reliable, as /proc/pid/mountinfo does contain different information even when no mount point was changed within a namespace. Unfortunately, chrooted processes can have a different content while not being in a separate namespace. I ve not investigated further, but you may be able to spot chrooted processes by comparing /proc/pid/mountinfo and /proc/pid/mounts. Both the above methods can be executed as unprivileged user, which alleviates the fact they are not totally reliable. The last method, on the other hand, is reliable, but requires root privileges, and cgroup filesystem support in the kernel (since 2.6.24).
$ mkdir -p /dev/cgroup/ns
$ mount -t cgroup -o ns /dev/cgroup/ns
$ find /dev/cgroup/ns -name tasks xargs -l1 sed ':a;N;s/\n/,/g;ta'
The output here is a group of PID on separate lines for separate namespaces. The sed one-liner replaces all carriage returns in the tasks files with a comma.
You don t actually need root privileges for the last command, if the cgroup filesystem is already mounted. But there has been no normalization as to where the cgroup filesystems should be mounted yet, and they aren t mounted by default on most GNU/Linux distributions, I believe. Cgroups (Control groups) allow to put sets of processes together to give them special behaviour (cpu provisioning, memory limitations, namespaces, etc.). They also allow to do so in a hierarchical way, such that a cgroup can inherit the properties of its parent cgroup. As its name and the way it is mounted indicates, our /dev/cgroup/ns is specialized for namespaces cgroups. The directory itself contains a few files, most notably a tasks file containing a list of processes in the current set/cgroup (in our case, namespace). It also contains a subdirectory for each child namespace. Each of these subdirectories is similarly structured, so that it also contains a tasks list and possible subdirectories for its own children. This means that not only can you spot different namespaces, but you can also spot how they relate to each other. There are a few glitches, though. As with other cgroups subsystems, you can create new cgroups by creating a directory in the cgroup filesystem, but it happens not to create a new namespace in the case of the namespace subsystem. With all the kind of namespaces that now exist in Linux, this is not a big surprise, but there doesn t seem to be neither a feedback in the cgroup filesystem to know what kind of namespace is involved, nor a control to force creation of a really separate namespace. You also can t move processes from one mount namespace into another by writing a PID in the tasks file in a given namespace ; that just gives an Operation not permitted error. On the other hand, contrary to the second method, chrooted processes are not separated out. I will investigate further cgroups with PID, UTS and network namespaces and will post my findings.

Bastian Venthur: Migrating a project from one SVN repository to another using git-svn

sounds probably like a stupid idea since you could just copy the repository from the old to the new location, but in this case we don t have direct access to the repositories, only accounts with commit-access. Ahh, and we want to preserve the complete history, of course. Ok, the plan is to use git-svn to get a copy of the old SVN repository, complete with history and then apply each commit to the new location: Getting the old repository git svn clone http://old/repo/
cd repo
Removing the traces of the old repository Now we have a git repository containing the complete history of the old SVN repository. That git repository is connected to the old SVN repository via git-svn. In order to commit it to the new repository we have to remove the traces of git-svn: # Remove the remote branch
git branch -rD git-svn
# Remove the rest
rm -rf .git/svn/

Edit .git/config and remove the svn-remote stanza Commiting into the new repository Now that we can connect our git repository to the new SVN location and commit all the stuff: # Create the new repository directory if necessary
svn mkdir http://new/repo/
# Init, fetch, rebase and commit:
git svn init http://new/repo
git svn fetch
git rebase git-svn
git svn dcommit
Maybe not the most elegant solution but it works. The new repository contains everything from the old one, only the commit dates are messed up.

John Goerzen: Goodbye

Jacob has lately been telling us gate gamma kassen so sick (Great Grandma Klassen is so sick), after his visit to the hospital, and it s true. Today started normal enough, but by 2:45 I got an email from my mom, saying that grandma had taken yet another turn for the worse; her pulse was racing, her temperature feverish, and her breathing shallow and difficult. The last grandchild that was going to be there made it, and got the last flicker of recognition from grandma. I wrapped some things up at work. Then I made the short drive from work to the nursing home, and got there just after 4. I went in to her room there, and it was full of family. Two of her children were singing her favorite hymns. I can never forget my uncle s deep bass voice as he stood at her bedside, holding her arm, while my aunt patted her head, both of them singing. Grandma s only remaining sibling, her younger brother Melvin, sat on the other side of the bed, looking on. Grandma s white table and chairs, which were in grandma and grandpa s house as long as I can remember, and followed grandma through all of the four other places she lived in the last years of her life, were in her room at the nursing home too. It always felt like home to be with grandma and those familiar things that she always took with her. Despite what was happening, I was glad she was back at home. My uncle motioned me over to her bedside, and I took her hand for a few minutes. It felt cold and weak; for the first time, she didn t grab my hand at all. A nurse came in to check oxygen saturation, but the machine wasn t able to get a reading due to poor circulation to her hand. She wasn t able to get a heart rate either because the heart was racing so fast. She discussed briefly whether the family wanted them to continue giving her oxygen, and they decided that they would, for her comfort. My uncle and aunt kept singing. I blew my nose and dabbed at my eyes, and there were hugs all around. And just a few minutes later, grandma peacefully stopped breathing, maybe 20 minutes after I had arrived. They went to get the nurse, who came back to listen to grandma s heart again, though we knew what she would find. She took the stethoscope off, and she almost lost her composure, but managed to say you can turn the oxygen off now. Several people gave grandma a last hug. After a few minutes with just the family, they told the nurses to go ahead and call the funeral home. That set off a lot of activity making arrangements for the next few days, funeral plans, and the like. I stepped back into grandma s room a few times, while the family was in the sitting area right outside it discussing. I looked around at the family photos on the wall, the old table and chairs, the recliner. Now, these are the things that were grandma s. It didn t feel like home anymore. Terah and Jacob were stuck at home Terah s car was at the mechanic for repair today. I called to give her the news. She wanted to come to be with the family, but I didn t really want to leave. She tried calling some friends to see if they could give her a lift to the mechanic, but not one of them was available. I talked to her again and suggested she just call the mechanic. She wasn t even halfway through describing the situation when he interrupted with, We ll have it at your place right away! Well, I don t expect you to have to do that, or you could certainly wait until you close. Nope, this isn t your average community, we ll bring it right over. You should be there. Grandma has enjoyed a simple life and had requested a simple death: no extraordinary measures at the end of life, no embalming either. So, by law, the burial must happen within 24 hours of death, and will be tomorrow. After all the arrangements, people realized nobody had supper yet. We went to the quickest available option pizza and ate there. It was paid for out of grandma s remaining money the last meal of so many that she provided for her family over the years. It was a happy meal. As I drove home, NPR news was on the radio. There were the same stories we hear all the time: the economy, the mideast, the president. Normally I m interested, but today I shut it off. Today is different. Tomorrow, for the second time in four years, I will help carry a grandparent s casket a few days before Easter. I ll end tonight with this photo. It was taken soon after Jacob was born. Grandma came to the hospital and held him. That smile sums her up perfectly. img_4965r.jpg

Obey Arthur Liu: Google Summer of Code at Debian: Update, need mentors!

A quick update before the big one about the 2009 Google Summer of Code. I believe we had a great recruitment drive this year and we have a very good set of proposals to work with. We d like to thank everyone involved for their help. We re now ranking out student applications. I promised elsewhere that I ll send out our shortlist of projects once Google sends us our preliminary slot allocation today but I misread the thread on the -mentors list and that count will only happen on Thursday, so we ll have to wait a bit more. That shortlist would only include projects, but not individual students. The idea is to give a heads up to everyone before committing to a group of projects and students. It is very important to inform the community as it increases visibility of the students work, giving them more help and support (and also avoids duplicating existing not yet publicized work!). As far as mentors go, we should have all of our approximately 14 planned projects covered, except for 2. I m posting them here in case you could mentor or help find mentors for those projects. (The wiki pages are not really up to date, so please come on IRC and ask clarifications, see below) Finish Petr Rockai s Adept 3.0 and bring a Qt4 Package Manager to Debian, with a different interface paradigm than Aptitude-gtk.
Petr said he would provide help with the existing codebase but can t mentor. Sune Vuorela from Debian KDE is ready to help with Qt4 related issues. Build Debian tools to create Debian images for Amazon EC2 and the free Eucalyptus implementation. Packaging of the Eucalyptus hosting framework is also possible.
For this project, we already have on board to help: Charles Plessy from Debian Med, Eric Hammond, developer of the existing vmbuilder Ubuntu tool for EC2 and Chris Grzegorczyk and Rich Wolski, from the Eucalyptus team. Plenty of people to get help from. Mentoring is a great experience! See this for what it entails. If we still can t find a mentor by the end of the week, I ll blast an announcement over at debian-devel@l.d.o along with the project shortlist. In the meantime, don t forget to idle on #debian-soc on irc.debian.org.

7 April 2009

Jon Dowland: zte mf622

I'm currently waiting for my ADSL to be setup and so I've borrowed my mum's "three" 3G mobile broadband USB dongle. The device is a "ZTE MF622" and getting this working in Linux apparently used to be a bit of a nightmare. However, with Debian Lenny and 2.6.26-1-amd64 it is trivial: you plug it in, it appears as a USB mass storage device; wait a little bit and it disappears and comes back as some USB serial devices. You can then chat to /dev/ttyUSB0 (or whatever the first ttyUSB device belonging to the dongle is). There's a working wvdial configuration at http://ubuntuforums.org/archive/index.php/t-665332.html, reproduced here for convenience:
[Dialer Defaults]
Init2 = ATZ
Init3 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Stupid Mode = 1
Modem Type = Analog Modem
ISDN = 0
Phone = *99#
Modem = /dev/ttyUSB0
Username = user
Dial Command = ATDT
Password = pass
Baud = 460800
IF you don't want to use wvdial there are bare ppp scripts at http://hillj.co.uk/2008/01/31/how-to-get-online-with-three-mobile-uk-and-linux-ubuntu/, although I haven't tested these. Whilst researching this I stumbled across several examples of more extreme ways of getting the initial switchover to work, including http://blog.ufsoft.org/zte-mf622-usb-modem-under-linux#extended which includes a udev snippet that forcefully calls rmmod and modprobe. This will totally fail if you are using usb-storage or usb-serial for anything else, which is probably not the case for the majority of people trying to get this to work at the time they are trying, but there are several examples out there of people complaining that their USB has failed since trying these instructions. We are often accused of having a problem of missing documentation in the free software world. I'm wondering if this is one example of where we have bad, damaging documentation. How can we deal with that? Incidentally, for those whose devices won't automatically switch over to the serial device, there's a program usb-modeswitch (currently in sid) that can do the job for you. There are apparently hacks in the usb-storage Linux kernel module that special-case the switchover for some Huawei devices. I couldn't find anything in there for the ZTE device.

Mike Hommey: How not to provide robust clustered storage with Linux and GFS

(The title is a bit strong, on purpose) LWN links to an article describing how to provide robust clustered storage with Linux and GFS. While explaining how to setup GFS can be nice, the incentive made me jump. The author writes:
Load balancing is difficult; often we need to share file systems via NFS or other mechanisms to provide a central location for the data. While you may be protected against a Web server node failure, you are still sharing fate with the central storage node. Using GFS, the free clustered file system in Linux, you can create a truly robust cluster that does not depend on other servers. In this article, we show you how to properly configure GFS.
In case you don t know, GFS is not exactly a clustered storage . It is more a shared storage . You have one storage, and several clients accessing it. You have one storage array, compared to the NFS case, where you have one central server for the data. But what is a storage array except a special (and expensive) kind of server ? You don t depend on other servers, but you depend on other servers ? How is that supposed to be different ?
Conceptually, a clustered file system allows multiple operating systems to mount the same file system, and write to it at the same time. There are many clustered file systems available including Sun s Lustre, OCFS from Oracle, and GFS for Linux.
OCFS and GFS are the same class of file systems, but Lustre is definitely out of league and would, actually, provide a truly robust cluster that does not depend on other servers. Lustre is a truly clustered filesystem, that distributes data on several nodes such that losing some nodes don t make you lose access to the data. With the incentive given by the author, and considering he lists Lustre as an example, I would actually have preferred an article about setting up Lustre.

Manoj Srivastava: Manoj: Not your father's kernel-package

A few hours ago, a new version of kernel-package was uploaded to experimental. This is a major change,and I would appreciate it if folks took it out for a spin, kicked the tires, and provide feedback about where this version is lacking. This is only part of the way along in this development cycle. I would like to add a debug-info separation, either in a different directory than / in the image packages, or a separate package by itself. I would also like to create an overlay directory for /usr/share/kernel-package/, so people can inject code or override the defaults for kernel-package easily. I am also willing to make any changes to standardize the handling of hook scripts for kernel packages in Debian.
Table of Contents

./debian/ is ephemeral
make-kpkg removes and re-creates ./debian on every invocation. This started as an exercise to protect ourselves from the upstream builddep functionality, that randomly cleaned out ./debian whether or not it had created it, effectively making it impossible to run dpkg-buildpackage easily (which is ok, if all you care about is the image package) This does make the kernel-package far more nimble; we now offer less surprise to users who did not expect stampts that the kernel-packagge used to not do duplicate work. Now, if you edit a couple of files in the kernel source, and run make-kpkg, the kernel will build as expected. There are no more version mismatch errors, and the kernel version can be modified using localconfig as one desires. With this, kernel-package can routinely be used to build kernels out of the git tree. The con is that we no longer cater to official kernels, or to anyone who expected content in ./debian to persist. At some point, there are plans to implement an overlay directory that will shadow /usr/share/kernel-package/ruleset, but that is not yet implemented. In any case, the kernel team in Debian regards kernel-package to be broken, and have been bad mouthing it and deprecating it for a few years now, so this will not be a loss for them.

Get rid of the facility to patch kernel sources
The patch the kernel facility was adding complexity, and failing to provide the flexibility required for a generic patching facility. It used to be useful at one point, but in the modern parlance, witht he widespread use of distribute version control systems, and various facilities to manage source and patch them, the built in version was clunky. This means the --added-patches option of make-kpkg is gone, the work-around is to prepare the kernel sources before calling make-kpkg.

Remove special case code for official kernels
For the longest tine (well, ever since Herbert Xu too over building kernel images from me), kernel-package has carried specal case code for official images. This has caused some problems, recently, since the need to preserve ./debian has caused no end of problems when the version changed out from under ./debian, or when people wanted to edit a file and expected kernel-package to do a minimal recompile. However, sometime in the Etch release cycle, the kernel team deprecated kernel-package as the means of building official kernels. They have recently started saying they think kernel-package is broken, and have their own recommendation for how to build kernel packages. Therefore, a full release cycle later, we can get rid of the special case rules used for official packages. Also, this allows us to drop ./debian at the drop of a hat, and recreate it with an version that reflects the current state of the kernel sources.

Header package no longer create symbolic links in /usr/src
Instead, ship an example shell script that replicates the old behaviour. This script can then be deployed on the target machines, and could be a part of a locally created kernel configuration package, if one needs to deploy the same behavior across a cluster of machines.

The postinst no longer manipulates symlinks
This is a shift from previous behaviour. Any symbolic link manipulation must now be done with hook scripts in /etc/kernel/*.d directories. Firstly, modern boot loaders scan the boot directory for kernel images, and the user no longer has to code in the path to the symbolic links that the kernel image package used to manipulate. Secondly, hardcoding the behaviour into the postinst made for a very rigid policy; and user wanted more flexibility than that. There is an example shipped with the package that shows a more flexible scheme that kept two symbolic links for version 2.4 kernels, and two symbolic links for 2.6 kernels; it can be easily modified to keep two links for 2.9 kernels and two links for 2.8 kernels, or one of each, or whatever the user wants.

Image postinst no longer runs a boot loader
Please note that this was already the case for grub, one of the more popular boot loaders. Now that we have a mechanism for running arbitrary scripts when the image packages are manipulated, we can stop embedding the boot loader actions in the package itself. This means that lilo, elilo, etc will no longer be run directly by the post install script, and all the code related to detecting the boot loader, managing the configuration, and adding bits about bootloader documentation is all removed from the postinst. This allows the image package to be more flexible, since the end user is no longer restricted to the actions encoded in the image package. This is a fairly large change. It also opens the door for the user to easily use non-standard bootloaders, if they so desire.

The image postinst no longer creates an initramfs
Instead, there are example scripts provided that will perform the task. These scripts will work for official kernel images as well. The initramfs scripts provided work with the make-kpkg images as well as the official images, and are thus better than the script shipped with initramfs-tools themselves, as they offer a super set of functionality. This also demonstrates how the posts install script communicates with the initramfs creation scripts so that no initramfs is generated in case you do not want it.

6 April 2009

Francesco P. Lovergine: Current tasks for DebianGis

I'm still waiting some clarificatons by HDF team about their HDF5 roadmap with SONAMEs and libraries name. It seems they partially learned to manage libtool properly to follow C API changes, but still some oddities are present, such as using the same names for MPI and serial flavors. I will probably have to again diverge from upstream names, which is generally something I don't like, as in the case of GDAL. A summary document about HDF5 plans is due in a brief also.
When finished with HDF updates, I will concentrate on a couple of new beasts which still are lacking in DebianGis and are of so much interest, that are Ossim and the CNES Orfeo Toolbox. In the meantime I would hope that debian-science team will define a squeeze-related policy for MPI.

As always, I'm still worried of the low level of activities in the DebianGis team, which is a constant since years. Unfortunately, this is a situation I see quite common also in many other teams, but I still don't see a right way to improve the status of the team to avoid an almost one-man show. Also I would like to see again Qgis in main, but I'm still waiting for feed-backs by past/current contributors to my last qgis-dev list and off-lists polls.

Next.

Previous.