Content from 2012-08

Ah, programming...

posted on 2012-08-28 20:14:15

I just saw this over on PLT Alain de Botton's twitter feed and couldn't resist collecting and reposting it here:

The Goldilocks Principle for Programming Languages:

  1. Everyone with less theoretical knowledge than me is an idiot noob whose code is gibberish.
  2. Everyone with more theoretical knowledge than me is a pointy-headed elitist whose code is gibberish.
  3. My level of theoretical knowledge is just right and my code is clear and deep.

Addendum: I was an idiot 5 minutes ago, and will be an elitist in 5 minutes. Where's my beautiful code gone?

What a charming, weird little enterprise hacking is.

PS: With any luck I've got a very cool announcement coming in the next few days. Also, blogging is a lot more fun using emacs+git. I may just start doing it more.

Coleslaw Lives!

posted on 2012-08-26 12:42:00

New Beginnings

So, Coleslaw is alive (you're looking at it) and I've done a clean reinstall on my server for the first time since 2008 or so. Thank GOD.

With any luck, I'll get back to hacking emulators now. :) But first... a test of some features! I should really overhaul the README for coleslaw too.

;; God do I love being able to write this post in emacs. And commit and push to publish.
(defun slug-char-p (char)
  "Determine if CHAR is a valid slug (i.e. URL) character."
  (or (char<= #\0 char #\9)
      (char<= #\a char #\z)
      (char<= #\A char #\Z)
      (member char '(#\_ #\- #\.))))

(defun slugify (string)
  "Return a version of STRING suitable for use as a URL."
  (remove-if-not #'slug-char-p (substitute #\- #\Space string)))

A LaTeX/mathjax test...

$$ \lambda \scriptstyle{f}. (\lambda x. (\scriptstyle{f} (x x)) \lambda x. (\scriptstyle{f} (x x))) $$

Blogging Overhaul

posted on 2012-08-22 09:37:11

Folks, this Wordpress blog will soon disappear. I've wanted to get rid of Wordpress for a while and half-wrote some blog software back in Spring 2011. Some coworkers had a similar plight so we all agreed to finish our blog engines in a one week sprint. I'm done and will likely switch over in the coming days. My livejournal, for those of you still reading that, will no longer receive crossposts and go dark. The blog will be at and there will be an RSS feed at There is no ATOM support at this time know, patches welcome. :) For the curious, the new software is called Coleslaw after a nickname of my favorite poet Milosz. It's basically a jekyll-alike in Common Lisp. Anyway, see you on the other side.

A Fun, Maybe Useful Exercise...

posted on 2012-08-18 04:34:09

A random walk through 30 years of history...

1960s: Lisp, Simula, Algol, our hallowed forefathers
1971: Unix released in Assembly, the advent of time
1972: Unix ported to C or, the advent of Portable/Commodity OSes
1973: ML interpreter in lisp appears, the advent of Typed FP?
1974: Deutsche+Greenblatt, the advent of LispM Dreams, fast implementations
1975: Sussman and Steele, the advent of Scheme
1976: Copyright Act of 76, the advent of Proprietary Software
1977: Apple II, Atari 2600, the advent of 'hobby computing'
1978: 8086, The first BBS, TCP split into TCP/IP, the advent of networking
1979: CADR LispM paper published, the advent of Single-User Workstations?
1980: Smalltalk-80, the advent of OOP? (76 wasn't released outside PARC)
1981: Symbolics LM-2 sells, the advent of the LispM
1982: Commodore 64; Sun-1 workstation or, the advent of the Unix Workstation
1983: MSFT announces Windows; Stallman founds GNU, the advent of free software
1984: Apple Macintosh or, the advent of consumer graphical PCs
1985: Symbolics registers first domain, NES, Intel sells 386, the advent of home computing? (spreadsheets, office suites, etc)
1986: IETF is formed, IMAP is developed, efforts to add OO to Common Lisp, more standards
1987: GNU Compiler Collection, the advent of free toolchains
1988: Soundblaster, MS-DOS 4.0, a boring year
1989: General Public License, the arrival of free software
1990: Haskell 1.0, Caml Light, the arrival of Typed FP? not quite yet...
1991: Linux 0.01, the advent of open source
1992: Alpha+OpenGenera, Linux GPL'd, Windows 3.1 is released, the advent of the Dark Ages
1993: Pentium I released, the advent of the "One True"(ly bad) Architecture
1994: Linux 1.0, XFree86, Red Hat, the advent of the distro
1995: IE 1, AOL 3 hits 2 million users, the advent of the net
1996: Linux 2.0 w/SMP, Apache leads web servers, the arrival of open source
1997: Wifi+HTTP 1.1, CD-RWs+Office 97, IE, nullsoft founded, the advent of the modern age
1998: US v MSFT, Netscape open sources Mozilla, the 6-year browser war purgatory
1999: Google Incorporates, the advent of Search

Unless otherwise credited all material Creative Commons License by Brit Butler