Hi, I’m Dan. I’m a software engineer and writer in Seattle, Washington, USA. I currently work at Google.
Programming Google App Engine is a book I wrote about Google App Engine, the scalable web application hosting service. Originally written as a single volume, I am currently (2014) updating the text to be published as multiple volumes, one for Java and one for Python. The 2nd edition was published in October 2012 by O’Reilly Media. The 1st edition, published in 2009, was translated into Japanese.
From the back cover of the 2nd edition:
Google App Engine makes it easy to create a web application that can serve millions of people as easily as serving hundreds, with minimal up-front investment. With Programming Google App Engine, Google engineer Dan Sanderson provides practical guidance for designing and developing your application on Google’s vast infrastructure, using App Engine’s scalable services and simple development model.
Through clear and concise instructions, you’ll learn how to get the most out of App Engine’s nearly unlimited computing power. This second edition is fully updated and expanded to cover Python 2.7 and Java 6 support, multithreading, asynchronous service APIs, and the use of frameworks such as Django 1.3 and webapp2.
I donated several prizes to Interactive Fiction Competition 2014, and hid a puzzle game in each prize.
Scriv2DocBook is a simple workflow for writing technical books in Scrivener, the text composition application from Literature & Latte. The end result is DocBook XML suitable for delivery to a publisher, or rendering into other formats using DocBook tools.
Scriv2DocBook consists of:
The tools are tuned especially for writing for O’Reilly Media, but the result is standard DocBook.
Cologo [2008-2013] was an experimental collaborative computer programming and learning environment based on Google Spreadsheets. Students wrote programs in a significant subset of Berkeley Logo, using a novel cell-based syntax in a Google Spreadsheet. Programs manipulated a turtle graphics environment built as a Spreadsheets gadget, which could also be embedded in a web page. The widget featured a command prompt and pop-up documentation.
Google discontinued spreadsheet gadgets in 2013, so the collaborative features no longer function. You can still visit the site, enter commands into the gadget, and see example sheets.
BrainLog was my weblog from 1999 to 2011. Since 2011 I have been link blogging at Google+, so I have retired the “BrainLog” name and archives. I continue to post articles to this website, just not to the older blog.
BlogTracker [2000-2004] was a web-based utility for reading weblogs, which presented a list of your favorite sites ordered by their most recent update. Originally known as “The Subhonker Filter” (an inside joke), BlogTracker was the first public configurable view of aggregated Weblogs.com “ping” data, a standard for federated update notifications. Soon after, the popularity of blogs surged, and update broadcasts were replaced with content syndication and feed readers.
Builderoo [2004-2007] was a text processing plugin for the Movable Type blogging engine that allowed you to call out to special-purpose processors for regions of text. The main intent was to enable server-side build-time evaluation of LaTeX (mathematical notation), Lilypond (music notation), and Graphviz (data visualization) markup languages inline with blog entry text edited in the Movable Type interface. The bracketing syntax is meant to be robust enough to support most other text markup applications, protect against conflicting syntaxes, and allow nested regions.