Search Results: "reg"

5 December 2007

Sune Vuorela: Debian developer. Yay.

There seems to be some kind of tradition for publically telling when one finally gets a debian account. It was apparantly my turn late last night. Unfortunately my internet was gone at that time, so no possibility to see for myself. But now net is back and time to celebrate. It seems to be a tradition to thank all sorts of people, so I guess I need to follow that tradition as well. Thanks everybody who helped me on the way. Including but not limited to the big group of regular sponsors, one time sponsors and NMU sponsors that have put my work in the archive. (and that also covers my application manager - he sponsored the second or third attempt to NMU a *urgh* yada-using package). Time to try break stuff.

Evan Prodromou: 14 Frimaire CCXVI

One thing that's been interesting me lately is RSS. Yeah, I know, not exactly cutting-edge technology, but the format -- in its three different forms -- has become the default for machine-to-machine transfer of serial information on the Web. So RSS really represents our individual or collective presence on the Web spread across time, space, and theme. I'm particularly interested in RSS because I'm working on themed portals like Keiki. It's one of our goals to pull in the parenting part of a person's personality spread on other parts of the Web, so you don't have to re-enter it in Keiki if you don't want to. It's a fun problem to be solving. But as I was playing with the format, I realized that I'm spread pretty far across the Web, myself. I make most of my contributions to this blog, but I'm also part of other communities and a user of other services. What if I used some software like Planet to pull together the disparate threads of me into one place? So that's what I did. I ended up using a tool called Gregarius instead of Planet, mostly because I originally intended to install it on Godaddy's hosting service, which doesn't support cron jobs, which Planet needs. Once I realized how ad-infested GD's "free" hosting service is, though, I moved all my sites off of it, and back to Antipater. And my personal aggregator is there, too. It was interesting to pull in the accounts I've listed on About Me and see which ones produced RSS feeds. Some I expected (my Flickr feed, my del.icio.us feed) and others I didn't (my Upcoming feed surprised me). I was also surprised by sites that didn't produce a feed. I really expected something from Pownce and Tribe.net), but I couldn't get them to cough up a feed. Most disappointing was Facebook, which has a really nice mini-feed of my activity there that doesn't seem to translate into an RSS feed in any possible way. But otherwise things went very quick. I found Gregarius really easy to work with, although its inability to pull tag (metadata) and categories out of RSS streams. There's an autotagger plugin, but I haven't gotten it to catch any tags yet. Oh, and the OPML output was horrible -- I think it might generate HTML that looks like raw OPML -- totally useless. In any event, if you feel like cyberstalking me or just seeing what I'm doing around the rest of the Web, keep an eye on evanprodromou.info. There's even a handy aggregated RSS feed... just in case you want it. tags:

Holger Levsen: what is going on in Venezuela

Obviously I don't know, but I guess that this article is much closer to the truth than most of the news sites and magazines.

Russell Coker: The Meaning of Godwin s Law

A widely cited unofficial rule on the Internet is known as Godwin’s Law [1]. In it’s original form this rule states that “As an online discussion grows longer, the probability of a comparison involving Nazis or Hitler approaches one“. Mike Godwin noted that “overuse of Nazi and Hitler comparisons should be avoided, because it robs the valid comparisons of their impact“. The purpose of noting and publicising this is to reduce such false comparisons. It’s often used as a rule for conduct in various fora where it’s regarded that if you compare your opponent in a debate to Hitler or unjustly call them a Nazi then the debate is over and you have lost. In more recent times due to successful application of Godwin’s Rule the frequency of inappropriate comparisons has dramatically decreased. This combined with the small number of people on the net who are interested in discussing historical events that happened ~60 years ago (and the even smaller number of people who are interested in learning about them) means that the possibility of robbing valid comparisons of their impact is small. Now a large part of the use of Godwin’s rule is because it’s regarded as an ad-hominem attack that distracts everyone from serious discussion more than most such attacks. To see examples of this you merely have to do a Google search for “Bill Gates” and “Hitler” (currently 597,000 web pages have both those terms). Note that the original reason for avoiding such false comparisons is given to sustain the impact of legitimate comparisons. It is quite legitimate to use the term Nazi when describing anyone who wants to implement mass-murder and slavery on a national scale (or any of the other awful things that the Nazis did), or the propaganda and other mechanisms that the NSDAP used to gain power. It is also legitimate to make historical comparisons, comparing Stalin to Hitler is historically valid (both were awful tyrants that committed a similar range of crimes) - I’m not going to compare them in this post but I merely note that such a comparison is valid (and is the subject of much debate by people who are interested in history). I’ve just had a religious zealot named Elder Dave accuse me of breaching some new version of Godwin’s Law. I believe that my mention of the fact that his religious group (which wants to deny homosexuals the same legal rights as all other people) has some beliefs in common with the Westboro Baptist Church [2] is valid. The Westboro Baptist Church seems to be the leading organisation in the English-speaking world for demanding legislation to discriminate against homosexuals. Anyone else who demands such legislation IS trying to achieve similar aims and should expect this to be noted by everyone who has any knowledge of what is happening in the world. Religious groups are given a lot of freedom to discriminate internally (EG “Priest” is one of the few jobs that can be denied to a qualified woman without any legal recourse). Also I think that most people will agree that it’s acceptable for them to advocate self-repression (EG the book What Some of You Were [3]). But when they try and get legislation enacted to institutionalise such discrimination I believe that they are going too far. As for why the 95% of us who aren’t gay should be bothered about this issue, there’s the famous poem by Martin Niem ller which is known by the line “First they came for the Jews” [4] (actually there are a few versions of the poem some of which don’t mention Jews - check the link for details). Here’s another Wikipedia link for the same poem [5].

Matthew Palmer: Strategists and Tacticians

