Search Results: "morph"

16 December 2006

Evan Prodromou: 25 Frimaire CCXV

I'm pretty happy to note that I've been invited to speak at South by Southwest Interactive in March on the subject of wikis and commercialization. I'm pretty psyched about the subject, as I think a rich and varied ecosphere of wikis -- from personal to informal clusters to formalized non-profits to formalized commercial ventures -- is a necessary step to the development of a read-write Web. OK, so, it wasn't like they invited me out of the blue -- I submitted an idea for a wiki panel a few months ago, and it got morphed into a one-person presentation instead. Which will be fun, since I'll be able to pontificate at length on this interesting subject. Maj booked us our hotel rooms in November -- I wanted to stay at the Austin Motel, but they have some kind of one-time callin system for the week of SxSW, and their rooms sell-out in an hour or so. We missed the callin time, which was no big deal. tags:

Recidivista Bad Vista is a clumsy and confusing name. Who's running the Wordplay Department over at the FSF nowadays? I hope it's some wily Germans, and that "Bad Vista" is some sort of elaborate spa joke. But for some reason I doubt it. Offer to the FSF: I just registered recidivista.org today. It's an awesome name. It is yours for free if you promise to use it well and be funny instead of shrill. Deal? tags:

Maptastic I'm pretty happy to note that I got around to developing a new MediaWiki plug-in that uses the Mapstraction library to switch between well-known-but-proprietary mapping services like Google Maps and unknown-but-open-and-cool services like OpenStreetMap. Each page on Wikitravel that's had some geo-data RDF magic added to it gets a link to the Mapstraction page, which will focus on that destination. Eventually it will have icons for each museum, restaurant, bar, hotel, or other feature of the city, and you could move them around or even edit their information through the map interface. But, for now, I'm starting small. More map-centrism will come with time. You can check out Montreal for an example of a mapped-up page right now. tags:

