Search Results: "rul"

23 August 2006

Evan Prodromou: 6 Fructidor CCXIV

Argh... trying to get caught up on this journal in the wee hours of the morning here in wt:Odense. I've had pretty bad jet lag this trip -- I've never been particularly good with time changes, and the North-America-to-Europe switcheroo really throws me off. So by 2PM I'm falling down on my feet, but at 4AM I'm rarin' to go. Odense has been a particularly nice place to visit. We got into wt:Copenhagen a few days ago, and crashed at the Airport Hilton there. It's actually attached to the airport -- you can just walk right in. Maj got a good deal on a room, and we figured it would make sense to sleep with the baby right there, rather than fight the train system to find another hotel in the city centre. After a free brunch including many different kinds of pickled fish, and a looong nap, we took the train into the Central Station in Copenhagen, right by Tivoli Gardens. There were lines around the block for the amusement park, but we skirted them and headed into the pedestrian area near City Hall. Based on a recommendation in Wikitravel, we went to the line of caf s and restaurants off of Nyhavn, a sliver of water poking into the heart of the town. It was a great walk, and we had a casual sidewalk dinner at a place called Carl's Corner. The canal was lined with boats that had been converted to restaurants -- we may try one when we go back to Copenhagen this week. tags:

Wikisym The next morning I got up at dawn and got on a train to Odense for Wikisym. I missed my connection at the Central Station, and all the trains were running late, so I got real confused about where to go. The fact that I was carrying all of our luggage didn't help matters. But a few false starts later, I managed to get myself oriented and on my way. The train ride was beautiful -- wt:Denmark is a very pretty country, with rolling grassy hills and clusters of small, peak-rooved houses by the tracks. The trip from Copenhagen to Odense takes you from wt:Zealand to wt:Funen, across a long rail bridge. Very impressive. Once I'd landed in Odense and got myself organized, I slipped into the back of the room for Wikisym to catch the last few minutes of Angela Beesley's keynote address. Angela might be the hardest-working person in Wikidom -- she's a tireless community organizer not only for the Wikimedia Foundation sites like Wikipedia but also for Wikia's sites. After her talk, we did an wp:Open Space session, which continued throughout the day, interlaced with the academic presentations. I'm getting to be a big fan of Open Space; it was really effective for RecentChangesCamp, and I think it works well for organizing a conference. Ted Ernst led the sessions, with the help of Gerard Muller of the Danish Open Space Institute. Probably the most productive Open Space session for me was the one about non-text wikis -- using wiki techniques for video, audio, image and visual language editing. I'm fascinated by this stuff, and it's great to hear that some people are working with SVG and SMIL to do in-browser multimedia editing. The consensus is that the technologies Aren't There Yet but are around the corner. The other major thing I think I picked up from this session was Eugene Eric Kim's discussion of Wiki Ohana. Ohana is the Hawaiian word for family; the Wiki Ohana is a project to develop some interoperability and a transmission of our Wiki principles to new members of the family. I think it's a great idea and I'm going to try to get involved further. tags:

Odense We had a great walk around Odense's core pedestrian area. It's not exceptional for Northern European towns -- it reminds me of the Netherlands, and Maj of Switzerland -- but the car-free cobble-stone walking areas are a real relief after years in North America. We have some pedestrian areas in Montreal, of course, but not in the same way. Odense is the childhood home of wp:Hans Christian Anderson, and the city is decorated with statues of HCA, and of characters from his stories (the Tin Soldier, Thumbelina, etc.) It gives a kind of fairy-tale air to the town. I'm not sure they should feel so proud of being Anderson's childhood home, though -- from everything I've read, his childhood was nightmarishly cruel, and his abysmally poor family was harshly treated by the society here. But, of course, that's in the past. Now, we had a real nice time walking around. Amita June likes tottering along on the cobblestones, and shouting really loud in the small streets to hear the echos. We ended up having dinner in a place called the Cuckoo Caf -- great food under a spreading tree in a little square. This morning -- no, yesterday morning -- Maj got up and took the first sessions, and Amita June and I slept in. We went off into town again to find a bakery, and shared a chunk of brunsviger, a sugary pastry that will probably rot out her tiny teeth. I had a cup of tea, which was less than satisfying. I've been trying to cut caffeine out of my life, so we've been having decaf at home, but they don't seem to serve it in caf s here. I'm a creature of habit, and I like the taste of coffee even if it doesn't have the caffeine oomph. tags:

CAPS LOCK SUCKS In response to Lars's defense of CAPS LOCK: Lars, you ignorant slut. Caps lock has been the bane of online culture since the invention of mixed case in the late 1960s. It is a hallmark of clueless newbie-ism for people who are too analphabetic to remember the exceedingly simple English capitalization rules. The only legitimate purpose for CAPS LOCK is for doing C macros and defines, but hey, who writes in C any more? Anyways, that's just lazy programming. A real programmer would write a macro to capitalize the names of other macros where used. That's just good programming practice. Another important point is that CAPS LOCK is Eurocentric and imperialistic. What value does CAPS LOCK have for someone writing in Eritrean, Malayalam or Ojibwa? None at all. Yet dead white males like Lars Wirzenius want to force their CAPS LOCK cultural hegemony on an increasingly global culture. For shame. The worst thing about CAPS LOCK is that it squats in the middle of the most important letters on the keyboard, like a rat trap waiting to spring. Big and ugly, it always catches your left pinky when you're reaching for Ctl or Shift or Tab or A or whatever. Key-chording is here to stay, and CAPS LOCK not only ignores this important UI development but actively interferes with it. Modal interfaces are rightfully extinct, and CAPS LOCK needs to go the way of the dinosaur. It's time to eliminate this obsolete key once and for all. (This message brought to you by The Taxpayers Against Caps Lock Coalition. I, Evan Prodromou, endorse this message.) tags:

21 August 2006

Gunnar Wolf: Caps Lock becomes useful again! / Is this a farewell, my dear Window Maker?

