Search Results: "will"

5 December 2006

Josselin Mouette: My contribution to dunc-bank

Over the last few weeks, I have been very busy at work, and therefore hadn't have much time for Debian. Especially, I haven't been able to help the Dunc-bank project as much as I wanted to. However, it recently became obvious that I brought my contribution to the project's impressive success (despite being not too dramatic). That was, orphaning libpng. The one thing to know about libpng is that upstream developers like to break their software at every single release. Given the number of packages depending on it, it is not reasonable to upload new versions less than 6 months before the release; this is the reason why I carefully kept the working 1.2.8 version. However, despite being warned, the new maintainer decided to upload two new upstream versions with a high urgency to fix two security issues, instead of backporting them. Looking at the rest of the changelog is eloquent : The result is now, according to the unofficial RC bug list, no less than six libpng-related release-critical bugs: Before anyone asks me: no, I'm not volunteering to fix these bugs. Maintaining libpng is a tedious and time-consuming task that requires more motivation than I currently have. It is way too late in the release process, and my advice for a short-term solution (suitable for a release in two months) would be to revert completely to 1.2.8 and backport the security fixes. The medium-term solution involves even more work, but I think there is no more choice: the library needs to be split in two, one private library with an unstable ABI for software like pngcrush and optipng, and one public library with a very strictly fixed ABI (probably following closely the LSB). Good luck to anyone implementing this. The long term solution is more appealing: rewrite everything from scratch. The PNG specification is much clearer than the libpng code, and calls for a clean reimplementation using modern programming techniques. For a completely unrelated, but more entertaining moment, I recommend the reading of this Bjarne Soustrup interview, where he tries to defend C++ against all common sense. The introduction really made my day: C++ remains the archetypal "high level" computer language (that is, one that preserves the features of natural, human language). Something to meditate on.

4 December 2006

Lars Wirzenius: Debian: Tattoo

Debian tattoo (fake) Unless something very surprising happens, this is the tattoo I will not be getting. Alas. There's still around sixteen hours until it's no longer December 4th anywhere, but it's not going to be enough.

Erich Schubert: Software mixer with ALSA

The "high definition audio" in my laptop is rather minimal. Apart from the mic not yet working, it has a line out and a single volume control. Thats it. However, I'd like to have multiple applications use the sound card, for example my music player, eventually some video player or flash, and some system events. ALSA to the rescue. It's not easy to configure, but really powerful: Mixer screenshot with MPD volume control Yes, that is a separate volume slider in my regular mixer for MPD, my music player. Here's how to do that: First we'll need to create a huge /etc/asound.conf:
# the real device
pcm.realdev  
        type hw
        card 0
        device 0
 
# software mixing
pcm.dmixer  
        type dmix
        ipc_key 3129397
        ipc_key_add_uid false
        ipc_perm 0666
        slave.pcm "realdev"
        slave  
                period_time 0
                period_size 1024
                buffer_size 8192
                # we're enforcing 44100, since thats what most apps use
                rate 44100
         
        bindings  
                0 0
                1 1
         
 
# software volume
pcm.softvol  
        type softvol
        slave.pcm "dmixer"
        control  
                name "Software"
                card 0
         
 
pcm.mpdvol  
        type softvol
        slave.pcm "dmixer"
        control  
                name "MPD"
                card 0
         
 
# input
pcm.input  
        type dsnoop
        ipc_key 3129398
        ipc_key_add_uid false
        ipc_perm 0660
        slave.pcm "realdev"
 
# duplex device
pcm.duplex  
        type asym
        playback.pcm "softvol"
        capture.pcm "input"
 
# default devices
pcm.!default  
        type plug
        slave.pcm "duplex"
 
pcm.dsp0  
        type plug
        slave.pcm "duplex"
 
I won't go into all the details (I don't know all of them either), but the basic idea is that I setup the dmixer plugin for software mixing, and attach two software volume controls to it. I'm keeping the permissions to 0666, since my MPD is running as a different user, and I didn't find a way to say I'd like to have the permission set to group "audio". The default device is the regular microphone jack (untested, since there are driver issues with my chipset and recording) and the "Software" volume control. If you have an ~/.asoundrc you might want to move it out of the way. Next I need to configure MPD to use its own volume control via /etc/mpd.conf:
audio_output  
        type            "alsa"
        name            "my ALSA device"
        # 'mpdvol' is the device name I used in asound.conf
        device          "mpdvol"
 
You'll probably need to restart all applications currently accessing your audio devices to have them pick up the new config. The new volume control will also only appear after you've started an application using it AFAICT. Sometimes you need to restart them twice for the new volume control to be effective. When alsa-utils restores the volume controls after reboot it should work right away. The "Software" volume control is optional, but that way I can tune down the default applications volumes below the MPD volume if ever needed. Oh, and I think you can safely keep one or all of the software volume controls to maximum without distortion happening (this doesn't hold for all sound cards, where it's often best to keep the sliders at ~75% max to avoid distortion)

Erich Schubert: Penny Stock Spam

