Search Results: "ema"

4 September 2006

Isaac Jones: Announcing Haskell'

let haskell' = succ haskell98 in
Announcing the Haskell' ("Haskell-Prime") process.  A short time ago,
I asked for volunteers to help with the next Haskell standard.  A
brave group has spoken up, and we've organized ourselves into a
committee in order to coordinate the community's work.  It will be the
committee's task to bring together the very best ideas and work of the
broader community in an "open-source" way, and to fill in any gaps in
order to make Haskell' as coherent and elegant as Haskell 98.
Our task is broadly defined by our mission statement:
    The Haskell programming language is more-or-less divided into two
    "branches".  The Haskell 98 standard is the "stable" branch of the
    language, and that has been a big success.  A lot of progress has been
    made over the last few years in the "research" branch of the Haskell
    language.  It is constantly advancing, and we feel that it is time for
    a new standard which reflects those advancements.
    Haskell' will be a conservative refinement of Haskell 98. It will
    be the work of this committee to adopt a set of language
    extensions and modifications and to standardize a new set of
    libraries.
    We will strive to only include tried-and-true language features,
    and to define them at least as rigorously as Haskell 98 was
    defined. This standard will reflect the realities of developing
    practical applications in the Haskell language. We will work closely
    with the rest of the Haskell community to create this standard.
Your Haskell' Committee is as follows (slightly munged email addresses
follow):
 * Manuel M T Chakravarty <chak at cse.unsw.edu.au>
 * John Goerzen <jgoerzen at complete.org>
 * Bastiaan Heeren <bastiaan at cs.uu.nl>
 * Isaac Jones <ijones at galois.com>
 * John Launchbury <john at galois.com>
 * Andres Loeh <loeh at iai.uni-bonn.de>
 * Simon Marlow <simonmar at microsoft.com>
 * John Meacham <john at repetae.net>
 * Ravi Nanavati <ravi at bluespec.com>
 * Henrik Nilsson <nhn at cs.nott.ac.uk>
 * Ross Paterson <ross at soi.city.ac.uk>
 * Simon Peyton-Jones <simonpj at microsoft.com>
 * Don Stewart <dons at cse.unsw.edu.au>
 * Audrey Tang <autrijus at gmail.com>
 * Simon J. Thompson <S.J.Thompson at kent.ac.uk>
 * Malcolm Wallace <Malcolm.Wallace at cs.york.ac.uk>
 * Stephanie Weirich <sweirich at cis.upenn.edu>
The editors are Isaac Jones and John Launchbury.
Feel free to contact any of us with any concerns or questions.  If you
don't know who to direct your questions to, email Isaac Jones
ijones at syntaxpolice.org.
Community involvement is vital to our task, and there will be a way
for members of the community to make formal proposals.  In the opening
phases, please use these more informal resources to help us coordinate
Haskell':
 * The haskell-prime mailing list.  All technical discussion will take
   place here, or (if other meetings take place) be reported here.  Anyone
   can subscribe, and any subscriber can post questions and comments,
   and participate in discussions.  Anyone can read the list archives.
   http://haskell.org/mailman/listinfo/haskell-prime
 * A wiki / issue tracking system to document consensus and to track
   ongoing tasks.  This system is publicly readable, but only
   committee writable so that we may present it as the "official"
   output of the committee.  If you ever feel that the wiki is not
   accurate as to the consensus, please alert the committee!
   http://hackage.haskell.org/trac/haskell-prime
 * A darcs code repository for experiments, proposed libraries,and
   complex examples.  darcs is a decentralized system, so anyone can use
   it, but patches should be sent to Isaac Jones:
   http://hackage.haskell.org/trac/haskell-prime/wiki/SourceCode
Please join us in making Haskell' a success.

Marco d'Itri: I like receiving (some) bug reports

I suddenly realised that I like receiving bug reports. In a recent bout of structured procrastination I fixed more or less all the bugs I could fix in my packages (except ppp. I don't feel like working on ppp right now, does anybody want to help me?) and now this is a quiet period. Obsessively checking the bugs mailbox for new messages is a clear withdrawal symptom. I am addicted to bugs for a very simple reason: they are a challenge. I stopped working on mutt because it was not interesting anymore to me and then I adopted ppp and packaged udev because I tough that maintaining them would require solving many interesting problems. It's too bad that solving some needs the collaboration of other developers, but this will be the topic of a different rant. But not all bugs are an interesting challenge. Some are just a total waste of my time, which usually is much more valuable than the time of the submitter. I will show some examples. So, if you can follow these simple rules I will probably not flame you to ashes the next time you will report a bug on one of my packages.

3 September 2006

David Nusinow: So Much For One Entry A Day

Too many good responses not to reply now. Both aba and buxy suggest merging the steering committee with the DPL, thus allowing such a committee to be elected democratically. This has its merits, but I'm hesitant for one main reason: Project SCUD was a complete and utter failure from the point of view of many DD's, myself included. There were reasons for it, and I'm sure they're valid, and I'm not blaming anyone, but it does make me distrust that structure for anything useful. The DPL as an office has had the opportunity to create this sort of structure and make it work for a long time now, and it hasn't happened. I'd imagine it's because the DPL is simply bogged down with other things. If the DPL could make this happen, I'd be fine with it, but our past experience suggests that we need a different solution than a non-functional DPL team.

The current setup, with the 2IC, seems to be working very well, but it's not actively going after issues in this way, even though it has the authority to do so. Indeed, I think if the DPL did start exercising his authority in this way, people would complain and threaten to resign and so forth. While many of us might envy Ubuntu's success, I don't think we really want the DPL to become a dictator.

The tech-ctte, on the other hand, works very well when things are brought before it, even moreso now that it's been revitalized. Allowing the DPL to delegate the steering committee would allow fresh faces to replace inactive ones each year, which would be a further check on the committee's powers (which I've done my best to limit to the scope of the problem). Also, by acting as a delegate of the DPL, the committee is essentially a focused extension of whatever team the DPL has assembled. By having a group of people who are focused on this specific task, it allows them to get work done without being bogged down by most of the issues that the DPL faces. I admit that this takes some of the glamor out of being DPL, but there's nothing wrong with having the DPL as a member of the steering committee that I can see, provided the committee is large enough. One possibility I've considered is to make the DPL the chair of the steering committee by default, which would give them the same powers as that of the tech-ctte chair.

As for how the steering committee would work with the release managers, it would, as madduck said, be a fairly close relationship, with some very likely overlap. The RM's are currently loaded up with plenty of work just making the current set of packages and features tight enough to release. Adding the burden of crafting and helping implement a vision isn't something I'd want to force on them. The RM's should be, as they currently are, concerned primarily with getting a high quality release out the door. They would remain the focal point for transitions and RC bug fixes, as well as determining what is actually release critical. The steering committee would give people the power to work towards release goals (hence working closely with the release team) but they don't have the power to say that the release should be held up for any given feature. That power would belong to the release team, the same way it currently does. I'd imagine that any release goals set by the release team would be approved by the steering committee without much effort.

One final issue. The tech-ctte works out in the open, on public mailing lists and the BTS. Team SCUD, as well as the DPL in general, does not really work out in the open. While I think having some things taken behind closed doors is good, I feel very strongly that the steering committee would have to do its work out in the open in the same manner as the tech-ctte. This is a major reason why I don't want the DPL office to take on this power.

Marc 'Zugschlus' Haber: Which kind of software suspend?

My notebook is an hp compaq nc8000 running Debian unstable, and I’d like to know whether it is “already” possible to use software suspend (hibernation). To my knowledge, there is a lot of different ways to do suspension, all of them differently broken and/or incompatible. I’t like to run with an unpatched vanilla kernel, use suspend-to-ram and suspend-to-disk according to my choice at suspend time, and have the notebook wake up with the X session unhampered and the important hardware (sound, synaptics) still useable. Additional bonus points if wireless and/or wired network remains useable and USB/PCMCIA devices don’t need an unplug/plug cycle. Which solutions should I investigate, which web pages should I read?

David Nusinow: More Steering Committee

I'm glad people have reacted in a largely positive manner to the steering committee idea. It's not really original, but I'm perfectly happy with stealing ideas from other people. I'm going to clarify a few basic ideas here and then address criticism.

The biggest difference between Debian and someone like Canonical or Redhat is that we don't pay employees to do things. We could go that route, but a defining feature of Debian is that it has a bottom-up structure, rather than top-down. I think this makes us unique and we need to do our best to preserve it. I imagine the steering committee to be an extension of this model.

First, the committee would be not be elected by the developers, but would instead be delegated by the DPL. Developers could challenge this delegation in the same manner as any DPL decision. The committee would be very similar to the technical committee in terms of size.

Second, its scope of power would be similar in that it would only relate to the distribution itself, rather than the way the Debian project itself was organized. Its powers would be limited to approving specific improvements within the distribution. These improvements would have to be submitted for approval by the committee, preferably in some sort of specification format similar to the one Ubuntu uses. The committee would then vote on the issue (most likely following the same rules as the technical committee). If they approve it, anyone is free to work on that specific improvement even if it touches on packages they don't maintain. This allows motivated developers to freely work on cross-distro improvements without worry. The committee would ideally be relatively quick to reply to submitted proposals, allowing fairly rapid developments to occur (to facilitate this, proposals must be well thought out).

Further, like the release team, the steering committee would also be responsible for actively working on goals that are set. This would ensure that something actually does get done. These features would give us a group with a limited scope of powers to implement large-scale improvements to the distribution without forcing anyone to do work they don't want to do. In addition, motivated people would have the authority to make large-scale improvements (like consistent theming for example) across many packages they don't maintain. People working on these improvements would be expected to try and cooperate with the normal maintainers as well as possible, so as to prevent problems. Maintainers who have issues can appeal to the technical committee, whose role would remain reactive to solve conflicts as they arise.

Ok, now for the critique from ij, which is a good one. I think the problem with what you suggest is that the DPL simply isn't going to be capable of acting like a good dictator without working full time on Debian for several years. The job is just too big. Allowing them to remain DPL for more than a year is something I don't think many DPL's would opt for anyway, it's just too draining.

The other existing structure is the technical committee, which is a better candidate for taking on this sort of role. The key to the tech-ctte though is that its job is to handle technical disputes. We could expand its role to allow it to set policies and direction, but then who do you appeal to if you don't agree with them? The developer body can override the tech-ctte (with a 2:1 majority) but that adds additional democratic overhead. GR's are draining, and providing another layer for technical decision making allows us to avoid them. Further, I'd like the steering committee and tech committee to have different modes of working. I imagine the steering committee to be more agile, taking a leading role in setting out a vision for the mass of developers to follow and take inspiration from. The tech committee, on the other hand, should be more defensive, carefully deciding on the most difficult issues. Basically the steering committee will looking towards the future, the tech committee will be looking towards the present.

Martin F. Krafft: Never give up

Scott, the first thing I want to say in response to your post is that you are not alone. I did not know someone was attacked for wearing an Ubuntu shirt in Helsinki, but I did witness at least one "Fuck Ubuntu" incident, and it seemed that Ubuntu jokes and snaps at the new distro were very common. I find this utterly childish and stupid. I am sorry for everyone who was offended. But please don't blame or condemn everyone in Debian or the whole project for the actions of some of its members or followers. You've already linked to my thoughts on the Ubuntu-Debian situation, so I need not cover any of that anymore. I wouldn't want to either, because believe it or not, this article got me flamed by Ubuntu developers just way too many times, in personal mails as well as in forums. Instead, let's look at the now and then this time. I've heard a few developers express their unhappiness with Debian in the past year, much in the same way that you did. Not always was it related to Ubuntu, but quite often it was. There are newcomers to Debian who shake their head in disbelief how anyone can work in a project such as Debian, and there are the veterans among us who seem to concede that Debian has slipped away from their ideals and it's just not fun anymore. It's not hard for me to understand each of them. I've followed Debian for nearly a decade now and thus tracked how it changed over time. We are one of the largest free software projects, and size never comes without problems. So while the Debian project used to be an association of geeks enjoying their focus on technical excellence, the sheer growth of our project called for many other fields to be managed, and we did not always handle this increase in complexity very gracefully. After all, we are all just geeks who want to have fun, aren't we? As a result, several aspects of our project have been said to "stagnate", and parts (and parties) have diverged. As a volunteer developer, it's not always fun to run up against walls and find that your innovativeness is met with stubborness or simple silence. I say "not always" because I think it's really just a matter of perspective. Over the years, Debian has seriously affected my life, the way I look at things, the way I interact with people, and the way I do stuff. I am eternally grateful for much of that. But the learning process has not stopped. What Debian needs is a stronger grasp of the big picture. In joining all the other developers who are already doing excellent work in that direction, what better learning opportunity could there be to approach large-scale project management, away from academia and the corporate world. For me, this is a very interesting perspective of a fascinating project, one that directly relates to my current research endeavour. I was asked recently how we "control the anarchy", and the first thing I said was that "control" was not the right word. Debian is not about control, it's about the flow. If it's not going your way, you can swim against it, you can pull out, or you can try to find ways to change that flow, bottom-up rather than top-down. I think David's idea of a steering committee is an excellent one, and I'd be happy to dedicate time to such an effort. I wouldn't call it "steering" though, as that seems too active. Rather, I envision a group of people dedicated to keeping track of the big picture (obviously in close contact with the release team) to which developers can turn if they need advice. In the last few years, I've often asked myself why the heck I don't just give up, instead of continuously running up against problems that seemed hopeless. Even now, I sometimes think that I should have just pulled the plug, but my answer has always been no, and it looks like it'll remain that way. Why? Because we've come an incredibly long way, and that by itself provide for a lot of motivation. Mostly, however, I decided to hang in there because I tend to like challenges, even if at first I have no idea how to conquer them. When I then look at what some of the people are doing for the project, I come to realise that there are solutions, even if the road is a long one. You (Scott) strike me as a very innovative person, and not only because the problems you and I are looking at tend to overlap to a large degree. I strongly respect you for your work, and Canonical certainly deserves a tip of the hat for providing you with the environment to do so. Sometimes, I even envy you a little, simply because I haven't been able to get down to coding solutions as much as I would have liked to and you've beaten me to the punch on things like HCT or upstart -- even though my work in that area has been mostly vapourware, so there was no real punch to which you've beaten me... I think you'll know what I mean. Yet, scanning some of your older blog posts, I got the impression that you weren't always happy with the way you have to do things at Canonical. And still, you're enthusiasm for working on your projects is astounding; it wasn't hard to come to that conclusion just a week ago, even though we've only talked briefly in Cambridge. Have you asked yourself why that is? I'll go out on a limb and postulate it's because of your innovativeness, because of your urge to push technology further, to implement cool things, and to break free of the cruft that comes with 13 years of Debian and several decades of standards la POSIX and SysV. Debian is too conservative for you, and all the cruft weighs heavy. Ubuntu, on the other handy, is "fluffy" and not afraid to forge ahead, and you've been an active part of it from day one. As much as I hate to see you "with them" rather than with us, I think you've found your place. And so have I. I'm less about coding than I am about integration, and there's work to do. Debian is a massive project with an amazing track record of achievements to look at. And it has problems. Well, great! Let's attack them. Never give up. Another reason why I've stayed with Debian is because there are people who think alike. Three years ago, I would have been able to give you a long bullet lists of hopeless problems in Debian. If you ask me today, I would have problems arguing their hopelessness, for I've seen plenty of developers taking it up with these problems, and in the meritocratic way. Our release team is doing a fantastic job and I've never felt so positive about the promise we made with the next release. People like J rg, Zobel, Rapha l, the two Alex, Meike, Christoph, and the many others I'll leave out only in the interest of brevity (the list is longer and doesn't only span Germany and France) are doing great work, and that is truly motivating. And I ought to mention explicitly our leader, Anthony, who's been doing an excellent job so far. I hope he can keep it up. Also, take a look at our IRC channels. I would have to be lying if I'd say nothing has changed. And the same applies to mailing lists. We still have a reputation to deal with, but if you stop listening to what people say and actually take a look, I think we've come a long way. I'd even say it's become more fun to work on Debian again! I think we owe a lot of that to Debian Women. I am definitely proud to be a member of this community (with which I mean Debian as a whole, not just Debian Women). I think I could continue this blog post endlessly. Let's not. You (Scott) may not be a fellow DD any longer, but you remain a fellow D, and I hope we'll continue to let our cooperation prosper. Now if only you had told me that "getting upstart installable required changes to twelve different packages, including sysvinit itself" when you approached me with what sounded like a simple sponsorship request... I've started to have a go at the "herculian effort", step by step. Seems like an interesting experiment. NP: Eels / Daisies of the Galaxy (it's really hard to find a better band for a grey Sunday morning) Update: Maybe our reputation isn't all that bad, or Slashdot posts suddenly became all useful. A lot of insightful and interesting posts in the first batch of comments...

2 September 2006

Eric Dorland: A Brush with Humanity

So I installed Ubuntu for the very first time a couple of days ago. I was doing for the niece of a coworker, who is 11 years old and French speaking. So I burned a copy of Dapper and booted it up on the old HP computer I was installing onto. The whole Live CD/Install CD approach is a good one, I hope the debian-installer team can adopt a similar approach post-etch.

I was a bit unhappy that there were no LVM options in the partition tool, but since the target user is more of a neophyte I suppose this makes sense. For that perspective the installer is a success, it asked very few questions and in the end presented me with a very nice, working system. I did the install in French and did notice a few buttons that still seemed to be in English and also that after rebooting the boot messages were still in English. I guess that shouldn't be surprising considering that I've never seen a init script that was translated. This should be possible with gettext right? I wonder why I've never heard anyone clamoring for this.

So the final result is nice and surprising responsive on this old machine. It had all the software an average computer user needs: web browser, email, office suite. The interface is pleasingly integrated. None of this is enough to sway me away from Debian, but it does seem like a nicer distro for a non-technically savvy user.

Antti-Juhani Kaijanaho: Haskell responses for Eric Warmenhoven

Eric Warmenhoven asked a couple of Haskell questions. Here are my answers. BTW, do you want to be added to Planet Haskell? If so, drop me an email. Also, be sure to subscribe to the Haskell mailing lists. Where did all the shared libraries go? Turning a Haskell module into a static library looks like it s fairly straightforward, but it looks like it s impossible to create a shared library that s usable by other Haskell programs. See the GHC FAQ. Why do header files have a bizzare suffix? If module A uses something from module B and module B uses something from module A, there s a circular dependency that GHC can t resolve on its own. The solution to this is to create a boot copy of module A that defines the things that B depends on without depending on B. In C this is called a header file. In GHC this is called a boot file and is given the extension .hs-boot . There are no header files with Haskell. Or rather, there are (the .hi files), but they are generated by the compiler when compiling the module. The .hs-boot files are not header files but a workaround for GHC’s inability to compile circularly dependent modules (which the language spec requires). Why does everyone ignore all the practical stuff? I read through five tutorials before I finally found one (on Monads, of all things) that actually had a usable getArgs example. Perhaps many people consider the practicals easy and want to discuss the hard things instead. Where s the Debian-specific documentation? For example, there s a GTK module. Where is that? How do I get it? Is there a package for it? If not, how do I make one? (I saw the debian haskell mailing list but didn t feel like wading through the archives hoping that one of my questions might be answered.) There is no Debian-specific documentation apart from a draft “policy”. Googling, I found this repository that contains Gtk2HS debs. Haven’t tried them, though.

1 September 2006

Biella Coleman: In the middle of nowhere but on the net

Micah and I have made it to Canada! Wow. We keep driving and well, we are not there yet because Edmonton, like the map shows, is far in that Western and Northen sense. We first went to Vermont last week to visit some friends and family but then decided not to cross in Montreal and drive that way, for a number of reasons. One was that we would not have cell access, the second was the higher gas prices, and the third is that it would be slower because the highways here are not like the MASSIVE American ones but more like one to two lane unlit roads where the speed limit is 60 miles per hour. Now that we are in Canada and on the Trans Canadian Highway to Saskatoon, I am glad we made that decision. It is super nice here and there are cool road attractions like the Happy Rock in Gladstone, Manitoba, but we are just unfit to drive on these roads, at least late a night. But one of the wildest things is that I am online, typing on a computer, via the phone/blue tooth and a Cingular Data Connection Plan. We decided against the North American Phone Plan because it was PRICEY (what good is NAFTA if you can’t just your same phone??) but the Data Plan was not too expensive and since Micah has to be connected 16 hrs of the day, we decided to go for it. We have been using the Internet all trip but it was only recently that we can now use it through the computer, which makes it a lot nicer. But what is even better is that the connection is like double the speed in Canada (prolly because it is a UMTS network and because Canadians rock) so while we may go slower on the highway, we do go faster on the information highway. Not a bad trade off.

Andrew Pollock: [opinion] A ramble about alternative energy and world affairs

Well John Howard said he wanted to start a nuclear debate in Australia. Seems it has already started on Planet Linux Australia. I figure I might as well have a meandering blog post about alternative energy and current world events, since I've just been immersing myself in the best news I can obtain with my crappy cable package in a country not renowned for its awareness of world affairs. Firstly, since there's been talk about nuclear power, I'd like to offer my thoughts on Iran, and how it's sounding like Iraq all over again. People are getting in a flap about Iran enriching uranium. Iran says that they don't want "the bomb", they only want nuclear power to meet their energy demands. Now if this is true, then surely should applaud a country that sits on a chunk of the Middle East's oil reserves looking to use something other than oil for its energy needs. I for one don't know if you need to "enrich" uranium to use it for a nuclear reactor, or whether it's good enough "as is". But let's just assume that Iran's intentions are as they have said, then it's going to be Iraq all over again. The US said Iraq had weapons of mass destruction. The US is saying Iran is enriching uranium for the purposes of making a bomb. So far the former claim hasn't been proven, so what's to say the latter is true either? Let's say the nuclear debate in Australia determines that it'd be a good a thing for Australia to go nuclear. How is Australia enriching uranium for electricity generation any different to Iran doing it? (Other than Australia is in the Coalition of the Willing, and Iran is in the Axis of Evil). Speaking of Iran being in the Axis of Evil, how is Iran supplying weapons to Hezbollah fundamentally any different to the US supplying weapons to Israel? Oh, and is anyone allowed to criticise Jewish people without being called anti-Semitic? Since when is invading a neighbouring country considered okay? I am so glad Australia is an island nation. These countries with land borders, sheesh... Anyway, back to alternative energy. I'm a greenie, (with a lowercase "g") so I'm open to nuclear power, but it does frighten the willies out of me, with things like Chernobyl. I'd never heard of a Pebble Bed Modular Reactor until Paul wrote of it. It certainly sounds safer than previous methods of nuclear reaction. But of alternatives. Wind, for example, doesn't need to be big and arguably ugly. These guys in the UK have made a very sexy and quiet wind turbine. I don't know how it stacks up in terms of cost or output to the traditional three-bladed wind turbines like what I've photographed in Southern California, but they're supposed to be quiet, which is apparently one of the (many) arguments that landowners like farmers have against wind generation in general. This Australian company has come up with a very small, but less sexy wind turbine, that I believe to be fairly cheap. Finally, in terms of generation, and I've written about this before, but I find the Tower of Power to be a fascinating concept in natural energy generation. Where am I going with this ramble? No idea. I do think rapidly developing countries like China should completely leapfrog over the era of oil and move to renewably generated electricity. Maybe they can get the manufacturing costs down of the equipment, and it'll be less of a big deal in terms of cost for the rest of the world to adopt it. Whew. What a ramble. Don't start me on flushing toilets with drinking water.

Erich Schubert: Busy with life

Today, I've been quite busy with "real life". First of all, I retrieved keys for my new room (see below), and was busy half of the day with packing stuff. Around noon, I had to go to a funeral. A friend of mine has died, most likely from cancer (maybe smoking-related, I don't know). He was very active for a NPO helping people with the internet. We'll really miss him there, too. In the afternoon I packed more of my stuff together, bought some new things; then took a break to go dancing - I started taking a Balboa class today - and finally took most of my stuff to my new room. Until around midnight I was cleaning the room, fighting the "malfunctioning" doors of the huge wardrobe and moving stuff in. Tomorrow I'll probably spend my first night in the new room. Picture of the plain room This is a shot of the new room. I don't have a wide angle lense, so that is the best I could do (I have the lens on my Amazon Wishlist, but it's horribly expensive...). It's the plain room, nothing of my stuff in there yet. The first thing I did was putting up some nice yellow curtains, to add some color. The flash makes some funny light effects with the mirrors of the wardrobe on this picture. ;-) The room isn't huge, but it's well done. The bed fits in behind the door, a desk will fit next to the bed, and there is this huge wardrobe. The mirrors on it make the room appear larger and brighter. Now with some sunny colors this will be a room I can enjoy. I'll probably post another picture when I've added some more color to the room. I have a couple of nice computer artworks printed out to hang to the walls. Oh, and the linux sourcecode poster. ;-) (No, I probably won't put that one up. It's mostly gray. It wouldn't match the room. It will be interesting how my life will change the next months. I'll be doing a lot more dancing - I intend to join a Boogie sports club, learn Balboa and Boogie and train Lindy Hop - and since I'll be living closer to the city, I expect to go out more. And I hope the people I'll live with in that house are fun, so we'll be spending some time together. We have a pool table and a dart board in the living room, and a perfect spot for placing a projector. Also since I've passed my final exams, I'll now focus on my final thesis. My topic is about semantic wikis [wikipedia.org], at my university and a research institute. The last months, I had been rather bored with university life; the thesis will likely set the course for the next few years of my life: research, entrepreneurship or just working at some larger company.

31 August 2006

Lucas Nussbaum: Automatically watching for updates on web pages ?

Once in a while, I come upon a web page that :
  1. Doesn’t offer an RSS/Atom feed.
  2. Doesn’t change very often.
  3. I would like to be warned when it’s updated.
I would like to be automatically warned when such pages change. websec does this :
Description: Web Secretary - Web page monitoring software
A visual Web page monitoring software. However, it goes
beyond the normal functionalities offered by such software. Not only
does it detect changes based on content analysis (instead of date/time
stamp or simple textual comparison), it will email the changed page to
you with the new content highlighted.
But :
  1. It sends emails. Generating an RSS feed would be much better.
  2. It sends HTML emails. OK, you can use AsciiMarker to view the changes with a text MUA, but still…
Anybody knows of another piece of software I could use ?

Russell Coker: first significant project goes live

One advantage of not being a permanent employee is that I am free to do paid work for other people. This not only gives a greater income but also a wider scope of work.<br /><br />I've just completed my first significant project since leaving Red Hat. The <a href="http://www.inumbers.com/">Inumbers</a> project provides an email address for every mobile phone. If you know someone's mobile phone number but don't have an email address then you can send email to NNN<span style="font-weight: bold;">@inumbers.com</span> where NNN is the international format mobile phone number. The recipient will receive an SMS advising them how to sign up and collect the email.<br /><br />It was fun work, I had to learn how to implement SRS (which I had been meaning to do for a few years), write scripts to interface with a bulk SMS service, and do a few other things that were new to me.

30 August 2006

Erich Schubert: Ubuntu forums

Yes, I've been quite unfair to Ubuntu forums. While I'd still prefer if they (= not Canonical; Ubuntu forums is just affiliated) would enable some searching for non-registered users, I have to accept that they only have limited hardware resources. And of course I'd like to see them using Opensource Software for their forum. When they enabled searching apparently they were flooded with requests. This goes so far that there are even rumors about a DDoS launched against their search functionality (the mails I received from UbuntuForum admins did not contain this claim). UbuntuForums definitely is a huge forum. The front page says "Threads: 243,764, Posts: 1,440,895, Members: 160,228, Active Members: 121,548". Well, 1.4 million posts definitely is a load of data to search in. I don't know if phpBB and similar opensource forums can handle these numbers (I have very little trust in any PHP solution, as you might now, and I dislike phpBB a lot). However I believe they're more likely to receive support by their developers for modifying the forum to handle such numbers. If they actually perform worse (which I don't know. Has anyone resources on the performance of different forum solutions with huge user and post numbers?) Maybe they're just hidding limitations of vBulletin now, too. I could imagine they need to replace the built-in search functionality (which I guess is MySQL-based) with e.g. a lucene based search. This should also allow better distribution of the system onto multiple computers. Anyway, I didn't mean to flame the Ubuntu community that much. It's just that the forum lost the one essential function for me this way - searching if the answer to my question is somewhere in there. (And yes, I know that registering isn't hard, and that they don't even verify the email address.)

Martin F. Krafft: Using LVM snapshots for filesystem recovery

This morning, I found myself in Gunnar's position and was looking at an empty /home directory because of the following mount failure:
piper:~# mount /dev/mapper/vg0-home
mount: Unknown error 990
Starting XFS recovery on filesystem: dm-0 (logdev: internal)
Filesystem "dm-0": xfs_inode_recover: Bad inode magic number, dino ptr =
  0xffff810028a6bd00, dino bp = 0xffff81002851d140, ino = 33629
Filesystem "dm-0": XFS internal error xlog_recover_do_inode_trans(1) at
  line 2352 of file fs/xfs/xfs_log_recover.c.  Caller 0xffffffff88307729
I am used to XFS giving me hard times, but this time at least I didn't have much to worry as it happened at home, I have plenty other machines I can use instead, and all data was backed up. Since this is on a Debian unstable machine, I had the latest xfs_repair available, and told it to do its thing, but it refused:
piper:~# xfs_repair /dev/mapper/vg0-home
Phase 1 - find and verify superblock...
Phase 2 - using internal log
        - zero log...
ERROR: The filesystem has valuable metadata changes in a log which needs to
be replayed.  Mount the filesystem to replay the log, and unmount it before
re-running xfs_repair.  If you are unable to mount the filesystem, then use
the -L option to destroy the log and attempt a repair.
Note that destroying the log may cause corruption -- please attempt a mount
of the filesystem before doing this.
Great. Catch-22. I decided to have a go at fixing it, but as much as I pretended to grok xfs_db, I did not manage to get the filesystem into a consistent state. I thus fired off an email to the mailing list (which has not arrived there 4 hours later) and started pv to dump the raw data to another machine for later use or debugging. Watching the progress meter of pv from time to time, it occured to me that my /home is in fact on LVM. I put it on LVM way back when LVM was new and cool and I wanted to gather experience with it. I've never actually done anything with it, but today it saved my little bits of remaining sanity. Why? Because LVM can take snapshots of volumes. It took me a while to put the pieces together, but in the end, a snapshot would enable me at least to run a test-round of xfs_repair -L and assess the damage, and if it wasn't all that bad, I could just run the repair process on the actual volume again. With the encouragement and knowledge of Christian Aichinger and Daniel J. Priem on IRC, I hence proceeded to give it a try. First I had to extend the volume group to make room for the snapshot data, and since I had no disks handy, I just used a loop device based on a sparse file:
dd if=/dev/zero of=/srv/loop bs=1 count=1 seek=5368709120
losetup -f /srv/loop
pvcreate /dev/loop0
vgextend vg0 /dev/loop0
lvcreate -s -n home-snapshot /dev/vg0/home -L 5G
(Thanks to Ian Nicholls for spotting the error: I was using pvcreate instead of that last lvcreate previously). Now /dev/vg0/home-snapshot was a copy-on-write snapshot of the original volume, and I could do whatever I wanted with it, as long as I did not exceed the 5G size allotted for the copied data blocks that I modified. Using mount and xfs_repair, I could verify that the problem also shows up with the snapshot. Thus, I ran xfs_repair -L on the snapshot and finally was able to mount the snapshot to inspect the /lost+found directory. Fortunately, it wasn't all that full, nor was there anything important in there, so I sighed, removed the snapshot (lvremove) and unleashed xfs_repair -L on the original volume, which is now again mounted under /home. Finally, remove the loop device from the volume group (vgreduce). If you are like me and forgot to do so before rebooting and now find your LVM volumes not starting anymore, look into the --removemissing option. I like this method. I knew the filesystem was corrupted, but I did not know to what extend. Had corruption been worse, I could have waited for the XFS guys to help me out. But seeing the low damage, I was able to decide to just purge the journal and accept the damage. If this had happened on a more important machine (i.e. without recent backups), I would have proceeded a bit differently: once the snapshot was mounted, I'd have run xfs_dump on it to save the data. I would also have used more space for the snapshot and not removed it until the parent volume was repaired and mounted. It's unlikely that xfs_repair will produce different results when run on a volume and its snapshot, but better be safe than sorry. All this said, I just want to point out that the above method is filesystem independent and hence would work for any filesystem out there. I've never been a big fan of LVM, especially without RAID to build on (striping across physical media multiplies your chance of data loss), but this method is a good reason for using LVM regardless: use a volume group instead of your physical disk, and logical volumes instead of partitions, but don't span disks (unless you have to). Then, if stuff goes bad, you can hook in another disk, extend the volume group with it, and work on snapshots.

Russell Coker: SRS development

I've been working on a mail forwarding system which required me to implement <a href="http://www.openspf.org/srs.html">SRS</a> to allow people who use <a href="http://www.openspf.org/">SPF</a> to be customers of the service (as I use SPF on my domain it's fairly important to me). Reading the web pages before actually trying to implement it things seemed quite easy. All over the web you will see instructions to just set up an /etc/aliases file that pipes mail through the <span style="font-weight: bold;">srs</span> utility.<br /><br />The problem is that none of the srs utility programs actually support piped mail. It seems that the early design idea was to support piped mail but no-one actually implemented it that way. So you can call the srs utility to discover what the munged (cryptographically secure hash signed) originator of the email should be but you have to do the actual email via something else.<br /><br />This wasn't so much of a problem for me as I use my own custom maildrop agent to forward the mail instead of using /etc/aliases (Postfix doesn't support what I want to do with /etc/aliases - dynamically changing the email routing as you receive it isn't something that Postfix handles internally).<br /><br />However I still have one problem. Sometimes I get two or three copies of the SPF header from Postfix when it checks them.<br /><br />In my <span style="font-weight: bold;">main.cf</span> file I have a <span style="font-weight: bold;">smtpd_recipient_restrictions</span> configuration directive that contains <span style="font-weight: bold;">check_policy_service unix:private/spfpolicy</span> and the Postfix <span style="font-weight: bold;">master.cf</span> file has the following:<br /><br /><pre><br />spfpolicy unix - n n - - spawn user=USER argv=/PATH/spf-policy.pl<br /></pre><br /><br />Does anyone have any ideas why I would get multiple SPF checks and therefore multiple email header lines such as:<br /><pre><br />Received-SPF: none (smtp.sws.net.au: domain of SRS0=MUyCQ6=CO=coker.com.au=russell@inumbers.com does not designate permitted sender hosts)<br />Received-SPF: none (smtp.sws.net.au: domain of SRS0=MUyCQ6=CO=coker.com.au=russell@inumbers.com does not designate permitted sender hosts)<br />[some other headers]<br />Received-SPF: pass (inumbers: domain of russell@coker.com.au designates 61.95.69.6 as permitted sender)<br />Received-SPF: pass (inumbers: domain of russell@coker.com.au designates 61.95.69.6 as permitted sender)<br />Received-SPF: pass (inumbers: domain of russell@coker.com.au designates 61.95.69.6 as permitted sender)<br /></pre><br /><br />The email went through one mail router and then hit the destination machine, but somehow got 5 SPF checks along the way. Also the pair of identical checks had no lined between them and the set of three identical checks also had no lines between them. So multiple checks were performed without any forwarding. It seems that a single port 25 connection is giving two or three checks. Both machines run Postfix with SPF checking that is essentially idential (apart from being slightly different versions, Debian/unstable and RHEL4).<br /><br />Any advice on how to fix this would be appreciated.

Lars Wirzenius: Debian Inquirer: A Royal Mess: Debian Fights Queen

Queen Elizabeth II and the Debian project threaten religious warfare! D-Inq has today uncovered a conflict between the Debian Project and the queen of England and other places. The row is over the King James Version of the Bible. "It's all mine! Mine! Mine!" the monarch told D-Inq in an exclusive interview. "Keep yer dirty fingers off it or I'll sick the SAS on you." In the UK, the monarch owns the copyright for the KJV Bible, but the Debian project wishes to distribute it freely. The SAS, UK's elite fighting force and the Queen's personal mob, is already gearing up. Instead of their usual arsenal of guns and bombs, they're opting to use a new kind of weapon, the DD Attitude Readjustment Tool, or DART. The Debian Project is undaunted. "We've seen worse, this is a pedestrian transport in a big grassy place in comparison" says a Debian flame war veteran, Steve, 22, from Portland, Oregon. "The SAS is nothing compared to a vigorous discussion about firmware freeness. It's not even as bad as someone spoiling the next episode of B5." Things might get more difficult, though. There are rumors that MI5 has already infiltrated Debian's discussion forums. Worried analysts imply that some of the recent, divisive developments within the project are the result of agent provocateurs. "The new Python policy is one", says Lars W, an analyst who wishes to remain nameless. "No sensible person would have done things like that", he continues. While both sides ramp up their fighting forces, local constabulary in many English towns has already started to confiscate and deport machines running Debian to Libya. Time will tell when they will return.

Andreas Barth: What needs to happen for python 2.4 to become default in etch?

