Search Results: "ron"

7 May 2008

Kapil Paranjape: Setting up this blog

One of the biggest questions which has to be answered when one starts a blog is what is the blog engine going to be? (Using a readymade hosted solution like LiveJournal or blogspot is for wimps.) Since the blog is going to be on IMSc's "people" server, there are a lot of choices. The scripting language for the engine is usually a choice between PHP, Perl, Ruby and Python (though with nanoblogger, even a POSIX shell is possible!). The gem looked tempting for a while. Eventually, I realised that the engine is far less important than the entries. Start writing the entries with some engine. It should be "relatively easy" to migrate the entries to a different engine. In some sense, having put essays on the web in the past, a change of engine (from wetware to software) is what I am doing anyway!So the temporary choice is the snake --- think of this is as the snake in the monkey's shadow. Specifically, this blog is currently powered by pyblosxom.

Configuring pyblosxom

StructureSince everything on this blog is meant to be public, all of its data and configuration information is kept in public_html. As far as I can see this causes no security issues --- but if some turn up then it may change!Current directory structure is
blog/ ->
    config.py   Configuration file
    drafts/     -> draft entries
    sources/    -> sources where required
    entries/    -> format of entries is "string"-"date"
    flavours/   -> not tutti-fruity!
    plugins/    -> actual plugins used
    style/      -> stylesheets and images
    index.cgi   -> pyblosxom.cgi renamed
    .htaccess   -> for apache2
Any and all of these files (except drafts) can be examined by extending the URL http://www.imsc.res.in/~kapil/blog by the file or directory name.The development of my web pages is done on my user machine and these are synchronised with the "real" web pages using unison. The local copy of my web pages is managed using git.The plugins were downloaded from the pyblosxom web site.The flavour was downloaded from snarfed.org.Since everything about this blog is visible, there is probably no need to document things further.
Minor cribsI couldn't find anyone who had documented how they had setup their blog using pyblosxom. This meant that it took a while for me to set things up.The apache2 web server behaved rather differently from mathopd. In particular, the latter does not need or use .htaccess files and just declaring that index.cgi was the a CGI script and was the "index file" for the blog/ directory was enough for the blog to start working. However, I had to struggle with apache2 as it needed "Rewrite*" entries in the .htaccess file in order to pick up the style sheets and the blog pages.

Craig Sanders: fixed-width style sheets suck

I’m getting more and more annoyed by web sites that have style-sheets with tiny little fonts and widths specified in pixels rather than percentages (or ‘em’ units). Almost every web site i visit these days seems to have a style sheet written by some idiot who thinks “if it looks good on my screen using my eyes then it’s perfect for everyone”. WRONG Specifying widths in pixels is NOT for text. It’s for images, you morons. For one thing, small fonts suck if you have a large, high-resolution monitor. or if you have bad eyesight. or if you’re getting older (I was helping my mother find a house to buy a few days ago and the real-estate web site we were searching was basically unreadable for her - she could see the house pictures but I had to read out the text, and even I found that difficult because of the tiny font). For another thing, if you have a wide-screen monitor and a browser window to suit it, then a fixed-width column of 560 pixels or so looks really bloody stupid in the middle of a huge expanse of empty white space, even with another column or two at the sides for meta-stuff. There are tools, like the Stylish and NoSquint plugins for Firefox/Iceweasel that help you make a site more readable, regardless of what the so-called “designer” perpetrated. But, cool as those tools are, they just should not be necessary. And I, as a user of the web site, shouldn’t have to spend 5, 10, 20, or more minutes reading and understanding their style sheet so i can hack up a tweak for it JUST TO MAKE IT READABLE. They’re the designers, that’s their job, not mine. That’s what they’re (presumably) getting paid for - and yes, the commercial/professional web sites tend to be far worse offenders than the amateur sites. Web designers should have enough bloody sense to make their sites look good in ANY font size, at ANY window width. It’s not hard. In fact, it’s easier and much less work than hard-coding pixel sizes. I’m not a web designer, nor am I anything remotely like an expert in CSS or style sheets. I’m a systems geek. But if I can figure this stuff out, when it’s not even my job to do so and i have no intrinsic interest in the subject, then why the hell can’t they? Don’t they take pride in their work? Don’t they care that visitors to their web sites will think they’re clueless morons for perpetrating yet another squint-eyed monstrosity on the web? Don’t their employers give a damn? To summarise:
  1. text widths in style sheets should be specified in relative units such as percentage or ‘em’ units.
  2. font sizes should be specified in ‘em’ units, if you must specify them at all.
  3. all other non-image/embedded-media sizes should also be specified in ‘em’ units.
Doing those three simple things will ensure that your web site looks good to all visitors, no matter what size screen/window they have, and no matter what font-size they have to use to be able to read it. end-of-rant. PS: My own hacked-up theme/style-sheet for this blog is far from perfect….but I did take the time to make sure all the widths and font-sizes were relative. If there are any CSS bugs feel free to point them out and i’ll fix them ASAP…like I said, I’m far from an expert in CSS. Syndicated from Craig Sanders' Errata: Tech Notes and Miscellaneous Thoughts fixed-width style sheets suck

6 May 2008

Ondřej Čertík: snapshot.debian.net saved me again

On one computer I am taking care of, I suddenly started getting:

$ ps2pdf fa_808.ps fa_808.pdf
/usr/bin/ps2pdfwr: line 45: exec: gs: not found

What's wrong?