C-List So, I like this Are you an A-list Bloglebrity? tool on kineda.com. A simple re-packaging of some publicly-available data from Technorati, ranking blogs into lists by authority. Excellent hit-mongering. I'm sad to say that I'm still in the C-list on the blogging front, but that's really just dependent on longevity. I've only been doing this since last May -- errr, Flor al -- which is just 7 months (that's 49 months in blog years). If the A-list gets the Lear jets and the red-carpets, I don't know what kind of perks come along with the C-list. Free refills on your orange soda? tags:

Parenthood One of the things that parents often notice is that they have a hard time relating to their non-parent friends. And, of course, single non-parents have a hard time relating to their friends who've bred. Why is it so hard for these two kinds of people to connect with each other? I think there are some superficial reasons, like having different schedules, different imperatives, different needs. But I also think there's something more fundamental about the split. Organisms who've survived long enough to successfully reproduce have realised one goal in life -- if you listen to Charles Darwin, the only goal in life. If you have children, you have found a purpose for yourself -- an answer to all those questions about who you are and what you're supposed to do with your time on earth. If you survive to breed, you have won the game. Now, it's not the only way of winning, and it's not really the most interesting game in town. But I know at least for myself, and for other parents I've talked to, there is an existential satisfaction in finding yourself almost accidentally filling this purpose. Having never felt before that I had a definite purpose, it's been a strange sensation. Non-parents don't get the same sensation -- or, at least, they don't get it in the same way. So they're still looking, thinking, questing, trying to find some answers. And that gives them a vibrant edge that fulfillment dulls. I doubt there are many non-parents who would be satisfied with the Darwinian answer to their questions -- spawning like crayfish isn't a very lofty goal in life. Or at least it doesn't seem so from the outside. I'm not sure how to tell my friends how my life's changed since we had a daughter -- how when I'm reflecting and summing up my life, I don't feel the same panic as I did before. It's a good feeling, though. tags:

Iraqi taxi This blog post with a graphic illustration of the process for a build-your-own Iraqi taxi cracked me up. It was also nice for giving me a link to Wrecked Exotics. No, it's not about drunk strippers, nor orchids that went unfed; it's crashed cars. tags:

12 December 2006

Biella Coleman: The Moose is On the Loose and a little Usenet History

So I am back to le study of le hackers, trying to write a super-secret paper that I will present in January and then of course I am back with and to my beloved book (which for now has the following title: “Freedom’s Pleasures: Hacker Practice And The Limits of Liberalism” but I am sure it will morph, endlessly). As part of my transition I just finished re-reading one of my favorite articles on the history of Usenet: If I want it, it s OK: Usenet and the (outer) limits of free speech by B. Pfaffenberger (available here for download. When I released one of my dissertation chapters where I addressed the phenomenon of the Cabal, Bryan was nice enough to write me and point me to his article, which also examines the existence of Backbone Usenet Cabal. The artile, which provides just the right mix of history and commentary, analyzes how a free speech ethic came to be valued on Usenet and the ways in which technological and social factors co-mingled to facilitate and dampen the free flow of expression. You are provided with classic Usenet quotes like:
Usenet is like a herd of performing elephants with diarrhea–massive, diffi-
cult to redirect, awe-inspiring, entertaining, and a source of mind-boggling
amounts of excrement when you least expect it. (Spafford, 1993b)
You learn about the early attempts to control spam by the likes of “CancelMoose:”
In 1995, a secret, shadowy figure known as the CancelMoose
devised a spam-canceling program called a cancelbot.”
And then in the end, he provides his challeng to one of the dominant STS theories of the time, SCOT: “It should be noted that this picture is at odds with the predictions of the social construc-
tion of technology (SCOT) theory (Pinch & Bijker, 1987), in which the outcome of a period
of technical controversy is ascribed solely to social factors. Underlying SCOT s dogmatism
is a justifiable aversion to technological determinism, the doctrine that a technology s con-
tent leads irresistably to predictable social consequences a doctrine that is simply the re-
verse of SCOT s insistence on social causation. Two wrongs, as we were taught in kinder-
garten, do not make a right. What we see in the history of Usenet is a contingent outcome
that is shaped neither exclusively by social nor by technical factors, but rather is best under-
stood as a long process in which contesting groups attempt to mold and shape the technol-
ogy to suit their ends sometimes successfully, and sometimes not. They are as likely to be
blindsided by technological developments as they were to succeed in changing the system
to meet their ends. As this article attests, it is one thing to create new technologies with a
coherent social vision, and it is quite another to control the way it grows and develops.” I could not agree with him more. I think what he is highlighting is that if we dip into the historical record, we have instances in which technology can trump the social and vice-versa (and often instead it is a co-mixture), so in the end, understanding the impact of technologies is less about theories of technology and more of a historical question…

9 November 2006

Jesus Climent: When one cannot sleep.

Last night I figured out I cannot sleep when I have a song in my head that repeats itself like a broken record, and I cannot identify who is the author. So I had to get my RockBox powered iPod and plug the bugs on my ears. 7 songs later (around one hour of music listening) I entered Morpheus’ world with a grin in my face. Music makes me happy.

5 November 2006

Christian Perrier: NepaLinux 1.1 released

(this could probably deserve a DWN entry) On Monday, 30 October 2006, Madan Puraskar Pustakalaya (the principal archive of books and periodicals in the nepali language, a non-governmental and non-profit organization based in Nepal) released the 1.1 version of Nepalinux, a entirely localized version of GNU/Linux, based on Debian (and the Morphix installer) for use by Nepali-speaking users. This work is supported by the PAN localization project just like the DzongkhaLinux project is. In the case of Nepalinux, though, the project is supported locally by a NGO rather than the local government During last year, good connections have been developed between the developers of this localized distribution and the Debian project, mostly through work on Debian Installer localization. This confirms Debian as the preferred choice of many CDD developers in the region. The success of NepaLinux can probably be seen by all Debian contributors as a success of the Debian project.

9 October 2006

Adam Rosi-Kessel: Absurd Copyright Law Case of the Day

I’m visiting my parents’ house in Vermont, where they finally got cable after the provider agreed to dig up the ground and run a mile or so of cable to their house in return for a two year subscription agreement. (I think after two years the cable company will almost have broken even on the cost of the installation). Having been absent myself from the cable world for some time, I am impressed by the variety of interactive and “on demand” options. My parents’ low-end package includes dozens of free on-demand movies and music videos, as well as built-in easy-to-use tivo-like functionality. The on-demand music videos show one brief ad before the video — it seems the tradeoff is that if you are really going to watch the ad, they can get more money and show you fewer ads. (Or, maybe I’m wrong — if it’s one ad per video, I suppose that would be more ads, but it feels like fewer because of the “on demand” nature. I guess it’s a perceptual trick.) Anyway, getting to the title of this entry. Anybody in the field of intellectual property these days has got to find Weird Al Yankovic’s music video for Don’t Download This Song (warning, myspace page, authorized by Weird Al!) (or, here) (warning, YouTube page, also authorized by Weird Al!) at least a little amusing. If you haven’t watched it, see it now. The opening verse goes like this:
Once in a while maybe you will feel the urge
To break international copyright law
By downloading MP3s from file sharing sites
Like Morpheus or Grokster, or Limeware or Kazaa
But deep in your heart you know the guilt would drive you mad
And the shame would leave a perminant scar
Cuz you’d start out stealing songs, then you’re robbing liquor stores
And selling crack and running over school kids with your car
On the cable video-on-demand channel, however, the names of all the filesharing services (Morpheus, Grokster, Limewire, and Kazaa), are all replaced with beeps, as if they were vulgarities unfit for broadcast. Or cable. If you had never seen the video online, you’d actually be likely to think this was another Weird Al joke — that he can’t even sing the names of (the mostly now defunct) filesharing services publicly. But I’m pretty sure the video was censored by the cable provider or distributor and the irony is wholly unintended. There are a couple of possibilities here. One is that the distributor was trying to avoid inducement liability under the Supreme Court’s decision in MGM v. Grokster. Could a funny song about filesharing actually meet the inducement standard? I sure hope not. The other possibility is that the distributor just found the references too abhorrent to leave in — basically the equivalent of the seven dirty words banned from broadcast TV and radio. Either way, if Weird Al were dead, I’m sure he’d be spinning in his grave. We’re lucky he’s still kicking. (“case” is kind of a misnomer for the title here, but is included for consistency).

2 October 2006

Jonathan McDowell: Credit where credit's due

I've been quiet recently. I spent a week with the cold, then a week being stressed. I'm hoping this week is uneventful. One thing I've been meaning to post about for the past month or so are some positive supplier experiences I've had. Like most people I'm quick to whine when things go wrong and I've had a few things I didn't expect to go smoothly be fine. First up, eBuyer. I mentioned in my initramfs post that I had a disk that had been damaged in transit (according to the manufacturer's diagnostic tool). I wasn't looking forward to trying to return this, as I feared eBuyer would try to weasel out of the RMA. However it all went smoothly. Took them a couple of days to issue the RMA authorisation number, but after that I sent it off including the receipt for the posting and they sent me an email to confirm when they had it and when they sent me out the new one. And credited the postage back to my credit card. I was gobsmacked. I've been using them as a cheap box shifter for a few years and always assumed that the instant I had any problems it would all be pain, but no. It wasn't the quickest of processes, but it did all proceed without me having to chase anyone. Next, Scan. I've hated them for years. Pre 2000 I vowed I'd never use them again for reasons I can't remember. In 2000 I capitulated and ordered a Scan 2000 DVD player from them (which is still going strong). However despite being stiffed £10 for next day delivery it didn't turn up, nor the next day and eventually I had to ring them and find they'd failed to authorise my card and hadn't bothered to contact me. I vowed I'd uphold my pledge never to use them and until recently had done so. And then I needed some 1U heatsinks in a hurry and the initial supplier I'd found were being slow about getting stock. Scan had enough in stock so I decided to risk it. And they turned up next day, with several text messages keeping me informed about progress. I'm won't be using them in general, but I might try them again at some point. Finally, regular readers (all 4 of you) will remember the pain I suffered at the hands of Xinit. Black Cat needed some new dedicated servers and I was having problems finding what I wanted (Xeon LVs for low power usage goodness). Neil had some good things to say about Sentral Systems (well, actually Flexiserv who morphed into Sentral) so I figured I may as well drop them an email. I wasn't really expecting much, so when they got back and said they thought they could do exactly what I wanted within a week I was sceptical. Especially as that was a complete server whereas even looking for the bare chips I was getting quoted lead times of at least 4 weeks. To be honest they didn't manage it in a week - it was more like a week and a half (I think the order was confirmed on a Nonday and delivered Wednesday week later). Damn fine. Plus they kept me informed throughout the process and the one time I considered ringing them to ask what the status was they sent me an email within an hour of me thinking it anyway. The servers are nice and nippy too. :)

Andrew Pollock: [opinion] On Linux Australia futures

I've been a bit busy lately, so I've only now skimmed through my linux-aus backlog, as well has had time to put some thoughts together on the whole AUUG/LA thing. I will point out that I had a similar rant back in July last year, and a lot of what I said then still holds true. So one of the problems is we seem to have too many organisations. OSIA, AUUG, LA, SAGE-AU, ACS, to name a few. They've all got a bit of overlap. They've all got different names (well duh) that imply different things. So AUUG, as the Australian Unix Users Group, is losing is relevance. So much so, that the "About AUUG" page doesn't even discuss what the hell the acronym stands for. Somewhere along the line, they've adopting the tag line of "the Organisation for Unix, Linux and Open Source professionals". So they're clearing still trying to remain a "professional" body. As is SAGE-AU. Clearly with a name like the System Administrator's Guild of Australia, it's obvious what demographic this organisation is for. Now of course a lot this organisation's members are going to be administering Linux. You could also argue they're using it as well. SAGE-AU is operating-system agnostic though, and doesn't really get all community about the operating systems its members administer. Which leads us to Linux Australia. An organisation that (at least in my opinion) that is more about the community around the operating system than anything else. And in this case, by operating system, I'm talking about a lot more than just the kernel. OSIA, on the other hand, is an organisation I haven't heard a lot about, and know even less about. The name though, pretty clearly suggests what they're on about. If OSIA didn't look like it was more about corporate members than individuals, I'd be saying that this is where a large chunk of AUUG members should go, if AUUG were to fold. It does leave a certain demographic out in the cold: ISVs that make closed-source software for Unix and Linux. Since, for example, CheckPoint seem to be sponsoring the AUUG conference, they obviously feel that they have some sort of affinity with the organisation. Finally, there's ACS. Another organisation I don't know a lot about. I would think that maybe this could be another potential destination for AUUG members if it were to fold. Back to Linux Australia, and whether that name is the best thing for the organisation. I personally think it is not. Linux Australia is way more about F/LOSS evangelisation and the community that exists around that, than anything else. To a lesser degree, it tries to act as the "mother LUG" of all the Linux User Groups around the country, but given the loose structure of the LUGs, this is more of an assumed position than anything else. So what to call LA instead? Steal AUUG's tag line? "The Australian Linux and Open Source Community Group (ALOSCG)"? "The Australian Linux and Free Software Community Organisation (ALFSCO)"? Hmm, the second one could be mutated in "Alfresco". Cute. Funnily enough, the same arguments apply to renaming linux.conf.au, however I'm not in favour of that. I agree with what Maddog said on the linux-aus list, about it being easier for sponsors to identify with something more specific like "Linux" than something more amorphous like "Free and Open Source software". I also think linux.conf.au has a pretty strong brand associated with it. Finally, I want to bang the drum for organisational change. There was some discussion about membership tiers. I think this is a good idea. I think having paid members (and some member services) would be good. It would provide Linux Australia with an additional revenue stream, and it would allow it to provide something to its members. If there was a membership structure like "student" (which would be free), "associate" (paid, but cheap) and "professional" (paid, but slightly more expensive), you could allow all categories to vote, but give the paid members some additional services like a sticky email address, dynamic DNS hostname, maybe if LA got direct sponsors, the sponsor organisations could provide discounts to members like what SAGE-AU does. I also think that if LA were to employ a full or part-time administrative person (like SAGE-AU did until recently) would also be beneficial. This person could do heaps of administrative stuff and coordination for the organisation, as well as be a resource for the linux.conf.au organisers, and be cheaper than having to pay an Executive President or something like that. it would allow for the organisation to go to the next level, and be a little less amorphous and have a tangible existence.

17 July 2006

Norbert Tretkowski: Summer Breeze

I finally decided to visit this years Summer Breeze Open Air next month in Dinkelsbuehl together with some friends. I'm really curious to see bands like 1349, Amorphis, Finntroll, Morbid Angel and Totenmond live.

8 July 2006

Enrico Zini: Debtags smart search

I did more thinking and prototyping to the debtags smart search ideas. The result is an interactive search session with quite some smartness inside. It shows two groups of tags to choose from. The first group of tags has tags related to the keyword search. The second group has tags that, if choosen, operate a substantial trimming of the result set. We're not yet reading for uploading the new library stack to Debian. If you want to play from subversion repositories, see this mail. I can however show an example interactive session needs to be shared. Notice how I get to a high quality solution in just 2 iterations:
$ tools/debtags smartsearch image editor
Tag selection:
1) hardware::camera (44/18710)
2) works-with::image:raster (335/18710)
3) hardware::storage:dvd (27/18710)
4) special::meta (86/18710)
5) devel::debian (55/18710)
6) works-with::archive:iso9660 (44/18710)
7) use::typesetting (61/18710)
8) special::not-yet-tagged (5745/18710)
9) devel::library (3727/18710)
10) role::sw:utility (2707/18710)
11) interface::x11 (2434/18710)
12) interface::commandline (2137/18710)
13) x11::application (2040/18710)
14) role::content:data (1573/18710)
18710 packages selected so far.
Your choice (+#, -#, =#, K word, View, Done, Quit, ?): +2 -9 +11
Tag selection:
1) interface::x11 (wanted)
2) works-with::image:raster (wanted)
3) devel::library (unwanted)
4) hardware::camera (10/113)
5) special::meta (1/113)
6) use::typesetting (1/113)
7) works-with::video (8/113)
8) made-of::lang:c++ (2/113)
9) suite::gnome (9/113)
10) uitoolkit::athena (9/113)
11) uitoolkit::gtk (50/113)
12) role::sw:application (41/113)
13) use::viewing (39/113)
14) role::sw:utility (33/113)
15) use::editing (30/113)
16) uitoolkit::qt (23/113)
17) suite::kde (18/113)
113 packages selected so far.
Your choice (+#, -#, =#, K word, View, Done, Quit, ?): +15
Tag selection:
1) interface::x11 (wanted)
2) use::editing (wanted)
3) works-with::image:raster (wanted)
4) devel::library (unwanted)
5) hardware::camera (1/30)
6) special::meta (1/30)
7) works-with::video (3/30)
8) made-of::lang:c++ (1/30)
9) suite::gnome (2/30)
10) uitoolkit::athena (4/30)
11) x11::application (24/30)
12) role::sw:application (15/30)
13) uitoolkit::gtk (11/30)
14) uitoolkit::qt (7/30)
15) suite::gimp (6/30)
16) suite::kde (6/30)
17) x11::application (24/30)
18) role::content:data (5/30)
30 packages selected so far.
Your choice (+#, -#, =#, K word, View, Done, Quit, ?): d
gimp - The GNU Image Manipulation Program
babygimp - An icon editor in Perl-Tk
cinepaint - motion picture image painting and retouching tool
cinepaint-data - data files for CinePaint
digikamimageplugins - image editor plugins for digikam and showfoto
kiconedit - an icon editor for KDE
kchart - a chart drawing program for the KDE Office Suite
gimp-data-extras - An extra set of brushes, palettes, and gradients for The GIMP
scribus - Open Source Desktop Publishing
xpaint - simple paint program for X
puredata - realtime computer music and graphics system
gimp-data - Data files for The GIMP
gimp-python - Python support and plugins for The GIMP
gimp-gap - The GIMP Animation Package
gimp-texturize - generates large textures from a small sample
gnome-iconedit - A small tool to create icons for the gnome-desktop
gpaint - GNU Paint - a small, easy to use paint program for GNOME
gsumi - pressure sensitive "ink" drawing
gtkmorph - Digital image warp and morph (gtk)
gtkmorph-example - digital image warp and morph, examples
xmorph - digital image warp and morph (x11)
imaptool - A tool for creating client-side image maps
junior-art - Debian Jr. Art
kcoloredit - a color palette editor and color picker for KDE
kolourpaint - a simple paint program for KDE
kimagemapeditor - HTML image map editor for KDE
pixmap - A pixmap editor
saods9 - image display tool for astronomy
sppc - Simple Panel Plot Composer
tkpaint - Versatile bitmap/pixmap editing tool
This other section is worth seeing as well: it shows the relevant tags computed for various keyword searches (I cut out the part which is always the same):
$ tools/debtags smartsearch kernel image
1) admin::boot (132/18710)
2) use::driver (108/18710)
3) admin::kernel (252/18710)
4) protocol::dhcp (24/18710)
5) role::sw:source (79/18710)
6) admin::hardware (161/18710)
7) devel::debian (55/18710)
Your choice (+#, -#, =#, K word, View, Done, Quit, ?): k audio editor
1) sound::midi (33/18710)
2) works-with::music-notation (25/18710)
3) works-with::audio:wav (51/18710)
4) works-with::video:oggtheora (5/18710)
5) field::arts (21/18710)
6) sound::mixer (65/18710)
7) sound::recorder (10/18710)
Your choice (+#, -#, =#, K word, View, Done, Quit, ?): k package manager
1) x11::window-manager (79/18710)
2) suite::xfce (34/18710)
3) x11::display-manager (10/18710)
4) x11::theme (82/18710)
5) works-with::software:package (110/18710)
6) suite::kde (503/18710)
7) made-of::data:icons (43/18710)
Your choice (+#, -#, =#, K word, View, Done, Quit, ?): k debian package
1) suite::debian (282/18710)
2) devel::packaging (75/18710)
3) devel::debian (55/18710)
4) works-with::software:package (110/18710)
5) use::dialing (47/18710)
6) admin::user-management (114/18710)
7) hardware::modem (87/18710)
Your choice (+#, -#, =#, K word, View, Done, Quit, ?): k linux kernel
1) admin::kernel (252/18710)
2) role::sw:source (79/18710)
3) use::driver (108/18710)
4) interface::svga (31/18710)
5) hardware::usb (32/18710)
6) admin::filesystem (151/18710)
7) hardware::camera (44/18710)
Your choice (+#, -#, =#, K word, View, Done, Quit, ?): k gps
1) field::geography (57/18710)
2) hardware::emulation (98/18710)
3) works-with::image:vector (107/18710)
4) devel::ide (41/18710)
5) works-with::software:running (93/18710)
6) made-of::lang:ada (26/18710)
7) x11::application (2040/18710)
Your choice (+#, -#, =#, K word, View, Done, Quit, ?): q
This thing is getting smart. Can't wait for this to get seriously picked up by some GUI (think adept!).

26 May 2006

Colin Watson: Google Summer of Code project started (Ubuntu)

More on the Google Summer of Code: as well as the project I'm mentoring for Debian, I'm mentoring Evan Dandrea (no blog yet?), writing a migration assistant for Ubiquity. I haven't talked much about Ubiquity, mostly because I've been far too busy writing it. Ubuntu has needed an installer for its live CD for a while, partly because, well, loads of users want it, and partly because it will cut Canonical's costs quite a lot if we only have to send out half the number of CDs in shipit (apparently single-CD packaging is significantly cheaper than double-CD packaging). I'd been resisting doing something from scratch because I love d-i and I think it would be a really bad idea to end up maintaining two installer implementations from the ground up (live CDs are nice, but they don't cut it for everyone). So when I was given the task of doing a shiny live CD installer with a custom-designed UI, while I started with a more-or-less from-scratch implementation put together by Guadalinex (thanks!), I fairly quickly diverged from that and morphed it into something that uses d-i code for as much of the backend operation and logic as it sensibly can. I'd call it a sort of debconf frontend except that its design is almost opposite to how a debconf frontend should work, in that it's highly specialised to react to particular question names. This had a lot of advantages in terms of being fairly quick to write, although in the long term I think I might prefer something closer to cdebconf plugins for the job; we'll see how things turn out. Evan wanted to write an extension to this to automatically migrate settings and documents from an existing Windows installation, which I think would be an absolutely excellent thing to have: automatic migration is a real killer feature in an installer. In fact, d-i already has a start at this, namely os-prober, which in conjunction with some bootloader installer code magically sets up boot menu entries for other operating systems on your disk. So, I suggested to Evan that he might want to put most of the clever logic in a udeb, so that it can be used in d-i too, and to my relief he seemed quite enthused by the idea. He's starting on the preliminary work now and I look forward to seeing his progress. Best of luck, Evan!

18 May 2006

Eric Warmenhoven: Edit This

I had a wonderful little entry written up talking about how I’m going to become a godfather, and how I switched web browsers, and other meaningless stuff, when it got eaten. I was nearly done with it too. I don’t know exactly what caused the crash, but I do know that it took down the entire screen process, and all the windows with it. This happens to me probably once a week. It only happens to me on DreamHost’s shell server though; it doesn’t happen to me on any of the other computers I run screen on. They all run Debian, but DreamHost is the only one that runs sarge; all the others run etch. So I blame you, Debian, and will keep blaming you until I actually look into the issue enough to figure out where the problem is. Also, I continue to hate LiveJournal, even after I’ve stopped using them. Lately they’ve started tinkering with what cookies they send and when, and which ones you need in order to read protected entries. When you request the RSS feed for a LiveJournal blog, first it redirects you to a place where it checks your ljmastersession cookie, then it redirects you to a place where it sets your ljdomsess.ljuser cookie, then redirects you back to the original page you requested. This works fine in standards-compliant browsers but in half-hour hacks that you put together yourself it sends you through an infinite loop of redirects. So I had to spend another half hour working to fix that fun problem. (It really wasn’t a problem for me, other than I wasn’t able to read LJ users’ blogs for a while; the UI still worked fine, since everything is done with libnbio.) I should have just used curl, and would have except their non-blocking IO API is crap. And in other obscure software news, my viwp plugin is occasionally broken, so I’ve stopped using it, which pisses me off. I don’t like the WordPress web authoring UI for a variety of reasons (largely because it’s just a textarea), and it’s not convenient for me to use a GUI tool, and I didn’t see a TUI tool worth using. So at some point I’m probably going to have to figure out why viwp is buggy and fix it. Until then I blame WordPress.

27 April 2006

Clint Adams: Not the Atari game

I was reading a Gregory Maguire book. I won't say which one; that would be telling. A man, perhaps 45 years old, with a shaved head and a bit of drunkenness, informed me that he had just been mugged. I did not care in the slightest. He then commented on the anthropomorphized animal depicted on the cover of my book, and went into some detail about the creature's inner thoughts. He was still boring the hell out of me. Then he caught me off-guard. You ever read the Foundation series? he asked. Yeah, I mumbled, wondering where this was going. He proceeded to ramble on, inching closer and closer to me. Perhaps he thought that my name was Harry. It was not. The drunken spray of his saliva became more excited, and then he made his most impressive confession. I'm the Mule, he announced confidently. While I pondered this fact, he made sexual advances. Luckily, Arkady Darrell and Bliss and that little hermaphrodite girl swung by and rescued me. Well, no; I only wish it had ended so well.

2 April 2006

Joey Hess: daylight savings crime

(Hmm, it's time for my bi-yearly DST rant. Here goes.) One of the many lame excuses given for daylight savings time is that it cuts down on crime, since more crime occurs after dark. This might be true of violent crime, since fewer people will be out after dark, but what about other crimes? It's interesting to think about ways that criminals could exploit possible confusion, broken data-keeping, etc around the discontinuity caused by daylight saving time changes. Q: Where were you on the night of October 30th 2005 between 1 and 2 am?
A: Well, I was at this bar with my friends that whole hour, I have an alibi. Ok, that's a bit easy to catch (although there's a real life story of a similar trick being used to avoid manslaughter charges), but what about more subtle cheats? All-night workers last night could pretty easily cheat their employer out of an hour's pay, for 2 am to 3 am. Conversely, if they're not careful, their employer might cheat them next fall. The only people I've ever heard discuss this are all-night radio jockies, but those guys love to hear themselves talk enough that an extra hour to do it in is not a problem to them. I'll bet that a fry cook would rather get some extra sleep. But this is still small, er, potatoes. For really nice exploits you have to take advantage of explicit failures of technology. One such failure is in the way Windows manages daylight savings changes. Unlike Unix, which elegantly flips between two time zones, such as EST and EDT, but still keeps counting each second from Jan 1st 1970, Windows actually changes the clock. Despite a brainwashed nation that has been taught that moving the hands back or forward is the right thing to do, in the world of computers, it's bloody stupid. A google for "daylight savings windows bug" turns up a million or so hits caused by this behavior, describing problems like this:
Windows reports erroneous file modification times, which change according to daylight savings.
And this:
When Windows NT automatically adjusts for daylight savings time, the times on files on Windows NT file system (NTFS) partitions and the events in the event logs are retroactively shifted by one hour, even though the files and event records were created before the daylight savings time change.
Now, I think there's all kinds of potential for criminal fun in file modification timestamps being wrong, and log files having innaccurate times. Throw in the odd backup that fails to run due to being scheduled to run at a time that never exists, and the time slip begins to seem like an ideal time for shady activities. (And a very poor time to be in a hospital hooked up to windows-controlled life-support equipment. Double-dose of morphine, anyone?) True story: A year ago I was at a fancy hotel, which was burgalarised. This hotel had electronic locks on the doors, which logged when the doors were opened, and by whom. The techies whose possessions were stolen were able to use this information, plus what they knew about when the theft must to have occurred, to narrow down the suspects to one or two hotel employees who opened the door at the right time. If those logs went to a machine running windows and the theft occurred during England's change to DST, it's quite possible the logs would have been useless. It's not too far from this kind of scenario to something suitable as an entry in Schneier's movie-plot terrorist threats contest. Although it's worth noting that the airline industry deals with timezone changes all the time, so if they have any sense, the DST change is not an exceptional event for them. One of the interesting things about plane travel to me is the way a plane in flight between timezones is a space in which no defined time zone exists. But I digress.. I suspect that the real source of fetile bugs related to DST is in the interstices between operating systems where programs have to deal with the peculuarities of multiple OSes to behave correctly. Such as this unison/linux/windows bug. Put different systems together and they fail in myriad ways, and there's room in the cracks for criminal activity. Thing is, I don't have a very good criminal mind, at all, so if any of the slightly weak approaches I've detailed above is feasable, it seems to me there must be some terrific scams, techniques, etc, that people who are good at thinking that way, and have the right motivation can use.

1 March 2006

Amaya Rodrigo: Why dogs laugh and chimpanzees cry

After watching Why dogs laugh and chimpanzees cry, I was deeply moved. Animals have feelings too. Not to be confused with Anthropomorphism, a form of personification (the practice of giving animals human qualities).

This documentary claims that one of the reasons that mammals have had such a big evolutionary success is emotions, and talks about the (slight) differences between human and animal emotions. But it doesn t stop at mammals, it also speaks of squids and octopuses.

Just one small anecdote from the film: Dogs that cooperated in the rescue efforts after the Oklahoma bombings (1995) suffered a deep depression, finding nothing but corpses. So the firemen had to setup fake rescues at the end of the day so that the dogs could find a living human, usually a crew member. Elephants that mourned the lost ones, suricates that live in tight communities, and of course chimps that have learned the sign language, understanding a keeper s miscarriage... If you have the chance, watch this documentary. It seems that Darwing already knew taht animals felt emotions, not that different from the ones we feel, back in 1873.

Feel, indulge, here is a huge list of links on emotions.

15 January 2006

Matthew Palmer: Evolution vs Revolution

To rewrite, or not to rewrite, that is the question. If there's one thing programmers seem to love doing, it's rewriting a piece of software from scratch. Which is funny, because "the industry" spends a lot of time bemoaning duplication of effort and generally touting "reusability" and "component-based software development". Joel on Software has a fairly good treatise on why rewriting software, in general, is a Bad Thing. I may not agree with him all the time, Joel is always worth a read, and I certainly can't fault his reasoning on this issue. My primary experience with rewriting software, as with most things software-related, is in the Free Software world. Although I've been involved in (or led) rewrites of proprietary software in the past, I've seen a lot more "let's rewrite it all" death-marches in FOSS. While I wouldn't characterise them universally as "failures", they don't seem to have the beneficial effect the authors were probably hoping for. What does seem to happen, in these FOSS projects, is that the developers squirrel themselves away in their backyard labs, using the latest and greatest in software engineering processes and tools, to produce... the same end result. (If you produce something totally different, it's not a rewrite, it's a new piece of software that does much the same things as the old one). When I say "the same end result", I mean exactly that -- it does the same thing, the code is still subject to coderot over time, and so on. It doesn't seem like much useful output has been produced. So why do we do it? Joel gives some good reasons (and why they're not such good reasons). Rewrites always take a very, very long time to do. It's in their nature. They're also very demoralising -- you're not really creating anything new, you're just recreating existing functionality. In the beginning, though, it's amazingly exciting -- a whole new world of bugfree code, an engineering marvel, something for the annals of software history. But several months later, as your new code is becoming cruftier by the day, and you're just duplicating functionality that already exists, you get bored. And boredom is the death knell of FOSS projects. I presume that this excitement-fading-to-boredom progression is why everyone starts rewrites, but they're often abandoned (or, at least, take a lot longer to complete than estimated). I'd make a comparison to that favourite target of unfair comparisons, marriage, but I know my wife reads my blog, so I won't. <grin>. This boredom factor is what has affected the python-appserver backed rewrite of IRM (from php3-style PHP). I took on maintenance of the existing PHP codebase over a year ago, and the rewrite had been in progress for a while at that point. IRM now has a bunch of useful new features, and there still isn't any indication of a useable tarball emerging from the rewrite. A rewrite in progress is a terrible thing. It tends to make people wary of working on the existing codebase, if it's going to be a deadend. Without something to work on, they'll tend to wander off to other projects. However, sometimes (due to existing deployments), users will work on the deadend. If the developers have been more-or-less neglecting the existing codebase while they take on their glorious rewrite, then the rest of the world is going to have been playing with and tweaking the existing code, adding their own improvements and modifications. The result of this, when the new rewrite finally releases, is that there's great wodges of third-party code that's incompatible with the rewrite, and a large chunk of your userbase says "stuff it" and sticks with what they know. This is what looks like happening in the world of SysCP. A few days ago, I found out that they're planning on doing a rewrite from the functional-spaghetti-PHP of the current version to the cult-of-MVC-PHP. This is nice, but their current estimate is of a first RC release in February. I take this estimate with a boulder of salt -- for the full collection of usual reasons (boredom, real life, overoptimism, etc). The fact that there's not a huge amount of movement on the commit log doesn't inspire confidence, either, and despite early claims of a massive development team, only one person has been committing recently. In the meantime, I'm tasked with adding a number of small features to the current SysCP codebase, which we need for work. When the rewrite comes out, it's highly unlikely that there will be a business case for rewriting my features for the new code, and it's not likely that the features we need will make it into core. So, SysCP will probably fork -- the old, featureful, crufty codebase, vs the new, shiny codebase. If there's sufficient new features to warrant an upgrade, we'll take the plunge, but what SysCP does now is very close to what we want, so it'll take a fair amount of shiny! to get us to move. This is a general issue of software development in FOSS -- if you take your eye off the ball, for any reason, someone else will probably pick it up and run with it. Your rewrite will be a completely new project, and you'll get some of the users and the fork of your old codebase will continue to live on in another guise. Let's face it, though -- your code is going to accumulate cruft. Over time, it morphs into this bletcherous pile of huge functions, multi-purpose classes, and reams and reams of bug reports. How do you deal with this cruft? Surely at some point it's easier just to throw it out and start again? Reality says no. Joel gave the key advice in the article linked above (go read it if you haven't already -- seriously), and it's strongly hinted in my article title. Don't revolt; instead, evolve your codebase. Tweak it, evolve it, move it slowly (and compatibly) towards your utopian ideal of perfect code. You won't get there, but you'll almost certainly get closer by gradual and continuous improvement than you would be going back to the start line and walking in a different direction. There's one big question that's nagging at me, though -- what happens when you want to switch languages? I'm loving Ruby on Rails at the moment, and so are several other people at work, but we've got (both personally and professionally) huge swathes of code in PHP (and other second-rate languages) that needs to be dealt with. It's a lot harder to evolve code into a different language than apply a gradual degunking. I have a number of ideas on this point, but I'd love to hear your ideas too. In a few months, I'll have a lot better idea of what works and what doesn't in massive PHP to Rails conversions, and I'm sure everyone out there in the blogosphere will hear about them in due time.

29 December 2005

Decklin Foster: lastfmsubmitd

Apparently, tis the season to be writing your own Last.fm plugin. So here is mine. I finally got fed up with finding and causing bugs in mpdscribble (I am a bad sponsor!) it s written in C with libsoup, blah blah, can t stand C, and so I revived the MPD pseudo-listener I had started on as a replacement for that awful orphaned cacheless one-off we were all using before mpdscribble. I also fixed a few issues that were bugging me, like failing to detect restarts and tag changes. Not wanting to muddy up any of that logic with HTTP gar, I decided to write a separate program to queue, cache and send along song submissions. They re two or three hundred lines of Python each, and single-threaded (yes, that means child writers blocking and hanging around if the network code is in the middle of timing out or backing off. Deal with it! This is UNIX). I m pretty happy with the design, although the implementation is still very rough. This also mimics the model they want to move to for player plugins in general, which is good, because it will be less work for me to implement version 2.0 of the protocol once that is finalized. Additionally, I was able to find a more satisfying way to solve the disconnected-CD-player problem than my previous dreadful method of either using a few kludgey scripts to frob around in my primary plugin s cache or dealing with using cdscrobbler and having to be very careful about one plugin not stepping on the other s toes and invalidating my backlog. So this is the second example program included. (Oh yes, that part uses the Python bindings for MusicBrainz. MB is awesome. The Python bindings are hideous, however straight port of the C++ API. I d probably be better off just dumping the RDF into a real RDF implementation and doing my own cross-referencing, instead of prying it out piecemeal with select queries and non-polymorphic getters and all the other absolute nonsense you have to deal with when writing in a language without high-level data types or garbage collection. But regardless of implementation woes, this has kept me close to the MB metadata for my favorite CDs, and so I ve been busy all week entering and voting on mods (and doing research to justify my changes), which is very satisfying. I have yet to begin the gargantuan task of adding MB tags to my Ogg collection (I know, this is really just a matter of babysitting tp_tagger, but I ve got some work cut out for me to even get to that point).) And of course, once this becomes less prototypey, anyone who likes it can knock all the networking code out of their plugin and use it as their system service . Perhaps if I m agile enough this can become official code! It is at least a mootable proof-of-concept that UNIX systems don t necessarily need a heavyweight libscrobbler to abstract the service stuff out of the player plugin. I won t get my hopes up though. Still a bit unsure about the name. Theoretically it seems the service (you know, the thing we pay money to if we like it) should be Last.fm, while the software and protocols should still be Audioscrobbler, but the distinction does not seem to be drawn very clearly in practice. With the analogous situation of livejournal vs. ljcom you had a grokkable technical delineation (different repositories) as well as other widely used installations besides ljcom (DeadJournal, etc). I really can t see there ever being a competing installation of Audioscrobbler, because licensing the streamables is a formidable investment hurdle, and there s a negative market effect (also, the web site is not open source). But I am also bored of just sticking scrobble onto something else, so I wanted to grab sticking last onto something else before it got old. I haven t the faintest clue what makes me prefer whimsical names for some projects and prosaic ones for others. Note to actual MPD users (all, like, 5 of you): the stuff in the package will not handshake at the moment, as I have not yet gotten Russ to bless the client ID I made up. Will try to catch him tomorrow. Or later today I suppose. It s ready to go now. Next up: Because it s either this or Sound Juicer, I think perhaps it s time to bid adieu to abcde and write a MusicBrainz plugin for jack (jack is nice enough, I just haven t had a truly compelling reason to switch, and there have always been lots of good eyeballs on abcde). FreeDB delenda est.

24 December 2005

Aigars Mahinovs: It just came to me that if we accept the definitio...

It just came to me that if we accept the definition of "industry" (from the text of the software patent directive that EP had in first reading where it it was said) that industry basically is mass production of material goods, then there is no need for neither software industry not movie industry nor music industry - the production and distribution of copies is very efficiently achieved via the Internet. These industries are no longer needed by the society - they have no reason to exist.
Some might object - but where will the first copy come from? Well, that is not product of an industry, but a product of an artist. If originally said industries were created merely to copy and distribute works, now they are morphed into structures "supporting" artists. That is a clutch, that is not needed. There are other ways for artists to make a living off their art. Fanart and free software movement clearly shows that. Patents and copyright are just clutches for the falling industries. The clutches must go and giants must fall for progress towards knowledge society.
I would be glad if we could have professional musicians getting a minimal wage from the government. If your art has been downloaded by 10 000 people last year, you can get government pro-artist payroll. If you want more then minimal wage - do tours, sing in clubs, do advertisements, work in more then one art or get another job. I would be very glad to pay a tax for that if I could have free and unrestricted (copyright-free) access to all art of all artists. Call it art tax, device a maximum number of pro-artists the country can support via the tax, make qualification competitions, whatever. There is art without copyright. It is just not that expensive.
However, while the society will allow industries to suck their money, it will be very hard to change the situation as the very same money will be used to prove that said industries are worth supporting.
There are two ways: kick the crutches out (abolish patents and copyrights) or just move forward and ignore them and their crutches as we step through them towards freedom (develop free software, free media, free ... movements). Of course we can do the second until the first becomes viable.

In that context it is nice to see some funny lawmaking in France (a law project for "copy all you want for 5 /month") or WIPO saying that copyright is not really a right and it is quite a shame that word "right" is part of "copyright". Even reading about each new patent horror of USA court system becomes fun, because them worse it gets, the closer is the end. (Same with Bush :P)

23 November 2005

Antti-Juhani Kaijanaho: Yet another case of C++ unsafety

I was playing around with BNFC's C++ mode, and discovered that its authors have fallen prey to two of C++'s famous pitfalls: Were you aware of these issues? :) I fixed these problems in BNFC with this patch.

Antti-Juhani Kaijanaho: Finnish spell checking is IN again

Martin-Éric Racine proposes development of a new spell checker for Fennic languages (mainly Finnish and Estonian). Since he forbids use of his contact addresses from anybody who is not his customer, I have to write this in public. I was involved in 1998 in a project with similar aims, Oikoluku-SF. It never accomplished anything. My personal belief is that the main problem is getting enough linguistic data to encode the morphology of Fennic languages. All such existing data is to my knowledge non-free. The rest is just a matter of programming: the algorithms are not rocket science.

Antti-Juhani Kaijanaho: Strachey

I ran the other day into Volume 13, Issue 1-2 (2000) of Higher-Order and Symbolic Computation, which contains articles by and about Christopher Strachey. From him come terms like l-value, parametric polymorphism, first-class object. He is a classic in the theory of programming languages. The issue is freely available at Kluwer's site. I am unable to give a direct link.

Next.

Previous.