Goodbye Particle firmware, hello ESP8266 core
I’ve been using a small board called the Oak from digistump for deploying arduino home-automation devices around the house. The Oak is a great board with good wifi, but the Particle firmware has always been trouble: difficult to set up, random flaky behavior, etc. At heart the Oak is an ESP8266 chip, and these days there’s a lot of independent support for ESP8266. So when I found some notes in the Oak forum about removing the Particle firmware and using the ESP8266 core directly, I jumped at the chance to try it out.
Dec 30, 2017
Restarting the blog
I’m restarting this blog after a long period of inactivity. I’m hoping that the IndieWeb ability to post here & syndicate on Twitter will make this blog more useful as the main place where I write. I’m also going to post some more less-polished notes to significantly reduce the time it takes to create & edit posts.
Nov 26, 2017
Tips for creating large-scale Backbone.js web applications
When building a large-scale Backbone.js Single-Page Application (SPA), it’s easy to make a mess. If you don’t take pains to avoid some common pitfalls, you’ll likely end up with a codebase that’s buggy, poorly structured, and hard to maintain. Don’t do that. :-) Here are a handful of tips I’ve used when working on large-scale Backbone applications. They’re simple principles that I use as basic architectural rules, and they’ve served me well on the Insight team at NetApp and elsewhere.
Sep 18, 2014
My new jQuery plugin: load gists dynamically in a Backbone application
I occasionally use GitHub gists to display blocks of code in some blog posts. Recently, I found out that the normal way of embedding a gists in a page doesn’t work for HTML5 applications like this blog’s small Backbone client application. The official way to load a gist is via a <script> tag: <script src="https://gist.github.com/mstapp/9452045.js?file=1.js"></script> This works for the very first page load, which is rendered on the server, but those scripts don’t work for pages that are rendered dynamically.
Mar 21, 2014
Part 2: Attaching Backbone and Marionette views to existing HTML
In part one we looked at how to attach a Marionette view to the existing HTML for a navigation bar. There, we didn’t need to replace the HTML; we just needed to augment it to handle click events. This post will consider the case where we want to be able to replace the existing HTML at a later point in time. This blog page itself is an example use case: the blog is a small Marionette application, and it’s View class attaches to the existing server-rendered content on startup.
Mar 16, 2014
Attaching Backbone and Marionette views to existing HTML
HTML5 web applications frequently need to attach a view class to existing HTML. For example, the server-side piece of the application often renders a navigation bar and some other basic page elements. Some applications even render the first page’s content so the Marionette application won’t have to make a separate request for its initial content. In this situation we’ll usually want to attach a Marionette or plain Backbone view class to some of the existing HTML.
Mar 9, 2014
My Essential Git Workflow
This workflow is the core of my daily work in git. There’s more here than the bare minimum needed to work in git, but… This workflow enables us to do more later, and to work more productively. We’ll look at what this enables in later posts; for now, here’s the workflow itself. Start off by creating a new local branch (explained later in this post): git checkout -b myfeature Work locally & commit changes on that branch frequently.
Oct 15, 2013
This is the obligatory first post on my tech blog. I’ll blog mainly about Web UI development, and will also cover other tech topics as they arise. I’ve been meaning to start a blog for years. Hopefully I’ll get this off the ground & keep it aloft.
Jul 1, 2013