Like most things, the scale of decisions that have to be made by a person or organisation fall across a wide spectrum. At one end, you've got the fine-detail work: lines of code, individual config settings, IP addresses, that sort of thing. This is crucial work, because it's this detail that ultimately produces saleable results. Travelling all the way to the other end, there's the "big picture" decisions: the "visionary" stuff. What market segment will we target? What will we do (in large-scale terms) to get there? I am convinced that individuals naturally gravitate towards one end of this spectrum or the other, depending on their psychology. While people usually can work at all scales, they have a "most comfortable" point where they work the most naturally. The further away from this point they are pushed, the less comfortable and effective they are. No level of thinking is better or worse than the other; they're just different. While "large scale thinker" and "small scale thinker" could be taken as being insulting, I certainly don't mean it that way. I should point out that "Strategy" isn't (just) about setting goals. A strategist isn't someone who comes out with grand pronouncements like "By the end of next year this company should be providing telecommunications services to 20% of the Fortune 500" without knowing how to get there. That's not a strategist, that's a poor-quality management consultant. People whose only skill is making vague pronouncements should just be taken out and shot. They're not doing anything useful for anyone. A strategist is someone who is good at planning the goal of "20% of the Fortune 500". They're thinking about the big picture issues, without getting bogged down in the minutiae. A tactician, given the job of planning something at the macro scale, will chase some good idea down an intricately detailed rabbit hole, and miss the other dozen or so large issues that need to be considered. The strategist's planning needs to stop at a certain level and let other people take on the detail work. Conversely, a good tactician can focus on the individual details without getting distracted by the big picture. A strategist put into a tactical role will miss all the important minutiae because they're working out how their little part fits into the big picture, instead of working out how to make their little part work, in and of itself. It's important, for individual happiness, to try and work out what level you're most comfortable thinking at, and then trying to find a job that puts you there. It's almost as important to make sure that the people who are working at the more and less detail levels around you are equally comfortable. Take, for example, the micromanager. We've all either been there ourselves or have heard multiple stories on the subject. I think the micromanager is nothing more than a person who wants to work at a smaller scale than they're being forced to by their organisational rank. Since they can't do the detail work any more, their only outlet is working vicariously through their subordinates. Voila! Instant micromanagement. An even more painful case of micromanagement would be when the subordinate wants to think at a larger scale than the superior. In that case, the subordinate will naturally be thinking large scale, and will miss the details. To the small scale thinking superior, that is incompetence, and will naturally be dealt with by more micromanagement. In reality, both parties are incompetent at their jobs, and they should really swap roles, so that everyone is in their element. It would be nice if companies stopped thinking hierarchically in this way -- that a more "senior" person has to think at larger levels. Just because you've been somewhere longer (or have been working in an industry longer, or got higher marks, or whatever), it doesn't mean that you're more of a strategist. This is probably the Peter Principle restated: people get promoted to a level where they just can't comfortably think at the necessary scale any more. If instead people were put into a planning hierarchy based on their natural scale of thinking, we'd all be a lot better off. There'd be a lot less power games, though, which makes me think it's not going to happen any time soon. A business, at whatever size it might be, needs an appropriate mix of strategists and tacticians. A really small business (1-10 people) can get away without needing large scale thinkers, in the same way that a really small boat can get away without needing a rudder or pilot. If a really small boat gets itself into trouble, everyone on board can grab an oar or bucket and help get the boat out it's predicament -- it's small and nimble enough to be able to do that. As the company expands, though, it's important to make sure you've got some strategists around. If you don't have anyone to keep an eye out for problems and plan around them, your small-to-medium sized boat is likely to have a hole punched in it by a submerged rock. Even if somebody on board happens to notice the rock before you actually hit it, once you get to a certain size you can't physically stop or turn the boat in time. If you don't understand the growth issues in the company, you might not even realise that you're no longer the nimble and low-inertia dinghy until you're up to your knees in sea water. Although an obvious solution to this problem might be to say that all businesses should be small and nimble ones, it's as impractical as saying that all boats should be dinghies. A fleet of dinghies isn't going to be able to support the worldwide sea freight market, and a fleet of small companies doesn't have the necessary resources on hand to take on the big projects that are so often needed. Also, a dinghy is at risk of being swamped by one freak wave, while a larger ship can weather significant storms without going under. Regardless of the size of the business, there always needs to be a good supply of tacticians. A boat (of whatever size) full of people who are all looking out for rocks isn't going to go anywhere, because nobody's making the thing move. Similarly, a company full of strategists isn't going to be doing any of the day-to-day work that actually earns money, and no money means no company. The single most important thing, though, is be self-aware enough to know what sort of person you are, and try to find something that lets you work at the level you're most comfortable at. Otherwise you're just setting yourself up for unhappiness.
(I'm not really sure why I'm suddenly writing management blog posts; this idea of "levels of thinking" just came to me and I figured I'd put it out there. If it makes you feel more comfortable, there's a fairly transparent mapping of these ideas to the practice of software development, although I'll leave the execution of that mapping to the reader. Comments are welcome.)

4 December 2007

Sylvain Le Gall: Solving the dmraid and "attempt to access beyond end of device" problem

Yesterday, i decided to activate the so-called RAID 0 support on my P4P800 mainboard, to increase the performance of my 2 Seagate SATA disk -- bought for this purpose. The first unfortunate event was to discover that there is 3 levels of hardware RAID: controller, accelerator and fake. Of course fake RAID is not the better category and it is the one provided by my mainboard. Once, i have understood that i must use the package dmraid to activate my RAID, i fall into a syslog flood of messages concerning "attempt to access beyond end of device". The problem is simple, the partition table are stored on the first disk of the RAID. Linux believes that he can reach the end of the device defined in the partition table of the first disk. But since, the partition table is for the whole RAID, it cannot access the last partition. In fact, the solution is quite simple and described here . You must add files to udev and hal rules to ignore the partition found in the partition table of the first disk: /etc/udev/rules.d/000dmraid.rules
KERNEL=="sda1", OPTIONS+="ignore_device"
KERNEL=="sda2", OPTIONS+="ignore_device"
KERNEL=="sda3", OPTIONS+="ignore_device"
(where sda1/2/3 are the partition stored on my RAID) /etc/hal/fdi/preprobe/000dmraid.fdi <?xml version="1.0" encoding="UTF-8"?>
<deviceinfo version="0.2">
  <device>
    <match key="scsi.model" string="ST3160811AS">
      <merge key="info.ignore" type="bool">true</merge>
    </match>
  </device>
</deviceinfo>
(where ST3160811AS is my two Seagate disks) You should not ignore the whole disk in udev -- as i think it is suggested in the spanish web page (i don't speak spanish so i really don't know what it explains). After adding this two files, you must update your initrd:
update-initramfs -u
If you have problem with this configuration (you have ignored too much things), you can go back to the former initrd from grub command line, by editing the menu entry and editing the standard initrd to add ".bak" at the end.

At least, i got what i want:
~$ sudo hdparm -Tt /dev/mapper/isw_dhgabfaiad_RAID_Volume1
/dev/mapper/isw_dhgabfaiad_RAID_Volume1:
 Timing cached reads:   1354 MB in  2.00 seconds = 676.78 MB/sec
 Timing buffered disk reads:  426 MB in  3.01 seconds = 141.51 MB/sec
Not that bad for an old P4.

Ond&#345;ej &#268;ert&iacute;k: M rida - wrap up

From November 28 till December 2, 2007, I attended a Debian QA and release teams work session in Extremadura, which is an autonomous community of western Spain, that managed to install Debian on 90000 computers in every school (technically a Debian based distribution called gnuLinEx) and Junta de Extremadura also sponsored this meeting.

I took photos of all participants, see my first, second and third posts. When I arrived at the Madrid airport where we first met, I set myself a goal to remember all names and faces, so I used my blog to help me and I think I succeeded in the end. :)

