Pragmatic Semantic Versioning
These are short-form “thoughts”, in addition to the usual longer-form articles in the blog. The goal is to publish one of these every weekday. I’d …
3m 7Fixing Performance in the Web Stack
There’s plenty of performance optimization techniques in web development. Particularly, if you look into each portion of the web stack in detail. In the …
28m 4Let’s talk about Web Performance
For the past few months I’ve been speaking at conferences about web performance. Unfortunately, none of those awesome conferences have published their talk videos
21m 1Leveraging Constraints
These are short-form “thoughts”, in addition to the usual longer-form articles in the blog. The goal is to publish one of these every weekday. I’d …
4m 0Blogging and OSS — Food for Thought
I’ve been toying with the idea of releasing short-form “thoughts”, in addition to the usual longer-form articles in the blog. The goal is to publish …
Fast-forwarding the Web Platform
Peter-Paul Koch – or @ppk – has once again published a rupturing article titled “Stop pushing the web forward” that is surely going to set …
8m 1Composable UI
Most often, web UI libraries fall under one of two categories. They may be part of a “framework”, or a grouping of UI components that share an appearance, …
22m 7Testing JavaScript Modules with Tape
I held a survey last monday where I asked for feedback about the kinds of things you want me to write about. It was quite useful, and one of the topics that seem to …
19m 21The Progressive Web
I’ve blogged very little about Taunus since I first released it, roughly a year ago. Back then, it only powered ponyfoo.com, but now there’s a few cases in …
22m 4Priorities
Peter-Paul Koch (@ppk) recently wrote an article that generated noticeable turmoil. One of the best responses was Jeremy Keith (@adactio)'s article, …
6m 2Designing Front-End Components
Last monday I published an open-source library to easily take control of drag & drop in the front-end, dragula, and it has amassed over 2000 stars on GitHub in under …
16m 9The Great Web Module Compendium
For the past few months I’ve developed quite the number of front-end modules. These range from UI components to utility libraries, silly games, and everything in …
8m 3Leveraging Immutable Deployments
Last time around, we discussed how to create an AMI for every deployment: a crucial step in enabling you to leverage deployment immutability. This time around …
31m 2Immutable Deployments and Packer
A correcter title for this series would be something along the lines of “Automating autoscaled zero-downtime immutable deployments using plain old bash, Packer, …
26m 3Server-First Apps are a Good Idea
Earlier today, Tom Dale published an article sharing his views on the whole “server-side vs client-side rendered apps” debacle. I was tempted to call this …
9m 16Baking Modularity into Tag Editing
For quite some time I’ve been wanting some sort of input that dealt with user-submitted tags in a reasonable way. I wanted this input to still be half-decent when …
7m 7Cross-tab Communication
The upcoming SharedWorker API allows to transmit data across iframes and even browser tabs or windows. It landed in Chrome years ago, and not so long ago in Firefox, but …
6m 22Second Year in Review
I started this blog two years ago, at a time when nobody seemed to care about blogging anymore. It turned out to be one of the best decisions I took back then, and it …
9m 1I’m Building Stompflow!
Hey there! Today I have exciting news to share. We’ve recently started developing a prototype for a project management service called Stompflow, and it has a …
a minute 1Are Regular Expressions Stateful?
I seem to have stumbled across a bug regarding regular expressions using the
g
modifier, where they seem to preserve internal state across calls toRegExp.prototype.test
…a minute 2Measure, Optimize, Automate
We’ve already covered the different techniques you could use to vastly improve the performance of your front-end applications, their page load time, and the …
11m 0My CampJS Experience
I was never really the camping kind of guy. Sounds like the perfect opportunity to collect kindling, start a bonfire, set up a tent, sleep in a bedroll, not have …
6m 0Stop Breaking the Web
The year is 2014, a ninja rockstar band goes up against the now long-forgotten progressive enhancement technique, forsaking the origins of the web and everything they …
12m 48Adjusting UX for human visitors
In this article I’ll analyze the past and present of UX in Pony Foo. In doing so, we’ll go over the features that were introduced to improve the lives of …
13m 4Free sample: JavaScript Application Design
My first book, JavaScript Application Design is in the final stretch and due to come out very soon! The code samples are finalized and publicly available on GitHub. …
2m 0Critical Path Performance Optimization at Pony Foo
This article aims to cover the performance gains I’ve attained in the redesign of Pony Foo, deployed last week to production. I’ll be covering a few …
29m 20The Conventional Front-End
Conventions are a great thing. Frameworks such as Ruby on Rails and ASP.NET MVC are good examples of conventional MVC implementations. Conventions are essentially …
4m 0A Gentle Browserify Walkthrough
Building modules for the front-end has become an increasingly easy problem to solve. Back in the nineties we had our Java applets, our
<MARQUEE>
and<BLINK>
…23m 3JavaScript Quality Guide
I’ve recently created a JavaScript Quality Guide, and I wanted to share it on Pony Foo as well. The latest version can be found on GitHub. As …
26m 5A BrowserSync Primer
BrowserSync is a browser testing tool, similar to LiveReload. It also synchronizes across browsers and is going to provide HTML injection in the very near future, …
5m 6Building High-Quality Front-End Modules
Lately I’ve been developing front-end modules solely based on Browserify, the latest being rome. Rome is a calendar component that has an extensive feature-set. …
17m 2Choose: Grunt, Gulp, or npm?
Deciding on a technology is always hard. You don’t want to make commitments you won’t be able to back out of, but eventually you’ll have to make a …
17m 16How To Avoid Object.prototype Pollution
Some times you just need to extend
Array
objects. Think of the possibilities. Dream of how much more awesome jQuery would’ve been if it provided all of theArray
…4m 4Taunus: Micro Isomorphic MVC Framework
I’ve mentioned Taunus in one of my latest articles. I believe Taunus is interesting, not because it introduces innovative paradigm shifts or the like, but rather, …
12m 7CSS: The Good Parts
I’ve decided to pour my thoughts of how the CSS of an application should be modelled into a formal style guide. I’ve been using this approach for over a …
18m 14Modularizing Your Front-End
In the past I’ve wrote about a small alternative to
async
, namedcontra
, which is barely over 2kb, and has the browser at its heart. It comes with the usual …15m 2Shared Rendering with Rendr
Rendr boosts the perceived performance of Backbone applications by rendering them in the server-side. This allows us to display the rendered page before JavaScript code …
24m 0Head First Public Speaking
5m 0A Less Convoluted Event Emitter Implementation
I believe that the event emitter implementation in Node could be made way better by providing a way to access the functionality directly without using prototypes. This …
5m 9Angle Brackets, Synergistic Directives
In the previous part of this article, I discussed scope events and the behavior of the digest cycle. This time around, I’ll talk about directives. Just as …
33m 4