Jan 07


Jan 01

“Make no little plans. They have no magic to stir men’s blood and probably themselves will not be realized. Make big plans; aim high in hope and work, remembering that a noble, logical diagram once recorded will never die, but long after we are gone will be a living thing, asserting itself with ever-growing insistency. Remember that our sons and grandsons are going to do things that would stagger us. Let your watchword be order and your beacon beauty. Think big.” —

Daniel Burnham, Chicago Architect. (1846-1912)

via The Tablet, by John Gruber

Dec 09


Dec 02


Nov 06

“Any sufficiently advanced incompetence is indistinguishable from malice.” —

Clark’s Law

Via Adactio’s “Burge Pitch Torrent”.

Nov 04

“The craftman’s spirit, I think, imbues people with a sense of beauty, as in elaboration, delicacy, care, simplicity (words I often use).” —

Kenya Hara On Japanese Aesthetics

Kenya Hara, creative director of MUJI and professor at the Musashino Art University, talking about 職人気質 (taking pride in your work) felt by Japanese people. Translated by iA for a New York article “Beauty and the Bento Box”.

Oct 31


Oct 28

Troubleshooting MySQL installation on Snow Leopard

I installed MySQL 5.1.39 via Hivelogic’s “Compiling MySQL on Snow Leopard” and got the dreaded

$ mysql
ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (2)

I eventually tracked the problem down, but MySQL doesn’t make things easy. This error can be from a bunch of things, so here’s what helped

After fixing the typo, I needed to make a link from the actual mysql.sock file (in /private/var/mysql/mysql.sock) to where mysql expects it (which is actually /private/tmp/mysql.sock, as /tmp and /var actually map to /private/tmp and /private/var respectively):

$ ln -s /private/var/mysql/mysql.sock /private/tmp/mysql.sock

Oct 23

Installing gibak on Snow Leopard

Gibak is an OCaml wrapper for Git to make it easier to use Git for backing up your hard disk, or parts thereof. I probably should just start paying for DropBox already, but I still feel a little worried about moving eg ~/Library/ into the Dropbox folder and symlinking it.

Unfortunately the original author Mauricio Fernandez hasn’t been maintaining it recently, but the wonders of Github mean it’s had several collaborative bug fixes. I’ve used a fork by Chris Johnsen.

However I had some trouble getting it to compile, with this error:

*** omake: reading OMakefiles
*** omake: finished reading OMakefiles (0.09 sec)
- build . find-git-repos.o
+ ocamlfind ocamlopt -package fileutils,unix -warn-error A -dtypes
-inline 10 -S -I . -c find-git-repos.ml
File "find-git-repos.ml", line 1, characters 0-1:
Warning X: bad source file name: "Find-git-repos" is not a valid module name.
File "find-git-repos.ml", line 1, characters 0-1:
Error: Error-enabled warnings (1 occurrences)
*** omake: 23/49 targets are up to date
*** omake: failed (0.22 sec, 0/3 scans, 1/7 rules, 1/83 digests)
*** omake: targets were not rebuilt because of errors:
     depends on: find-git-repos.ml
     depends on: find-git-repos.ml
     depends on: find-git-repos.ml

After getting completely stuck I asked Chris for help, and he very kindly figured out my problem. Due to a change in ocaml-fileutils-0.4.0 I needed to change line 8 of gibak oametastore.ml from open FileUtil.StrUtil to:

open FileUtil

I also needed to change the OMakeFile to include the path to ocaml-fileutils and suppress the module name error ocaml-3.11.0 generates:

INCLUDES += /opt/local/lib/ocaml/site-lib/fileutils
OCAMLFLAGS += -warn-error x

Chris is adding these changes to his gibak fork, so you should just clone that and take it from there (see the wiki for more info). Thanks again for your help Chris, and also to Jay Levitt!

Oct 22

Installing omake-, ocaml-fileutils-0.4.0 on Snow Leopard

For omake I was getting the error:

Undefined symbols:
  "_caml_sync", referenced from:
      _camlOmake_exec__28 in[==================================================================================== exec.a(omake_exec.o)01161
ld: symbol(s) not found
collect2: ld returned 1 exit status
File "caml_startup", line 1, characters 0-1:
Error: Error during linking

I commented out the reference to caml_sync in omake_exec.ml:

(* external sync : unit -> unit = "caml_sync" *)

Next, I was getting this error for ocaml-fileutlis (which isn’t in MacPorts yet):

/usr/bin/install: illegal option -- t
make: *** [install] Error 64

The makefile contained:

/usr/bin/install -c -d /usr/local/share/doc/ocaml-fileutils/api
/usr/bin/install -c -m 644 -t /usr/local/share/doc/ocaml-fileutils/api \

It seems that -t (which is used for denoting the destination directory) isn’t an option in MacOS X’s /usr/bin/install, so I edited the makefile from:

	$(INSTALL) -d $(htmldir)/api
	$(INSTALL_DATA) -t $(htmldir)/api \
	  $(wildcard $(BUILDDIR)/fileutils.docdir/*)


	$(INSTALL_DATA) $(wildcard $(BUILDDIR)/fileutils.docdir/*) \

Seems to have worked…