I've been playing around with the Electron framework, formerly known as Atom Shell. It's a tool based on Chromium and io.js that allows you to build cross-platform desktop applications in JavaScript, and is most famously used as the framework for the [Atom][atom] text editor as well as the [Slack][slack] team messaging application. While Apple, Google and Microsoft all offer intriguing platforms and lots of cool features, there was something I needed to build quickly and didn't have the time or resources to find native OS X/Windows developers in which to help me complete it. So I turned to the tools I know best: JavaScript and, especially, Ember.js.
Well it's been a little over two years since I last completely
reconfigured this blog, and now that it actually (mostly) works I felt
like it would be fun to take a little tour of the more interesting
features of this blog. The current iteration of the blog is written in
Ember.js, and the entire blog application lives on your
browser, hosted via Amazon's CDN. This post explains how I
built a pseudo-static web site with Ember and Ember Data.
Recently, I've been very interested in the development of the
Ember.js framework, which has grown rapidly in the 3 years or
so that I've known it. We've seen great apps being made
with (most of) it, and it's gone from something that left
me truly puzzled into an understandable and almost indispensable
tool in my web development arsenal. While developing a Backbone app,
I took a second look at Ember after they released their new
routing API, and fell in love with how little code I
wrote while developing a simple application. But the way
that Ember worked flies in the face with one of my other favorite
tools...
At the job, we're constantly trying to improve the UX of
eLocal.com by making the site behave harder, better, faster,
stronger. For some reason, recently we've had a surge in these kind
of feature requests from the "peanut gallery" of sales and operations
staff who are the primary source of feedback for the application. Most
of what I do every day is solving bugs or adding new features to this
big monolithic app, which powers the vast majority of our business. It
is used by the staff on a daily basis to accomplish all sorts of tasks,
from an in-house CRM to an advanced billing system (complete with
recurring charges and invoicing), as well as basic control of our paying
customers' ZIP code ads and lead dissemination.
So here we go, another new layout and another re-hash of this blog's content. I threw away the last two iterations (still have the data, though) of this blog, because I was unsatisfied with the poor content on it. So let's start again.