$ ls /usr/bin/gs
ls: cannot access /usr/bin/gs: No such file or directory
$ wajig find-file /usr/bin/gs
ghostscript: /usr/bin/gs
$ wajig list ghostscript
ii ghostscript 8.61.dfsg.1-1 The GPL Ghostscript PostScript/PDF interpret
ii ghostscript-x 8.61.dfsg.1-1 The GPL Ghostscript PostScript/PDF interpret

That is really weird, the file /usr/bin/gs is simply missing, even though I have the ghostscript package installed. Ok, let's reinstall it:

$ wajig reinstall ghostscript
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
libwine-capi libstdc++5 libopenal0a xgnokii libglut3 libcapi20-3
libggi-target-x lib64gfortran2 libsvg1 lib64gomp1 libggi2 libgii1
libgii1-target-x libxine1-gnome cups-pdf lib64objc2
Use 'apt-get autoremove' to remove them.
The following extra packages will be installed:
akregator gs kaddressbook kaddressbook-plugins kalarm kandy kappfinder karm
kate kcontrol kdebase-bin kdebase-data kdelibs-data kdelibs4c2a
kdepim-kfile-plugins kdepim-kio-plugins kdepim-kresources kdepim-wizards
kdesktop kghostview kicker kitchensync kleopatra kmplayer kmplayer-common
kpersonalizer ksplash libarts1c2a libgnutls26 libgs8 libilmbase6 libkcal2b
libkdepim1a libkleopatra1 libkmime2 libkonq4 libkpimidentities1 libktnef1
libopenexr6
Suggested packages:
kdeaddons-doc-html ntpdate ntp-simple perl-suid egroupware ffmpeg xawtv
gnutls-bin
The following packages will be REMOVED:
digikam kde-amusements kde-core kdeaddons kdebase kdebase-kio-plugins kdepim
kmail kmailcvt kmplayer-plugin knights konq-plugins konqueror
konqueror-nsplugins korn smb4k
The following NEW packages will be installed:
gs libgnutls26 libilmbase6 libopenexr6
The following packages will be upgraded:
akregator ghostscript kaddressbook kaddressbook-plugins kalarm kandy
kappfinder karm kate kcontrol kdebase-bin kdebase-data kdelibs-data
kdelibs4c2a kdepim-kfile-plugins kdepim-kio-plugins kdepim-kresources
kdepim-wizards kdesktop kghostview kicker kitchensync kleopatra kmplayer
kmplayer-common kpersonalizer ksplash libarts1c2a libgs8 libkcal2b
libkdepim1a libkleopatra1 libkmime2 libkonq4 libkpimidentities1 libktnef1
36 upgraded, 4 newly installed, 16 to remove and 683 not upgraded.
Need to get 53.1MB of archives.
After this operation, 42.9MB disk space will be freed.
Do you want to continue [Y/n]? n
Abort.

Oops, unstable is broken at the moment. Ok, what now? Well, snapshot.debian.net comes to rescue again. Find "ghostcript", version "8.61.dfsg.1-1" and here we are:

$ wget http://snapshot.debian.net/archive/2008/03/02/debian/pool/main/g/ghostscript/ghostscript_8.61.dfsg.1-1_i386.deb
$ wajig install ./ghostscript_8.61.dfsg.1-1_i386.deb

And all is fine now:

$ ls /usr/bin/gs
/usr/bin/gs

Martin F. Krafft: How launchpad got it wrong

A common rant against Launchpad is that it s closed: the code is proprietary, and Canonical doesn t give raw access to the data they collect via the interface. Anyway, other people have taken up this issue, and it s not the point of this post to do so. I ve heard two argument why Launchpad is closed: first, it s a test bed for a product, which Canonical hopes to market to commercial entities to manage their own release cycles. And second: it s purposely cross-project and tries to integrate and link between them. Thus, lots of instances of Launchpad would defeat the point. I ll address these points in turn, starting from the back: While I won t deny a pre-trend towards (back to) mainframe-like computing, with Google, Amazon, and others providing rent-a-computer-cycle services. In addition, environmental concerns cast clouds over the 400W heating appliance under your desk, which happens to run your word processor and browser when it doesn t lose track of its countless spare cycles. Yet, I maintain that centralised services, such as Launchpad are a thing of the past. If you ask me, Launchpad got it wrong, even though it s light years further than its predecessors. It features pleasant graphics and obviously has had lots of smart thinking and experience shoved into it, but it s still centralised. It might be a business case, but it s not what the world needs. We ve seen massive growth of decentralised approaches to classic services, from file sharing to version control, from number crunching to simple web browsing, and yet, there s Launchpad, single point of entry (and failure) to the world of data surrounding Free software (at least if you follow their vision). What we need is something as slick as Launchpad, and thousands of instances thereof, which all peer with each other, automatically. The information would automatically be mirrored wherever it s referenced, so the entire cloud would be highly-available and failure-proof. Obviously, this wouldn t render itself well to the (traditional) software business model Canonical seems to strive for, so they re unlikely to go down this route. But we could. It would be a non-competitor. Update: thanks for the copious feedback I ve received. Among them was a comment by [Elliot Murphy]](http://launchpad.net/~statik), who speaks of us and thus leads me to believe that he s part of the Launchpad team:
We re definitely listening, and we still have lots more improvements we want to make. Our goal is collaboration, not centralization: thats why we build bazaar, are working busily on doing two-way integration with other bug tracker systems, and are building the best API we can. Our goal in the team is to make it trivially easy for you to get all the data that you put into launchpad back out through the API, data portability is very important. There is no big evil business model, but it would be socially irresponsible if we did not work toward making launchpad self-sustaining. It has been a long road, but the launchpad team is steadily working toward a distributed model, one step at a time.
While it s definitely nice to hear that data portability is a concern to them, I don t see Debian using Launchpad without the ability to run it on our own servers. I m definitely curious to hear more about the distributed model the team is pursuing. I certainly don t have a problem with self-sustainability, but in the Free software world, I do wonder what that is supposed to achieve. Release early, release often, anyone? Update: Philip Newborough took up the issue and has received a number of noteworthy replies. It made me very happy that he sees my post as a rant about Launchpad which is not lambasting Canonical for their proprietary Launchpad software; I wasn t aiming for any lambasting. NP: Nine Inch Nails: Further Down the Spiral

Alastair McKinstry: IPv6 would save 300 Megawatts ?

An interesting discussion appeared over on the NANOG mailing list, based on the article, Up to 300 Megawatt Worth of Keepalive Messages to be Saved by IPv6? This points to an original study by Haverinin, Siren and Eronen at Nokia that shows how much energy is used via "keepalive" messages sent in VoIP, Instant Messaging and other systems, in order to satisfy NAT. In order to maintain connectivity through a NAT router these systems need to keep sending messages to stop the NAT router closing the connections. With IPv6 this would no longer be necessary. It turns out the power requirements are quite significant. There is good work happening elsewhere in Linux and elsewhere in IT, to minimise the amount of energy wasted, such as the Less Watts project. But perhaps its worth doing an audit of the protocols we use, to see what energy savings we can use? Tags , , ,

Kartik Mistry: Todays fortune


* From world’s favorite time pass, Orkut: You have a strong desire for a home and your family comes first. * On Debian front since Sunday, I updated chmlib (Thanks meebey for reporting and pabs for quick upload) fixing horrible bug due to my overlook in debian/copyright (#479649) and uploaded new release of libyahoo2 0.7.6 to mentors. * And yes, I am bit sick from last 2/3 days. Stomach is bad :(

Tore S. Bekkedal: Depressing.

Those of you who know me might be aware that I have a fondness for cool and neato hardware which is possibly a tiny bit above that of the average geek. I have more nodes on my ThinNet than on my TP network, for example. Back in February, I had the random idea to call SGI Norway and ask them if they had anything they were about to throw out. I knew that they were working hard on moving from MIPS to Itanium, so perhaps some hardware was disappearing along the way. Oslo didn’t have anything, but when I called Bergen I found out that they were about to throw out a large amount of hardware, including some really nice boxes like an Onyx2 deskside workstation, and some Origin systems. For those of you who aren’t into SGI machines, I can sum it up by saying that these are really cool computers: Big, noisy as hell, heavy, and in terms of performance, nearly on par with a normal desktop nowadays. In short, fantastic educational toys. So, this was in February, and we were making arrangements for transport to Oslo, until one day I stopped receiving mail. I didn’t think much of it; email is asynchronous, and I figured he was busy doing something else. I was certainly very eager to get at the machines, but didn’t feel like nagging at him either. Finally, recently I sent him a polite reminder, and I get the rather rude response: Diagnostic code: smtp;550 cuda_nsu 5.7.1 <****@sgi.com>: Recipient address rejected: THIS USER IS NO LONGER WITH SGI. CONTACT help@sgi.com IF YOU NEED INFO. I tried calling the Bergen office, but the number was out of service. So I call the Oslo office - and I am told the Bergen office has been shut down, and all the equipment has been thrown out. This is the bummer of the century, for two main reasons:
  1. I’m not getting cool hardware that I was totally looking forward to getting,
  2. Great hardware has now been ground up for use in car tires.
For some odd reason, the second reason is infinitely more grating than the first. I feel like a museum curator being forced to watch someone feed a Picasso painting to a paper shredder. This really, really screwed up my day. :(

Wouter Verhelst: Pathetic

When you're 5, you're living with your parents. If not, you're probably in an orphanage, waiting for adoptive parents. When you're 10, you're living with your parents. If you're not, something is very wrong. When you're 15, you're living with your parents—although you'd probably rather live elsewhere. When you're 20, you're most likely still living with your parents; but if you don't, that's nothing to be ashamed of. When you're 25, you've either moved out, are doing so, or are thinking about it. When you're 30 and you still live with your parents, you're pathetic. At least that's the way I look at it. As of today, I'm officially pathetic. Won't be for long, though—it's just taking slightly longer than initially expected to make the appartment habitable. Stuff left to do: Except for the "connect electricity" bit and the final step, that should all be doable in about a day, if I hurry. It's about time.

Russ Allbery: Debian status

Tonight, I converted the XML-Security-C package from Stanford's internal Subversion repository to Git and packaged 1.4.0, but unfortunately I can't upload yet because Xalan needs to be updated to build against the latest Xerces-C. (I'd NMU, but I should not be taking on more things right now.) This is the first of the three current Shibboleth packages, and I hope to tackle OpenSAML and Shibboleth SP tomorrow or Wednesday. An Alioth project for Shibboleth packaging now exists and the pkg-shibboleth-devel mailing list is being created. I've requested Git space on git.debian.org, and as soon as that's set up, I'll push the three existing repositories. Shibboleth 2.0 packaging will add at least three more packages (OpenSAML 2.0, Shibboleth SP 2.0, and another XML support library), possibly four if we have to package log4shib, but I still hope to use the standard log4cpp. And then there will be another couple of packages once the group packages the Shibboleth IdP and WAYF, which I hope someone with more Java experience can tackle. One of the main goals for getting this set up is so that people other than me can do more of the work so that I can work on other things. Like, for example, krb5 packaging. Bastian Blank started using the Kerberos server packages and posted a whole flurry of bugs, a couple of which are (somewhat arguably) RC, and I'm trying to absorb that and fix the ones I can ASAP. OpenLDAP is in desperate need of attention, but I don't feel as much responsibility for that. I said going in that I'd only have time to work on it in fits and starts, and just because no one else has any time to work on it either doesn't change that. However, I do need to find time to post an RFH, since it really needs an active maintainer, and I'll at least find time to upload the upcoming 2.4.9 release before lenny freezes more, since the current version has a ton of bugs. Frank Lichtenheld has been doing a lot of the work on Lintian lately, which is wonderful, but I still have at least 10 bugs and patches that I want to deal with as soon as possible for it and get another upload out. We're well over my magic threshold of 100 bugs, and a lot of the stuff that's in the BTS just needs to be reviewed and committed. And then there's Policy, which is just about ready for an upload, and where I owe several responses on bugs and discussion threads. It's in the best shape right now of the stuff on my hot list, but there really should be a new upload in May, and preferrably in the first half. The current goal is to get the two other RC bugs against the Shibboleth packages dealt with in the next couple of days, then do a krb5 upload before the end of the week, and then Policy and Lintian are back at the top of the list, insofar as work lets me concentrate on anything else. BTW, I have to say, the more I use Git, the more I'm becoming a convert. I still think I'd rather use quilt if I have complex merges. Ironic, given that that's supposed to be Git's strength, but I have fifteen years of experience merging patches and I really understand how quilt works. That may mean I'll change my mind when I become even more familiar with Git. But for the typical package with a small number of divergences from upstream, I'm getting the hang of managing those on branches and I think I like it. I've yet to see a good reason to use rebase instead of merge, though, at least as part of a Debian packaging workflow. So either I'm still not getting something, or many of the people using Git are way more obsessive than I am about their branch merge graphs (which is weird, because I tend to be remarkably obsessive about things like that). I suppose if I ever get to using git bisect, that may change my mind.

5 May 2008

Joey Hess: the internet empowerment spectrum

When I look at how people are using the net, I see a spectrum... At the low end, there are users who browse, and maybe post stuff to sites like flickr or youtube or wikipedia. When I hang out with these people, I'm struck by them being often quite smart, savvy, capable (and young), and wasting a lot of their time and inginuity fitting what they want to do into these narrow and (mostly) corporate-controlled and censored channels. And being limited by it in ways that they're not fully aware of. If you're in this group, please, please consider finding a way up the spectrum. At the high end are tecchies like me, we have at least one and often multiple servers, sometimes even in different countries/continents. We can write and run our own software with full control. This excellent advogato article calls it the "sovereign" level. We're not exactly kings when you look at who controls things from DNS to the internet backbone, but we're as close as it's practical to be without running your own wires. And we're statistically vanishingly few these days. So the middle is more and more interesting. For one thing, being king is expensive. So some of us move down a level, to virtual servers with xen or the like. Maybe we can't build our own kernel on our server anymore, but we don't have to worry about maintaining spinning disks and fans. And some people move up to this level too. One path is learning about running linux on a personal machine and then using an easy and cheap provider like slicehost. But still, users at this level are rare. The other interesting level (and the one I've not explored much myself) is a step up from the low end, where you have some form of inexpensive shared hosting, but can at least run your own code. This level seems quite a mess, there is no standardisation, everything has to be set up by hand, unless you use prepackaged control panel type things that probably take away most of the empowerment available at this level. A lot of people reach this level, but it's still fractions of a percent. So there seems quite a hump up from the lowest end of the empowerment spectrum to using shared hosting. How to encourage people over that hump is an interesting problem.
I've been playing with using some power tools from the top, sovereign level down in these murky shared hosting depths. Decided to see what kind of stuff I could accomplish for $5. Although it ended up costing only 2 cents for hosting so far. Amazon and google's hosting servives look interesting, but need things to be designed explcitly for them. And those companies are too big already. NearlyFreeSpeech.net is more flexible, funky, and has a cheap pay-as-you-go pricing that's ideal for little things that will only use a few dollars of bandwidth. So, I got ikiwiki working there (and documented how), along with a git backend, so my wiki's sources can be cloned to elsewhere for backups and development. Some things I hope to do later include:

Wouter Verhelst: Microsoft on installing PHP and Perl

On their "get the facts" site (as if), Microsoft recently posted a set of screencast demonstrating how much "easier" it is to install Perl and PHP on IIS than it is on Linux. Being bored, I had a look at these screencasts. The first covered installing stuff on Windows; in a 5 minute screencast, they first explain how you install ActivePerl, and have it handle perl scripts for a webserver through a CGI interface. This involves way too many steps to remember for me (including clicking through a wizard, going to the IIS management interface and enabling it, creating a directory and enabling that in the IIS interface as a CGI location, and more). Next, they do the same for PHP. Since they install PHP as a CGI binary rather than an ISAPI module, the setup isn't as complex—they conveniently reused many of the settings they'd done for perl—but it still required quite some steps. After having watched this screencast, I was wondering how they'd make it look harder on a Linux system. My guess was that they'd use Slackware and would compile apache, perl, and php from scratch or some such. That didn't turn out to be the case, however. They used ubuntu. To make the process look complicated, they refrained from using synaptic, instead opening an (almost full-screen) shell window, in which they use apt-get to install the libapache2-mod-php5 package. They conveniently also first installed the wrong version of apache, so that it would do all kinds of magical and confusing things. Really, however, after having installed this package, everything works—and they show that. The perl step should have been ignored. After installing apache on Debian or any of its derivatives, such as Ubuntu, support for Perl CGI scripts has already been installed and configured. Configuring that requires exactly zero steps. However, they still install libapache2-mod-perl, just to make it look a bit more confusing. It's not a very bad idea to do this, actually; installing mod_perl makes serving Perl scripts go quite a bit faster. But if you just want to have apache serve perl through CGI scripts, as they'd done on the IIS setup, all you need to do is install ubuntu, and make sure there's an apache installed. Period. But that's not all. They cheat. The installation of the perl and php modules on ubuntu includes the process of downloading the binaries and their dependencies; on the Windows screencast, the downloads have already been performed, and are placed on the desktop. This nicely avoids showing how you need to go to the ActivePerl and PHP websites, track down installers, download them, wait for your download to complete, and then manually start the installation process. To make things even more laughable, they install Perl and PHP as CGI handlers on Windows, but perform an installation of the same software through apache's C API. In other words, they told you how to install a fast and useful Linux system, and how to install a slow and less useful Windows installation (since a PHP setup that uses CGI will not support sessions or persistent database connections, amongst other things). And even with all that cheating and blundering, the Windows screencast still takes 5 minutes, as compared to the four for Ubuntu. I think Mahatma Gandhi forgot one line in his famous quote. It should have this:
Then they make complete and utter fools of themselves in a vain attempt to still look relevant
... right before the "then you win".

Aigars Mahinovs: Speak to the mind and youll drop in ratings

Apparently it is a political suicide in USA to make people think. Obama’s ex-preacher Jeremiah Wright is the most sane US preacher that I’ve ever heard. If you read or listen to his sermons in full length and go beyond the Fox News presented soundbites, he is 99% right. The US has long been doing extreme violence to countries around the world, so it is no wonder that such violence came back to US. Russia had the same problem with Afghanistan and Chechnya. If you try to put yourself up as ‘world police’, some people will disagree. Then he damned America’s _government_ for letting Americans down by not caring enough about the people. The only thing that I would smile and shake my head at was the statement that American government invented HIV. I doubt even they have such resources. Read this transcript for example, the sermon is just a great sermon that urges the people think for themselves. And what people put this sermon down for? Using a word ‘Negro’? Having an issue with some specific politicians? He is a pastor, pastors are meant to have a strong opinion a vision and to project that for the congregation to see. “I’m not going to stop thinking just because I love Jesus” is the summary of that sermon if you ask me. And that is the most positive religious message I’ve heard from that side of the pond for a long time. You can agree or disagree with rev. Wright, but you can still go to his sermons and enjoy it because he makes you think. I would talk to most racist bastard, serial killer or even Hitler himself if he could tell me something that would provoke my mind to think and thus improve myself. You don’t have to agree with people to benefit from speaking to them or from listening to what they have to say. Even if someone is 100% wrong and misguided, if his speeches can make you think of some good idea, it is worth it. And rev. Jeremiah Wright is not 100% wrong, from what I’ve heard he is on the money most of the time and only some of his statements I would disagree with. And he is a great speaker. If I would have not been an Obama supporter, I would become one because of Wright. Or because of the very accurate observation by Obama that in hard times people in rural USA cling to trusted values such as guns and religion. There is nothing wrong with that. I am amazed how such true statements can be so turned by US press and can actually reduce Obamas rating. I was starting to believe that not all is lost in the US, but if Obama does not get elected, well … it is all lost in the US. PS. How this related to Debian? Or software is the best choice for the society in the long term. However, that is only true if we assume that people behave rationally and use it, improve it and contribute back improvements for the public good. If the general population is made weary of rational thinking and starts thinking in soundbites and slogans, then there is a ceiling to free software expansion and the whole free software movement can eventually be crushed in the interests of homeland security with strong corporate commercial software backing. (Only government approved software is allowed to run with mandatory government approved back-doors and hardware verification to prevent cyber-terrorism or something, thus also forbidding any compilers and interpreters outside government controls.)

Jonathan McDowell: RIP John Magirr

My grandfather (my last living grandparent) was found dead in his flat today at 11am. He lived alone in Liverpool (his choice; my mother had offered to help him move to Newry in the past but he hadn't wanted to) and when my uncle failed to get hold of him yesterday for his weekly phone call he became worried. When there was still no response this morning my mother called the police who ended up breaking down the door of his flat. He was apparently found in bed, which hopefully means it was quick and without suffering.

It's been a while since I was close to him; when I was much younger he would take me into the centre of Belfast when he visited and we would wander round, always ending up with a trip to the Electronics Centre, where I would disappear into large boxes of pruck, and Anderson & MacCauley's for lunch. More recently I haven't known what to say to him, which was a bit of a shame.

He died aged 81, with all his own hair and possession of his mental faculties, which doesn't seem like bad going. I think he would have found it very difficult to have had to rely on others to live his life, so perhaps in some ways this was better. *sigh*

Adrian von Bidder: apt-p2p in the LAN?

Going just from the title of Cameron's post about his apt-p2p tool: How about automatically running a zeroconf-enabled webserver serving /var/cache/apt/archives (and any mounted local repositories?) during install and while aptitude is running (and, if the user allows, as a daemon by default on a running system) and of course a corresponding sources.list line and apt retrieval module. This would hugely improve installation time for people with just a few machines who are too lazy to set up their own apt cache. Obviously, the details would be tricky, but since there is a security chain from Release.gpg to the .deb, downloading packages from untrusted peers shouldn't be a problem, even if the package name / version pair is not really unique (or even if someone actually tries a spoofing attack.) (There's a thought: running a tftp / dhcp server with a fai network boot in addition would be a step towards world domination, too, closely followed by automated hacking tools to install Debian on all computing devices on the network. Support call: “My printer only prints one page saying debian:~# after power on and then stops.”) Update 2008-05-07: Both Nijel and Florian Ludwig himself pointed out his apt-zeroconf project, which is unfortunately not very actively developed at the moment. Yet another thing I should/could do if I had the time.

William Pitcock: Yay! Ubuntu patches my code horribly wrong!

Ubuntu’s audio team has patched my code using a “new approach” to make audacious use Pulse by default! Great right Well, not really, because the way they do it is wrong and won’t work and is prone to breakage with future releases. Here’s the patch:
@DPATCH@
diff -urNad audacious-1.5.0~/src/audacious/main.c audacious-1.5.0/src/audacious/main.c
--- audacious-1.5.0~/src/audacious/main.c       2008-03-13 17:19:27.000000000 -0500
+++ audacious-1.5.0/src/audacious/main.c        2008-03-14 12:38:13.000000000 -0500
@@ -174,7 +174,7 @@
 0.0, 0.0, 0.0, 0.0, 0.0,             /* equalizer bands */
0.0, 0.0, 0.0, 0.0, 0.0 ,
1.2,                        /* GUI scale factor, hardcoded for testing purposes --majeru */
"/usr/share/audacious/Skins/Classic1.3",                       /* skin */
-    NULL,                       /* output plugin */
+    "/usr/lib/audacious/Output/pulse_audio.so (#0)",                       /* output plugin */
NULL,                       /* file selector path */
NULL,                       /* playlist path */
As you can see, this patch is wrong. Why? Because: I like that, as usual, upstream was not consulted or asked in any way about how to go about making it do what they want. While my first try was wrong, it’s actually wrong due to a bug in audacious; that is the way they should patch it, and they should switch back to my patch in 1.5.1, as the weighted plugin detection is fixed there*. *On my branch only. Which i will be pushing to proposed/audacious-1.5 soon enough. Update: apparently some people took this the wrong way and assumed I was flaming Ubuntu here. Why would I? No, I was ranting about the fact that this guy changed a bug and within minutes uploaded this hideous patch. There wasn’t even realistically time to reply to the bug, nor was the patch posted for any sort of public review before hand. Anyone familiar with audacious’s internals would have immediately recognized that the patch is bogus.

4 May 2008

Jeff Licquia: Damned If You Do

JROBI, a chess blogger, on energy policy:
A large study in Europe concluded that it takes more gas and oil to produce a bottle of bio-fuel than it does to produce a bottle of gas. What does this mean? It means that Bio-Fuel is more damaging to the environment in the long run, and on top of that it is driving up the cost of basic food supplies. Millions and millions around the world in a number of countries are unable to afford the rising food costs for basic staples like Corn, and for what? If Bio-Fuel is not better for the environment, why are politicians and environmentalists getting behind this growing industry? I think it’s because it seems to be the “trendy” thing to do, and we all know what happens when the media promotes a new trend. We get tons of media coverage telling us why it’s a good thing, and hardly any coverage of the negative impacts. Already people from the Bio-Fuel industry are getting on television shouting out that there are many factors contributing to rising food prices, trying to deflect the fact that their destruction of food to fuel vehicles is the main culprit.
Actually, I suspect the emphasis on biofuels in the USA and Europe has to do with the fact that it’s the only alternative to fossil-based motor fuels proven to be sustainable and scalable:
The success of FFFVs, together with the mandatory use of E25 blend of gasoline throughout the country, allowed Brazil to get more than 40% of its automobile fuels from sugar cane-based ethanol in 2007.
I see no link to the European study in question, but previous studies have suffered from various faults; for example, the assumption that trucks transporting fuel cannot themselves shift to biofuels. I’m sure better analysis of the study is on its way. But that’s not the most interesting thing, to me. More interesting: my general impression that a lot of the climate-change hysteria is just that. If we hear what science seems to be telling us about the environment, and we think that something needs to be done, then we should do things that will actually work. One thing that really works is conservation: use less of the bad stuff we’re using. But we’ve done quite a bit on that front, only to hear that much, much more is required to make a difference. I’m not sure there’s much, much more benefit for us to realize in conservation, at least in the short term. So, to make a real difference, we have to make more radical changes. Can we change our motor fuel? Sure; starting with something that pollutes less, and that even absorbs some of that same pollutant in its production, sounds like a winner. JROBI, again:
It makes no sense whatsoever to create Bio-Fuel when there are much better options on the table - for instance Hydrogen vehicles. When was the last time you heard someone on the news talk about Hydrogen initiatives?
I hear it every so often. But most talk, today, focuses on the very real problems with hydrogen as a motor fuel. There are many; just look at the discussions of hydrogen fuel tank technology for a sample. But one of the biggest problems is that of developing an infrastructure for delivering fuel to the customer. No one talks about the problems of setting up an ethanol infrastructure. We already have it. Brazil has demonstrated that the current gasoline infrastructure can easily be adapted to deliver ethanol instead, and that there is a viable migration plan for gradually moving people off fossil fuels. Now, this isn’t to say that the world of ethanol is hunky-dory. It’s arguable that, while ethanol may be sustainable, the corn-based system the USA has adopted isn’t. Some people are talking about sensible tweaks that may solve the food problems while continuing to support biofuels–removing our silly tariff on Brazilian ethanol, for example, or developing alternative feedstocks for ethanol production. The problem is that hysteria seems to be breeding hysteria. Global warming is so severe, we are told, that we need solutions, and we need them immediately. So we develop solutions we can use immediately. But no! These solutions cost; we need something else, and we need it immediately, and we need it cost-free. Practically, this kind of insistence on perfection–that we deploy solutions with no drawbacks, only benefits–has the effect of dampening our enthusiasm for environmental solutions. We tried, our leaders will tell us, but nothing was good enough, so we gave up. And so, rather than do something that helps, or even something that lays the foundation for helping, we continue our use of fossil fuels. Perhaps ethanol is the wrong solution. But if it is, we should resign ourselves to the inevitability of the future, as foretold by science, or fervently hope that the global warming deniers are right, because other solutions will arrive too late to do much good.

David Nusinow: Upside Down

Things have been strange lately. I've been taking an official indefinite vacation from Debian due to real life priorities making it impossible to participate in the project at the level that I want, which just led to frustration. Mainly, I just haven't had the time to work on X properly, so I'm leaving it to the rest of the XSF for a while. This makes me sad, but they've grown in to a fantastic team so I know they'll keep doing a killer job while I'm away.

I have had some time though, just not enough to follow two major projects like X.org and Debian, so I've been trying to leverage it in productive ways. Perhaps the most notable is that I've been spending most of my time coding Smalltalk using Squeak now that it's in Debian. Squeak has its flaws, but it's very fun to work with and Smalltalk is probably my favorite language at this point, displacing Ruby. This shouldn't be too big a surprise, since Ruby consciously inherits a lot from Smalltalk. Squeak is a good environment, but I don't feel too compelled to write desktop apps in it because they feel so displaced from the rest of the system. GNU Smalltalk will hopefully fix this in time. As a result though, I've been doing my first bit of web coding in a very long time. The main reason for this is the incredible Seaside framework built on Smalltalk. It's been a lot of fun to play with, and although it's very underdocumented, there's enough out there (especially with the new book) that I've used to get going. Right now I'm trying to learn AJAX techniques as well, which is something I never thought I'd be doing.

As a result of learning Smalltalk, combined with past experiences, I've been trying to learn emacs, and switch a lot of my text editing over there. I came to realize that the reasons I chose vim over emacs many years ago aren't really holding up any more, and now that I've got a lot more of both UNIX and coding under my belt that it's time to reevaluate the decision in a more intelligent way. Vim has been great to me over the years, but I found it constraining when trying to work on very large and difficult trees like the X server. I'm hoping that emacs will do a little better, since I like the way it handles multiple buffers better. Additionally, the purity of Smalltalk "all the way down" has made me appreciate the emacs architecture of lisp (almost) "all the way down" and I'm looking forward to making use of it. It's been a painful transition so far, given the years of muscle memory I'm trying to change. I've been avoiding viper mode to really try and learn emacs, which has made it even harder. I don't know if I'll end up using emacs after all is said and done, but at least I'll have a better idea of how the two major editors really compare for my own use.

With all these changes things have been a little strange lately. Debian was the rock that I've clung to over the past few years, and not being totally entrenched in it has felt unnerving. Combining that with very new and different ways of working has been a rather large change. One thing is for certain: it's been very good for me to take a break for a while and work on small things at my own pace rather than try to keep up with large projects. People burn out all the time in the free software community, and I think that disconnecting and working on small fun things is a great way to heal.

Neil Williams: What's that smell?

Ooops. When a room full of computer equipment gains a strong smell, there are a couple of possibilities (!) but the characteristic odour of singed electronics and lack of video output on one box is fairly indicative and all I could do was turn off the power on the UPS. :-(

Definite smell associated with one box, smell gets worse when that box opened up, smell seems concentrated around the graphics card. Most weird is that the computer affected seems to restart ok at which point the smell reappears so knock the power off again - fast. Smell stays with the graphics card when card removed - it's surprising how long that smell hangs around. Remove graphics card, retest the machine - hang on - this sounds like a normal boot. Hmm - plugin the network cable, bingo - everything else appears to work - sans smell. Graphics card still has a strong odour even just sitting on the desk.

I've just suffered a graphics card burn out. Damn damn and double damn.

The machine itself is now running fine, just without a graphics card and thereby monitor. Accessing via ssh, dmesg shows the inevitable fsck but no other signs of harm except:
$ ps af
PID TTY STAT TIME COMMAND
3388 pts/0 Ss 0:00 -bash
3410 pts/0 R+ 0:00 \_ ps af
3256 tty7 Ss+ 0:00 /bin/sh /etc/gdm/XKeepsCrashing -noopen
3297 tty7 S+ 0:00 \_ /usr/bin/dialog --yesno Failed to start the X ser

$ sudo invoke-rc.d gdm stop

:-)

Why would an archive rebuild cause a graphics card to burn out? (I was running an autobuilder script but I don't run any screensaver on that box.)

Ah well, gives me an excuse to test the whiptail mode of emrecent and see if I can upload the packages that were built before the failure to Emdebian target. Another unexpected expense - 2008 is getting expensive!

Cameron Dale: Introducing apt-p2p: a new P2P apt downloader

After many long months of planning and work, I have completed another peer-to-peer downloader for Debian. If you've been keeping track, that makes 2 now. This one is called apt-p2p, and as of yesterday it is available in unstable. The functionality is very similar to the first one I wrote, DebTorrent, so if you've used that one you should feel very comfortable. After installation you just add a localhost:9977 to the start of your sources.list entries (see the man page). The only difference is the port number (DebTorrent uses 9988 by default) and that you can use it on all your sources.list entries, whether they be deb, deb-src, official Debian archive, or any other archive. Then an apt-get update gets it started, and you can begin installing packages. Point your web browser to http://localhost:9977 to see what's going on. IMPORTANT: as with any P2P program, it works much better if you open a port through your NAT or firewall. Without this crucial step, you won't be able to share with any peers, and your lookup of peers to download from may take longer. Make sure to forward both TCP and UDP ports 9977, or whichever port you set in the config file. For more details, see the port forwarding section of the FAQ. The similarities with DebTorrent are all external, so let's look at how it differs from DebTorrent internally: Here's some technical details for those interested: Though I know it can be fast, I'm not yet sure if the peer lookup in the DHT will be quick enough to keep up with the downloading. All my tests so far show that it is, but until there are a number of peers out there trying it, I can't be sure. Also, I have some improvements in mind to enhance the speed, in particular the wait for a timeout to occur, so this may improve in the future. If you see a delay in downloading where apt seems to be stalled saying 'Waiting for headers', for now be patient and see what happens. It may be that apt-p2p is downloading in the background (it does this sometimes), or that it's waiting for a lookup in the DHT to complete. If it hangs for more than a minute, or there's errors in the log file, please file a bug so that I can look into it. Finally, for you DebTorrent fans don't worry, I haven't given up on it. Stay tuned for more info on it coming soon.

3 May 2008

John Goerzen: Towards Better Bookmark Syncing: del.icio.us and diigo

I use Firefox (well, Iceweasel) from several machines. On a daily basis, at least three: my workstation at home, my workstation at work, and my laptop. I have wanted to have my bookmarks synced between all three of them for some time. I've been using unison to sync them, which mostly works. But firefox likes to store a last-visited timestamp in bookmarks.html, so if I have a browser open at more than one place, I get frequent unison conflicts.

I started searching for better alternatives again, and noticed that the new alternative del.icio.us plugin for Firefox supports a del.icio.us version of the traditional Firefox Bookmarks Toolbar. I use that toolbar a lot, and anything I use in place of standard Firefox bookmarks absolutely must support something like it.

I imported my Firefox bookmarks (about 900 or so) into del.icio.us. They arrived OK, but flattened, as del.icio.us doesn't have a hierarchical structure like Firefox does. After a good deal of experimentation, I have mostly gotten it working how I want. I'm using the bundles mode of the extension toolbar in Firefox, and simulating subfolders by using certain tags. It works fine; not quite what I'd want out of it ideally, but everything else is so much better that I'm happy with it.

The social bookmarking aspects of del.icio.us sound interesting, too, but I haven't started trying to look at that stuff very much yet. Delicious also has a new "Firefox 3" extension that also is documented to work fine in Firefox 2. It has a few new features but nothing I care all that much about.

My main gripe at this point is that the Firefox extension doesn't allow me to set things as private by default. It also doesn't propogate my changes to the site immediately, which led to a considerable amount of confusion initially. On the plus side, it does do a synchronization and store a local cache, so I can still use it offline to load up file:/// links.

Some things about del.icio.us bug me. There are very limited features for editing things in bulk (though Greasemonkey scripts help here). It has a published API, but seems quite limited (I couldn't find out how, in their documentation, to add a tag to an existing bookmark, for instance.)

del.icio.us lets you export all your bookmarks, so you have freedom to leave. Also, if you poke around on freshmeat.net, you can find Free Software alternatives that actually emulate del.icio.us APIs and sites.

I also looked at alternatives, and it seems that the most plausible one is Diigo. But I'm going to refuse to use it right now for two reasons: 1) its Firefox plugin has nothing like the Firefox bookmarks toolbar, and 2) its hideous Terms of Service. If you go to their ToS and scroll down to "Content/Activity Prohibited", you'll see these gems:

6. provides any telephone numbers, street addresses, last names, URLs or email addresses;

7. promotes information that you know is false or misleading or promotes illegal activities or conduct that is abusive, threatening, obscene, defamatory or libelous;

11. furthers or promotes any criminal activity or enterprise or provides instructional information about illegal activities including, but not limited to making or buying illegal weapons, violating someone's privacy, or providing or creating computer viruses;


So, in other words, they can delete me account if I bookmark the Amazon.com contact page, or if I bookmark the opinions of someone I disagree with. Good thing the Vietnam War protesters in the 70s didn't use Diigo, because they'd be kicked off if they wrote about their sit-ins at Berkeley. Also, I didn't even quote the other section that says they get to remove anything you post that they think is offensive, in their sole judgment. Goodbye, links to EFF's articles about RIAA.

Since we can't use last names, I guess it's just "Hillary" and "John" instead of "Clinton" and "McCain". Oh, and don't get me started about the folly of operating a social bookmarking site where you aren't allowed to post URLs. That's right up there with Apple releasing a Windows version of Safari that you aren't allowed to install on PCs.

Compare that to the del.icio.us terms and privacy policy and the contrast is stark indeed.

Next.

Previous.