... is rather annoying these days. Apparently this known hacker group with their powerful Windows trojans is behind the latest spam wave: they use image obfuscation that makes the average Captchas look easy. In fact it took me a couple of seconds to understand what they're spamming about this time - the image just contained a highly unreadable stock symbol. I wonder if the big financial web sites (for non-experts) like Google Finance, Yahoo Finance or whatever you use for occassionally checking your stock quotes couldn't just add a warning if a penny stock is being spamvertised. Preventing naive users from falling for these frauds would certainly be a good service for their visitors, wouldn't it? And there are already websites listing spamvertised penny stocks. So dear big-financial-websites, start protecting your customers now (and reduce the amount of spam for all of us that way, since that will hopefully make penny stocks a lot less lucrative).

Joachim Breitner: A Developer s GUI for Infon

One of my projects here at the KACE in Accra, Ghana, is to make the live programming game Infon a useful tool to teach programming. Until now, programmers had to upload their code to the server over a telnet or netcat connection. To lower the initial threshold for new users, I wrote an editor for infon bugs, using python and gtk. The features are:You can find a screenshot on the webpage for infon-devel.I also created Debian packages for the infon server, the infon viewer and my GUI, which you can find on my people.d.o page. The server and viewer packages are currently waiting for inclusion in Debian s experimental branch in the NEW queue and infon-devel will follow that path after some positive feedback (or lack of negative, we ll see).Further plans include a comprehensive documentation of the bug s API and maybe some hints for teachers how to use the program in classes. Comments with regard to the GUI, the debian packaging or the game in general are highly appreciated. You are also invited so swing by #infon on freenode.

Uwe Hermann: The Free Ryzom Campaign - A campaign to buy Ryzom and publish it under the GPL

Ryzom is a Massive Multiplayer Online Role-Playing Game (MMORPG) developed by the French company Nevrax. It is based on the NeL game engine (also from Nevrax), which is GPL'd already. As "due to market conditions and other unforseen cirucumstances, a request to begin bankruptcy proceedings has been filed at the commerce tribunal", the Free Ryzom Campaign has formed with the aim to buy the source code and game data and release it under the GPL:
Help us make Ryzom a Free MMORPG! Donate now to help us purchase the source code, artwork and other game data associated with Ryzom, so we can breathe new life into it as an open, democratically run player project.
They've even set up a Social Contract (modeled after the Debian Social Contract) which states among other things that "Ryzom and all materials produced by the Free Ryzom Project will become and remain 100% Free Software". If you want to support the project, you can make a donation pledge (used to convince the official presiding over the liquidation process). No real donations are possible at the moment. More info/material on the game: I'm looking forward to the day where I can apt-get install ryzom and play a fully free MMORG... [1] I recommend using the Mozilla/Firefox/Iceweasel VideoDownloader extension to download the videos and watch them with mplayer. (via Karl-Tux-Stadt)

Evan Prodromou: 12 Frimaire CCXV

My work permit in Canada expired on December 1 (that's 10 Frimaire for you French Revolutionary Calendar fanatics), so I needed to renew it. It's possible to renew these things by mail, which is worrisome and time-consuming, or even to go into an office in Montreal (near-mythical, crowded, reportedly ineffective). I've never liked doing either, so whenever we have to deal with immigration, our family drives the 50km down to the border with the US. They have a big immigration facility there, and if you drive out of Canada and back in again, they have lots of nice officers in bullet-proof vests to deal with any immigration issues on the spot. It's called "driving around the flagpole" here, but Maj and I try to make a trip out of it when we have to go. So we drove down to Lake Placid in the Adirondacks last Friday morning -- sufficiently distant and different to seem exotic, without being too far away for a weekend trip. Plattsburgh, the nearest American town to us, is, well, kinda boring. We've spent a day in Burlington (Vermont) before, and that was pretty fun, but we wanted to try something different -- so Lake Placid it was. Friday was a crummy day for a drive, though -- there was snow and freezing rain in equal measures, so the roads were a little dangerous. The hood of our car kept building up this several-inches-thick icy-snowy mass that I was afraid would rip off the hood and go careening into the dark, so I kept stopping to chip it off with my handy ice scraper. Once we got down to the Adirondack park, though, the rain was just a regular drizzly non-freezing kind, and we could actually enjoy the scenery. The roads in were remarkably small -- hard to believe that not one but two Winter Olympics were held at this remote location. When we got to town, we took a look around at the main drag -- a single street that fronts onto Mirror Lake and points directly into the Olympic centre. We stopped at the Great Adirondack Brewing Company for a late lunch, and had a nice crabcake and caesar salad with roasted shrimp. Maj is a little squeamish about eating seafood in the mountains -- with good reason, since she's been burnt before -- but we both ate up anyways, and it was real good. Amita June had a grilled-cheese sandwich that came with french fries shaped like little happy faces. Awww. We then went to check into our motel, the Wildwood Inn. I've got a weakness for a certain kind of woodsy mountain motel -- lots of wood paneling and alpine flavor -- and I especially like paying motel prices. The Wildwood was just what I like -- clean, inexpensive ($65/night), and charming, with a nice view from our room out onto Lake Placid proper. It also had a nice big indoor heated pool complex and free WiFi. (On that subject -- why is it that so many motels in North America now have perfectly acceptable free WiFi, but major hotels in big cities charge you $30/night for crummy WiFi with complicated authentication schemes that take half an hour to configure? Is it just because the big hotels charge too much for everything, or is it because they know they can rake business travelers over the coals and it all will go on the expense report? It makes me really mad to pay for WiFi, and it makes me extra-mad that it's usually so complicated and of such poor quality. Anyways.) We took a big nap and went out after dark (4:30PM) to look at the town and get some dinner. Unfortunately, it was still raining big fat cold raindrops all over downtown. The ski season was supposed to start this weekend in the Adirondacks, but with all the rain they canceled opening the runs, and with the bad weather and no skiing the town was pretty empty. Most of the restaurants we passed were closed, and when we eventually got to one, the Black Bear, we were the only people there. The Black Bear turned out to be really nice. They had a good selection of organic vegetables and seafood nicely prepared but not too fancy -- what we Californians call "California cuisine". I dunno what anyone else calls it. Amita liked it because they had a big chalkboard on the wall and she spent most of her time running between our table and the board or drawing big jagged marks on the wall. That night the wind and storm howled outside our motel room -- I dreamed the place was falling down. When we got up in the morning, though, there was a light dusting of snow on the ground outside -- the first one of the season! Maj and Amita June went outside on the motel lawn to play around -- Amita doesn't remember last winter, I don't think, so snow is new all over again for her -- and I went to clear off the car. Then we went downtown to get some breakfast. We shopped for books (I bought James Fenimore Cooper's The Pathfinder) and winter gear (Maj almost but didn't buy some boots) walking up and down the main street in the light snow, then piled into the Soulshine Bagel shop for some bagel sandwiches and coffee. The food was good -- the bagels were thick and doughy, not like the little Montreal bagels I've grown fond of -- but the place only took cash, and we hadn't gotten out any American money yet. Oops. They were nice enough to take our Canadian cash, which earned them a decent tip, and then the three of us walked back to the car in the snow, Amita trying for the first time to catch snowflakes on her tongue. After our nap, we went out with good intentions to go visit the Olympic Centre and get ourselves a little bit of cultural value from the trip, but the early dark and our darker natures drove us instead to the Lake Placid Pub in a residential area right by Mirror Lake. The Pub was great -- really good beers (I liked the 7% Ubu Ale) and fine pub-grub. There was a table of kids next to our table, and they had a little table barbecue on which they were making s'mores. They kept handing Amita their extra graham crackers, which she noshed contentedly. This morning we went to the Saranac Sourdough deli and bakery for an early breakfast. It was right across highway 86 from our motel, and they had great pancakes. I had a big spinach-crab frittata with sourdough rye toast -- really satisfying. We took the long route back to Montreal -- west through Saranac Lake then north up to Malone (New York), a little town on the Salmon River with a big collapsed mill in the middle of downtown. By the time we got down to Malone, all the snow was gone, and it was back to that bitter snowless winter look all over the place. Malone had some nice architecture, but we ducked into the homey Nancy's Village Diner for some lunch. Then out onto the road again, through Chateaugay and Mooers and back to the border after a brief stop at duty-free. Our immigration issues took about an hour -- that was pretty good turnaround -- and we were on autoroute 15 back home to Montreal pretty quick. Not far from the border, though, the snow started coming down hard, and by the time we got to the St. Laurent river it was sticking to the road, making driving a little hazardous. But we managed to get home OK, glad for a nice little weekender. tags:

3 December 2006

Erich Schubert: Skype bastardized DBus

I've started playing around with DBus a little. It's somewhat cute, I was able to quickly write a script that monitors my wireless network connection going up and down, and after some searching for useful documentation, I'm now able to tell gaim to disconnect when my wireless goes down and reconnect when it comes back. All with just a few lines of Python. While searching for some docs on the Gaim API, I stumbled upon the Skype DBus API. But it's crap. Evil stuff. (And not working, from what I can tell; I read somewhere they're using a totally outdated DBus version, and to use it you have to downgrade and break lots of other stuff). They've totally bastardized DBus. First of all, the trace of a DBus API I've found is on a system level, not a user/session level. It should be per-session; you especially don't want others to mess with your Skype. Instead of offering an API with sane methods to invoke, they offer a single method, called "Invoke", and a single callback called "Notify". Ouch. With these methods you're expected to do a ascii protocol something like this:
-> NAME UltimateProgram
<- OK
-> PROTOCOL 5
<- PROTOCOL 5
Note that the name choice is up to the connecting application; so you can cloak yourself as a different application; it will be displayed to the user when asking for confirmation, apparently. Another example how crappy Skype dbus is: their "dbus example in C" links to the Python example and the other way round. The C example consists of 2.4 MB precompiled example and about 100k source code (the example of course is a graphical client). For comparison, this is a complete example on how to reconnect all your Gaim accounts via python-dbus:
import gobject, time, dbus, dbus.glib
# get DBus inteface
sesbus = dbus.SessionBus()
gaim_obj = sesbus.get_object("net.sf.gaim.GaimService", "/net/sf/gaim/GaimObject")
gaim = dbus.Interface(gaim_obj, "net.sf.gaim.GaimInterface")
for account in gaim.GaimAccountsGetAllActive(): gaim.GaimAccountDisconnect(account) time.sleep(5) for account in gaim.GaimAccountsGetAllActive(): gaim.GaimAccountConnect(account)

Amaya Rodrigo: Amayita in ProzacLand

[Absolutely nothing related in any way to Debian or Free Software here, so you can just skip ahead]

As some of you may be already aware of, I suffer from OCD, in a very mild form. If left untreated for long enough time, in my case it was years, it leads to depression. A good one. You can end up in Learned Helplessness Land, where your closest companion will be your inner voice, constantly criticising you, blaming you for anything that happens, I even used to believe I brought bad luck to the people I was with or met.

I strive for perfection, and the world is not perfect, not everything is under my control, and OCD is just a jail. In my case it is cleaning and re-arranging stuff. My perfectly shiny jail.

Some of my friends think it is so bourgeois that I have a person come clean my house every week. Maybe they do not understand that I can t clean, because I can t stop. The same way an ex-addict can t take $SUBSTANCE_OF_CHOICE. When I get stressed I tend to clean, and when I start cleaning I just don t stop. One stupid example of how ridiculous it can get: doing the laundry in an empty laundry machine so that it is clean inside. I can kill my plants by watering them too much, specially Cactus, dist-upgrading all my machines every morning, and then several more times a day, even if i know there will be no updates available at all.

And while I am doing it, I don t enjoy it. I can t stop, control it or decide anything. I follow very strict rituals, things have to be the right way, following a very complex set of rules that make sense to no one else but me. Well, not even me. But I have to, I don t choose to, and that is where the jail comes from.

I think it all comes from my childhood, in a very chaotic household, at a deeply disturbed family, with an abusive, alcoholic father and a very overwhelmed mother, the only thing I could control in my life was that my room was clean and arranged, as opposed to the rest of the house, and my homework perfect, as opposed to the rest of my life. The same way anorexics feel in control when they let themselves starve to death, because they control the food they eat, their hunger and their bodies.

My father also turned up to be psychotic, manic-depressive, and what not. When my mother finally forced^W helped him to stop drinking, I had this hope that things would be fine, but they didn t really improve. I was eleven. At the beginning it was the drinking, then the mental illness, then the aging, but my worst fear has always been to become him. To do onto others what was done to me. When I was 16 I already knew I would never have kids. I can t even bear to think that I could fuck up the way my family did. I can t even bear the thoughts of passing these genes onto an innocent baby. I specially hate the idea of bringing a new baby into this fucked up world, with so many kids out there so helpless, as myself as a kid, that nobody wants. I would definitely adopt a kid one day, if I was sure I would not repeat certain behaviours on him/her. If a doctor would put it in writing with his own blood.

In 2004, wanting to kill myself, even with a well thought plan and a written unofficial will (who gets my laptop, who gets my clothes, who gets my money, and so on) I went into treatment. Some of you might remember I was kind of MIA at the time. I was on Prozac, tranquilizers, and a year and a half therapy later, I was fine. I was even happy! That was by Debconf 5, after being fired from a job that was hurting me, giving up a 15 years relationship that had become unhealthy for both of us, the death of two very dear friends, and other looses not worth mentioning in this blog post that already gives too much away, I was finally happy. My life radically changed, my jail was almost gone, my fears were under control, I was finally free.

But, recently, a very dear friend of mine got sick, not any near what my father was or had ever been, but I saw myself in a mirror. My worst fears paralyzed me. My inner voice whispered I would end up being him. Again. And again. And some more. So I had to fight my I can do this alone pride, called my doctor and I am back on all the crap that will probably fuck my brain chemistry in the long run, and back on therapy, which is the only resource that will be really helpful for my life. I am not as bad as I once was, and it is going to be much easier this time, but I am scared as hell, because I though this was gone forever. But my friend got sick, and I had a stressful couple of months at work, and (yay!) I started cleaning again.

My physical health is also reflecting what I am going through. I am in a very acute UTI episode. The amount of pills I take in the morning is getting scary now. The pain and the burn are hardly bearable, and I have become unwillingly an early riser. I wake up at 5:30 or 6:00 am, and go to bed somewhere between 8:00 and 10:00 pm. One of the side effects of the painkillers is I can t really focus my sight at the moment, so my computing is painful and limited.

Being unable to concentrate on the computer I engaged in compulsive house improvement.

* I changed every light switch and power outlet in the house without turning the power off. Dangerous? Sure. Am I proud of my new skill? You bet!

* I revamped a very old and crappy piece of furniture I found in the trash. When the lady that cleans for you has a better cell phone than you, and you can t afford new shoes for the winter, you start looking at the stuff other people throw away in a different way. In a very different way.

* I lost ten kilos, and the clothes I wore to Brazil fit again. I am fixing the broken bits, because I can t really afford to get clothes of my new size anymore either.

Some pics of my achievements (some work is still in progress):



You might have noticed my web server is down at the moment. I hope this post explains why I am timing out. My server is called aenima, latin for soul, and quite incidentally.

Andree Leidenfrost: Upgrade Testing with QEMU

I have been really busy until two weeks ago [Shameless plug: If you need a (technical) project manager and/or hands-on Basis person to get your SAP R/3 system upgraded to ECC6, get in touch.]. Which means I've been a bit slack - so slack in fact that Andreas Barth had to resolve an RC bug in one of my packages - mea culpa.

Ridden by guilt I decided to finally do what I've been wanting to for some time: Putting the steps together to do a Debian test upgrade using QEMU. I chose QEMU because it is free and readily comes with Debian. It is slower than VMware, at least without the non-free kernel module, but still usable on somewhat reasonable hardware. The actual upgrade steps given below are independent of the virtualisation technology used, so they will apply to VMware as well.

Without further ado, here goes:
All in all, things seem to work ok. However, this is far from hitting the friendly green upgrade button and it just happens. So, I thought I try the next best thing to the friendly green upgrade button which is synaptic. Doing an upgrade with synaptic does actually work quite smoothly. It needs to be restarted a few times, leaves some cruft in terms of obsolete and orphan packages and the reboot doesn't really work from within Gnome, but other than that it is ok. Most notably, it didn't leave me with an unusable system in the middle of it all.

Robert Collins made some interesting remarks about the challenges of upgrades last week when we had dinner with Martin Krafft and a number of other great people. It looks like the Ubuntu folks are working on improving update-manager but also the underlying infrastructure to smooth out the upgrade process. Maybe there could be an opportunity to work together on this and achieve a situation where upgrades become as smooth as installs are now due to the fantastic work of the d-i people.

Gunnar Wolf: MIDE - Interactive Economy Museum

I was very happily surprised today. Some weeks ago, walking in downtown Mexico City, I found the Interactive Economy Museum (Museo Interactivo de Econom a - MIDE, for which I had seen some posters at my workplace (of course, as some of you know, I work at UNAM's Institute for Economics Research (Instituto de Investigaciones Econ micas)). MIDE is one Mexico's youngest museums (opened about two months ago), and it is... Frankly impressive and well done.
When I first heard about an interactive economy museum, I could only think about entering a room with buttons that would cause economic or politic crisis in different Asian or African countries, so we could watch the outcome. Of course, it was not so (or at least, I hope so - I pressed quite a number of buttons!) The museum is multimedia rich, and will attract children (I'd suggest going with 10 year old kids and older) and grown-ups. It is quite well balanced, having many things that are just fun to do (i.e. for the scarcity topic, recording a video saying what do you want but don't have so other people see you, and see other people's videos, or "designing" -of course, quite simplisticly, but still- your own banknote, with your own photo), that give you a better insight of the full economic process (how money changes hands: A story told by six different animations, each explaining a different part of the process, about the relations between a family, the bank, the factory owner and the supermarket; a stock exchange simulator; comparisons between different indicators on the living standards over the world).
But even more than the exhibit itself, just being at the Bethlehemit ex-convent and ex-hospital is very well worth a visit. Even if the XVIII-century building endured very rough times and got severely deteriorated, it has been completely rescued - and unlike most colonial palaces we have, it was rescued mixing modern elements with the old architecture with a very good balance and taste.
...Very well worth a visit. Really. If you happen to be in the Mexico City center, go to Tacuba street, just by Metro Allende, in front of Caf Tacuba. Oh, and don't go without having lunch first: We entered at 2PM, and had to fast-track over half of the museum because we were too hungry to pay attention. Of course, we plan to return with the family, so it's not lost. Besides, maybe next time I'll have time for a nice chat with Adam Smith and Karl Marx, who are seen walking around the museum. I talked a bit with one of the Bethlehemit monks.
Who runs the museum? It is never obvious, and I want to know. The building was, accodring to their web site, acquired in 1989 and remodeled since then by the Bank of Mexico, which would make perfect sense. Besides, it's quite clear that the Bank helped for some of the exhibits, such as the numismatics collection or the banknote printing technology room.

2 December 2006

Erich Schubert: Go Tagging!

Debtags made quite some progress the last months. Many thanks to Enrico Zini, who did most of the work. We now have a new database (on alioth), a new editing frontend (using Ajax, and accessing this database) and a couple of nice utils around it. Go Tagging is a page listing untagged packages - by popularity contest score. Just go there, click a package you are somewhat familiar with (sorry, the really popular ones are already gone :-) but there are still some well-known ones in there such as "rails") and edit the tags. Enrico also did some kind of AI to suggest tags. This is not based on the Google Summer of Code project, but something Enrico did using the Xapian search engine index he's been using for the main search function. A couple of good features have been proposed, but are not yet implemented. For example, a "similar packages" overview, so that when you've been tagging one package you could easily switch over to another similar package. Or a per-maintainer view. It was suggested that it should be added to the packages.qa.debian.org per-maintainer view page; this would be great, but will require some more work to be done. On a related base, it would be interesting to make a tag cloud (like this Debian package cloud) on one maintainers packages only. This would then be a view of one maintainers interests in Debian... Anyway, thanks to everybody who has been tagging packages and helping with the backend databases and applications.

Jaldhar Vyas: The Real Meaning of Nalanda

Venkatesh Hariharan recently wrote an article on Indias traditions of knowledge and how Open Source meshes with them. Now having met him at foss.in and knowing of his work, I am 100% convinced he is on the side of the angels and their is no malice in what he wrote. However, his interpretation (really not his, but the conventional wisdom amongst the Indian elite.) of Indian history and culture is so monumentally wrong it bears correction. While I admit my hackles were raised by the cultural and theological mistakes made, there are implications for Open Source advocacy in India and the world at large too. He starts by giving the example of Nalanda, supposedly "the first university in the world." but more accurately a Buddhist vihara (monastery.) Its' very name indicated sharing. I use the past tense because Nalanda doesn't exist anymore. In fact except in a few border areas influenced by Tibet or Burma, Buddhism itself is so thoroughly extinct in the land of its birth, the place where it flourished for over 1500 years, that the only reason people like Hariharan or myself only know that there ever was such a thing due to the work of 19th century Western Indologists. How could this be? One theory is that a resurgent Hinduism coopted or persecuted the Buddhists into oblivion. However this is unsatisfactory. It does not explain why Jainism (a religion as old as Buddhism and equally heretical for exactly the same reasons from the Hindu point of view) still survives to this day and it doesn't explain how it could have happened for even the most advanced genocidal regimes of the 20th century have been unable to "disappear" undesirables to the extent which Buddhism disappeared. A more plausible explanation revolves around the fact that, as I mentioned before, places like Nalanda were Viharas. This doesn't mean that they can't have university-like properties too; after all the great academic institutions of Europe also had religious foundations but the monastic nature of a vihara is salient. A monastery is not a place you go to engage the world, its a place you go to escape it. To mix metaphors a bit, the viharas were cathedrals not bazaars. While there may have been a lively intellectual life within its walls, there is no evidence that Nalanda and its denizens interacted much with the surrounding culture. An economically unproductive institution of such vast size (15,000 monks at its peak) could only survive by the patronage of kings and other rich people. When that patronage dried up as for example when the medieval Muslim invasions swept away the old royalty, Nalanda and its sisters couldn't survive. Just as when a proprietary software company dies, its "intellectual property" often dies with it, when centralized Buddhism died, Buddhist ideas died with it. (Luckily Buddhism had spread to other countries by then and developed new, less monolithic forms so it was not lost to the world altogether.) In contrast Hinduism (and for that matter Jainism) while having all due respect for monks were and are primarily lay movements. The pursuit of morality (Dharma), wealth (artha) and pleasure (kama) in this world are equally valid human goals alongside liberation from the world (moksha.) and this manifested as the much maligned institution of caste. Hariharan quotes the conventional view probably familiar to Westerners from Anthropology 101, a lock-step hierarchy of four classes (varna is the Sanskrt word) with fixed occupations, with knowledge and privilege on top and ignorance and oppression at the bottom. The thing is, this view bears no relationship whatsoever with social reality in India now or historically. There is another Sanskrit word, jati, which can be translated as caste. There are thousands of these jatis and while Indian thinkers have periodically attempted to try and shoehorn them into the varna framework, they have had little success and varna is for all practical purposes just a theory. And this is not just a fall from some putative golden age (Like the canard that once caste was flexible and merit based and only later became rigid.) but the state of affairs throughout recorded history.

A jati consists of people who share a common (or fictive) kinship, who have particular food and ritual choices, and marry endogamously. While many jatis are associated with a particular occupation, many others are not. This is what caste means to a typical Indian (it is also the social organization prevalent amongst Jains, Sikhs, Muslims and Christians even if they don't accept its theological basis.) Yes, hierarchy and concommitantly oppression, are in some cases a byproduct of casteist thinking but they are hardly its raison d'etre. A comparison can be made to the Western nuclear family system. Some people think it is superior to any other form of social organization. Most people wouldn't go that far but go along with it as "the way it is." Some of those of a liberal persuasion might want tweaks of certain aspects of it. A very small fringe think it is nothing more than a nefarious plot to spread patriarchy, subjugation and racism etc. They are mostly considered kooks by the other groups. (Unfortunately when India and caste are concerned, the kooks are ruling the roost.) The diversity of jatis like the diversity of open source creates a certain resistence to disruption that a monoculture cannot. Thus though Hinduism also suffered grievously from invasions, it was able to hold on where Indian Buddhism could not. Brahmin (sic. That's an English mispronounciation.) is also misinterpreted as one who knows Brahma (masculine noun. The Creator God.) instead of Brahman (neuter noun. The supreme spirit pervading the Universe.) though even then it would be wrong because Brahmin, Brahma, and Brahman all come from a common root word brhati (feminine noun. Sacred speech.) as any Sanskrit dictionary will attest. Hariharan cites the example of the sacred scriptures (Sic. He means the Vedas) and the notorious statement of the Manusmrti saying that an unqualified person who hears them should have molten lead poured into their ears as examples of the proprietarization of knowledge. Now the long-suffering untouchables may have been afraid of many things but having lead earplugs was not one of them. There is no historical evidence that any such action was ever attempted. You can criticize the Manusmrti for even saying such a thing but that is a far cry from using it as evidence of historical attitudes. You see, the Manusmrti is not even in the most orthodox conception Hindu Sharia and the Vedas are not "Sacred Scriptures" in the sense that the Bible or Koran are. Rather they are part of a wide range of significant literary works respected in Hinduism of which other important examples are the two Epics the Mahabharata (which includes the Bhagavadgita), and the Ramayana, and the vast compendia of geneologies, philosophy, lore and legend called the Puranas. Hariharan actually missed a good chance to make his point here because while the Vedas are indeed "proprietary" the other works I mentioned are not and have in fact permeated all over India and even beyond its borders. Many Indian languages owe their literary existence to translation of the epics or Puranas. For instance one of the earliest monuments of Hindi literature is the Ramacharitamanasa, Saint Tulsidas's translation of the Ramayana. When he wrote it in the 16th century, he did face some opposition from those who didn't think such an august work should be rendered into a "vulgar" tongue, he also received encouragement from equally orthodox people (including those who believed the Vedas should be restricted to Brahmins) Today it is by many accounts the most popular Hindu holy book in existence. So really the whole idea that the Hindu canon shows a fall from open grace to rigidly controlled private property is just bogus. To those who have slogged their way though all this verbiage wondering what it has do with Linux and Open Source, let me assure you I am getting to the point :-) It's bad enough from my point of view as a devout Hindu that my religion would be misrepresented this way but from my point of view as a supporter of Free Software ideals, it is catastrophic. Linux and Open Source in India has spread, as in most parts of the world, primararily as a hobby amongst computer enthusiasts and for a hobby it's doing ok. However if you think of it as more than that, as a tool to enhance society and empower peoples lives, that is not nearly good enough. But how can one serve a society if one apparently has no clue about that societies history and mores? The developing world is littered with failed projects that were carried out with the purest of motives but no regard to what the putative clients actually wanted. Do we want Linux and Open Source deployments to go the same way? For a couple of years now I've been trying to get Indian and NRI programmers to get involved in localization in debian-installer and elsewhere but even with the small minority that are sympathetic to Open Source (a scandal in itself.) it is like pulling teeth. To their credit, Red Hat India pays people to work on such things but volunteerism is the heart of the Open Source movement as we all know so the apathy of Indian IT professionals is deeply troubling. Hariharan is trying to increase interest by appealing to the Indians' sense of cultural pride which is a good tactic--it has been successfuly applied by many non-western or minority cultures--but he is not going to be very successful if the vision of Indian culture he is presenting is as alien as Eskimo culture to the vast majority of the people. Western Open Source advocates also run into difficulties due to being tone-deaf in their understanding of how third-world cultures actually operate. When India declined to participate in the One Laptop Per Child (OLPC) project, some commentators on places like Slashdot were perplexed. Wouldn't a poor country want an inexpensive yet efficient pc using free software instead of high-priced imports? The thing they missed is that while people in India may be poor, thanks to a more-or-less democratic polity and more-or-less open communications, their frame of reference is no longer their village. Their trends are increasingly set in Mumbai, New York, Paris, and London. The forward-thinking amongst them know that computers are the key to the future. They also know Bill Gates is the richest man in the world thanks to something called "Windows" knowing which can get you a green card and your own chance of becoming rich. So if Linux comes along, presented as a cheap alternative which is "just as good", the fake Gucci handbag of IT if you will, it is not going to impress. Thinkpads and Dells appeal to the upwardly-mobile persons vanity, a third-world hand-cranked laptop does not. (This incidently is what is behind the "Nalanda university" meme too. Monasteries are yesterday. Universities are the in thing so we have to have some in our past and not just any but by golly, the first university in the world.) When they venture from pure technology into the realm of culture, Open Source advocates need to be a lot more sophisticated, not to mention accurate, in their arguments lest they fall on deaf ears. Platitudes and sentimentality about "spiritual" versus "material" culture aren't enough. There must be concrete demonstrations of the benefits of why the Open Source approach to knowledge is better. They must be more sensitive in their presentation to avoid needlessly antagonizing people who might otherwise be natural allies. I believe the Open Source ideal is good for India and the whole world, not just in software but for society at large and I wish Venkatesh Hariharan and all the others on the frontlines of the fight for openness the best of luck. But good intentions cannot excuse sloppy thinking.

David Welton: The limits of weak typing

Hecl is a weakly typed programming language, which, for a scripting language is often an advantage. Instead of cluttering your code with lots of (casts) or performing.to_s all the time, things "just work" depending on the context (and assuming that you've verified your data or have error handling for when things go wrong). I've been pondering a weakness of this model that Tcl doesn't adequately solve, discussed here: http://sourceforge.net/mailarchive/message.php?msg_id=37354848 The summary is that if anything can and will be converted to a string at some point in its lifetime, GC'ing "complex objects" (things that can't be represented by a string) gets difficult. In order to be able to go back to an object from a string, you have to maintain a hash table with string handles that point at the actual objects in whatever language you are using, and that in turn requires that you somehow keep track of the lifetime of those objects. Doing GC in Hecl itself is something I'd hoped to avoid - up until now, we have managed to get by ok with Java's GC. The 'best' solution seems to be Salvatore's, discussed here: http://wiki.tcl.tk/13847 But even that is relatively complex, and at least initially, involves a couple of tours through the entire string-space of the running program. Unfortunately, I don't think there's really a clever way around the problem, though... what the weak typing giveth, the weak typing taketh away (or something along those lines). I am not sure what this means for Hecl at this point, whether we simply say "clean up after your own objects", introduce some sort of string typing, or something else entirely...

John Goerzen: Peter's Evil Overlord List

If you ever feel a bit like Darth Vader or some Bond villain, you really need to check out Peter's Evil Overlord List.

It starts out with "My Legions of Terror will have helmets with clear plexiglass visors, not face-concealing ones."

1 December 2006

Matthew Palmer: The Patron Saint of Modern Computing

Piero Manzoni should be canonised as the patron saint of modern computing. "Who the hell is Piero Manzoni?" I hear you all say. Well, he was an Italian artist whose work included the act of producing and selling cans of "Merda d'Artista". The Tate gallery bought one of the cans a few years ago, for more than the cost of the same weight of 24 carat gold. According to the above article, "At least 45 of the original 90 cans have exploded, however. This is exactly what Manzoni intended.". As Bill Harzia puts it (in a forum which will not be named), "He was the first to sell overpriced shit, of no practical value, that could fail at any moment, to unsuspecting suckers." That really sums it up, doesn't it?

Julien Blache: mbpeventd v0.3 - MacBook Pro hotkeys event handler daemon

mbpeventd is an event handler daemon for the hotkeys found on the MacBook Pro. It also handles the keyboard backlight, turning it on automatically when the ambient light is low. Volume adjustment is currently not supported, but will be supported in a future version. Only the Core2 Duo MacBook Pro (MacBookPro2,2) is supported at the moment. If you own a Core Duo MacBookPro, please send me the output of the getSystemId or sysid command from the libsmbios-bin package so I can add support for this machine too (and you’ll volunteer to test the new version, of course ;-)). Sources and AMD64 package available on http://people.debian.org/~jblache/pkg/mbpeventd/ As usual, no warranty, your laptop may crash, burn or explode while using this software and it may rape your goldfish or whatever pet your happen to own. Works for me ™. Patches for MacBook support (LCD backlight for the Intel GPU) are welcome. Patches for ALSA sound support are welcome too. mbpeventd includes the Radeon Mobility X1600 backlight routines written by Nicolas BOICHAT. Thanks !

Ian Murdock: Now *this* is Office 2.0

It’s now possible to dynamically link web data into Google spreadsheets. For example, stock information can be pulled in via the simple formula GoogleFinance(ticker, attribute), where attribute can be any number of metrics from market capitalization to P/E ratio. Not much to choose from yet—at this point, there’s only GoogleFinance and GoogleLookup, which seems more novelty than useful, and I’d love to see more than just the obvious metrics available for GoogleFinance, things like cash per share, revenue growth over the past m years, number of insider purchases over the past n months, etc. However, it’s a great start, and it’s pretty easy to see where they’re going with this—after all, most spreadsheets are inherently linked to external data sources, though I’d wager a majority of them are “linked” via copy and paste. I look forward to the day when you can pull in all manner of structured information into a spreadsheet via similar formulas. To me, this is the real value of “Office 2.0″. To compete, the office challengers have to go beyond just copying Microsoft Office on the web—success will come from exploiting the new platform, not cloning the old model. Pretty easy to see something like this grow into a platform all its own too. With a few more financial metrics, a slightly more powerful macro language, and the ability to connect to more arbitrary data sources (say, Google Base or the CSV files my bank makes available to me), I could track my finances on the web in a Google spreadsheet and give Quicken the boot (for what I want to do, Quicken is like driving a nail with a sledgehammer). Update: Google spreadsheets has an API now too.

Andreas Barth: Bug needs help

There is a long-standing RC bug libglide2: Reproducible segmentation fault with Voodoo2 where it is easy to reproduce this bug if you have the hardware (warning: it will crash your computer), but - well, it just needs to be done.

Andreas Barth: What maintaining means

During my cruise through release critical bugs, one sometimes wonder how often "team" should be translated with "toll, ein anderer macht's" (great, someone else will do it). Looking at bugs like e.g. #399589 - asterisk-oh323: Asterisk OH-323 crashes latest asterisk package, it doesn't seem to demanding to expect also in a team-maintained environment that any of the maintainers recheck (or at least send mail) to the person reporting the bug within a week. However, the bug was reported on November 20th (that's a Monday), and nothing happend up to now from their side - means: Nothing within 11 days. Unfortunatly, there are more so buggy packages from the VoIP-Team - most can just be moved out from Etch, but it is always unsatisfactory to remove packages.

Next.

Previous.