I have always hated and despised the Caps Lock key. Not only it is useless to anybody who works writing code, sysadmining, or plainly writing real text, but its mere existence has degraded the work quality of millions of people's work. Suddenly, IT GETS NORMAL TO WRITE LIKE THIS - It's just a magic spell that allows you to get rid of those old-fashioned rules about the language, about where to write in which case. Even worse, in Spanish some people tend to think that uppercase letters do not carry accents, so they produce text that is, um... Lets say it is readable, but that's often an overstatement.
[switch context]
I have been a happy and loyal user of Window Maker since 1997, when Juan Pablo Romero pointed me to it (BTW, I found Juan Pablo's homepage after searching for some links to post here and finding his, very old and probably unmaintained, WindowMaker page), back in the time where one of my favorite webpages was Window managers for X - clear sign that I didn't really like anything I had been using. And with WMaker, I was happy for (WOW) almost ten years. I still am. But after last week's ugly XFS corruption episode, I decided to follow the trend among some Debian people, and installed ion3.
My impression so far, with two and a half days of usage? I LOVE IT. It is the only WM I've met that really comes from a different point of view, stating that what most so-called modern WMs offer is just counter-productive. It just stays out of your way, not providing any visual distractions, and limiting to providing screens and frames to organize your windows. It acknowledges that its target audience (in my life I'd never set up ion3 for my mother ;-) ) usually hates using the mouse if unneeded, and that there is little point in wasting screen real estate with docks and desktops with functionality. It just sits there waiting for you to command its working via the keyboard - of course, the mouse is also an option, but not the natural one.
Anyway, I won't discuss the beauty of ion3 here - mostly because I have only scratched the surface so far. I have loved it, let me tell you. A little more on this in a couple of lines... Just for my Spanish-prefering friends, I found this piece of text explaining what ion3 is about: Ion3: Rompiendo con los entornos gr ficos convencionales
[merge contexts]
My only grudge is that in its default configuration, ion3 becomes the 0wn3r of Meta. What is Meta? What some people call "the Alt key". That key that is not Ctrl, but has become a controlling key. And I'm a heavy Meta user - Remember that my favorite way of interacting with the computer is Emacs. Yup, the nice OS without a decent editor, nicknamed after "Escape-Meta-Alt-Ctrl-Shift". Rob me of my Meta, and the gained productivity might as well go down the drain.
Here comes the link to my first paragraph: Ion3 is very configurable. No, it's not configurable - it's programmable. The configuration files are pieces of Lua, a full programming language. Of course, this means you can do mostly anything with it... But you have to do it in the end. Editing ion3's behaviour is not just clicking on selectors - You can take a dive to get the feeling. It looks quite easy, but I yet have to get around it and start poking the configuration.
After mourning my lack of Meta, I came across a very useful post in Gregor Hermann's blog. Gregor, I owe you a beer or three - You not only gave me back my productivity, you also gave use to the most despised key in my keyboard. Two lines into XModmap, one line into a couple of Ion3 files (I have yet to be sure it is needed in all of them), and I now have a perfectly useful CapsLock key, which is the key I will manage my WM with. It just rocks! It stands in nobody's way, and I am sure I'll very soon grow used to it.

19 August 2006

David Welton: American Economics Association

It's obvious from my writings that I have developed an interest in economics, which developed out of a curiousity about the workings of free software business - how were we to make money creating free software? While that's still an open question, the tangent has been a fascinating one that I'm glad I followed. My work with the Tcl programming language further encouraged my interest as I sought to reconcile the language's extremely high quality and versatility with its falling popularity. If the answer wasn't a technical one, it had to be some squishy, human factor... economics and marketing. In any case, one of the things that has frustrated me about economics compared with my native territory of free software is the relative paucity of on line information, and almost total lack of quality sources of feedback (discussion groups or the like where serious discourse is the rule, rather than quackery or debates that quickly degrade into political rants). Not having the time, nor at present the inclination to sidetrack to the point of pursuing a degree in economics, which is the most obvious way of coming into contact with a lot of thought on the subject, at the recommendation of professor Stephen J Turnbull, I signed up to the American Economic Association, which sends out several hefty academic journals every quarter. Some of the math is a bit daunting, but there is quite a bit of material on various topics, and I think many others (there seem to be a fair amount of open source people with at least a passing interest in business and econ) who want to see something "closer to the metal" would find these journals worth their while, and it's not very expensive to sign up.

18 August 2006

Martin F. Krafft: Talk on Debian "etch"

