My Books, Writings, and Videos
I have written countless articles and blogs, spoken at many developer conferences, and written three books. This is a sample of my work.
HTML Canvas: A Travelogue (2014)
HTML Canvas: A Travelogue is an interactive guide to learning Canvas, the JavaScript graphics API in HTML 5. This free ebook on the web gives you a complete overview of Canvas and dives deep into a few key areas to give you an understanding of how Canvas works and where to learn more. Read it now. The source on github for the book contents and the examples. A zip of the examples is here. HTML Canvas: A Travelogue uses interactive teaching techniques that are not possible with a printed book, such as draggable variables to see how output changes in real time.
Building Mobile Apps with Java, Using GWT and PhoneGap (2010)
I wrote this book for O'Reilly Media. Does what it says on the tin. Building Mobile Applications with Java, using GWT and PhoneGap gives you an introduction to GWT and PhoneGap, then shows how to combine them to build mobile applications. I cover not just the basic technologies, but also introduce 3rd party libs like GWT-MobileUI, a PhoneGap bridge, and Box2D for making video games with Canvas. The book gives you just the essentials to get started and a few hands on projects. No fluff. I didn’t fill the second half of the book with reference material like so many other books that just want to pump up the page count. My goal from the beginning was to be short and effective. Get in, get out, get going. Buy It from Amazon. The source to the three main projects of the book. You will need to edit the location of GWT in the build.xml scripts before you compile them.
Swing Hacks (2005)
I co-wrote Swing Hacks with Chris Adamson, also for O’Reilly. It shows you how to push the Swing GUI toolkit to the limit, with lots of cool tricks and effects. Amazingly, it is still a pretty relevant book even after eight years. Which shows just how much use desktop Java really has. You can get it on Amazon as well.
Research Papers
- Systematic output modification in a 2D user interface toolkit, contributor.
- The DrawStream Station or the AVCs of Video Cocktail Napkins, contributor
Videos, Presentations & Webcasts
- Building with Watson: Streaming data enhanced with PubNub BLOCKS and Conversation, for IBM & PubNub
- Connect.Tech 2016 keynote: Infopocalypse 2020
- Creating Mobile Apps with GWT and PhoneGap
- Building Mobile Physics Games with GWT and Box2D
- The Hogwarts Textbook, for Ignite Portland 2012
Articles
2017
- Natural language processing bridges the gap between computers and humans for ITProPortal
- Sometimes You Just Gotta Ship for Gamasutra
- How to build a better chatbot for Venture Beat
- Do you even need to make a chatbot? for Venture Beat
- On Uber, Gardens, and Why Corporate Culture Matters for Medium
- 5 Features You Can Use in ES6 Today for Scotch.io
- Move your business in the right direction with geolocation mapping for IoT Agenda.
2016
- MMOWAM: Massively Multiplayer Online Whack-A-Mole for Gamasutra
- How Chatbots Can Help You Future-Proof Your Startup for LA TechWatch
- Serverless Computing: A Rad Word Chat Filter for Scotch.io
- Create Your Own Language in Less Than 200 Lines of Code for PubNub. And in Chinese (I think).
- How to Create a Text-to-Speech Audio Broadcast with PubNub and Raspberry Pi for ProgrammableWeb
- Many, many other posts for PubNub.
2015
- Networks get smarter with stream oriented computing for Embedded Computing Design
Pre 2015
- Why You Can't Build a Smartphone, for Gizmodo
- How webOS is awesome for new parents for webOS Nation
- Create a bubble chart with HTML Canvas .net Magazine
- The Future Of Desktop Computing (Yes, There Is One) Interview for Forbes & O'Reilly
- Mapping Mashups with the JXMapViewer for Java.net
- Building Maps into Your Swing Application with the JXMapViewer for Java.net
- Swing and CSS for Java.net (2003)
- Generating PDFs for Fun and Profit with Flying Saucer and iText (2007)
Posted August 23rd, 2013
Tagged: