Search Results: "ana"

21 January 2007

Andreas Metzler: subpixel rendering

Following up on my previous entry there is still no snow. On the bright side it looks like I have managed to find readable settings for the new TFT. XP looked ok after enabling Cleartype however I had some problems on the Debian side. I have stepped through dpkg-reconfigure fontconfig-config a dozen times without much luck. Removing -dpi 100 from /etc/X11/xinit/xserverrc to let the Xserver calculate the real resolution by using info from DDC (i.e. 99 dpi) finally seems to have improved things.

Daniel Burrows: How to Breathe, Functionally (part 1)

David Welton writes that the problem with functional languages is that you don't get to mentally "catch your breath" between computations; piling function invocations on function invocations makes it hard to understand what's actually being calculated. He has an amusing summary of how functional code can become unreadable:


Do this with the result of this with what this produces when given this input that is derived from this function which takes the result of this other thing after calculating the result of something that is derived from the output of a function that ...


Indeed, I've seen functional code like this (much of it written by myself). Here's a particular gem:


f splitPoints = map fst $ tail $ scanl (flip ($) . snd) ([], toSplit) $
map splitAt splitPoints


I wrote this code a year ago, and I don't know what it does! It's hard to read and hard to understand. So, however, is imperative code that says


Add 5 to A, now if B is not zero we jump to where we subtract one from B and if C is less than 3 we add 4 to C otherwise we divide C by 2 and then add it to A, then we ...


The reason both pieces of pseudocode are hard to understand is that they don't use the abstraction features built into the language. Good imperative code uses meaningful variable names, uses the structured-programming primitives the language provides, and abstracts complex operations into functions.

My rule of thumb (which is, heh, not always religiously followed) is that a piece of program structure that does more than about 3-6 things is probably too complicated; it seems like that's about as much local context as I can hold in my head comfortably (and the number is more 3 than 6 these days, if you get my drift). As David puts it,


If you'll bear with a poor comparison, sometimes programming is like a song. You do the tricky section, then you go back to an easier section and catch your breath for a bit.


The problem seems to be that people trained on imperative languages, when they're tossed into the ocean of functional coding, can't find the guideposts and landmarks that would help them impose some structure on the water. Should I put this complicated expression inside a "let", or break it out into another function? When do I use a higher-order function to unify two dissimilar pieces of code? Should I write this code in terms of higher-order library functions or directly? It's easy to wander off down a chain of nested invocations of anonymous higher-order functions, or composed partially applied library functions, just "because you can" and end up forgetting what you were trying to do in the first place.

Luckily, some of the basic rules of keeping your code readable remain more or less the same: assign intermediate results to variables with meaningful names, and abstract complicated operations into separate functions. To tackle David's example:


You get sections with DoThisAndThisAndThatWithTheResultsOfSelectThisFromTableXYZ that you have to slow down to think through.

...

GoToTheNextTrickyBit where ManyThingsHappen.

All in all, you wind up with a sort of ebb and flow that works out pretty well if you're in tune with the code being written, going from intense calculations, to a line or two where you do no more than store things in a variable, take a breather, and prepare for the next important stanza.


The way to "take a breath" in a functional language is generally to assign an intermediate result to a variable, or to extract a complicated operation into a function and give it a meaningful name. One Haskell approximation to David's example is


do DoThis
AndThis
results - SelectThisFromTableXYZ
someVal - AndThat results
GoToTheNextTrickyBit someval


If you're writing pure functional code, you might write


let
results = SelectThisFromTableXYZ
someVal = AndThat results
in
GoToTheNextTrickyBit someVal


Of course, this will become unreadable if you write a huge complicated nested "let" expression in place of "AndThat". For a truly dreadful example of this kind of coding, check out the Gnucash Scheme code that generates the "Cash Flow" report (warning: read this in short bursts, or you WILL go blind). This is exactly analogous to writing too many nested loops and conditionals in imperative code, and the fix is the same: find logically distinct bits of code and extract them into separate functions.

I have a few more thoughts, but this post is getting too long, so I'll inflict them on the world in another post. The rule that short things are easier to understand applies to blog posts as well as code. :-)

20 January 2007

Evan Prodromou: 30 Niv se CCXV

I just got the Free Your Phone announcement from the OpenMoKo announce list. Looks like they'll have preview versions of the new Linux-based, Open Source phone platform available Feb 11, generally available March 11, and ready for public distribution September 11 (!). FIC is under a lot of pressure to make this product the Open Source answer to the iPhone, and I think they have a very good story. At this point I think the success of the platform is going to depend on three things. First, FIC's execution in getting developer versions out the door and ready to use. If the OpenMoKo platform stays vapourware for much past the first part of 2007, it won't be able to capitalize on the iPhone hype and current excitement. Second, FIC is going to have to resist the temptation to hold back parts of the OS or the application stack as proprietary software. Credibility in the Free Software fanatic community is going to be key for its first wave of usage, and "free enough" isn't going to be good enough for this product. A good cautionary case would be Trolltech's Qtopia. Trolltech's reputation for holding back parts of its stack has probably been the main reason this platform hasn't been taken up by Linux aficionados. Third, and perhaps most importantly, support from more hardware vendors. "Open Source" is sometimes a synonym for "second source" -- it gives customers and developers the security of knowing that the success of a platform is not tied to the success of a particular company. OpenMoKo can take the Free Software niche in the smartphone OS market -- making a place among Symbian, Pocket PC, and Palm OS that appeals to hackers. I think if they can get the hackers, they can get the kind of UI quality and application availability that will get the rest of the population interested. Firefox is an example of an Open Source project that has done this recently. All in all, I think FIC has a lot of challenges ahead -- mostly internal. But I also think that if this is played right, OpenMoKo or something like it could change smartphones the way Linux and the *BSD family have changed servers. tags:

Hillary's In News bulletin: Hillary's In. She's in to win. She's in to win the Big Spin. She's in up to her chin. She's in and so is her twin. She's in with a grin and a tin of aspirin. Hillary's in by the skin of her shin. She's in with the thin fin of an elfin dolphin. So it begins. tags:

19 January 2007

Adam Rosi-Kessel: Streaming Netflix

Via DRM Watch, Netflix to Offer Streaming Movies Online. My initial reaction: eh.
Netflix’s streaming service will differ from existing online movie services like those from Amazon, Movielink, and Apple iTunes. Those services offer rentals of movies for a fixed time period (e.g., 24 hours) or downloads-to-own, known in Hollywood jargon as ESL for Electronic Sell-Through. In contrast, Netflix will let users pick from a catalog of available films and let users watch any of them for up to a fixed number of hours per month, according to their subscriber level, such as six hours per month for entry-level subscribers. The service will launch with a catalog of about 1,000 titles, the same number as are available on Movielink’s rental service. The video delivery scheme that Netflix is using is a streaming-only technology that senses the user’s Internet bandwidth and adjusts the video quality accordingly; thus it is analogous to RealNetworks’s Rhapsody music service.
Limiting the catalog to 1,000 titles undermines Netflix’s key selling point: enormous selection and a long-tail business model. I could probably find those same 1,000 titles at any Blockbuster Video. So all I’m saving is a trip down the street? In return, I get something I can only watch on my computer (with Windows) for a limited number of hours? Apparently, if I want to watch the same scene a few times, or with the director’s commentary (is that even available?), I’m using up my six hours per month.Even cable movies-on-demand is a better service. Don’t get me wrong — I love Netflix as a DVDs-by-mail service. I also think the Netflix web interface and collaborative filter is pretty great, although the third-party Netflix Queue Manager Bookmarklet is a definite improvement. Based on this initial announcement, I can’t think of a single reason why I would prefer the online streaming version of Netflix. Usually I have the foresight to figure out what I want to say 24 hours in advance (the delivery time for Netflix-by-mail) and having three DVDs at once gives me sufficient options in case I’m unsure. Ultimately, I suspect Netflix just wants to send the message that it’s in the Internet-delivery market, which ultimately of course will decimate its existing business model. I just wish it had a more impressive first offering.

Miriam Ruiz: More about my analysis of usplash

After my post from yesterday, I’ve been able to find out what my problem with usplash is about, although I’m stiill working in a proper solution to it. It seems that when the root filesystem is changed, programs must react accordingly. The proposed sequence for the usage of pivot_root is something like the following: To be able to analyze the exact starting sequence of the system stored in the initrd.img, we must expand its contents to a directory using cpio. Some time ago, initrd.img used to be a filesystem that used cramfs, minix or ext2 filesystems, but not anymore for the newer Debian systems. The script that is responsible for setting up the system at start is called init and is currently a shell program. Having a look at it, I found out that a temporarily environment variable is set, designing the place in which the real root filesystem will be temporarily mounted before switching it to the root filesystem: rootmnt=/root At some point later, /sys and /proc filesystems, that were mounted in their respective directories at the beginning, are moved to $ rootmnt /sys and $ rootmnt /proc to be set in their final destination directories: mount -n -o move /sys $ rootmnt /sys, and later mount -n -o move /proc $ rootmnt /proc At the end of the script, the system switches to the real root filesystem: exec run-init $ rootmnt $ init “$@” $ rootmnt /dev/console >$ rootmnt /dev/console I’ve changed my code so that /proc/… files I used are open from the very beginning, and kept open until the end of the execution of usplash, and it seems to work. I’ve also been able to write a debug log for it, storing it in /dev/.initramfs/, which is a directory that is kept in that place all the time, so that whatever is stored there is available after the soot switch. That is the directory that usplash uses to store its FIFO nodes: usplash_fifo and usplash_outfifo. Maybe I can find a way to store core files there after a SEGFAULT error, setting the proper parameters with ulimit and /proc/sys/kernel/core_pattern. All I need to find out now is how to be able to reach the contents of /etc/… after the final rootsystem is mounted. I’ll tell you when I’ve solved that.

18 January 2007

Simon Richter: This is Munich.

There's a storm outside, and people are securing everything they hold dear. This being Munich, and specifically a part of Munich that got parking meters just a week ago, the most valued possesion is parking space. At least that is the best explanation I can give.

Thijs Kinkhorst: On government crisis response

I'm here at university centre de Uithof. The government is advising against any travel due to a 10-11 Bft storm passing over the country. Earlier today, a tall crane collapsed onto one of the university buildings here, leaving luckily only a couple of people wounded. Since there's food and heating here, I'll just stay for now. The Ministery of Interior is boasting about its new initiative: a crisis website meant for situations where normal government websites cannot keep up with the high load: www.crisis.nl. According to the ministery, this website can handle "10 milion of visits per 5 minutes". The website performs very badly, being more down than up. A closer inspection seems that the site is using some content management system based on cold fusion. The website is also illustrated with nice pictures. I wonder where the ministery has sourced its advice. What about serving simple, static HTML pages (perhaps generated from some CMS)? How about not creating a lot more load with superfluous illustrations? Just a few ideas.

Clint Adams: Things that did not happen at Google last night

I was en route to an event by myself, when I received an invitation to accompany some people to a movie. Rather than simply declining, I asserted that there was no way in hell I'd cancel my plans to go see some inferior film with that particular crowd. So, what did they do? They cancelled their plans and followed me. Now one of them was apparently in heat, for instead of trying to enjoy the event, she decided that it was some kind of speed dating event and before long she was coveting one of the event staffers. This offends me on so many levels, I won't even bother to explain. Eventually she managed to discourage herself so much that she went home, but the sanctity of the event was still spoiled. Some random person came up to me and asked me to explain dynamic DNS to him. Do I look like the type of person who would have and give the answers to such questions? I opted to not beat him down with a chair or steal his Treo and slit his throat with it. Instead, I sat down and began explaining. Now some girl, who had marked me as her prey, spotted me sitting there next to this guy who bore a resemblance to Andrew Suffield. Seeing his long, flowing hair, she immediately concluded that he was a girl, and therefore a threat to our marriage or whatever she had concocted for us in her dreamworld. So she swooped down out of the sky, ready to claw his eyes out, realized that he was probably male, and breathed a sigh of relief. I concluded my exposition, and the young lad rewarded me for my daily good deed with a thank-you and a shake from his slimy, sweaty hand. Ew. Ew. Ew. EW! He departed, but the girl did not. She had with her about seven wingmen. I am told that they are wingirls (and not winggirls) because most of them are female. I am not sure that I agree, so I will call them wingnuts as a compromise. Now I have to wonder why one would need seven wingnuts. It seems to me that if one is planning ahead to require the assistance of seven, one must be hunting prey that will pay a high cost to escape. Furthermore, if one is fixin' to (or fi't'n't'a in Alabama) ensnare and entrap such an unwilling quarry, what are one's motives? What is the underlying scheme? The possibilities are horrifying. It was difficult to have a good time, but I did it anyway.

Guido Trotter: Real Life Race Condition

When one studies Race Conditions in Operating Systems they tend to seem some weird computer problem, maybe even a hard one to understand… Yesterday I had the proof they’re actually a real life issue! Our office in zurich has a form to order dinner online, to be filled in before 5pm, which I did, just after my colleague, one minute before 5 or so. The system got my order and accepted it. It also sent me mails to remember to fetch the food except… there was none! It seems like my pizza got caught in a race condition between the actual ordering and the official closing of the web form. (My collegue’s food was delivered normally ) Race conditions seem to be much more real when what gets lost is your dinner! (Well, I managed to eat anyway, later, luckily!)

Evan Prodromou: 27 Niv se CCXV

The snow we got a couple of days ago hasn't abated here in Montreal. We had a cold snap right after the snowfall, so temperatures have been around -20C for the last couple of days. Last night Maj had her French classes at the Montreal YMCA, and Micaela had spent the day seeing art museums and visiting bookstores downtown. (She's a poetry nut -- loves finding books by Canadian poets, francophone and anglophone, that she can't get at home in Melbourne.) So Amita and I went to meet her about halfway from our local Metro station, at the Pizzad lic on Ave Mont Royal. I covered Amita in about 10 layers of clothing, then put her on her little purple sled and dragged her up towards Mont Royal. She kept wanting to get up and walk herself ("Up!" is her newest and most insistent word), but when she was standing she wouldn't walk at all. So it was a long time getting to the restaurant. When we got there, Micaela was leaning against the front door shivering. Apparently Pizzad lic is out of business (bummer!). A graver cause for concern, however, was Amita's face: the parts showing around her scarf were tomato red from the cold. Gah! We rushed her home (crying all the way), and when I got her undressed she had a red stripe across the middle of her face like the people in those frozen pizza ads. I bathed her cheeks in cold water, and then gave her a hot bath, and by the time she was out she was calm and regular-colored. We got pizza delivered at home, which she enjoyed a lot. No permanent damage, as far as I can tell, except to my self-confidence as a competent parent. When Maj got home later that night, she reminded me that for extremely cold weather you have to put Vaseline on babies' cheeks to protect their delicate skin from the cold. Amita and I went to Loblaw's this morning to do some grocery shopping (in the car), which was a much more reasonable experience. Tonight for dinner I made pat chinois, a plate with baked mashed potatoes and ground beef known to English-speakers as shepherd's pie. (I make it with mushrooms and veggie beef.) Here in Quebec it's called "Chinese casserole", for unknown reasons. The best guess is that French Canadian lumberjacks worked at sites in the USA where it was common to have Chinese immigrant cooks. Confronted with a potato dish they didn't recognize, they assumed it was a meal from the cooks' home country. I don't know if this origin is true or not, but it sure is a good story. Anyways, it's good stick-to-your-ribs food, which you need on a night like this. When it gets down to -28C (as it will tonight), you need a lot of carbs running your internal furnace for you. tags:

Piknic lectronik The good snow we're having means that one of my favourite events of the year is going to be white and cold and fluffy and fun. For the last few years, Piknic lectronik, the group that produces weekend outdoor parties on le Ste H l ne on the site of Expo 67, has done a single, crazy outdoor party in the dead of winter. This year, the party, called "Igloofest", is happening in the Vieux Port on the Quai Jacques Cartier. It's going to be two nights, January 19-20 (that's 29-30 Niv se for you aficionados of the French Revolutionary Calendar), from 5 to 11PM. We're going out on Friday night -- our pals from Ninjatune are part of the party, and our friend DJ Ghost Beard is on that evening. It should be a great time; I'm really looking forward to dancing in the snow and having vin chaud afterwards. tags:

BarCampMontreal II: Camp Harder Just got the news from my blogroll: Sylvain Carle notes that the second BarCampMontreal will take place April 28th. That's going to be close for us; we'll be at the Wikitravel Get-together in Puerto Rico up until the 22nd. And we plan to fly there from Miami. But, hey: stranger things have happened. Our BarCamp last year was an absolute blast (see my follow-up on Journal/1 Brumaire CCXV); lots of fun people doing interesting things in fun ways, and then talking about it. I'd really like to be there for this next one. tags:

Louisianne I'm happy to see that in an alternative history universe called Ill Bethisad, the French Revolutionary Calendar is used in the North American francophone nation of Louisianne. On the downside, my city of Ville-Marie is in the royalist enclave of New Francy, which uses the boring old calendar. Ill Bethisad is an impressive alternative-history project, and the wiki format seems to really be conducive to its further development. Great idea, and nice to see the ol' FRC included. tags:

Baby Lessig Congrats to Lawrence Lessig and family on the birth of a new son. tags:

17 January 2007

Russell Coker: political compass

It appears that some people don't understand what right-wing means in terms of politics, apart from using it as a general term of abuse.

I recommend visiting the site http://www.politicalcompass.org/ to see your own political beliefs (as determined by a short questionnaire) graphed against some famous people. The unique aspect of the Political Compass is that they separate economic and authoritarian values. Stalinism is listed as extreme authoritarian-left and Thatcherism as medium authoritarian-right. Nelson Mandela and the Dalai Lama are listed as liberal-left.

I score -6.5 on the economic left/right index and -6.46 on the social libertarian/authoritarian index, this means that I am fairly strongly liberal-left. Previously the Political Compass site would graph resulta against famous people but they have since removed the combined graph feature and the scale from the separate graphs. Thus I can't determine whether their analysis of the politics of Nelson Mandela and the Dalai Lama indicate that one of those men has beliefs that more closely match mine than the other. I guess that this is because the famous politicians did not take part in the survey and an analysis of their published material was used to assess their beliefs, this would lead to less accuracy.

The Wikipedia page on Right-Wing Politics provides some useful background information. Apparently before the French revolution in the Estates General the nobility sat on the right of the president's chair. The tradition of politically conservative representatives sitting on the right of the chamber started there, I believe that such seating order is still used in France while in the rest of the world the terms left and right are used independently of seating order.

Right-wing political views need not be associated with intolerance. If other Debian developers decide to publish their political score as determined by the Political Compass quiz then I'm sure that we'll find that most political beliefs are represented, and I'm sure that most people will discover that someone who they like has political ideas that differ significantly from their own.

Clint Adams: Vuenol macau

A reader informs me that she witnessed some guy hanging brain in a Virgin Megastore. The implications are myriad.

16 January 2007

Evan Prodromou: 26 Niv se CCXV

I had my first day of class at the Montreal Goethe-Institut today. It was a great walk down through Parc LaFontaine and rue Cherrier out to St. Denis. There were footprints in the snow over the pond in the parc, so I assume the ice is frozen. It'd be great if the lake were open for skating sometime this winter; it was liquid last week. The class itself was great. The building itself is like the office of a dot-com with good VC backing -- indirect lighting and modern furniture and quiet carpeting. My lehrerin is a nice woman from Freiburg. We had about 8 people in the class, a good mix of men and women, young and old, Quebecois and eux autres. We spent most of the class time practicing how to introduce ourselves, say hello and where we were from and where we lived and such and so. I haven't taken a class in so long, it was a little hard to get back in the swing of things. I didn't even have a notebook with me -- just my Moleskine notebook, which it seems a waste to fill up with irregular verbs. But we'll see. I got home and sang the song we learned to Maj and Amita June, just so they knew how Deutsch I am now. Here's the song (to the tune of "Twinkle, Twinkle, Little Star"):
 "Guten Abend! Ich hei e Knabe!"
 "Freut mich! Jonny Watanabe."
 "Kommen Sie aus Tokio?"
 "Nein! Ich komm' aus Buffalo!"
I also updated my Wikitravel German user page with my newly-learned personal information. We'll see how that progresses over the next few weeks. tags:

Benjamin Mako Hill: Geography Lesson

I gave a talk at a the Boston Ruby group last Wednesday. The meeting was generously hosted by the Boston start-up Back Channel Media. On the way out, BCM offered attendees schwag in the form of branded inflatable globes and Slinkies. On Thursday, I suggested to SJ Klein and Seth Schoen that we might be able to use the globe as a research aid during the MIT Mystery Hunt. That seemed like a good idea until they pointed out that there were a few inaccuracies on the map. Sure enough, a quick glance revealed that:
  • Burkino Faso is marked as Upper Volta (it's only been 22 years) with a capital as Duagadougou.
  • Rwanda seems to be a small horizontal bar across a country marked both as Ucanda and Buhuno.
  • Zimbabn is labeled clearly while Morocco, clearly divided into two countries, is not marked in either of the resulting (and differently colored) states.
  • A missing border and a color identical to the ocean (!) renders Egypt completely underwater. Yemen, Iraq, Thailand, Romania, Austria, Croatia, Finland, (whose name is missing), and the eastern quarter of India are better off in that they blend into the ocean but have river colored borders demarcating them from the rest of the sea.
  • The Arabian peninsula is host to Qatah, the United Arab Emiraies, and the Saudi capital of Rivaiih.
  • A bit to the north, Jurdan borders Irae and Lebanaw.
  • The countries Czek and Slovak seem to be located just above Czechoslovakia which, in turn, is just above Huudatn.
  • A similar situation happens in Yugoslavia which seems to be next to Monienegro and other more familiar Slavic states.
  • Amstercam is right next to the the German city of Roro.
  • Swirzerlano sits in the middle of Europe.
  • England's Lworpool and Rirmingham are clearly, and clearly incorrectly, marked.
  • Both Russia and the Commonwealth of Independent States are clearly marked while China, despite having dozens of its cities labeled, is not.
  • St. Petersburg seems a full 1000+ kilometers from any body of water and closer to Bellarussian than to a port.
  • Lapan shows many cities including Tokya, Kyole, and others -- while most seem to be located somewhere off the coast of Lapan in the Pacific ocean.
  • The Korean peninsula contains N. Korea and S. Aurla.
  • Myanmar is marked as Burma (although I might forgive that one if I had reason to believe it was intentional).
  • Malaysia is labeled Malaskia.
  • The continent at the South Pole is proudly marked Tarctica.
Of course, this list is extremely incomplete. I've barely looked at cities, rivers, and even some country names and I've barely looked at the degree to which the cities and labels are correct but incorrectly placed. The full list of errata would, in a manner reminscent of English As She Is Spoke, be very, very, long. While the globe does not bear any markings of a producer (I wouldn't want to take credit for it either), a group of us suspected that we might be able to find the country of origin by locating the one country that was represented completely accurately. We couldn't find a single one.

Joachim Breitner: Free Software Volunteer wanted

I have returned from my travels (see yesterday s post, in Germany only, sorry) and will continue to work at the Kofi Annan Center this week before I return to Germany on the weekend. I must have made a relatively good impression here, as now the director, Dorothy Gordon, is looking for another interested geek that would be interested to come to Ghana for 6 to 12 month and help with the development of Free Software here. Not much is fixed yet, so you can propose your own project ideas, if you have one. Also, the issue of funding is open, as the centre s resources are limited. If any corporate sponsors would be willing to help, please stand up If you are interested, please send me an e-mail and I will give you the director s contact to discuss the idea.

Gunnar Wolf: More on the unkillable XML-for-configuration rant

In short, Erich says that XML, plus the right editor, Just Works(tm). Well, yes. But when you are over a slow link, or when you are desperate with a b0rken system, you just don't have Eclipse at hand to edit a config file. Of course, you could use the half-existing XML support you talk about in vim (I have not tested it, cannot be sure of it), but it is still a PITA if your /usr is not working fine or if your termcap is too dumb to manage. Yes, there are each time less of those situations, but anyway...
I won't start ranting on how YAML is the right tool for every situation where XML is used - It's clearly not. XML is, after all, a standard. Some configurations can be done by XML, say, if you have any of those Java frameworks (I've only suffered^Whated^Wgot despaired^W^Wset up JBoss), but still... Configuration files, at least the important ones, should be editable by using a lightweight, easy and available tool like nvi, pico, or even cat sed.
Oh, and about YAML's site being valid YAML: Of course, it only looks like it. But cut and paste it - It works for me :) Of course, it is not meant to replace or work over HTML. I would never dream of using YAML as a web-services language or anything of that sort. There are better tools for that.
But please, leave config files hand-editable. With common, light and hard-to-break editors.

15 January 2007

Steve Kemp: Would you choose to walk or stay

Once upon a time I wrote a collection of shell scripts for managing virtual hosting. Combined these allow me to “easily”: These work well, but every now and again I think “I want a web-based control panel”. After mulling this over for a while and remembering how many of the existing control panels are tricky I’m actually going to do it. There are two hard parts: The last point is the part I’m worrying about right now. So far I have a list of mail domains, and a list of web domains - and the two are unrelated. This becomes obvious when they are listed:
Domain Facilities
steve.org.uk MAIL
bar.steve.org.uk WEB
foo.steve.org.uk WEB
See? No link - I’d expect to see the domains listed as just “steve.org.uk” with links to “Mail” showing the mail setup, and “web” showing the subdomains. Or maybe they really should be listed seperately - I can’t decide. (For reference here is my live listing of domains - where the problem becomes obvious. Note that you’ll not have permissions to see my server stats…) So I need to decide how to handle this - I also need to be "inspired" by OSWD. I think the plan right now is to store all data in a database, then regenerate the plain text configuration files on demand. That should give me the best approach - if I restrict myself to running HTTPS on a custom port and avoid the ability to modify the files by hand… Feel free to tell me this is misguided, or inspired. Although I remember the last time I talked about control panels and I’m still not seeing a good solution. I want to be able to:

Enrico Zini: suspend-on-asus-u5f

Suspend on ASUS U5F I have suspend. The acpi4asus developers now added support for the U5F. I pulled their code and now I can control the screen brightness writing numbers into /etc/acpi/asus/brn. I also discovered that the problem I had on suspend was that the laptop wakes up with some weird brightness setting that causes the light not to turn on. Writing to /etc/acpi/asus/brn I can now manage to turn it on again, and I added trivial script that save /etc/acpi/asus/brn on suspend and restore it on resume. \o/

Martin F. Krafft: Status of my book

The wait for Debian sarge was long and painful for me, because I was trying hard to synchronise the publication of my Debian book with it, and much to my own surprise, the book was done before sarge was ready, and I had to wait. In the end, the tome left the presses only a little more than 24 hours after our release managers announced Debian 3.1 in July 2005, bundled with the second release of the official DVD, 3.1r0a. Since then, the volume has been reviewed numerous times and praised by many readers. I was especially honoured to find the title in the top ten list of most favourably reviewed books by one of my most respected reviewers, Richard Bejtlich. We are now approaching the release of Debian etch, version number 4.0, and a lot of stuff has been added or changed in Debian. I have received more than 150 emails since the etch freeze announcement, asking about an updated edition for etch, and while I am most gratious for all the feedback (and can't deny a certain amount of pride), I have to disappoint my readers, at least for now. I have not had the time to update my text, and thus cannot synchronise a new edition with the release of etch. There are a number of reasons: first, shortly after the publication of the original edition, I suffered from several physical problems, which in the end all pointed to severe muscle deformations in my back from years of wrong posture sitting at the desk. Now, one and a half years after the first symptoms appeared, I've been through numerous therapies and even though the net result is positive, I am not over the problems yet. Thus, I still try to minimise the time spent on a computer, and getting a second edition of the book out would achieve quite the opposite. Second, I am busy with my Ph.D. research, so I cannot work on the book much. It has been suggested to me to allocate minimal resources to an update, getting the text ready for etch and postponing new content to another edition. However, I would feel uncomfortable doing that. On the one hand, I'd much rather see my work be relicenced under a Creative Commons licence. So long as that is not possible, I'd rather not make people spend money without getting much in return. My book's to-do list is growing and there are many new topics which I would like to cover in the next edition (for instance: fonts, xen, more packaging topics, including modules, kernel patches, pbuilder, and packaging with version control systems). Thus, with the release of a new edition, I want to provide not only an updated version, but also one with enough content to give a fair return for people's money. I have always thought that updated-but-no-new-content editions are ripping the customers off, so I don't want to go into that direction. I am thus currently looking at the relase of the second edition together with Debian lenny, the Debian release following etch. I am looking forward to much more feedback between now and then. NP: Solar Project / Force Majeure

Joey Hess: debootstrap's 6th anniversary

Sometime this month, debootstrap turns six years old. I was thinking about this last night as I tweaked a new xen instance that the hosting provider had installed Debian on using debootstrap, while in the other window using a debootstraped system to investigate a weird apt premissions problem. All very standard, and between this kind of thing, installing Debian with d-i, and building packages with pbuilder, a lot of us would be lost without debootstrap now. The story of exactly how it came about is interesting, though it's blurred by time in my memory. Maybe AJ will correct me, but I think it went something like this: Debootstrap is one of my favorite examples of a tool that ends up being much more general purpose than was first envisioned (at least by me; AJ may have known all along). The collection of stuff that has grown up around it and the way it's changed how both Debian developers and users work is pretty impressive.

Next.

Previous.