See also our wiki page that we used prior and during the meeting.

So what did we do besides throwing candies?


Lucas Nussbaum will send a summary email soon about the meeting, so I'll just speak for myself:


I worked with Gon ri on svnbuildstat, that is a service for building packages and show statistics about lintian/linda/piuparts checks. It for example contains all packages of the Debian Python Modules Team (that I am a member of) and many others. We discussed and started to work on how to create robust buildbots, that can be installed as a regular Debian package with zero (if possible) configuration, so that many people can just install them without pain, thus providing a huge scalability to the project.

We wrote a preliminary patch to pbuilder for killing the build if it exceeds given memory/disk usage. I had to learn the internals of pbuilder and I lost quite some time squashing some stupid bug I caused while writing the patch.

I spent most of my time with svnbuildstat, mostly learning and discussing things. This will be important for the future, but to also have some real results, I also fixed some packages I comaintain:

Together with Kumar Appaiah we fixed the python-numpy package and I had it uploaded, then I learned how to work with quilt instead of dpatch to handle patches in Debian packages, thanks to Holger's webpage, that contains a nice tutorial. Then I switched from dpatch to quilt in python-scipy and backported a patch from upstream svn to fix a segfault bug and had the package uploaded.

Then I finished the Cython package and had it uploaded. Cython is a marvelous package to speed up Python programs and interface C/C++ programs. I greatly recommend to try. If you don't like it, you can try some of at least 10 other ways to wrap C code in Python. I also used quilt in there to backport a patch from the upstream Mercurial repository to implement parsing @classmethods. Quilt is really a pleasure to work with.

Impressions from the meeting

I've been using Debian since 2001 as my only operating system on all of my computers, so I am not a complete beginner. But it never occured to me I could get involved in Debian more than a user and an occasional bug reporter. What a mistake.

I started packaging new things and fixing packages that I need for my work and that didn't work. This got me involved quite a bit in Debian. But in M rida it was the first time I could dring a beer (well, especially wine) with Debian Developers and I found out they are really cool people. They are all very skilled. Also something, that I love about Debian, is that the people involved in it share two common features, that are very important for them - respect to democracy and personal freedom. When I think about it, those are probably the first two items on my presonal list of values.