Tomorrow I will deliver a talk on Debian "etch" at the University of Limerick Computer Society. Staying true to my principles, I held back the preparation of slides until the last minute, but now I actually ended up having them done well in advance, with enough time to invite you to take a look [*] and provide feedback. In this talk, I introduce Debian, give a status update on the "etch" release, talk a little bit about the future and how I see Debian's strategies evolving/developing/changing, and finally relate a bit to Ubuntu. That latter point was added on request, and I will remain objective and talk about the status quo, problems, and benefits (so it won't be a subjective take like this, although I certainly will address some of the issues). Comments welcome!
[*]the slides were prepared for S5 and can be viewed directly in modern browsers. The best experience is with a 1024x768 or higher resolution. Here are instructions on how to browse them (though you probably don't need them).
Update: the talk went well. I planned it to be 40 minutes (which is ambitious for 25 slides, but I can zip through them at high speed if I need to), and I learnt that the room was scheduled for two hours, so I added about 5 slides and went into it without a clock... and totally enjoyed delivering a talk with almost no time restrictions, which turned out to last just under 2 hours in the end. I talked a bit too much about what Debian is, then delivered the status report on the "etch" release, and in the end also had quite some time to spare on talking about our current and future challenges, as well as discussing some of the problems with the distribution and the project, as I see them. I would like to thank the attendants for making their way to the campus on a Saturday, and for their attention throughout the two hours of presentation without a single one of them giving me the impression of disinterest! We ended in a bar with beer in the afternoon, of which I probably had a little more than I should have had, given that I needed to be a little more productive that day. But even that worked out well. Laura, the society's president, offered me an honorary membership with skynet.ie, which I gladly accepted [ ], and I enjoyed hearing some of their stories about the past and the present. Given that university computer societies may be somewhat in decline, I think they still have their rightful purpose, and they are definitely a great place to gain experience and have a lot of fun. Thanks, skynet.ie for a good time! And now on to meet them at a pub...
[ ]If nothing else, then an account on skynet.ie should allow me to port-forward or even use VPN from Zurich, to access some of the electronic library resources available here, to which the University of Zurich has not subscribed.

17 August 2006

Evan Prodromou: 30 Thermidor CCXIV

I can't believe it's the end of wp:Thermidor already. The summer's going so fast; Fructidor is the last month of the year in the French Revolutionary Calendar, and then it's the fall equinox and things change. Speaking of the fall equinox, the Br leurs de Montr al Burners, the local Burning Man regional organization in Montreal, is planning a decompression regional burn campout event for the weekend of 22-24 September 2006. Folks interested in Burning Man and near Montreal are encouraged (by me) to participate on the Br leurs wiki or join the bruleurs mailing list. And, yes, the event starts on La F te de la R volution on the Republican calendar. Neat. tags:

And you smell like one too As has been mentioned in many other places, yesterday, 16 Aug, was the 13th anniversary of the launch of Debian. It's definitely something to celebrate -- the project continues to be a huge success and a bulwark of Free Software. Robin Millette and the Atelier du Libre will be hosting a Debian birthday party here in Montreal on Saturday the 19th at 8655 rue St Denis, at the Cr mazie metro stop. The event is from 1:30PM to 5:30PM and is open to all. More info at http://rym.waglo.com/wordpress/2006/08/17/party/ . tags:

15 August 2006

Martin F. Krafft: Test-driven development

Lars, I strongly suggest test-driven development. It seems to preemptively do the most relevant of what the debugging rules you quote instruct you to do later. The principles:
  1. design your interface
  2. write tests that fail
  3. write the code to make the tests stop failing
  4. refactor
  5. lather, rinse, repeat
It's a philosophy that anticipates bugs and errors, yet it uses that very fact to guard against them. Test-driven development has changed the way I (and many others, I learnt it while becoming a Plone developer) plan, design, think about, and implement code. And yet, it's really not far away from how you're already doing things. Really. For C++ coders, I recommend libtut, which is elegant and non-intrusive. PS: The definitive (and quite good) book on test-driven development by Kent Beck is only 200-something pages, so it's also in the domain of shorter books. Update: sorry, liw, for making it sound like I assumed you had spent the last years in a cocoon or cave or curled up in a corner. I didn't intend to doubt that you know of TDD, just wanted to get that off my mind what your post put there. And of course, I agree with you: TDD will not eliminate debugging. But it will make your debugging sessions a lot less frequent, even though the really long and painful ones are exactly those that it won't prevent...

Lars Wirzenius: Review: Debugging by David J. Agans

I hate debugging. I strongly prefer writing code that works to finding problems in code later. Because I hate it, I've never been good at it. I've never spent the effort to figure out a good, systematic way to find a bug. Instead, I've developed ways of avoiding them. In the long run, this isn't the smartest strategy: every now and then a bug slips through, and then I'm screwed. Worse, sometimes I need to debug other people's code. David J. Agans's book Debugging is a gem. It crystallizes an approach to debugging that feels very good to me. In summary: None of these should come as a surprise to anyone experienced in programming, of course, but I've never seen them presented together, or so well. Agans's genius is not that he's come up with a new debugging method, but in presenting the obvious aspects of the debugging process in a clear, logical manner. Also, he has funny war stories. The book is written in a fairly chatty manner, with many jokes. The style, or the jokes, don't get in the way, and they may help remember particular points better. It's a fairly short book, at about 170 pages. I like that: I dislike the modern tendency of making computer books so thick and heavy that future civilizations will assume we used them for bricks. It's only been a few days since I read the book. It's already made me a better programmer. Highly recommended.

14 August 2006

Erich Schubert: SELinux for sarge updated

My experimental SELinux for Debian sarge backports have been updated. The core libraries and utilities are updated to the versions just uploaded to unstable. Therefore, they may of course contain the same bugs as the unstable versions and since I redid the packaging of libselinux and libsemanage - I didn't understand Manojs packaging system, and these packages needed larger modifications for sarge python support - they may also contain extra bugs. But even users of unstable might be interested in grabbing the "refpolicy" packages from this repository. These packages are now a modular policy. This is possible since the just uploaded toolchain finally has working policy module linking and results in a significantly smaller policy, since you don't have to add rules for software not installed. To support this, I've written a tool to resolve inter-module dependencies and to automatically install modules matching the software packages you have installed. Expect to see this in the unstable refpolicy packages sometime, too. Maybe someone else will contribute a ncurses frontend to select policy modules. Please note that bug reports should be directed to the Debian SELinux Mailing Lists. Please use the mailing lists, instead of just contacting me directly. On a side note, I don't know if I'll be continuing these efforts.

13 August 2006

Alexander Sack: thunderbird + reply-to-list ... here it comes

Yesterday, I uploaded a first thunderbird 1.5.0.5 build. It fixes – as you might know – several security issues, applies several patches … so nothing unusual. However, there is one interesting and maybe useful change: a patch which provides the core feature needed to make a reply-to-list extension possible in thunderbird. I often red complains that thunderbird has no reply-to-list feature. Thus, I decided to ship this patch for etch. In general, I don’t add features upstream has not yet included. But this one looks important enough for me to not remember my own rules :-). In order to make use of this feature, do this:
  1. Install enigmail or mnenhy extension. I would suggest enigmail which is in the debian archive (aptitude install enigmail)
  2. Install the Reply-To-List Extension from this address.
  3. Press Ctrl+I (yes, Ctrl-L is already in use, sorry) in order to reply to list.
  4. or add the Reply-To-List button to your toolbar and press that one.

Ah, here a screenshot,
Reply To List Button and Key-Binding in Debian Thunderbird 1.5.0.5
Anyone disagrees with the decision to ship this in etch?

Andrew Pollock: [tech] More benchmarking

When I did my Red Hat Certified Engineer training, the second time around (when I updated from Red Hat 7.1 to Enterprise Linux 3), the trainer mentioned this Ext3 vs Reiserfs benchmark that Gurulabs performed. Probably because it had such a memorable name, I've remembered it and referred people to it, and referred to it myself, a few times over the years since. So it seemed only fair to try out their benchmarking methods (i.e. use NetApp's postmark with a few different settings) on the uber-disk as well, while I had it idle. So I did. Firstly, I ran it locally on minotaur, the piddling little 866Mhz Pentium III, with 320Mb of RAM (but with 1.5Tb of disk attached directly via USB), and then I ran the exact same tests from teevee, the box destined to become my MythTV server (3.0Ghz Pentium 4, 1Gb of RAM), with the disks mounted with ATA over Ethernet. This was with a JFS filesystem on a single logical volume striped across four physical volumes. I ran the tests three times, just like the Gurulabs benchmark, first time around, it was with: The idea being that this will generate around 150Mb of data, which should all fit in the RAM (of either system) The second time around was with: The idea being that this, generating 1400Mb of data, will exceed the RAM on both systems (but not uniformally, obviously). The final run was a total thrash with: This one causes about 19Gb of data to be written, and absolutely hammers the living daylights out of the disks (or the network, and the disks, in the case of ATAoE). So, now for the results:
Test case 1, with locally attached disks
Time:
        22 seconds total
        21 seconds of transactions (2380 per second)
Files:
        27170 created (1235 per second)
                Creation alone: 2000 files (2000 per second)
                Mixed with transactions: 25170 files (1198 per second)
        24986 read (1189 per second)
        24697 appended (1176 per second)
        27170 deleted (1235 per second)
                Deletion alone: 2340 files (2340 per second)
                Mixed with transactions: 24830 files (1182 per second)
Data:
        149.53 megabytes read (6.80 megabytes per second)
        161.85 megabytes written (7.36 megabytes per second)
Test case 1, with ATAoE attached disks
Time:
        27 seconds total
        25 seconds of transactions (2000 per second)
