Friday, September 23, 2005
This is a test podcast for people starting to learn Russian. The audio consists of two parts - a short “story” and a bunch of simple sentences with gaps between them long enough for a pupil to repeat them. The full entry contains the text in Russian. Later I will probably be adding word lists after texts. This is very amateur, I hope you’ll appreciate.
(Continued)
Wednesday, September 21, 2005
I have imported my LJ (2001-2002) and blogger (2002-2004) blogs. Damage: html in April 2001 entries is gone (converted to &bla;), Russian (KOI8) entries from LJ came out empty, blogger posts without titles are unaccessible.
Still to import: my OddMuse based blog. That’s gonna be tricky…
Wednesday, September 21, 2005
Just read in Brian Mastenbrook’s: Free Opera Redux …
Opera made the banner-less version of their browser free
Installed opera to check if it can do better then firefox at Milon’s Morfix - my hebrew eDictionary of choice. It seems though that opera has no idea how to render hebrew points ;-( The javascript of morfix’ pages works though, so it worth investigating further if I can make opera render vocalised hebrew correctly.
Hmm… changing the default fonts for opera made it render niqqudot somewhat better, but it still has trouble with, e.g. לִוָּה . What the hell? What’s so different about this word? Is it the font that can’t handle it or what?
Also, just noticed, it renders the title of morfix wrong way round (left to right) - firefox does it correctly. Somehow opera chooses larger fonts in some places (like the post form here, at artm.org), and it has ugly gui that doesn’t look remotely like the rest of my gnome desktop. They have “skins” or something like that, is there some chameleon skin that makes Opera look like firefox? Skins are evil (should I resurrect my evil/good list? i think thijn has formatted the original though, and since backups are evil it is gone forever).
Tuesday, September 20, 2005
Here is the new version of bash lambda example:
LISP:
(in-package :cl-user)
(defpackage :bash-lambda
(:use :cl)
(:export "BASH-LAMBDA-READER-MACRO"
"SETUP-BASH-LAMBDA-READER-MACRO"
"*BASH-LAMBDA-READTABLE*"))
(in-package :bash-lambda)
(defvar *in-exp* nil
"Flag set to t when bash-lambda-reader-macro is inside a bash-lambda expression")
(defvar *max-arg* nil
"Maximum argument number discovered so far")
(defvar *var-table* nil
"A hash table of variables")
(defun var (num)
(or (gethash num *var-table*)
(setf (gethash num *var-table*)
(make-symbol (format nil "$~S" num)))))
(defun bash-lambda-reader-macro (stream char)
(declare (ignore char))
(let ((ch (peek-char nil stream)))
(cond ((digit-char-p ch)
(unless *in-exp* (error "Anonymous variable outside bash lambda form"))
(let ((num (read stream)))
(unless (typep num '(integer 0)) (error "Bad anonymous variable number ~S" num))
(setq *max-arg* (max num *max-arg*))
(var num)))
((eql ch #\()
(let ((*in-exp* t) (*max-arg* -1) (*var-table* (make-hash-table)))
(let ((form (read stream t t t)))
(let ((vars (loop for i below *max-arg*
collect (var (+ i 1)))))
`(function (lambda ,(append vars '(&rest rest))
(declare (ignorable ,@vars))
,form))))))
(t (error "Bash lambda syntax error: dollar symbol out of place")))))
(defun setup-bash-lambda-reader-macro (&optional (readtable *readtable*))
(set-macro-character #\$ #'bash-lambda-reader-macro nil readtable))
(defvar *bash-lambda-readtable* (copy-readtable))
(setup-bash-lambda-reader-macro *bash-lambda-readtable*)
It is mostly written by Kent Pitman in his letters to me on the topic. This version, besides reader macro itself, illustrates dynamic creating of symbols and local shadowing of special variables. Symbols, created with make-symbol are stored in a hashtable, so that if the same “anonymous parameter” occurs multiple times in a form the symbol can be reused.
Special variables *in-exp*, *max-arg* and *var-table* are created by defvar forms (lines 10-15) and contain nil initially. While reading the bash lambda form, reader macro temporarily binds them to new values in a let form (line 32). After new bindings are made assignments (e.g. setq form in the line 29) change the binding and not the original binding still containing nil. The bindings are destroyed as soon as control leaves the let form that created them.
Friday, September 16, 2005

evo has made a page about e-mechanics with which i was involved shortly in August. evo and me wrote the visualisation thing in java, using java3d. The performance took place at ARS Electronica and the software continues to evolve without me.
Monday, September 12, 2005
Christian sheds a light on [Ad Sence Mystery->AdSense]:
really weird, looks like it was my entry (#12) above. Might b ebecause
of the words “External control”, that it triggers “animal repellent”?
And even stranger: years ago, in my job (drug metabolism studies), I
was indeed analysing the contents of animal and human urine!
Ain’t that spooky? Big Brother has all our moves logged in his database.
Sunday, September 11, 2005
And more Artificial Intelligence: google AdSense was bored by a TiddlyWikiDev discussion and suggested a different topic.
Saturday, September 10, 2005

Kind people of our library found a paip for me in the university of Nijmegen’s library. The book is thicker, then I expected. Skimmed through the first chapters on the way home - the usual “lisp is the coolest language on earth” stuff. But the rest of the books seems more interesting… I’ll report as I go on reading.
Thursday, September 8, 2005
SCCS-INC Internet Resource Center is unbelievable. They have a bunch of pages like:
- Bankruptcy
- Fundraising
- Flight Schools
- Mutual Funds
- …
- Business Schools
- MBA
Each page has a picture, text along the lines of:
SCCS is an internet resource center which will help you find the
information you need. Begin your justice career today by enrolling in an
accredited law program. Find and compare law schools near you as well
as around the world. Please feel free to browse our site and check back
for further updates.
And google ads. That’s it. LOL.
Monday, September 5, 2005
I’m now reading short texts from Habajit Sjelanu (which I was supposed to read parallel to Melet but didn’t) and grammar from Hadachlil. Hebrew verbs are very regular which makes it easy to learn the conjugation patterns but hard to stack different roots in Russian brain. Once I translated a story from Habajit Sjelanoe or from Hebrew Today I can read it and know the meaning of each word, but as soon as I try without context all the verbs look the same to me. I remember having similar difficulty with Dutch - anything involving sch or ij or starting with ver seemed to go to the same compartment in my memory and get mixed up with its neighbours. Which gives me hope…
I also copy texts that I have read from time to time, to not forget the handwriting script and in the naive hope that different sort of repetition stimulates the brains or something. Anyway, the whole adventure is still very exciting and I’m not giving up.