Of course, everytime there is a group of 1000+ people, there are good and bad people, more and less skilled, but important is the overall atmosphere - and that is as I described. I think Debian is truly unique. There is Gentoo, that has maybe 40 (?) active developers. There is Ubuntu, that has maybe 100 (?) developers, but it's basically a comercial distribution and there is not so many interesting work for non employees of Canonical. There is opensuse and fedora, where I am not sure about the numbers. The atmosphere in Debian can change in the future, one never knows, but as of the end of 2007, I think it's very cool to get involved.

Maybe it's not for everyone, but it's the right place for me.

3 December 2007

Edd Dumbill: Smartcard authentication on Linux and Mac

For various reasons, I need to secure access to some resources using two-factor authentication, and thus have been looking at smartcards. These little devices store digital keys and certificates, protected by a passphrase, and calculate digital signatures on-device. Hence the two factors: possession of the card, and knowledge of the password.This sort of scheme is widely used by government agencies and large corporations (and largely reliant on Windows, too), but I wanted to find the low cost way in for the small operator using open source.
OpenSC on Linux
The best starting point for Linux is the OpenSC project. It supports a reasonably broad array of devices, and is well supported by Linux distributions. Using command line tools you can create keys and certificates, as you would in OpenSSL for web servers and so on, and then upload them to the smartcard.Although OpenSSH source code has support for OpenSC, it is not compiled in by default in Debian and derived distributions. Unfortunately this means a bit of recompilation to get SSH supporting OpenSC. When that's done, you have an SSH implementation that can use an RSA key from your smartcard, and best of all, you can add this key to the ssh-agent like you would with regular keys. The hardwareI ordered two devices, which seemed to have the best support from OpenSC, the Axalto Cryptoflex E-Gate, and an Aladdin eToken. I got these from UsaSmartCard, who have a special section in their catalogue for Open Source compatible products. Both these cards have a USB interface built-in, I didn't want to be toting around an extra card reader in addition to the tokens themselves.
On the MacWhile both the devices worked as advertised under Linux, the experience has been a lot less fruitful under Mac OS 10.5 Leopard. There is a port of the OpenSC project for Mac OS, called SCA. The promise of the integration is great: you can use the on-device keys with apps like Safari and Mail, but there is a change in the way that the daemon responsible for talking to the smartcards (pcscd) works on Leopard, which means OpenSC won't recognise the cards.
With some fiddling, I have managed to force the Cryptoflex device to work with Mac. Unfortunately the Leopard/Darwin source for OpenSSH has diverged significantly enough from the upstream OpenSSH, that I couldn't apply the OpenSC patches. Not having ssh-agent work with the smartcard is a significant nuisance for me, as it's the easiest way to patch in the extra security to deployment processes.The Aladdin eToken just plain didn't work on Leopard. There is a report that Aladdin are working on Leopard drivers, however.I think a small number of mainly US federal smart cards will work out of the box on Leopard, though I've seen a few complaints about these on the Apple forums. It loooks unfortunately like smartcard support slipped through the net a bit. ConclusionSmartcard support is relatively straightforward on Linux. On Mac OS 10.5, it looks like some waiting is in order before things will work properly.

2 December 2007

Steve Kemp: Let the bells ring out for Christmas

In the next week I intend to drop the search engine which archives content posted to Planet Debian. It appears to have very little use, except for myself, and I'm significantly better at bookmarking posts of interest these days. If you'd like to run your own copy the code is available and pretty trivial to reimplement regardless. There are only two parts: Once you've done that you'll have a database populated with blog entries, and you just need to write a little search script. ObRandom: In the time it has been running it has archived 15,464 posts!

Brandon Holtsclaw: Brandon s Holiday Computer Fund

