Archive for October 2007
rythm by CM
One can directly execute this command in a CM prompt producing a 120 BPM C7 sound for half a minute :)
(events (process for i below 60 output (new midi :keynum 'c7 :time (/ i 2) :duration .5) wait .1) "intro.mid")
algorithmic noise generation
I always have ideas when listening music. E.g. things should be changed to make it more enjoyable for me. I often feel the need to express my thoughts on this which materialize itself in forms like hacking CM and in searching for composers’ work. I’d like to be able to create compositions like Christopher Burns did with his Kepler’s Monsters. Direct links are 1, 2, 3.
this week (& before)
I ordered a try out box, which is cool. This week’s issue is Grov portion from gothiatek dot com.
Before this, the followings happened to be consumed: [metropol], [ld black mini], [roots wild berry], [catch licorice], [lucky strike], [level mini].
beautiful quote
“… uproar of oil and motors from the bay whose exhaust fumes fluttered through the house on hot afternoons like an angel condemned to putrefaction.”
(Marquez – Love in the Time of Cholera)
contemporary organ
I happened to participate on a contemporary organ & quire concert. The performer was Iveta Apkalna who played fantasies from Thierry Escaich, Saint-SaĆ«ns, etc. I didn’t manage to find any useful sites about ‘em. It was really really good.
guitar
Juan Carmona plays good music.
lalr(1) in cl
Parsing is easy with cl-yacc. With just the
(defun list-lexer (list)
#'(lambda ()
(let ((value (pop list)))
(values value value))))
(define-parser my-parser
(:start-symbol S)
(:terminals (a b))
(S (a S b) ()))
code you’ve already been able to parse like
CL-USER> (parse-with-lexer (list-lexer '(a a b b)) my-parser) (A (A NIL B) B) CL-USER>
lalr(1) in cl
I decided to play a bit with cl-yacc (which is an lalr(1) parser generator). I felt the need to convert the resulting parse tree back to the sequence which it was before. You can do it with this:
(defun toseq (ptree)
(if (consp ptree)
(append (toseq (car ptree))
(toseq (cdr ptree)))
(if (null ptree)
nil
(list ptree))))
New stuff.
cheat
SVN cheat sheet.
svnadmin create d:\repository
svn import -m "new project" projdir \
file:///d:/repository/projname/trunk
svn co file:///d:/repository/projname/trunk localname
svn st
svn add file.ext
svn ci -m "change"
svn mv f1.ext f2.ext
svn info f2.ext
svn diff -r 1 dir\file.ext
svn diff -r 1:2 dir\file.ext
svn -m "create place for tags" mkdir \
file:///d:/repository/projname/tags
svnlook tree d:\repository
svn -m "create a tag" copy localname \
file:///d:/repository/projname/tags/rel-1.0