ShopSimple 1.1

I just released ShopSimple 1.1 on the App Store — tell your friends, neighbors, co-workers, pets, SOs, mail carriers.

Even if I say so myself, it’s a great little shopping list application.

screen-shot-1.png

Why ShopSimple?

  • Why do I need to tell my shopping list what brand of toothpaste I buy?

  • Why do I need to tell my shopping list when I’m done shopping?

  • Why do I need I need to add things one. item. at. a. time.?

  • Why does my list have to look so complicated?

  • Why would I want to take photos of the dog food I buy?

The answer: you don’t! ShopSimple: simpler shopping lists because life is already too busy.

Basket.png

announce: tinaa 0.5.10

Firstly, my thanks to Frank Schorr for providing a very easy to follow test case. It turns out that:

  1. Tinaa still confused by iterators when [asdf-system-connections][asd] wasn’t loaded (because this meant that dynamic-classes didn’t get loaded…)

  2. Tinaa got very confused if a class had superclasses that weren’t defined (which is arguably understandable since those classes can’t be instantiated and therefore cannot be introspected… On the other hand, going into an infinite loop is generally not the best way to report an error!).

Thus I can announce Tinaa 0.5.10.

Enjoy.

announce: lift 1.7.0

I’ve just bumped LIFT to 1.7.0. The minor version increment stems from a change made to ensure-cases. Previously, singleton variables required an extra layer of parentheses, like:

(ensure-cases (var)
  ((1) (2) (3))
  (ensure (numberp var)))

This was silly so I’ve restructured the macro so that you now only need say:

(ensure-cases (var)
  (1 2 3)
  (ensure (numberp var)))

On the negative side, this is an incompatible change. If you’re using ensure-cases, you’ll need to modify your tests. I think it’s better in the long run.

This version also includes several other minor bug fixes and improvements in how the pathname of a test report is computed. Enjoy.

announce: clnuplot 0.2.2

David Thompson submitted a patch that lets clnuplot handle X-axis labels. This turns this:

(in-package #:clnuplot)

(write-plot
 (clnuplot:make-plot
  :bar
  '((1 2 "a") (2 2.5 "b") (3 3.1 "c"))
  :linewidth 3.0
  :key "off"
  :filename "bar12"
  :xlabel "Bin Number"
  :ylabel "Dance Partners"
  :x-coord #'first
  :y-coord #'second
  :title "Bin Number versus Dance Partners"
  :ymin 0.0) :postscript)

into this:

bar12.png

Thanks.

(and thanks also to the word “this,” a tireless contributor to sentences everywhere.)