August 30, 2004
I was recently having trouble with sound and RealPlayer10 on Linux. It turns out that RealPlayer10 (and Helix Player) only support the older OSS sound drivers (rather than the newer ALSA drivers). I was on 2.6.6. I downloaded 2.6.8.1 and this time only compiled the OSS drivers and not the ALSA ones. Be aware that you should not (perhaps cannot) load both OSS and ALSA drivers.
I finished the SISC videos last weekend (although I need to return to the last 4). I wanted to get back to finish watching a lecture webcast series for the subject Operating Systems and Systems Programming from Berkeley. I’ve seen a previous years lecture series but I’m pretty sure I didn’t finish. It’s all in Real media format so you need RealPlayer. It’s not so good on dialup – I hardly get a frame but the audio is ok.
Leave a Comment » |
Uncategorized |
Permalink
Posted by Steven Shaw
August 22, 2004
Just watched Erlang the Movie from 1990 (200M, via lambda-the-ultimate). Such a laugh I had to watch again
. However, there was a serious demonstration of a “hot software upgrade” technology which allowed the system software to be patched while continuing uninterrupted in “24×7″ style.
I downloaded the movie via BitTorrent using BitTornado. You can “apt-get install bittornado-gui” if you’re on Debian.
Erlang is a programming language that uses message passing concurrency rather than shared state concurrency (as in Java). Some other languages with message passing concurrency are Oz, E, Io and apparently MultiLisp (a Scheme dialect).
Leave a Comment » |
Uncategorized |
Permalink
Posted by Steven Shaw
August 18, 2004
The SICP video lectures talk about how data is not intrinsic. That is, once you have lambda, you have enough to create all the data structures you want. Of course that is without caring for efficiency.
Here’s some code I was mucking around with the other night:
; Implement pairs (cons, car, cdr) in terms of lambda.
(define cons
(lambda (a b)
(lambda (x)
(cond ((eq? x 'car) a)
((eq? x 'cdr) b)
(else (error "bad dispatch"))))))
(define car
(lambda (pair) (pair 'car)))
(define cdr
(lambda (pair) (pair 'cdr)))
; Example to type into the scheme repl.
(define a (cons 3 4))
a ; => a procedure
(car a) ; => 3
(cdr a) ; => 4
(a 1) ; error "bad dispatch"
; The following attempts to work out what "error" does. This example will
; probably display "1" and then exit to the repl with "bad dispatch" error.
; It may not as Scheme doesn't define the order of evaluation for arguments to
; a combination.
(+ (display "1\n") (a 99) (display "2\n"))
Leave a Comment » |
Uncategorized |
Permalink
Posted by Steven Shaw
August 14, 2004
http://www.paulgraham.com/pypar.html
I learnt Python afew years ago. I’ve moved onto Ruby for day to day tasks and am studying Scheme and Common Lisp when I can spare a moment.
Today I was watching another couple of videos from the Abelson and Sussman collection. It’s about 9G of divx movies. I’m pretty dedicated to my lisp education – I’m only on 32k dialup connection. I watched 6a&b about streams (again) and then got onto the very amusing lectures on meta circular evaluation (7a&b). Very funny – a must see for any lisp enthusiast.
I was also reviewing multithreading issues in Common Lisp implementations via the slides from Roger Corman’s talk on the subject.
Leave a Comment » |
Uncategorized |
Permalink
Posted by Steven Shaw