Files:
        27170 created (1006 per second)
                Creation alone: 2000 files (2000 per second)
                Mixed with transactions: 25170 files (1006 per second)
        24986 read (999 per second)
        24697 appended (987 per second)
        27170 deleted (1006 per second)
                Deletion alone: 2340 files (2340 per second)
                Mixed with transactions: 24830 files (993 per second)
Data:
        149.53 megabytes read (5.54 megabytes per second)
        161.85 megabytes written (5.99 megabytes per second)
Findings
A degradation in performance, sure, but not a huge one. Graph of the results
Test case 2, with locally attached disks
Time:
        218 seconds total
        209 seconds of transactions (239 per second)
Files:
        27144 created (124 per second)
                Creation alone: 2000 files (400 per second)
                Mixed with transactions: 25144 files (120 per second)
        24830 read (118 per second)
        25094 appended (120 per second)
        27144 deleted (124 per second)
                Deletion alone: 2288 files (572 per second)
                Mixed with transactions: 24856 files (118 per second)
Data:
        1405.24 megabytes read (6.45 megabytes per second)
        1535.91 megabytes written (7.05 megabytes per second)
Test case 2, with ATAoE attached disks
Time:
        165 seconds total
        158 seconds of transactions (316 per second)
Files:
        27144 created (164 per second)
                Creation alone: 2000 files (1000 per second)
                Mixed with transactions: 25144 files (159 per second)
        24830 read (157 per second)
        25094 appended (158 per second)
        27144 deleted (164 per second)
                Deletion alone: 2288 files (457 per second)
                Mixed with transactions: 24856 files (157 per second)
Data:
        1405.24 megabytes read (8.52 megabytes per second)
        1535.91 megabytes written (9.31 megabytes per second)
Findings
Whoa, who'd have thought this? Better performance over the wire? I'm blaming the fact that minotaur is a bit of a weakling compared to teevee, and teevee had a better caching advantage with more RAM. Mind you, you'd expect to see the same for the first test as well, unless size is a factor. Inconclusive results I guess. Graph of the results
Test case 3, with locally attached disks
Time:
        7356 seconds total
        7310 seconds of transactions (27 per second)
Files:
        104099 created (14 per second)
                Creation alone: 4000 files (117 per second)
                Mixed with transactions: 100099 files (13 per second)
        100246 read (13 per second)
        99560 appended (13 per second)
        104099 deleted (14 per second)
                Deletion alone: 4198 files (349 per second)
                Mixed with transactions: 99901 files (13 per second)
Data:
        18995.06 megabytes read (2.58 megabytes per second)
        19738.85 megabytes written (2.68 megabytes per second)
Test case 3, with ATAoE attached disks
Time:
        12320 seconds total
        12111 seconds of transactions (16 per second)
Files:
        104099 created (8 per second)
                Creation alone: 4000 files (32 per second)
                Mixed with transactions: 100099 files (8 per second)
        100246 read (8 per second)
        99560 appended (8 per second)
        104099 deleted (8 per second)
                Deletion alone: 4198 files (49 per second)
                Mixed with transactions: 99901 files (8 per second)
Data:
        18995.06 megabytes read (1.54 megabytes per second)
        19738.85 megabytes written (1.60 megabytes per second)
Findings
So presumably the network latency made its presence felt with data volumes of this magnitude. Graph of the results

11 August 2006

Martin F. Krafft: XFS and zeroed files

Erich complains: "If the file is damaged, just fill it up with zeroes?" (in response to my recent post on filesystem problems). Update: I rewrote the second sentence of the next paragraph (up until and including the footnote) to get things right. Thanks to Russell Cattelan for providing the info. This must be the most misunderstood feature of XFS. What happens is that XFS logs all metadata changes to the journal, except for the inode size, which gets flushed to disk immediately for performance reasons [*]. At this point, the file will actually be a sparse file, which is nothing more than a file whose metadata lists a file as being of a size different than it currently is (I realise the "sparse" does not really apply when the file is "overfull", i.e. when the metadata lists it as smaller than it really is, but I am lacking a good word for that). The disk extents get allocated only when the data actually hits the disk (that's XFS's famous delayed allocation mechanism). If the power fails before the data was flushed to disk and the journal entry cleared, XFS will serve zeroes, rather than the potentially random or sensitive data that is actually on disk. This is a good thing.
[*]since almost every write() changes the file size, it would be a massive performance hit if every size change was logged. However, XFS actually violates its own journaling rules by doing this.
You can run into more or less the same problem with any journaling filesystem; the others just don't serve zeroes. Instead, they give you the data that's physically on the medium. Imagine the situation when the corrupt /etc/motd suddenly becomes a window to your previous /etc/shadow contents... I really prefer how XFS handles that. Sometimes you do get the old data back with the other filesystems, but this is because the filesystems may reuse the blocks of the old file. So it's a trade-off, and your choice between security and, uh, convenience. The only way to protect against this is to use "physical-block journaling" (as opposed to "logical journaling"), which is only supported by ext3 as far as I know (option data=ordered), at a massive performance loss. See this mailing list post by Theodore Ts'o for more info. Thanks to Alceste Scalas for sharing it with me. PS: Thanks to Wessel Dankers and Eric Sandeen for their help on #xfs. Update: Again thanks to Russell Cattelan, I just received word that code has been added to the 2.6.17 kernel which will flush an inode at close if it was truncated at some previous point. This should take care of many of the zeroed-file issues. Update: RazorFS also supports data=ordered. Thanks to Hans Kratz for pointing this out. He also adds some more information, parts of which I've written about previously:
One of the major problems of all journalled filesystems especially on notebooks/desktop machines leading to filesystem corruption is the harddisk writeback cache (enabled by default). With the writeback cache some writes are not immediately written to disk Now if a crash happens some of the data may not have hit the disk. The journalling filesystems however need a way to rely that the certain writes have hit the disk to ensure filesystem consistency. There are two solutons: Enable write barrier support in the filesystems (avalable for ext3 since around 2.6.8, mount option: barrier=1, available for the other filesystems as well now probably) or disabling the write cache altogether with hdparm/sdparm.
XFS supports barriers as well, but unfortunately not yet on non-physical media, like RAID or dm-crypt. ext3 seems to work okay on both. Enable your barriers today!

Zak B. Elep: ntfs-3g Love

