Jason R. Fruit

stay-at-home father and computer programmer

kiwi

Programming


Language Matters

When programmers discuss languages and somebody asks about advantages of one language or another, it is inevitable that some professional point-misser will bring up Turing-completeness. Stack Overflow is particularly given to this. For example, on this question about what Python is good for, someone answered that "All the languages you've mentioned are Turing Complete, so in theory there is nothing one can do and another can't."

That's true, but irrelevant and almost meaningless. Though it may be . . .

Read more

Emacs, SQLite, and Widgets

In a Stack Overflow answer to a question about using SQLite from Emacs there was a link to a tutorial by Mortimer B. Cladwell III. In it, he shows how to use Emacs as a rapid application development (RAD) tool, using the widget library to create user interfaces and his own SQLite wrapper as a starting point for database interaction.

It's a good idea, but the code --- especially that for SQLite interaction --- needs a little work. It sprays temporary buffers all over the place and can only "connect . . .

Read more

Oh, Yeah --- and JavaScript

A couple months ago, I wrote about limiting myself to two languages. I forgot something that should have been obvious: you can't avoid JavaScript. No matter what language you are ostensibly writing in, if your application is destined for the web, or uses web technologies, you will end up writing JavaScript, because that's what web browsers understand. (We won't discuss VBScript in polite company.)

JavaScript is a nice little language, and I like it, for the most part. I wish it were a little more . . .

Read more

My Productive Computer Setup

I was thinking this afternoon about what I need from a computer to be productive. It's not very much:

I think that about does it: a means of efficiently creating text and code, languages to tell the computer what to do, and ways of viewing others' content in a few common formats. Anything beyond that . . .

Read more

My Two Languages

Most good programmers know several languages well enough to use them competently. However good I may or may not be, I am very comfortable with at least 7:

I'm more than a beginner in a few more:

However, I'm a stay-at-home-father; I don't have a huge amount of time to keep up-to-date with ten languages. Therefore, I've decided to limit myself to two at least for the next couple of years, Python and Ada, each for . . .

Read more

My Problems With Common Lisp

I've been writing some Common Lisp recently, and I mostly love the language. There are some things that annoy me, though. Some of them are mere warts in the language design, probably relics of its history as a compromise, like this:

> (first '(1 2 3 4))
1
> (last '(1 2 3 4))
(4)

Wouldn't any sane person expect first to return the first element of the list, and last to return the last, rather than one returning a single element and the other the last cell?

Far more important to . . .

Read more

SICP

I should have a page about my ongoing efforts to work through SICP while raising a toddler.

I've discussed an example from SICP in the context of my problems with Common Lisp on another page. Read more


Python + Lisp = Thnake

I put together a live-CD Linux distribution a year or two ago called Thnake. It was based on Puppy Linux and included Emacs, SBCL, SLIME, and Python, along with a few nice packages, and it was designed to make it easy for beginners interested in Python or Lisp to try the language without making any changes to their OS installation.

I haven't been active with Thnake for a while, but occasionally I get asked about it, so I've made it very informally available.

Therefore, if you must, you may download . . .

Read more

Emacs diatheke-mode (a Bible-passage mode for Emacs)

I've written an Emacs minor mode to insert scriptural references using the diatheke command-line interface to libsword from the Xiphos open-source bible-study tool.

Usage Summary

Diatheke.el provides diatheke-mode, which includes the following:

Keyboard shortcut Function name Description
C-c C-b
diatheke-set-bible
Set the current bible translation
C-c C-i
diatheke-insert-passage
Insert a passage by reference (e.g. Leviticus 17:1-18:3)
C-c C-p
diatheke-phrase-search
Insert . . .
Read more

William Stallings' Operating Systems, 4th Edition

My wife is the best. She gave me a ten-dollar gift certificate for Amazon.com, and as always, I looked for used books. I've always wanted to really understand operating systems, so I looked for books on operating systems' operating principles.

I found a copy of the 4th edition of William Stallings' Operating Systems: Internals and Design Principles, published in 2002. I know that the 7th edition is about to be released, and that the modern commercial OS discussed is . . . Windows 2000, but for . . .

Read more
Next 10 >>>