eReader 2.1: The Unbotching May 11th, 2009
Patrick Stein

I mentioned earlier that eReader totally dropped the ball on free content by dropping support for manybooks.net and other free eBook sites.

I am happy to say that this functionality is restored in the latest version of eReader. I just tested it again to make sure it works. It seems peppier than before, too. It used to be a real pain to navigate around ManyBooks.net from within eReader. Now, it uses ManyBooks.net’s mobile site. It’s a much better experience.

Twin Cities Lisp Group Starting Up May 9th, 2009
Patrick Stein

(defmeeting tc-lisp
   "Twin Cities Lisp Group Inaugural Meeting"
  :date    '(9 June 2009)
  :time    '((6 :pm) . (8 :pm))
  :venue   "Common Roots Cafe"  
  :address "Corner of 26th and Lyndale in Minneapolis, MN")

Complete details on Robert Goldman’s page. Here is an introduction to the first talk (by John Maraist):

NST: A Unit Test Framework for Common Lisp

In this talk we will introduce the Lisp unit test framework NST. SIFT developed NST for internal use on a number of ongoing Lisp projects, and we believe that the system is now mature enough to release more broadly. In this talk we will review the notion of a unit test, and introduce the use of NST in Lisp project development. NST’s implementation makes interesting use of a number of Lisp features—macro expansion, compile-time execution, metaobject protocols—and we will discuss its current implementation as well as the lessons we learned along the way.

There is also mailing list, and more information about the Common Roots Cafe.

Move over UML, I Have SQL May 8th, 2009
Patrick Stein

I have been trying to nail down a design for a sizable software project. I know how I want the system to behave. I just hadn’t nailed down a good API or internal structure for it yet.

I knew that I was going to have to track multiple versions of uniquely identifiable data with different versions stored in different locations.

I had all sorts of UML drawing on whiteboards and graph paper and in OmniGraffle. Everything just kept getting messy.

Earlier this week, I read a great article about Using SQLite on the iPhone. So, today, I tried to hammer out what I would do with this data if I were using SQL to track it. I wrote a bunch of CREATE TABLE statements and then a few SELECT statements.

It worked. Getting the JOINs in the SELECT statements to make sense forced me to make the relations in my data as simple as possible, but no simpler. I had been trying to jam many-to-many relationships into one-to-many or many-to-one relationships. The SQL exercise forced me to get it right.

Will I use SQL in the final project? Maybe, but it doesn’t seem like I will need it. Did I need to use SQL for the design? Absolutely.

What is Your Coding Style? May 7th, 2009
Patrick Stein

In cleaning out some directories, I stumbled upon a draft of a document that I wrote three and a half years ago. That document describes my programming style.

What the document says is mostly out of date. I hadn’t even used Perl or Lisp to any great extent at that time. But, here is the thing…. It doesn’t matter.

Writing the document was an important exercise. Looking at some of my Objective C code, I think it may be time to repeat the exercise. For months after writing that document, I named my variables better, I named my functions better, and I wrote more maintainable code.

So, what is your coding style?

Sneak Peek: Screenshot for Spelling iPhone App May 6th, 2009
Patrick Stein

Earlier, I gave a sneak peek at some artwork for the children’s spelling game I am making for the iPhone. Here is a screenshot of the application (click for full size):

spell-it-four

I need to touch up the jaunty logo tiles in the upper left. Some of them are worse for the wear after the perspective transformations and rotations. More to follow….

l