Yesterday I was back again at the Parish to continue working on arete, the newly-installed Ubuntu Dapper machine. I was back because I had to continue migrating my father’s files from Windows to the new setup, since he wanted to try out Scribus as a replacement for his MS Publisher system for writing the parish newsletter. Anyhow, this reason, coupled with my own urge to seriously try out Ubuntu Dapper (I was running Kubuntu Dapper, doh) made me spend the whole day trying out something new. ;-) As I was looking at Dad’s documents folder, I realized that I had a problem: there are so many files here, some of them sizing up from tens to hundreds of megs (actually, stuff worked on thru the Gimp,) and knowing well that disk drive space was at a premium (arete had an 80G drive, yes, but nevertheless its already cramped,) I simply couldn’t accept copying the files from the XP’s NTFS C:\ to arete’s ext3 /home. Moving wasn’t an option either; although Dad would very much like to try out Ubuntu, he still had some projects (especially the newletter) that needed, uhm, proprietary software to work (sigh.) Thus, remembering that Linux already had some way of reading NTFS partitions, I promptly Googled about it. I also knew that the Linux-NTFS guys (who made the ntfsprogs suite and kernel module) were already working on getting full read/write NTFS support on Linux, but it didn’t occur to me that they were able to get a working implementation done so soon… Enter ntfs-3g: the third generation Linux-NTFS driver. Weighing in at around 550K, this seems to be the one thing that I need for my problem. From the looks of it, ntfs-3g can both read from and write to NTFS partitions, allowing one to create, delete, and update files and directories on the system; it can even allow access to certain metadata that even Windows XP hides from its users. Furthermore, its built from the ground up as a filesystem-in-userspace driver, using the Linux fuse subsystem. It certainly looks very attractive indeed. So, being the sysadmin for arete that I was, I quickly decided to give ntfs-3g a try. After all, it was a simple matter of grabbing the tarball, then reading the README, then doing the three-step tango of ./configure; make; sudo make install, then calling ntfs-3g /dev/hda1 /media/hda1 -o umask=007 as root. Right? Wrong. I quickly ran into a trio of subproblems: first, I needed fuse (>= 2.5.0); the one Dapper had on its official archives was 2.4.2 . So, naturally, I had to make a quick backport of the fuse source from Edgy (2.5.3), but I at this point I ran into the second problem: for Eggy’s fuse to get busted, I needed the new makedev (2.3.1) as well. Forgetting to do apt-get -f install for the moment, I grabbed Edgy’s makedev and proceeded backporting it, which ran me against the last problem: I also needed the newest sysvinit (2.86.ds1). In short, I needed to do a trio of backports first before being able to build ntfs-3g. My own fuse was almost ready to explode. Fortunately, everything went fine after the backports (thank goodness for my being a Debian package maintainer and MOTU,) so I didn’t break my own fuse after all. Soon after, I was reading and writing stuff to and from /media/hda1 without so much as batting an eyelash. Dad was definitely pleased, since that meant that he no longer had to dread the thought of having to maintain two separate document trees and cause him pain and gnashing of teeth. I was glad too, since I no longer had to dread the thought of having to hack on this today, causing me to disrupt my Summer of Code schedule. But, being the packager that I was, I realized that I could make the world a better(?) place by turning ntfs-3g from a regular Joe source to a real Debian/Ubuntu package. While I was happily waiting for ntfs-3g’s build to complete, I happened to pass by a certain HOWTO on the Web using pre-built fuse and ntfs-3g Ubuntu packages. I grabbed those packages, and took a look at them, and while they were pretty much useful, the ntfs-3g package certainly did not look to pass the gold(?) standards of Debian and Ubuntu: the ntfs-3g package was a single binary package, shipping both a shared library and its headers, coupled with the working binaries. It had outdated FSF addresses too, which my bugging Lintian pointed out to me. With some more extra time to spare on arete, I decided to go ahead and build proper a proper source package for ntfs-3g, producing the three binary packages ntfs-3g (containing ntfs-3g and mount.ntfs-3g,) libntfs-3g0 (depended on by the former package,) and libntfs-3g-dev (containing the include headers.) CDBS and debhelper definitely made this easy pickings, and made my life with ntfs-3g easier. And, I’m going to make everyone else’s life with ntfs-3g easier, by making this package available for nit-picking. ;-) I won’t pretend this to be getting into the official Debian and/or Ubuntu archives for the moment, since the upstream authors have explicitly stated that ntfs-3g will be eventually merged into the existing ntfsprogs suite, thereby making my packaging of ntfs-3g obsolete sometime soon; furthermore, the binary packages up there are built against Debian unstable and Ubuntu Edgy, so anyone looking for a Dapper solution can read this post first to avoid reinventing the wheel. But if anyone needs a good solution for NTFS read/write right now (or, if somebody else has time to kill in testing ntfs-3g,) then here’s a good one for you. Caveat emptor!  Ok, next up: finishing my SoC work…

10 August 2006

Martin F. Krafft: Blackouts and encrypted filesystems

After some recent filesystem fun, I now have a laptop with encrypted partitions, using dm-crypt and LUKS, conveniently installed with partman-crypto. Pre-Scriptum: I have updated my previous post about XFS troubles in response to Ingo's statements. Just in case you care... The following post poses a question and a meta-question: As I was cycling home today, I thought about what would happen if my laptop lost power now in the middle of a write operation. Sure, ext3's journal would make sure the filesystem was consistent, but what about the actual data on the disk? Journaling works by writing a change to the journal, then writing it to disk, then deleting the enty from the journal. If the filesystem is mounted and it has entries in the journal, those are "played back", meaning they just get written to disk again, overwriting potentially incomplete data written as the power was lost. Yes, this is simplified, but it'll do for now. With encrypted filesystems, there's an important layer between the filesystem and the physical storage: the encryption algorithm. An encryption algorithm like AES works on blocks, by default 64 bytes in size. 64 bytes are not a whole lot, but given the nature of hard drives, it's not possible to write 64 bytes to the drive atomically [*]. Thus, conceivably, it could happen that your power cuts out after only 32 bytes have been written. I don't believe dm-crypt does journaling for the encrypted data it writes, so effectively, a power loss on systems with encrypted filesystems almost certainly means data loss? Please correct me if I'm wrong! And the meta-question would be: where would I go to discuss such issues? I've abused debian-security previously, the issue seems too general for the dm-crypt mailing list, there is cryptography t metzdowd.com but somehow this does not seem to be a crypto problem... so where would you take this? Let me know...
[*]

In a computer architecture course in college, the prof raised the interesting point that between the loss of power and the actual disappearance of all current in the circuits, several million operations are possible on modern machines. I have not yet heard of any computer or hardware device making use of those precious cycles.

Update: actually, several manufacturers are making use of the precious cycles. See for instance this post, which describes some stuff done by SGI. Hanspeter Kunz also adds that harddrives use this time to park their heads.

3 August 2006

Biella Coleman: In between pride and anxiety: the state of South Africa