I’m a developer, and my primary tool is my computer. Unfortunately, about 3 months ago, my computer died an untimely death, and I have resorted to using a pentium 200MHz machine with 256MB Ram, which lets me keep up with regular communications, but significantly slows the pace of development. As a computer is a big purchase, and represents most of what I want to receive for the holidays, I’ve set up a fundraiser so that people who wanted to help towards this gift could do so without needing to purchase the entire thing (and to avoid the all too common problem of receiving 8 video cards and no RAM). www.fundable.com allows me to accept pledges via paypal but NOT collect any unless the goal is met, so if you feel giving and pledge something, it will only be charged if the goal is met ( this is set at $250, which seems to be the minimum for a decent system, if more is collected, I can look at something better). You can read more about how fundable works from www.fundable.com/faq, and I’m more than happy to answer any questions via email, IRC, Jabber, etc.

30 November 2007

Martin Michlmayr: N2100 network troubles due to r8169 bug

Daniel Smolik reported problems with NFS on a Thecus N2100 a few days ago. I confirmed the bug with 2.6.18 and 2.6.22 but found that the problem didn't occur with 2.6.23. I started a git bisect and a few hours later located a fix that Francois Romieu, the maintainer of the r8169 driver, had put in. Apparently the driver had some confusion regarding hardware and IP header alignment. The good news is that the patch is very small and can easily be backported to our 2.6.18 kernel in stable. Also, packages of 2.6.23 were uploaded today and should be in the archive soon.

Frans Pop: debtree 0.7.2

Now available from alioth: debtree 0.7.2. The main change in this release is a much better display of virtual packages in dependency graphs. With this release I consider debtree "feature complete" when it comes to the information that is displayed in the graphs. A quick summary: Currently not supported are displaying Relaces, Obsoletes and Enhances relationships. If there's demand for it, adding them should be trivial. If you haven't yet, take a few minutes to look at the example graphs on the debtree website. What's next for debtree? You may remember that I filed an ITP when 0.7.1 was released but obviously its not in the archive yet. One reason is that debtree is completely redundant, at least if you consider the original reason I wrote it: to list how a package depends on another package. Just after the release of 0.7.1 I found out that aptitude why <package> <package> already provides that functionality!
I'm tempted to blame Enrico because I asked him if that was possible before starting on debtree, and Enrico really is supposed to know such things [1]! Luckily debtree now produces such nice dependency graphs to justify its existence :-) Anyway, I think that option should probably just be stripped out of debtree now. And if that is done, maybe it should be renamed to debgraph or apt-graph... I also discovered that beside apt-cache there was already another utility that produces dependency graphs: apt-rdepends. While, just like apt-cache, it lacks most of the features of debtree, it is quite fast and, because it is written in Perl, I could possibly port debtree to Perl myself using apt-rdepends as an example. Another reason is that a few people commented that maybe it should not be a separate package. I somewhat agree with that, but also would not like it to disappear in something non-descriptive like debian-goodies. I'd very much prefer it to eventually see it included in apt itself, or maybe in apt-utils. So basically I've been holding back a bit on uploading debtree to allow me to consider all this. The next task definitely is a rewrite in a better language and thereby give debtree a performance boost. [1] To his (and my) defence: that feature was only recently introduced in aptitude.

Adrian von Bidder: Groupware suite

The topic of a groupware with SyncML support is still bothering me. What are people using, and with how many users? Please tell me (I'll update this article.) Looking around, it seems there aren't that many open source (or even commercial) projects if it should be usable on Linux (Clients, too) and be reasonable priced (which pretty much kills Lotus and similar big enterprise solutions AFAIK.). Oh, and a web frontend is an absolute necessity, too, but that's usually not a problem. There are some other groupware projects out there, and I might do them injustice, but on a first glance development seemed to either have stalled as a whole or at least regarding their SyncML support. I know of OpenGroupware.org (last news of SyncML support from 2005), Kolab (No production quality Web frontend, and I can't find much about SyncML either), Horde (Hmm. I didn't like the classical horde webmail very much, but "Horde Groupware" might be worth another look. The status of the SyncML part is not clear, judging from the website.) and phpGroupWare (egw's ancestor, when I last looked development seemed to stall, and the information I found about its SyncML support is somewhat scant.) The open direcory project lists some more, but I haven't looked at these.

