Thu, 17 Dec 2009
It's nice to see SQLite supports table constraints:
$ sqlite3 test.db SQLite version 3.6.19 Enter ".help" for instructions Enter SQL statements terminated with a ";" sqlite> create table t1 ...> (k int, ...> s int, ...> e int, ...> d int, ...> constraint se_or_duration check ...> ((s is not null and e is not null) or d is not null)); sqlite> insert into t1 values (1, 8, 4, null); sqlite> insert into t1 values (2, null, null, 8); sqlite> insert into t1 values (3, null, null, null); SQL error: constraint failed sqlite>
Thu, 19 Nov 2009
It looks like I got oo2c to build and work under Mac OS X Snow Leopard, with some stupid hacks, at least enough for my purposes. I don't claim that this is suitable for production work.
Here's the configure invocation I used:
CFLAGS='-no-cpp-precomp -fnested-functions -I/opt/local/include' \
LDFLAGS='-L/opt/local/lib' \
./configure --prefix=/sw/versions/m64/oo2c/2.1.11 --disable-libs
Here's the patch.
Fri, 25 Sep 2009
To get UTF-8 to work when sending drafted messages in Wanderlust with Emacs 23.1 I had to apply this patch to FLIM.
I also checked out the wl-2_15_6-vtl branch in the wanderlust repository and the semi-1_14-vtl branch in the semi repository. (See repos for info about the repositories.)
Wed, 09 Sep 2009
Thu, 03 Sep 2009
Weird: after compiling and installing chicken with:
make PLATFORM=cygwin PREFIX=/sw/versions/cygwin/chicken/4.1.0 make PLATFORM=cygwin PREFIX=/sw/versions/cygwin/chicken/4.1.0 install
I had to copy /sw/versions/cygwin/chicken/4.1.0/lib/*.a to /sw/versions/cygwin/checkin/4.1.0/bin before it could link things properly. (I first noticed this while doing a $ chicken-install ncurses.)
Wed, 02 Sep 2009
Someone once said something along the lines that to those in the Western world who don't speak Japanese there is an alternate universe of FOSS [1] development in Japan [#china], and every so often things from that universe just appear in the Western FOSS universe as mysterious foreign objects. Ruby seems to have made a solid connection between the universes, but many others less approachable.
Wanderlust development and the development of the emacs packages that it depends on (APEL, FLIM, and SEMI) feel like that to me. Some of them have web pages, but they're usually quite out of date. It can be difficult to their CVS repositories, and even more difficult to find the browse-able web interfaces to their CVS repositories. Every time I want to look at the code, I have to figure this all out again, hence this post.
There was a post on the Wanderlust English-language mailing list from Katsumi Yamaoka <yamaoka@jpl.org> on Wednesday, 27 May 2009 that gave the location of the APEL, FLIM, and SEMI cvs repositories, and mentioned that development in the FLIM and SEMI repositories was taking place under the flim_1_14 and semi_1_14 branches, respectively. The post also said that the place for discussion about APEL is the APEL mailing lists:
To subscribe, send an empty e-mail to apel-en-ctl@m17n.org and/or apel-ja-ctl@m17n.org.
The place to discuss FLIM and SEMI is the EMACS-MIME mailing list:
To subscribe, send an e-mail containing “subscribe YOUR NAME” in its contents to emacs-mime-en-ctl@m17n.org and/or emacs-mime-ja-ctl@m17n.org.
So, here are the CVS commands I just used to check the various packages out:
cvs -d :pserver:anonymous@cvs.m17n.org:/cvs/root checkout wanderlust cvs -z9 -d :pserver:anonymous@cvs.m17n.org:/cvs/root checkout apel cvs -z9 -d :pserver:anonymous@cvs.m17n.org:/cvs/root checkout -r flim-1_14 flim cvs -z9 -d :pserver:anonymous@cvs.m17n.org:/cvs/root checkout -r semi-1_14 semi
Here are the browse-able CVS web interfaces:
- http://cvs.m17n.org/viewcvs/root/wanderlust/
- http://cvs.m17n.org/viewcvs/root/apel/
- http://cvs.m17n.org/viewcvs/root/flim/
- http://cvs.m17n.org/viewcvs/root/semi/
| [1] | Free or Open Source Software. |
| [2] | I wonder if there is a Chinese alternate universe of FOSS, too? |
Wed, 19 Aug 2009
So, last night I flopped a book down on my computer. I didn't notice it at the time, but it popped off the “N” key. Luckily, when I opened it this morning all four pieces were still there.
Directions: Top means toward the display, bottom means toward the touchpad.
The pieces, for lack of better nomenclature, are:
- The key surface (the part your finger presses on)
- The inside part
- The middle part, with small horizontal posts on the outside left and right edges part way back from the top D. The outside part, with small horizontal posts
You need to figure out how this pieces fit together and what parts catch where.
It took me a lot of fiddling, but eventually I figured out that it if I put the outside part on top of the middle part, flattened them, set them in the space where the key goes, and gently slide them toward the bottom that the bar at the top of the middle part and posts on the outside left and right edges of the outside part would slide under the cuts in the thin metal pieces that stood up from the base of the keyboard. Then I hooked the bottom of the inside part under the bar on the bottom of the middle part and gently pressed down on the front of the inside piece until it clipped on to the bar of the on the front of the middle piece. Once this was done, I had, viewed from the side, an X with a bar across the top. Then I slide the key surface onto the X from the bottom, making sure to hook the back of the X under the lip on the bottom underside of the key. Then I gently pressed down on the key surface until the clips on the front of the key surface clipped onto the front of the X.
Sun, 03 May 2009
Tue, 28 Apr 2009
I like to stick to Free/Libre (as in freedom) and Open Source Software as much as I can, but I haven't found a open source program that lets me add text on existing PDF documents yet, so I use a commercial but free (as in costs nothing for personal use) program PDF-XChange Viewer, which can be downloaded here.
Unlike most of the other commercial but free programs that allow you to add text to existing documents, PDF-XChange Viewer doesn't add any nagware watermarking to the document to indicate that it was produced with the free version, so you can use it fill out forms in PDF documents that don't have electric form fields, which is very useful on long forms.
It's not perfect — I've had trouble with it on a few PDFs that seemed to have pathological defects — but overall it works well.
I'd still rather have a Free/Libre or Open Source program, though.
Fri, 24 Apr 2009
It's strange, I know, that while I like case sensitive filenames, I don't actually want to be bothered matching the case exactly when I'm using tab completion. Fortunately, emacs and bash both accommodate my whims. For bash, add
set completion-ignore-case on
to your ~/.inputrc file. For emacs, add
(read-file-name-completion-ignore-case t)
to your emacs initialization files. Of course, if want to get rid of all completion case sensitivity, you need
(setq completion-ignore-case t)
too.