Writing blog entries in South Africa did not come so easily, mainly for technological reasons. While for the first 4 days of my trip I had steady Internet access, most of my time was spent enjoying the Law and Society Summer Institute. Once over, I headed from Joburg to Durban and my access became much spottier, not to mention that Bernard, my indefatigable host, made sure the days were filled seeing the gritty but beautiful urban beach town, hanging with the crew of University of Chicago students/graduates that descended upon the city, and having a go at sufring in the Indian Ocean. In the evenings, I did have some free time, but they were too chilly for me to do much of anything but burrow myself deep under a small mountain of covers and pass out after a day filled with plenty to do and see. The theme of the conference I attended was the intersection of rights and regulations and given the Summer Institute was held in South Africa, it was not all that surprising that much of the conversation centered on one class of rights, those of human rights. Since the end of apartheid, SA has become a particularly-impossible-to-ignore beacon for human rights, and acts as a sort of modern guiding light that has defined the meaning and institutionalization of human rights post-WWII. So if WWII and the Holocaust represent the generative genesis of human rights, South Africa represents a new era of human rights, a place that revisited, rejuvenated the discourse and implementation in a post-Apartheid Constitution that has been touted, world-wide, as exemplary for its generous commitment to equality and other rights. In this respect, one feels, quite everywhere, the collective pride of a nation who managed to end a brutal regime and it did so under the gaze of world who followed the drama on TV screens, college campuses, and newspaper headlines. As SA has moved to another era of picking up pieces and trying to build a more equitable society, many in the world are still eagerly watching. But pride does not stand alone, in isolation, for it mixes with other collective sentiments. The collective admiration and pride of a nation, like the sweet water of a river, visibly and freely mixes with a more salty frustration and anxiety to produce an in-between brackish state of affairs. Pride in other words sits alongside social anxiety, which palpably manifests at different registers and tones, to texture the cultural and political landscapes of SA. The frustration follows from the fact that many are still living in dire poverty and in the last ten years, many steady jobs have vanished. Shantytowns, the symbols and material conditions of apartheid, are still omnipresent (though very well hidden from the middle class and the rich). The ruling government, while having roots in communism and socialism, has to contend with a world-wide regime of neoliberal governance and, thus, must try to balance satisfying commitments with the outside world with delivering promised goods to its population, demands that often run uncomfortably counter to the neoliberal logic of deregulation and financial austerity. Alongside this or perhaps as a manifestation of it, the talk of the town, especially in Johannesburg, is of the rampant crime. As a sign of crime and fear, most middle-class and wealthy houses are adorned with metal fences, barbed wires, electric fences, and a simple sign from private security companies (Chubb being the most common in Johannesburg) that announce they provide armed response security to break-ins. This is serious stuff. And while some of the fear of crime is a self-perpetuation exaggeration of itself (and as my friends explained, before the end of Apartheid the monitoring of crime was not as common, so crime statistic can only go one direction, up), it has in certain parts of cities spiraled out of control. And if there comes a time when the crime abates, the architecture of barbed wire and security services is now really an architecture-in-place and will be hard to dislodge from the mental and physical spaces of SA. So more than anything else, I found that the vibe of SA seesaws between pride and anxiety. As a visitor, you are enveloped in this dyanmic duality. You can’t help share in the pride now enshrined in national monuments and museums. But at the same time, you also are not sure what path the nation is heading in and you too share in the fear of crime and move your body and belongings cautiously through the cities. There is no doubt of the governmental commitment to provide services like health care and housing, a commitment that in places like the United States seems to exist more like an endangered species on the brink of perpetual extinction. And so it was awfully refreshing to be in a place where talk of such things is not seen with a suspicious eye that in the US is often tagged as something that runs counter to the realization of freedom and a just society. But whether these important goals can be brought into the plane of existence is another question, one that is not unique to SA but is something that many other countries, especially Latin American countries, from Venezuela to Bolivia are also asking and trying to answer. Bernard and others reminded me that South Africa is number 4 in terms of producing new millionaires, which is quite a remarkable statistic given how many nations there are in the world. But despite the poverty of the place, this wealth is evident and there was one place in particular that symbolized this: Melorse Arch. Located in Johannesburg, this is a lifestyle compound/gated community that mixes posh residential condos with posh restaurants and bars. To tell you the truth, I have never seen anything like this and it was probably been the most extraordinary thing I saw in South Africa. The United States and Puerto Rico (where I am from) and undoubtedly many parts of the world are no strangers to gated communities. But Melrose Arch took the implementation of them to a whole new, somewhat disturbing, level, in part because the domestic sphere of expensive housing co-mingles so intimately with sites of accentuated consumption, reminding visitors that the point of life, (hence the name lifestyle) is to make money so as to consume, and to do so lavishly. And what brought this really home was that the South African Bond Market was also located here in Melrose Arch. In fact we could see the building clearly from our restaurant, which proudly displayed a large Elephant statute (which, I think, harkens to the large bull in Wall Street NYC). I guess if you are a bond trader, and dislike commuting, and like good places to eat, well this is the place for you as you don’t ever have to leave your complex. Work and play become seamless and thus this place is perhaps one of the most powerful signs that the point of work is to play, is to consume, so that a perfect cycle is reached in which making money is a path for self-pleasure (or at least nuclear-family self-pleasure), a form of life, that does not have to engage with the rest of society, literally. Of course, there are many layers of production that do exist and make a place like Melrose Arch possible yet are well hidden from the visitors and residents of the compound. But Melrose Arch is not fully gated. It is open to outsiders so they can enjoy the fine dining, and if you sit in one of the many outdoor tables, one can fully take in the glittering performance of this social cycle, and for some, undoubtedly it is a measure for and of the good life, the right life, that to which others will aspire. What I find interesting about the place is that it captures, with unmistakable clarity and precision, the point of much of neoliberal economy, especially the love for finance (in which money seemingly is made out of nothing), a robust service economy (the service in the restaurant was unlike anything I have seen, with people bring you ceramic jugs of water to wash your hands, live entertainment, outdoor fires, and blankets, henna painters etc), and consumptive pleasure. To drive home the point, in Melrose Arch, there is not even a supermarket; lest there be any mistake, this place was constructed as a place of consumption, through and through. There were many other posh areas in South Africa, and as I mentioned earlier, the impoverished areas were kept a distance from middle class neighborhoods, so much so, that in some areas, like Cape Town, you really had to go out of your way to see them (again this is very different from many parts of Latin America where, in an instant, poor neighborhoods switch to wealthy). On the other hand, quite visible were things like malls and there were a lot of them. Apparently South Africa has been a testing ground for the modern mall. To get to the malls, there are very good roads to travel (much better than most of Latin America) and other basic services like tap water, and infrastructure like airports and phones, are in excellent condition. So it was somewhat surprising and frustrating that Internet services outside of business are somewhat scant, expensive, and slow. Sure Internet services are the best in Africa and you can get Cable, ADSL etc. at home but you have to pay a pretty Rand for it and on top of it, the access is pretty slow. Now, there are many parts of the world where this is the case (though apparently in a study that compared 12 countries at a similar lever of development to SA, Internet access was 10 times more expensive in SA than the most expensive country which was Chile), but for me, it was the juxtaposition of having such solid infrastructure and wealth mixed with lackluster Internet access that made it somewhat odd. And it also made me realize how much the Internet and access to it had not only saturated my life, but how I have come to see it as a something creeping close (though not the same) as a basic right. Of course, security and self-determination, food, shelter, and health services are for me are the basic architecture of human rights. Without these, existence in the most basic sense becomes difficult. Access to the Internet, though in no way is indispensable to the basic conditions of living, can at least greatly facilitate the type of political work and organizing needed to demand other basic human rights. In this sense, it is more like an extension of or at least serious complement to basic services like clean water, and it seems like once there has been an investment in securing fiber optic (which I am sure is pricey), the cost of maintenance compared to physical infrastructures is so much smaller that it is really worth the initial costs. This bring up some difficult questions and vexing specters related to many of the human rights (in the Universal declaration), which are I think not so much so how to define them in a general sense (I think this has been laid out somewhat well) but how to specify them so as to realistically implement them . On the one hand, the flexibility and vagueness of human rights is what gives it tremendous currency. Folks around the world have wielded the discourse of human rights to make demands that resound strongly and profoundly. But once a proclamation of a human right has been made, like article 25:
Everyone has the right to a standard of living adequate for the health and well-being of himself and of his family, including food, clothing, housing and medical care and necessary social services, and the right to security in the event of unemployment, sickness, disability, widowhood, old age or other lack of livelihood in circumstances beyond his control..
it seems like the real hard work is about specifying and implementation. We may easily agree that an adequate standard of living may not be Melrose Arch but it still does need definition and a plan for implementation. And so there seems to be plenty of room in human rights politics to move from the state of declaration to that of strategies of implementation.