29 November 2007

Stefano Zacchiroli: rss powered pts

The PTS has grown RSS feeds These days I'm taking part in the Extremadura Debian QA Metting. Today is the first day and I've mostly spent it doing some PTS hacks. The first visible tiny teeny outcome of that is the addition of RSS feeds for the "latest news" part of each package page. For example, in the PTS page of bash you can see a link to the corresponding RSS feed. (Other package pages will need a bit to be completely regenerated by the current PTS run ...) Thanks to KiBi and Luk the pages are now also listing links to the corresponding entry in svnbuildstat. Forthcoming additions are links to outcome of the piupart tests run by Liw and H01ger and 2 new markers: one for lowThresholdNmu-ability and the other for maintenance by Debian Maintainers. Stay tuned!

Ross Burton: Dear Mark Prisk

I sent this last night to my MP as a followup to his reply to my original letter.
Dear Mark Prisk, Recently I wrote to you regarding the "homoeopathic hospitals" EDM, and your response included the following paragraph: "All therapies should be considered equally, and decisions on whether or not to provide them on the NHS should be evidence-based, as is the case with all other conventional medicines and treatments." I wholeheartedly agree that all therapies provided by the NHS should be judged on openly peer-reviewed evidence of their effectiveness, because otherwise we'd still be using leeches, performing exorcisms or practising blood letting. However, as far as I am aware there is no scientific evidence that homoeopathy is any better than placebo, so could you tell me where you saw the evidence for homoeopathy that you are using to justify homoeopathic hospitals because I'd like to see it myself. Indeed, evidence that it was in fact better than placebo would be welcomed with open arms by the scientific community, because this would open entirely new realms of both medicine and physics. Yours sincerely, Ross Burton

Russell Coker: Apprentices

Shintaro wrote an interesting post about Rakugo (a form of story-telling) and Mottainai (a particular form of gratitude that is now becoming an English word in reference to environmentalism) [1]. My definitions of the two words are poor, I encourage interested readers to read Shintaro’s post for the links. Recently I had been considering which jobs are most like a senior programmer position in terms of skills and the work environment. It occurred to me that a chess-master has a job that bears some similarities to that of a senior programmer. A chess master might play a Simul [2] which compares to a programmer or sys-admin fixing lots of small bugs at the same time. In a serious chess tournament up to seven hours may be on the time clocks - not an uncommon amount of time taken to find a subtle bug in a program. For quick chess games as little as three minutes may be on the clock for all your moves - similar to the situation where the network goes down and the CEO is watching you fix it. The intellectual abilities for playing chess and programming have many obvious similarities, memorising significant patterns to avoid re-calculation, having a large mental register set to allow considering complex situations or multiple possibilities at the same time, and being able to spend many hours thinking about a problem. With that in mind one thing that particularly interested me in Shintaro’s post was the reference to a Japanese apprentice system where “They are trained at his masters house from early years maybe after junior-high, living and caring his boss every day life, like Go or Shogi players“. I wonder how this could be used in other cultures and career paths (such as English-speaking countries and computer programming). Probably the “every day life” part wouldn’t be well accepted. When comparing with the high-school experiences that seem typical of people in the computer industry an apprentice program has a lot to offer. A small amount of pay (as opposed to school-fees) and an environment where laws apply (IE almost no bullying) are both significant benefits. Anyone who is reasonably intelligent is most likely to find that they can’t learn anything from the teachers in the final years of high-school because most teachers don’t know much about the subjects that they teach and in the instances where the teacher does know more the class environment doesn’t permit teaching more advanced material. Someone of average intelligence who has worked for 5+ years in an industry can always teach a beginner some useful things so there is some obvious potential to learn. There is a meme that apprentice programs only apply to trades not intellectual work. This meme is probably correct when applied to many categories of office work but seems obviously wrong when applied to computer work. My observation is that at most places where I have worked there has been a significant amount of time from the most productive, skilled, and highly paid people spent on tasks that are way below their skill level - and often requiring skills that they don’t have. One example is when I was working for an ISP in a senior sys-admin position, when things really went wrong on the network I was usually the person to fix them - but I spent moderate amounts of time fixing hardware problems with desktop PCs and some time fixing Windows networking issues (of which I know little). Some of the problems I fixed could have been fixed by a 16yo apprentice who would probably have taken less time to fix them while also having a much lower hourly rate - and in some cases may have done a better job). I’m not sure that having an apprentice assigned to an individual programmer would work well, but having one per team should. I have previously written about how to get the benefits of a university education without attending university [3] so I don’t think that the inability of such apprentices to attend university would necessarily be a problem.

