Implementing Machine Learning for the Offline Web with TensorFlow.js

Offline Web apps are finally a thing. The cleverest of ideas which were previously only imagination, are now reality.

Thanks to the various storage mechanisms provided by modern browsers, it is now possible to save machine learning models directly on the client side. You can then use these to produce outputs without requiring a connection with the server.

This post demonstrates how to do that.

Continue reading “Implementing Machine Learning for the Offline Web with TensorFlow.js”

This Week I Learned #3: ES6 Proxies

I finally managed to find the time to understand what ES6 proxies are. Proxies are a spiffy feature that add some versatile metaprogramming capabilities to JavaScript. In simple terms, they enable you to modify the language-level behaviour of JavaScript objects. Continue reading “This Week I Learned #3: ES6 Proxies”

How to Write Unfancy Web Apps

Ever since the advent of HTML5 and ES6, the web is moving forward at the speed of the Millennium Falcon.

While the world was still in awe at Angular’s superpowers, the React phenomenon happened. And while the average corporate Java dev gets over the overwhelming pace of events, Angular 2 and Polymer will be ready to refill their pile of things to be amazed at.

And that is a good thing. It means better APIs, better developer ergonomics, and most importantly, better resulting products.

However, sometimes people forget that they do not need a Batmobile to get to the grocery store. When you’re building a simple web app that does one small thing, you do not need an MV* framework, with a component-driven view layer, powered by a Swiss Army CSS Toolkit. All you need is the bare minimum abstraction, just enough to save you from the nitty-gritty of the raw JavaScript and CSS. Continue reading “How to Write Unfancy Web Apps”