2 August 2006

Aigars Mahinovs: Dell Inpiron XPS M1710

Well, now I am a proud owner of a one of the most powerful laptops available under two grand. Core Duo 2.0 Ghz, 2 Gb RAM, 120 Gb HDD, 1900×1200 17″ screen and NVidia 7900 GS. I am just loving it. It did come with Windows and lots of ther crap which I removed right away. I did reinstall Windows (XP Media Center) to see how it works (it’s been a long time :P ) and for some gaming (HL2: Episode One in particular, it’s been a long time :P ). I also installed Ubuntu Dapper as the primary workspace (as something stable, quick to set up and boringly non-experimental). Debian as the development platform and primary experimentation base and one more 5 Gb partition stayed free so that I can try out other stuff (like Gentoo) when I feel like it.
I must say that installing Ubuntu, Debian and Windows in quick succession was a very, very interesting experience. I am considering repeating that and writing down everything with plenty of unusual screenshots to trully compare the experience. I must say that Ubuntu fared the best with Debian following in a very close second (mostly due to minor laptop problems on installation) and Windows being waaay behind on usability and installlability with all kinds of wierdness.

1 August 2006

Roland Mas: Migrated to Ikiwiki

I finally took some time to migrate my blog from a (very old) Wordpress to a fairly new Ikiwiki. As I write these lines, the version of Ikiwiki I'm using isn't even released, and it includes two patches made by yours truly (and submitted upstream, of course, as bugs #380680 and #380743), allowing the creation of monthly archives and the possibility of making these archives RSS-less (it doesn't make much sense to have an RSS feed for something that's supposed to be static). The whole blog is now static, since I haven't investigated the comments system. I will probably enable the comments eventually, and I will of course migrate the existing ones (much like I migrated the existing articles, with a combination of a Perl script and some hand-tuning). In the meantime, I'll enjoy a spamless blog. The other regression is the lack of a search facility, but from what I can see it was hardly ever used anyway. Note to readers: old URLs should still work (thanks to Apache's magic mod_rewrite), but please update your bookmarks and feed readers and agregators and so on to use the new ones, since I'll probably disable URLs at some point. Update: I also hacked a new plugin, linkbar.pm, which appends a static Markdown string to all *.mdwn pages before they are rendered. So you should now see the lovely navigation menu on all pages, including the article pages.

28 July 2006

Erich Schubert: On games

Lars, of course billard balls don't shoot back, if you hit them with a lame stick. Use some real weapons, and they'll probably shoot back. Try some rocket launcher. To me, the best shooter is the original QuakeWorld TeamFortress. Screw non-Linux-supporting modern stuff like counterstrike. It's boring. I think I never played any shooter beyond Quake3, actually. That one didn't care about being "realistic" (which sucks) but was about fun and arcade. Oh, make sure you don't install sgt-puzzles. Best make any local packages of yours (say... your self-compiled kernel with suspend2) conflict with it. It's just a couple of tiny games, with very simple rules. But they totally take over your mind.

27 July 2006

Ben Armstrong: Plumbing the depths of cdbs

On #debian-games we were discussing today how opaque cdbs is for those who aren’t intimately acquainted with its inner workings. I want to be able to easily see, at least at the level of detail visible in a purely debhelper-based rules file, what’s going on inside just by running make itself, e.g.
debian/rules -p   grep -v ^#   grep -B1 dh_
Here’s a small excerpt of the output when run on ri-li:
binary-install/ri-li::
        dh_installdocs -p$(cdbs_curpkg) $(DEB_INSTALL_DOCS_ALL) $(DEB_INSTALL_DOCS_$(cdbs_curpkg)) 
        dh_installexamples -p$(cdbs_curpkg) $(DEB_INSTALL_EXAMPLES_$(cdbs_curpkg))
        dh_installman -p$(cdbs_curpkg) $(DEB_INSTALL_MANPAGES_$(cdbs_curpkg)) 
        dh_installinfo -p$(cdbs_curpkg) $(DEB_INSTALL_INFO_$(cdbs_curpkg)) 
        dh_installmenu -p$(cdbs_curpkg) $(DEB_DH_INSTALL_MENU_ARGS)
        dh_installcron -p$(cdbs_curpkg) $(DEB_DH_INSTALL_CRON_ARGS)
...
OK, it’s a bit crude and misses a lot of interesting details, but it is a starting point that can be tweaked to zero in on whatever parts interest you.

26 July 2006

Evan Prodromou: 8 Thermidor CCXIV

Yesterday was such an insanely long day -- we woke up in a tent, had breakfast over a Treo, then released a lot of software and went to sleep in the middle of the night. It seemed like 4 days, not 1. And this morning I had to take our new mini-SUV into the shop for its first maintenance checkup. For the last 6 years, I've driven a beautiful old wp:Citro n DS station wagon, but around the time Amita June was born I decided I wanted her to learn to drive on it. Maj and I decided that that meant it had to be taken care of a little better, so I put it in storage and we bought at 2005 Hyundai Tucson. (The Hyundai people here in Quebec pronounce it like "Tux-awn", to our endless amusement.) It's weird having a new car -- like, newer than 1972. Parts are not only plentiful but inexpensive. There is a selection of multiple mechanics in my major metropolitan area that can service the vehicle. And people don't point and wave when you're driving, or stop you on the street to tell you stories about how their grandfather used to drive one on their family farm. We'll be driving the car to wt:Boston next week for Wikimania 2006, so I'm glad it went to the shop. It should be in good shape for the drive -- I hope the rest of us are. tags:

Slides Speaking of Wikimania -- I'm nowhere near ready for my presentation. Jeez, how'd it get to be almost-August already? Thankfully, no one else I've talked to is really ready to talk, either... so at least I'm not the last one to get my homework done. tags:

Software The OpenID software I did for MediaWiki went out yesterday, and I got a lot of good feedback on it. OpenID requires that some state data is stored between participating servers, and the code I wrote uses the memcached client built into MediaWiki to store it. Not optimal but it works. Well, better today than yesterday, that is. There were some pretty gruesome bugs in the implementation that were only showing up for some exceptional circumstances. So I adapted the JanRain unit tests for the other storage classes to my Memcached class, and that helped a whole hell of a lot for debugging. Yay, unit testing! Some people are still having problems with the software, though. The main thing I've found is that the key-value pair output required by OpenID for its inter-server communications is sensitive to extra whitespace thrown in. Why would there be extra whitespace? I've found that a lot of PHP libraries have bits of whitespace at the end, after the closing ?>, and that will show up in the output. Whether it matters depends on how sensitive the output format is to whitespace. In the case of OpenID, the answer is: pretty sensitive. But I'm looking forward to having some more people try the OpenID MediaWiki extension out. tags:

Wikipedia's 25th of July Spot-on satire from The Onion: Wikipedia Celebrates 750 Years Of American Independence. I quote:
  • "On July 25, 1256, delegates gathered at Comerica Park to sign the Declaration Of Independence, which rejected the rule of the British over its 15 coastal North American colonies," reads an excerpt from the entry. "Little did such founding fathers as George Washington, George Jefferson, and ***ERIC IS A FAG*** know that their small, querulous republic would later become the most powerful and prosperous nation in history, the Unified States Of America."
Does the fact that I find an Onion article funny say more about my declining humor standards, or about their recent improvements? I don't know. tags:

Four ideas I was very interested to see Tim O'Reilly's Four Big Ideas About Open Source. I think that there are some fascinating developments over the last few years that have fallen under the rubric of wp:Web 2.0, and I think they affect those of us who put our hearts and minds into Open Source software. I think this was part of his keynote at OSCON 2006, which, y'know, I'm not techically at or anything. It briefly crossed my mind, but I've got too much to do for Thermidor and Fructidor to flit off to yet another conference -- this one only tangentially involved with what I do for a living. Still, it's interesting that Open Source software and Web services are crossing paths. FLOSS has been critical for making Web services possible, but taking that up to the meta-level and seeking the same freedoms from Web apps that you expect from "regular" software... that's a Moebius strip of rights right up in there. tags:

My life as a toolbar So, sometime in the last year I started installing Firefox toolbars. The main one that's useful to me is Chris Pederick's excellent Web Developer Extension, jam-packed with little tools that make my job as a developer that much easier. But I also install, well, pernicious toolbars. Judgemental toolbars. Toolbars that make me forget what really matters and turn the Web into a horserace or a highschool popularity contest. They're horrible, and they're addicting, and I can't stop using them. The Google Toolbar has some diddly little useless gadgets that I don't give a shit about, like searching my Gmail account for the given search terms (whoopee). What I loooove, though, is the wp:PageRank indicator. PageRank, of course, is the patented algorithm developed by Google founder Larry Page to estimate the importance of a page on the Web. It's incredibly accurate and valuable and though no longer the only criteria Google uses for ranking pages, it's still critical as a measure of the intrinsic value of a page. So, there's this little wp:progress bar on the Google Toolbar that shows the PageRank of any page you're looking at. It's an apparently logarithmic scale from 1-10, with the number showing up in a popup tooltip. Creative Commons? 9/10. Ted's story about the great worldwide race? 2/10. Technorati home page? 8/10. Male Secretary? 6/10. Wikitravel's France discussion? 3/10. And so on and so on. Even worse is the A9 Toolbar, which (again) has a whole bunch of bogus boring features, but also shows the Alexa ranking of any site you're looking at. Alexa ranking isn't some egghead hooty-tooty algorithm about the importance of a page -- it's a ranking on the Big Board of who's the most visited site in the world and who doesn't matter in the slightest. So, I can see that Flickr is ranked #41 today, le Sans Fil is #347,296, and wikiHow is #2248. Alexa is a lot more coarse-grained than Google's toolbar -- it measures the traffic to a given second-level-domain, not a particular URL. So any LiveJournal or Blogger site gets LJ's entire Alexa ranking -- not very useful. Still, I've taken to thinking almost entirely in terms of PageRank and Alexa rank. It's unreasonable. Every site I go to, my eye drifts up to my toolbars to confirm my idea about it. Do I really like Achewood? Sure, but it's only got an Alexa rank around 20,000... Doc Searls's blog has a PageRank of 8, which is really impressive; but... my page for 22 Prairial (Journal/22 Prairial CCXIV) apparently has the same PageRank. Holy moly! Why could that be? (I think it has something to do with the wp:Law of 22 Prairial, but I could be wrong.) Really, putting these numbers on everything is ruining the Web for me. It's turning me into a total jerk, too. I kinda want to go back to the time when I just found stuff on the Web and didn't think, "How do I measure up?" Thankfully the Yahoo Toolbar doesn't include anything remotely like rankings... just as well. Of course, that's the reason I uninstalled it, too. I can find my way to Yahoo! Canada Greetings just fine on my own if I need to. tags:

John Goerzen: First steps with cfengine

This afternoon I started looking at cfengine. In very little time, I've already set up rules that can bring a system from pretty much cdebootstrap state up to a minimal production system in our environment. I've still got a little ways to go, but it's already hacking on /etc/hosts, hosts.deny, sources.list, installing appropriate Debian packages for our systems, etc.

It's come a long way since I last looked at it six years ago.

One thing I can't figure out...

I have a /etc/bacula/bacula-fd.conf file that contains, among other things, this:


Director
Name = backup-dir
Password = "foo"


Director
Name = backup-mon
Password = "bar"
Monitor = yes



I can't figure out how to make cfengine delete just that second section. I tried this:


BeginGroupIfLineMatching " name = .+-mon"
IncrementPointer "-1"
DeleteToLineMatching "\ "
DeleteNLines "1"
EndGroup


But it seems that the pointer is never actually being decremented, even when examined under verbose mode. That is, it leaves the leading "Director " line in the file.

Next.

Previous.