28 November 2007

Gregor Herrmann: next step

an hour ago I received an email from my AM who considers my packages to be in good shape; that means that the "Tasks and Skills Check" part of my NM process is finished. & wouter has also already sent the NM report mail including his recommendation to accept me as a DD to debian-newmaint! so only FD review, DAM review, & account creation are lying ahead of me.

I'm indeed quite happy tonight :)

Ross Burton: My MP Is A Fool

My MP finally replied to my letter where I questioned his signing of the Early Day Motion regarding homoeopathic hospitals. Whilst defending homoeopathy he said that doctors should be allowed to prescribe homoeopatic treatments, which I expect many homoeopaths wouldn't like as the homoeopath/patient interaction is pretty much where the cure is. Whilst I was still laughing at that, I came across this.
All therapies should be considered equally, and decisions on whether or not to provide them on the NHS should be evidence-based, as is the case with all other conventional medicines and treatments.
I'm about to write to him, asking for this evidence. I haven't seen any, and I'm sure the medical profession would like to see it too. NP: Burning Off Impurities, Grails

Lucas Nussbaum: Re: Two years of Python

Andrew writes about Python, Perl and Ruby:
Ruby has some nice things (like Perlish regular expression handling), but it brings back all that punctuation noise again.
He gives an example of punctuation noise in Perl:
I go back to Perl and my eyes bleed after trying to dereference a reference to a scalar, or something like that. It’s just ugly in Perl.
I don’t think that’s fair to compare Perl’s ponctuation noise with Ruby. Ruby has a feature that could qualify as punctuation noise, but it’s really a feature: variables are prefixed with their scope. For example, class variables start with @@ (@@var), instance variables start with @ (@var), global variables start with $ ($var), and constants are in CAPS. I don’t know if Ruby “invented” that, or if it comes from another language (it’s probably the case: Ruby takes a lot of good ideas everywhere). Also, Andrew, joining elements of an array in ruby is written myarray.join(” “), and Ruby has =~. So you should definitely give Ruby a try ;) No, seriously, Ruby is a really interesting language. It’s really a shame that it’s still so japanese-centric (most development decisions are taken on a japanese mailing list !!), since it’s not really help a wide adoption.

Andrew McMillan: Which is the more interesting hackspace: X or Linux?

A curiously interesting thread has sprung up on the Xorg mailing list recently regarding the lack of bandwidth the developers might have for accepting patches. Bernardo Innocenti, who hacks on OLPC stuff amongst other things, wants to get some patches reviewed for acceptance, but there aren't enough people around with the time and inclination to review and accept his work. He did a quick and dirty analysis of Xorg LoC vs Linux LoC, to give a "X codebase is roughly 1/2 Linux codebase" (which surprised me, actually, I'd always thought it was larger) and then a similarly rough analysis that suggests that Xorg has roughly 1/20th of the developer base. To some extent Bernardo's metrics are arguable, but the basic facts are that Linux gets the lions share of the developers. Is this what we should expect? Is this a healthy way for the free and open source software community to support the development of what I personally would like to see as the future desktop base? Linux does a fantastic job as an OS, right now. It's been doing it for years, really, but we still need to get behind some of the differential further up the stack. And all credit to those stalwarts of X development who are shouldering more than their fair share of the burden. So if you were looking for an open source software project where you can be appreciated, don't overlook X.

Next.

Previous.