What can I say?
I find it hard to understand that the men and women that make up the governments of nuclear powers do not cry themselves to death in shame for not giving their best to get rid of nuclear weapons.
Gah, the patch I’m working on is growing larger and larger!
At first, I just wanted to remove the default CSS and use the lines gained (remember the 4000 lines limit I set myself) for a simple interface to set up the style sheet for a new wiki. Basically none of the wikis I saw “out in the wild” used the default style sheet, and lots of people complained that the default style sheet looked crappy.
If I want to save the style sheet on a page, however, I will have to know which pages exist at the very beginning of every single script invokation. This makes a whole lot of optimization unnecessary that the old UseModWiki code already included: No file was read unless absolutely necessary – and that included the cache of all pages. So by default, Oddmuse did not know what pages it “had”. This kind of initialization on demand was used for NearLink”“s, InterLink”“s, PermanentAnchors, and RSS URL to interwiki moniker translation. I decided that all of it could be dumped. If somebody felt like saving some CPU cycles, let them set the variables that indicated successful initialization.
February 24, 2005, I bought !SkypeOut calling worth €10.00. I used a tiny amount of it once for a phone call that failed due to bad quality. Today I wanted to use it again. It was gone.
What the fuck?
My Skype Credit Balance 0.00 remaining Skype Credit. You have days (until ) to use this balance.
Oh, so the money just disappears if I don’t use it? Looks like robbery to me!
When I click on the “Buy Skype Credit” button, this is what I see:
“Apologies, but due to security measures, we can not process your request at this time. As a new !SkypeOut user, you are restricted to one purchase at a time. The option to purchase more credit will reappear well before your existing credit runs out. Thank you for using Skype.” 
Luxembourg, November 26, 2004
When Skype first launched our !SkypeOut service, we didn’t realise exactly how long 10 Euro would last. At our launch, we announced a policy that unused credits would expire after 180 days (6 months). Well, we’re soon reaching 180 days from our beta launch, and can see that many of you still haven’t used all of your original credit.
As a result, we are pleased to tell you that Skype has revised our policy. We won’t be clearing any balances until 6 months after you have made your last !SkypeOut call. So, if you make just one paid call every 6 months, we’ll not touch your account of unused credit.
However, if you don’t use !SkypeOut (that is, don’t make any additional purchases nor place any !SkypeOut calls in 6 months), we’ll zero your Skype balance, simply to ensure that we aren’t using expensive systems to maintain accounts for people who don’t need it. Your Skype Name will be unaffected and you will be able to still use free Skype-to-Skype calling, file transfer, and all of the other free services you’ve come to enjoy.
We believe this policy is both market leading and the right way to keep our costs down, so we can pass savings on to you. 
I can’t believe this…
I’m giving Egg Plant Farms a try for hosting CommunityWiki. At the moment I’m testing the new setup…
This will finally use the domain name I have had for so long:
I like Writeboard’s scope (sharing single pages of text on the web, no markup, diff, private or public) and design (small, elegant).
Like very very simple one-page wikis, private or public at your discretion. But I like their FAQ:
; Is this some sort of wiki?: No way. Not at all. Nope. Wikis are icky. Writeboard is about writing and editing solo or with others. It’s all about the words. Wikis are about way more than that which is why they are generally pretty confusing to most folks. 
Aaaargh! The verdict has been spoken.
They do use formatting rules.
It is interesting to note that both services provide text-editing for free. I really think this kind of thing should push MS Word over the edge. I use MS Word at work practically every day for specifications. The entire concept of Word documents sucks. (Note that MS Word in itself has gotten a lot better than it used to be ten years ago.) The concept sucks because it is unwieldy, complex, bizarre, byzantine, opaque, and confusing. The sad thing is that I often feel that most other people I know who don’t know anything but Word are much worse Word users than I am. And I don’t even like it!
Anyway. Compare Writeboard pricing with Writely:
; Writely plans: Our plan is to have the basic service be free, but extras will require a reasonable subscription fee. As we add those extra features to the site, we will include some kind of indication that they will be subscription-only in the future. We will also be charging license fees to corporations, partners, and for custom installations. 
; Writeboard: Writeboard is completely free. You can create as many writeboards as you’d like and invite as many people to collaborate on the writeboards. There are no limits. 
; Word 2003: New User Price – $229 US 
I like how Writeboard doesn’t promise any new features.
I would like this to be FreeSoftware, and would totally hope that they would succeed by selling services alone.
Just to make sure there’s no misunderstanding. I don’t like it because it is somehow part of the “Web 2.0”. I don’t like it because it somehow uses AJAX (does it?). I like simple design. SimpleSoftwareDesign, actually…
I gave it a try. Check it out. The password is “alex”.
They offer a RSS feed:
I see that the feed is currently invalid: pubDate must be an RFC-822 date 
On the other hand the UTF-8 decoding bug is probably mine. Damn. :/
Update: Not true! feedvalidator.org reports: Your feed appears to be encoded as “ISO-8859-1”, but your server is reporting “UTF-8” 
Update: SynchroEdit is (going to be) both a service and free software!
On my player, I had the following:
Nice article in the Herald Tribune with lots of annecdotal evidence for the ever increasing cost of our current patent regime. The chairman of the International Optical Disc Replicators Association says:
“There already are hundreds of patents on this generation of DVDs. What will happen when the companies launch the next generation of discs and start claiming thousands of patents?” 
via Tim's Radar
Learn Lisp using an online Lisp interpreter and an online Comic.  Awesome!
via Lemonodor's post on porting the game to Ruby…
Got Apache 2.0.54 running on my iBook with mod_perl 2.0.1 and Perl 5.8.1. At last! Oddmuse revision 1.607 will work in that setup and I documented it on Oddmuse:Using mod_perl.
The code I checked in today was rather large. I am determined to get mod_perl right, finally. And I added a feature whereby users can download CSS files from a server and install them locally. Since I cannot determine (and write) to a document directory on the web server, I store it on a page and link to it from the HTML generated. This will of course invoke the script twice for every request, even if the second call just returns a 304 Not Modified. I used to inline such pages because I felt that saving on number of processes and CPU usage was more important in a shared hosting evironment. These days I no longer agree – specially in a mod_perl environment, this is no longer important. Bandwidth turns out to be the limiting factor (and the cost of bandwidth).
Also note that a lot of tests are broken at the moment.
My Banned Content Network no longer includes the MT Blacklist.
; Jay Allen says:: “We’re all in this together and I was glad to help. But at this point, you’re costing me a hell of a lot of money and bring my webserver to it’s knees. Hence, the master blacklist is down, gone, no more.”
See BannedContentDiscussion for more info about the copying of the banned content lists…
The Invaders was another superb poem I got via the Minstrels mailing list. Thanks, NoufalIbrahim, for recommending it at the time.
The Invaders Coming by night, furtively, one by one They infiltrate according to the Plan, Their orders memorized and their disguise Impenetrable. With the rising sun Our citizens welcome them. Nobody can Think that such charming creatures might be spies. So feeble, so helpless, no one could suspect They come to make this commonwealth their prey; So few, they pose no threat; their cohort grows So imperceptibly that we neglect To notice how it musters day by day And, unalarmed, we watch as they impose Themselves, make friends in all directions, take Impressions of all keys. They gain access To all our secrets; learn to speak our tongue Like natives; profit by each false move we make; Work on our weaknesses; observe and guess The sources of power and study them to be strong. And when it happens, there will be no fuss, No streets running with blood, no barricade. We shall simply wake one morning to discover, As those who ruled this city before us Found by each door a headstone and a spade, That a new generation has taken over. -- A. D. Hope
I really like the Signal vs. Noise blog by 37signals:
689 passed, 1 failed.
Slowly things are stabilizing again! Phew. mod_perl support was moved into another file. I can’t remember the reason why mod_perl support had been part of the main script in the first place. But lazy as I am, I would not have made the move if I had not been stumped with the problem of converting the following use into a require:
use Apache2::Const -compile => qw(OK);
I asked about it on #perl on freenode, pasting five lines of code. Got an unfriendly lecture on using the pastebots for pasting five lines! I wonder how #emacs or #wiki feel like for newbies. I like the two channels. I sure hope we’re not unfriendly to newbies. But since the newbies you’re unfriendly to leave, you can’t just ask the ones that stayed.
Tonight we played Time Splitters 2 (yes, the older one), and enjoyed it very much. When we tried it ages ago, we must have missed some essential features of the game.
Later, we played Dead or Alive 2: Ultimate and the nail of my right thumb is now red and blue and hurts as if it had been hit by a hammer.
So, all tests work again, the modules have been adapted, the script works with and without mod_perl, 1.611 is a release candidate!
I bit the bullet and installed it on my sites, too.
Yeah, I moved back from Colloquy to an Emacs-based IRC client: rcirc. Easy to install (one file), easy to hack. ERC turned out to be somwhat unwieldy, mentally. Getting the autoloads right wasted a few minutes every time I had to reinstall it. I do that from time to time as I move to a new developer machine and install Emacs. Having a very simple setup of external packages is a bonus in such situations.
Anyway, rcirc was so hackable that I added two features I missed in no time: Giving nicks unique colors – something I got from a Colloquy theme by Les Orchard of 0xDECAFBAD! I liked it, I wanted it. rcircColoredNicks.
The other feature was
And being able to talk to RyanYeske as he developed a new solution for rcircAutoAuthentication was also cool.
So basically, Colloquy has the features I need and a Cocoa interface, where as rcirc has the features I need and uses Emacs.
Give me Emacs any day!
Hah, new episode on 12 Byzantine Rulers – at last!
Maybe I should reread the corresponding chapters in Gibbon’s Decline and Fall of the Roman Empire.
What I did for most of 2005 was trash email with a quick hand, rarely double-check spam filters, but I never emptied my trash folder. So I should be able to get some interesting numbers at least for the second half of 2005. Now that would be cool.
Hugh Macleode writes the global microbrand rant and mentions something I’d like to achieve: Live decently at 2% of the stress level of urban life. I’m currently at 80% of the stress level during 8 months a year, at perhaps 5% for the remaining four months. And that’s already pretty good, I think.
So how would I do it, what am I good at? I like to work on Oddmuse, hack Oddmuse configurations, write CSS for Oddmuse, and produce websites for other people. I also know that I’m good at SQL and talking to people. What a weird collection of talents. I’m also a pretty fast reader.
I remember that I once had a page where I tried to write an intro page “Internet for Women” where I imagined myself selling wiki setups to middle aged women in their forties and fifties. I tried to think of the ones I knew, they seem to like my style, some of them have a family, some of them have a job, they don’t like to handle computers, they’re still interested in the Web, they don’t chat or email much, etc.
Using a silly title in terms of technical correctness (Internet ≠ Web) and emancipation (as if Women were per se somehow Internet challenged) allowed me to focus on the target audience while writing and rewriting. I abandoned that page and that little idea of mine, by the way. All that remained is my current “beige-red” CSS.
On my player, I deleted Play by Moby, Felt Mountain by Goldfrapp, and Big Calm by Morcheeba. I added the two CDs from Lift Your Skinny Fists Like Antennas To Heaven by God Speed You! Black Emperor.
Thanks to LawrenceMitchell for recommending God Speed You! Black Emperor years ago on the EmacsChannel.
I spent a long time in the last two days tracking down a double unquoteing issue of named entities such as
&copy; (normally this displays as
©, but recently it got unquoted twice and displayed as ©).
This was introduced by a recent safety feature: The results of a GetParam call are now always HTML-quoted (to prevent HTML/script injection via parameters). This has an effect on saving, because there used to be a feature that HTML-quoted new text, unquoted entities, processed the page, retrieved the text again and saved it without quoting and unquoting.
Today, there’s a slight difference: When retrieving the text again, it is automatically HTML-quoted. I therefore HTML-unquote it again before saving. The problem is that HTML-quoting still unquotes entities. When saving, this text is unquoted again. So entities are unquoted twice due to a “feature” that no longer serves its purpose.
I think 1.615 should have it fixed. I got distracted because some tests failed, but I think that the tests were wrong. Entities are no longer spared quoting. Instead, there’s a defaul text formatting rule now which does the unquoting for named or numbered entities.
Today I spent a long time tracking down the reason why file uploads no longer seemed to work.
This was a due to a wrong encoding type for forms. For file uploads to work, we need “multipart/form-data” instead of “application/x-www-form-urlencoded”. I removed the manual override from Oddmuse in a recent checkin. The reason was that the manual override triggered a bug in newer versions of CGI.pm: The attribute would be listed twice per form element, resulting in invalid XML. Removing the override relies on defaults, however, which again seem to depend on the exact version of CGI.pm in use.
I’m using start_multipart_form instead of start_form, now. I’m sure this is not supported in all versions of CGI.pm, but at least the versions I am confronted with at the moment seem to know it.
I upgraded my desktop from Slackware 10.1 to 10.2. Everything seemed to work – just follow the instructions in the UPGRADE.txt file. But now I discovered that USB is not handled correctly. No more external USB drives. Huh? I’ll have to look into this.
See comments on this page for the story about conflicting kernel modules messing up my USB access.
It took me more than two months to realize that the default X11 setup was wrong, too. See 2005-12-27 Software.
Weil der Abend mit zwei Gästen so schön war…
|1 Tasse Chana-Dhaal (halbierte Kichererbsen)||Die Linsen drei Stunden in Wasser einweichen.|
Das Einweichwasser abgiessen, die Linsen in einen Topf geben, und mit 2 Tassen Wasser auf kleiner Stufe eine halbe Stunde kochen lassen
|Erdnussöl, 1 TL Senfkörner, 1 TL Schwarzkümmel (Kalonji oder auch Zwiebelsamen genannt), 1 getrocknete Chilischote (oder etwas gemahlenen Chili)||Nach etwa 15 min Linsen kochen kann man schon mit dem nächsten Schritt beginnen: Öl erhitzen, Gewürze anbraten.|
|1-2 Tassen Spinat (tiefgekühlt ist kein Problem)||Hitze reduzieren, Spinat hinzufügen, bei Bedarf etwas Wasser beigeben, und mischen.|
|1 TL klein geschnittener frischer Ingwer (oder mehr!), 1 TL gemahlener Koriander, 1 TL gemahlener Kreuzkümmel, 1 TL Salz (oder etwas weniger), je nach Masochismus noch mehr Chilipulver||Gewürze zum Spinat geben, mischen, und ca. 10 min auf schwacher Hitze einkochen.|
|Saft einer halben Zitrone (oder etwas weniger)||Inzwischen sollten die Linsen auch fertig sein, unter den Spinat mischen, Zitronensaft dazu, mischen, anrichten, fertig.|
I did a large search-and-replace operation on Emacs Wiki the other day, and this large group of edits somehow crash the despamming extension. I worked around the problem by limiting despamming by the cronjobs to one day only, but basically the problem remains unsolved.
2005-10-17 Kochen shows that I need to work on the CSS: The logo somehow prevents the table from expanding to the right when printing, and there’s an extra hr at the end of the table.
Internet Explorer sucks so incredibly much when using it for HTML form work (Wikis, Web Mail). If you switch back and forth in the history, your current state is lost. No matter how much time you spent writing it.
Joel Spolsky writes about cubicles vs. private offices. I work offices together with 4 to 6 people, usually. Joel writes:
[…] the one advantage of open space which people keep bringing up is all the accidental, serendipitous knowledge transfer that takes place when everyone overhears everyone else. I think it’s not worth the productivity loss caused by an increased number of interruptions. 
I think he’s right. I hate interruptions.
Is JakobNielsen right when he recommends Using Link Titles to Help Users Predict Where They Are Going? I’m not sure. I think it would be even better to provide enough context so that relying on link titles is not needed at all.
I just use it for NearLinks; there, I indicate to which site the link will take you.
Genau darauf zielten bereits die Passgesetze des 17., 18. und frühen 19. Jahrhunderts ab. Sie dienten nicht der lückenlosen Überwachung und Erfassung, sondern dazu, den oder die Reisenden dem Zwang zur Kontrolle zu unterwerfen. Aus der Sicht der kontrollierenden Obrigkeit ist der perfekte Ausweis deshalb derjenige, der ein kleines Fehlverhalten seines Besitzers oder seiner Besitzerin dokumentiert. Ein fehlender Stempel, eine ungültige Gebührenmarke, eine versäumte Frist zur Verlängerung der Gültigkeitsdauer - eine kleine, aber signifikante Verletzung der Regeln. Der Beamte kann entweder großzügig über sie hinwegsehen oder sie ernst nehmen und sanktionieren. Identifikation als Kontrolle heißt, den Kontrollierten in einen Zustand zu bringen, in dem er bereits einen Fehler gemacht hat und ihn daraufhin dauernd verdecken, verbergen und sich dafür entschuldigen muss. 
Die bittere Wahrheit des Papierkrieges! Egal ob Steuern, Niederlassungsbewilligung, Einwohnerkontrolle, Visas – die Logik des Staates unterscheidet sich von der Logik der Datenschnüffler im Dienst von Kommerz und Versicherungen. Dort wird gesammelt und zusammengestellt (Zielgruppen) oder ausgeschlossen (Risiken). Beim Staat funktioniert es anders: Es werden tausend Regeln aufgestellt, damit die danach folgende Beamtenwillkür abgesegnet ist. Zum Glück bin ich bis jetzt noch nie so richtig unter die Räder gekommen.
Meinem Vater ist das aber schon passiert: Nach zwei Jahren Auslandaufenthalt in Thailand meldeten sich zwei Behörden. Die Steuerbehörde behauptete, dass der Mittelpunk des Lebens trotz Abwesenheit die Eigentumswohnung in der Schweiz sei; die Fremdenpolizei behauptete, dass die zweijährige Abwesenheit die zugestandene Frist für seine Niederlassungsbewilligung überschreite, und ihm diese deswegen aberkannt werde.
I fixed the Oddmuse:Local Names Extension today after noticing that it did not work on my site. I noticed that something was not right. Then I wrote two simple test cases which worked, wrote some more, and when they failed, I fixed the code to get the working again. Automated testing rules! While it is often difficult for me to do for new code, it works very well for many bugs I’m discovering later.
I haven’t found a way to write mod_perl tests that don’t involve an entire web server setup and assumptions about URLs etc.
At first I had tried to isolate the local names bug on my local mod_perl instance. This proved to be very difficult. Resetting the code was also difficult. So there were bugs in the code, old code not being updated on the server, etc. It was very tricky to work with. When it all worked in an ordinary CGI environment again, and I did some testing involving the creation of new files using the mod_perl instance, everything started working again. I think having both the CGI version and the mod_perl version use the same database is a bad idea.
http://itunes.stanford.edu/ – includes faculty lectures! Cool.
StefanBucher hat eine kleine Liste von Webseiten aufgestellt, welche beim Schreiben helfen.  Und er hat auf die Word Nerds verlinkt. Und ein Kapitel zur Verwendung von RSS in seinem Online Buch geschrieben. 
http://www.publicip.net/ – a CD for setting up a public WiFi called !ZoneCD. Based on free software. Does not require expensive hardware. Does not even require an installation.
The CD is based on Morphix which is based on Knoppix.
The creator of the CD gets it:
The sharing of code so that the next developer can pickup and take the software in a new direction is what makes open source work. 
I like this part. But it got me thinking. What’s so hard about setting up a public WiFi? Is it hard to set up? Certainly the !ZoneCD doesn’t require much:
The piece of hardware used for the !ZoneCD can be any PC with a minumum of 128MB RAM, two etherent cards, a floppy drive, and a CD-ROM (see system requirements). 
It seems to be easy to setup in “open mode”, ie. no logins, no filtering, etc. I’m not sure what “closed mode” requires – fancy setup, or access to their “control server”. Perhaps I’m misunderstanding. I’m in favor of Open WLAN, so all I think we need are more people offering access points.
That should be easy to setup using a self-sufficient access point. I’m very happy with my Apple Airport Express for up to five people. And they have a bigger one, the Apple Airport Extreme for up to fifty people.
So what would !ZoneCD give you beyond that? Control! I think that’s the point:
I prefer Trusted!
|Title||Time||Speaker||Lecture||Rating||Squandered Victory: The American Occupation and the Bungled Effort to Bring Democracy to Iraq||1:34:16||Larry Diamond, ‘74, MC ‘78, !PhD ‘80||Regional Speaker Event (Denver)||★★★★||Perception, Decisions, and Reward: Toward a Neurobiology of Decision Making||2:00:35||William T. Newsome||Bio-X: Talks in English||Popular Constitutionalism and Judicial Review||1:15:13||Larry Kramer||Regional Speaker Event (Monterey)||The United States and the World||58:28||Philip Zelikow||Freeman Spogli Institute for International Studies||U.S. Foreign Policy: The Road Ahead||53:29||Samuel R. Berger||Freeman Spogli Institute for International Studies||Looking Ahead: A New Nuclear Arms Race||1:24:38||Scott Sagan, Christopher Chyba, Hans Blix||Freeman Spogli Institute for International Studies||★★★★||Gurus, Hired Guns, & Warm Bodies||1:29:27||Steve Barley||Management Science & Engineering||Presidential Politics and U.S. Foreign Policy||1:53:50||Coit Blacker, Larry Diamond, Judith Goldstein, William Perry, George Shultz||Reunion Homecoming 2004||★★★|
Copying the MP3 files from iTunes proved to be impossible. iTunes insisted on copying the M4A files instead. This program truly is teh suks!
That’s how innocent geeks like me end up writing command lines like the following:
for f in /Music/iTunes/iTunes\ Music/*/*/*.m4a; do f=`dirname $f`/`basename $f .m4a`.mp3; echo $f; cp $f .; done
This assumes that you converted all your M4A files to MP3 and want to copy them all to the current directory. This works for me because the Standford files are the only M4A files I have.
OSX also sucks when used for removable drives such as MP3 players, because deleting files will just move them to a hidden directory on the same device, so you’re forced to empty the trash if you do that. And emptying the trash will empty the trash for all devices. Teh suxs – I’m telling ya’!
I found out how to delete the M4A files: After converting the files, they are still listed in your Stanford music store folder, but in your library, each title is listed twice. With no indication of which file is the MP3 file and which file is the M4A file, I took some random samples and decided that the second file is the one I want to delete. Manually mark these, and delete them, moving the files to the trash, then double-check there (sort by date and try to find your files in the messy list).
The longer I work with the system, the more I am convinced that this is not what I consider to be usable software. All tasks except sorting, playing, streaming, and downloading tricky and convoluted, involving a lot of manual clicking, double-checking and experimenting. Yuck!
I noticed that the MP3 files I listened to seem to end about a dozen minutes early. I’ll have to listen to the discussions at the end on iTunes and check that the M4A files are complete.
I generally believe in writing text instead of simple scoring. Therefore:
We had a day or two without Internet access at home. I started reading a new book!
I am very much enjoying The Last Light of The Sun by Guy Gavriel Kay. But you know I like the guy, helped finish the Silmarillion and all that.
Via StefanBucher’s delicious bookmarks:
“We’ve observed that it’s almost always the case that if a user is clicking on global navigation, it’s because they are completely lost.” 
I wonder how many users ever click on About, !BlogRoll, CSS, New, and Calendar.
Today I brought OddWiki back up, upgraded modules, fiddled with the setup and now users can have a CSS file per namespace.
I also improved the maintenance script such as to mark wikis for deletion that have not been touched in 180 days.
Somehow talk turned to Chinese Astrology and some people being proud of being a Tiger instead of a Buffalo:
Now: Who is who??