There are many question what needs to be resolved to allow the new python-defaults into etch. There are some packages that would become uninstallable by that now, and the task is to just check them and fix them: ethereal-dev, gaby, gforge-plugin-scmsvn, gnome-tasksel, gnuradio-examples, gr-audio-alsa, gr-audio-jack, gr-audio-oss, gr-usrp, gr-wxgui, guml, hplip, ifrit, ldaptor-utils, ldaptor-webui, lfm, libghc6-missingpy-dev, mboxcheck-applet, med-bio, memaid-pyqt, mock, musiclibrarian, ocfs2console, omniidl4, omniidl4-python, plywood, positron, pydict, pyftpd, pykdeextensions, pymol, pyntor, pypanel, pyrad, pyslide, python-dispatch, python-gdal, python-gdchart, python-gdchart2, python-gdk-imlib-1.2, python-glade-1.2, python-gnome-1.2, python-gnuradio, python-gtk-1.2, python-ldaptor, python-mapscript, python-metakit, python-moinmoin, python-notify, python-numeric-tutorial, python-phidgets, python-protocols, python-sip-qt3, python-turbojson, python-usrp, python-zeroc-ice, pythoncad, pytone, releaseforge, rubrica, scalemail, scanerrlog, scigraphica, snappea, snappea-dev, spikeproxy, sql-editor, viewcvs, viewcvs-query, wireshark-dev, xen-ioemu-3.0, xen-utils-3.0, xkeysw-config, yum, zeroc-ice For example, gforge-plugin-scmsvn depends on viewcvs which needs to be converted to the new policy. Everyone can take his share - just choose any package, look why it becomes uninstallable (perhaps via a dependency becoming uninstallable) and fix it. Oh, and please set the urgency to high and make sure prior to upload that the package still works. (This is only the list on i386, but experience has shown that once it's resolved for the first architecture, it isn't too hard to resolve it for the other architectures also.) Update: Some packages are already in the progress, e.g. ethereal-dev depends on wireshark-dev which depends on omniidl4 which has been NMUed already. Well, like always: Check what the issue is before fixing it. And if binNMUs help, please just tell us. 2. Update: It would be really helpful if someone could take care of viewcvs. 3. Update: The most important open issues are: viewcvs, mapserver, moin (whereas viewcvs has a good version in experimental, maintainer is contacted). Also, these programs might need some love to get converted to the new standard or have otherwise real NMUs: blogtk boa-constructor codeville drpython fnorb freeloader forg fvwm-crystal gco gdebi gdeskcal gnome-btdownload python-visual gaby guml ldaptor scalemail lfm missingpy mboxcheck-applet yum mock musiclibrarian ocfs2-tools plywood positron pyftpd pyntor pyrad pyslide python-gdchart pygdchart2 libmetakit2.4.9.3 moin pythoncad pytone rubrica scanerrlog snappea spkproxy

Felipe Augusto van de Wiel: 29 Aug 2006

To infinity, and beyond! -- Buzz

[Debian]
I should write about this a few days ago but didn't have the time. Sorry. Well, these are great news (at least for me), a few days ago I sent the second part of my T&S and already got approved. My AM (Hi Cl ment) also pointed out a few changes that were needed in my packages that are already fixed and uploaded; Cl ment already sent the report and considering that, I'm now waiting for the Front Desk to review my application (and after that, DAMnation. I'm happy! I also finish the adoption of xless and levee. I still have to finish the MyPasswordSafe adoption, but before I have to fix a RC bug related to the use of sudo as the gain-root command (instead of fakeroot) in the alpha buildd. Thanks neuro that already give me a few tips on how to solve it.

Following the random ideas season:
  • Next week, Extremadura will host the i18n Debian people, the idea is to discuss lots of ideas, specially i18n Infrastructure, but not only discuss, also code a lot!
  • I do not like the idea to have sourceless firmware in main and I really like Don Armstrong proposal on that subject.
  • I still have to finish the desproxy, tuxfrw and thumbs packaging work to get it in time for etch.
  • I'm wondering how a tally sheet with more than 10 choices looks like


[Anti-SPAM season]
Like a lot of people already did, in the last two weeks I've been fighting SPAM in my company and also on the server of Free Software Projects that I'm part of the System Administration Team. In most cases I'm using postfix with clamscan and postgrey, but I will switch to amavisd-new to use SpamAssassin (with razor/pyzor). But I'm still studying the various alternatives in a Debian Sarge system.


Hey silva, thank you! (Journeyer certification).

Joey Hess: id fraud

I found out today that someone found the small amount of information about me they needed to nearly successfully buy stuff in my name. They call this "identity theft", but since my identity still seems to be intect (pats his rampant ego) and since as an ardent SF fan, I'd like to reserve the term identity theft for the possibility of someone stealing a copy of me, I prefer not to use that term for this form of fraud. Luckily I already had a fraud alert placed on my accounts before this happened; I started placing these alerts a while ago, on the basis that the banking system's verification methods are so broken that it makes sense to just do it pre-emptively, before you have any reason to think someone is trying to defraud you. Who knows if that does any good though. Oddly, I almost ranted about this id theft nonsense last week, before I knew this happened. The thing is, while I'm calling to report credit cards as compromised and learning that someone managed to put together my name, address, phone number, and a not very well secured credit card number; at the same time I have something here with these properties:
  1. Anyone can use it to verify if a given statement (such as "transaction #128: please pay this person $500") was actually made by me and actually applies to the person I meant it to.
  2. Using it doesn't automatically give it to a supposedly trusted third party, such as the low-paid phone support guy who has my credit card number and all the rest up on his screen right now as I ask him to cancel the purchase.
  3. According to the experts is not breakable by any means except for a brute-force attack that would use the resources of a medium-sized country.
  4. Can be used to identify me with a fair degree of certainty, even if you've not met me.
  5. Is suitable for use on the internet.
  6. Even if physically stolen from me is not trivially easy to break and use.
  7. If I lose it or know that someone has stolen it from me, I can revoke its use in a way that is just as hard to forge or break.
  8. Can, incidentially, be used to make private conversations just as hard to snoop on. But that's probably a different rant.
That magic thing is a public and private key pair for GPG, and it seems really weird to me that I can use this for unimportant things like signing email, and for crucial things like authenticating changes to the software deployed on millions of coumputers, but I cannot use it to pay a bill. I wonder if the world at large will ever catch on to the uses of public key cryptography? Anyone want to start a First Bank of GPG?

Next.

Previous.