I’m Steve Atkins
an email developer
from Palo Alto

about me

I’m Welsh-Californian.
I code. I cook. I make.
I make the Internet a better place.

recent projects

Email standards tools
Simplified email authentication
Status updating…

Technical Book Giveaway

- - posted in books, giveaway

I have a bunch of technical books that I’m giving away or recycling in the next week or so.

They’re mostly at this goodreads page but there’s also an elderly hardcopy set of Linux man pages and some 7.0 era Adobe product manuals, in the unlikely case you’re interested in such a thing.

There’s quite a lot of software development books – XML, XSLT, Windows development, Javascript, CSS, Flash, Flex, Apollo, C++, WebObjects, Perl, Python, SOAP, Erlang, HTML, Mathematica, Linux Home Automation, MFC, tcl/Tk, Java, Qt, Winsock, ATL, ActiveX, ColdFusion, Visual J++, Access.

Some system administration books – Linux Network Administrators Guide, VOIP, system security, Windows Networking.

And some more academic texts – Data Mining (a current, excellent, book that’s a duplicate), Optoelectronics, Engineering Mathematics, Quantum Physics, Neural Networks, Calculus, Vector Analysis. Some of them are old (1950s) but still relevant (and the “revised” editions are still published as standard texts).

If you want anything drop me a line (steve@blighty.com) in the next week or so and I’ll put it to one side, if we’re likely to run into each other in the next couple of months. If you’re really excited by something I’d consider mailing it. Everything else is getting recycled.

Thai Sweet Chili Sauce

- - posted in recipe

  • Two jalapeños, halved and seeded
  • 4 large garlic cloves, peeled
  • ½ cup brown sugar
  • ¼ cup white vinegar
  • ¼ cup water
  • 2 tbsp dry sherry
  • 2 tbsp thai fish sauce
  • 1 tbsp corn starch
  • 2 tbsp water

Put everything but the last two ingredients in a blender and puree until the solids are all pretty small.

Bring the mixture to a boil in a small pan over medium-high heat. Reduce to a simmer and cook for about three minutes.

Make a cornstarch slurry, whisk it in to the hot mixture and simmer it for another minute.

That’s it. It makes a very nice sweet chili sauce. I used green jalapeños so it’s not the traditional red colour – I might try it with red jalapeños or serranos next time.

Mixing three or four parts of this sauce with one part of soy sauce makes a pretty good savoury sauce for pot stickers or chicken strips or spring rolls.

Malaysian-ish Bok Choi

- - posted in recipe

  • ½ large white onion, sliced
  • 1 – 1½ baby bok choi, sliced
  • 1 14oz can coconut milk
  • 2 cloves garlic, finely chopped
  • 1 tbsp sambal oelek or other chile paste

Bring the coconut milk to a simmer and stir in the garlic and chile paste, add the onion and the bok choi stems and simmer for 15 minutes. Add the bok choi leaves, season and simmer for another 2 minutes. Great with rice.


- - posted in pebble, teatime

I’ve spent a couple of days playing with my new Pebble, and I’ve gone from “I vaguely remember C, I guess” to “I have a finished app, in the Pebble app store”.

It’s been very satisfying to complete something from start to finish, something that seldom happens in my professional life.

So what did I build? It’s an app that lets you select a type of tea from a list, tells you how much leaf tea you should use and what temperature of water, then runs a countdown timer so that you brew it for the right length of time. When your tea is ready, it vibrates.

Pebble-the-company are announcing something at CES tomorrow, probably their new 2.0 OS and it’s associated app store ecosystem – so I decided to sign up for an app store account and publish it. They’re geared up for commercial developers, so they required some marketing banners and other collateral. Yay for Photoshop, Illustrator and some stock icons.

The app store isn’t live yet, but the whole thing is available from my github page.

Pebble Watch

- - posted in pebble

I ordered a Pebble as a late Xmas present for myself.

It’s a nice bit of hardware – eInk display, 80MHz ARM CPU, three axis accelerometer and bluetooth to connect to a phone, all in less than 50 grammes.

Out of the box it has some fancy watch faces and the ability to display notifications from apps running on the phone, so inbound SMS or facebook updates display on the watch.

But it also has a fairly decent SDK that lets you develop native apps to run on the watch in C, and talk to either native phone apps or portable javascript apps hosted by the phone, to give a configuration UI and to get access to geolocation and web services.

Half an hour in I have “hello world” running on it. This might be interesting – though it’s been years since I’ve written more than a few lines of C.

Rice Pudding

- - posted in recipe

  • 1.5 oz pudding rice
  • 2 tbsp brown sugar
  • 20 fl oz milk (2% or full)
  • 1 tbsp butter
  • nutmeg

This recipe comes from the 1958 edition of Good Housekeeping’s Basic Cookery In Pictures.

If you can’t get pudding rice then other short grain rices might work – arborio or a short-grain japanese rice.

Put the rice, sugar and milk in a broad pyrex or ceramic bowl or pie dish, dot the surface with shavings of butter and grate some nutmeg over it.

Bake at 300F for about two hours.

Cable Car

- - posted in cocktail

  • 3oz spiced rum (e.g. Sailor Jerry)
  • 1.5oz orange curacao
  • 1oz lemon/lime juice
  • 1oz simple syrup
  • 1oz sour mix

Shake over ice, strain into two cocktail glasses.

Quick Kansas City BBQ Sauce

- - posted in recipe

When you say barbecue sauce, this is what I think of.

  • 1.5 cups bourbon
  • 1 cup ketchup
  • 4 tbsp molasses
  • 2 tbsp worcestershire sauce
  • 2 tbsp malt vinegar
  • juice of half a lemon

Reduce a cup of the bourbon down almost to a glaze, maybe 2 tbsp of liquid.

Add the rest of the bourbon and pull off any solids that have begun to stick, then add everything else. Simmer until it’s reduced by a third.

PostgreSQL and ISO 8601 Timestamps

- - posted in postgresql

ISO 8601 is the ISO standard format for timestamps. It looks like “2013-08-27T10:30:00Z”, where the “T” is a separator between the date and time, and the “Z” stands for the UTC timezone.

It’s not often used in end user visible text, but it’s a decent format to use for data interchange, metadata and microformats. As just one example timeago.js uses it to render HTML5-style

If we’re pulling timestamps from PostgreSQL then we can use to_char() to render them in whatever format we like.