Third Year in Review
In what has now become somewhat of a tradition for me, I’m looking back on the past year and digging up stats about the blog and my career. This was definitely an …
6m 2JavaScript Developer Survey Results
The end of year is drawing close and the JavaScript Developer Survey has now ended. The survey received an unimagined amount of replies and I’m excited to share …
12m 41JavaScript Developer Survey
Following the footsteps of Alex R. Young and his retired dailyjs.com blog, I’ve put together a survey about JavaScript usage similar to those he used to host on …
a minute 2Making a Progressive App with ServiceWorker
In previous articles, you’ve learned about how to use
ServiceWorker
, the different strategies that you can leverage to serve content offline and faster, and all …6m 2ServiceWorker, MessageChannel, & postMessage
Last week I wrote an article about a caching strategy for progressive networking that uses a cache first and then goes to the networking, sharing messages between web …
10m 3ServiceWorker and Progressive Networking
I’ve been toying with
ServiceWorker
for a while. The single most complicated issue when it comes toServiceWorker
has been dealing with caching in a …9m 6Subscribing to Pony Foo
3m 6ServiceWorker: Revolution of the Web Platform
While not the most amusingly named feature of the web platform, everything seems to point at ServiceWorker being the most significant addition to the web platform since …
19m 14ES6 Overview in 350 Bullet Points
My ES6 in Depth series consists of 24 articles covering most syntax changes and features coming in ES6. This article aims to summarize all of those, providing you with …
37m 28Securing Your Web App in 3 Easy Steps
I’ve recently upgraded Pony Foo to use the
https
protocol, something I’ve been meaning to do for a while. It’s super easy to do so, and …6m 4Keeping Your npm Dependencies Immutable
I’ve been bitten a few times by dependencies using semver ranges such as
^1.0.1
where the dependency introduced a “non-breaking” change that ended …7m 5Inlining Critical CSS for Dynamic Web Apps
During the redesign I was faced with a problem and I had to rethink the way I inline CSS in my blog, so I figured it’d be a good time to write about it in more …
12m 10Using the JavaScript Charting Library
I’ve been asked to review the JSCharting enterprise charting library, and given that I’ve recently dabbled in visualizations I felt like this was a great …
29m 1SVG and the DOM, or “The Weirdest Bug I’ve Ever Encountered”
I wanted to take a step back from all of the ES6 articles that have been popping up on Pony Foo lately to talk about a bug I came across last week. As I mentioned …
8m 4Pony Foo Gets a Face Lift
Pony Foo’s design remained largely the same throughout its history so far, as I never really spent a lot of time on its design. Today I’m thrilled to …
7m 26ES6 Promises in Depth
Welcome back to ES6 – “Dude, we already had those!” – in Depth series. If you’ve never been around here before, start with A Brief …
31m 21ES6 Modules in Depth
Welcome back to ES6 – “Oh, good. It’s not another article about Unicode” – in Depth series. If you’ve never been around here …
16m 9ES6 Strings (and Unicode, ) in Depth
Yo. Here’s another edition of ES6 – “I can’t believe they killed off Stringer Bell” – in Depth series. If you’ve never …
32m 6ES6 Object Changes in Depth
Howdy. You’re reading ES6 – “I vehemently
Object
to come up with a better tagline” – in Depth series. If you’ve never been …13m 5ES6 Array Extensions in Depth
Hello traveler! This is ES6 – "Oh cool, I like
Array
" – in Depth series. If you’ve never been around here before, start with A Brief …26m 4ES6 Math Additions in Depth
You’ve made it! Here’s another article in the ES6 – “What? I’d rather develop for IE6” – in Depth series. If …
18m 1ES6 Number Improvements in Depth
Hey there! Glad you’re here in time for ES6 – “Back to School” – in Depth. Never heard of it? Refer to A Brief History of ES6 Tooling. …
30m 10ES6 Reflection in Depth
Oh hey – I was just casually getting ready, didn’t see you there! Welcome to another edition of ES6 – “Oh. Good. We survived traps” …
12m 5More ES6 Proxy Traps in Depth
Hey there! This is ES6 – “Traps? Again?” – in Depth. Looking for other ES6 goodness? Refer to A Brief History of ES6 Tooling. Then, make your …
20m 1ES6 Proxy Traps in Depth
Welcome to ES6 – “Please, not again” – in Depth. Looking for other ES6 goodness? Refer to A Brief History of ES6 Tooling. Then, make your way …
24m 5ES6 Proxies in Depth
Cheers, please come in. This is ES6 – “Elaine, you gotta have a baby!” – in Depth. What? Never heard of it? Check out A Brief History of ES6 …
13m 5ES6 WeakMaps, Sets, and WeakSets in Depth
Welcome once again to ES6 – “I can’t take this anymore” – in Depth. New here? Start with A Brief History of ES6 Tooling. Then, make …
11m 4ES6 Maps in Depth
Hello, this is ES6 – “Please make them stop” – in Depth. New here? Start with A Brief History of ES6 Tooling. Then, make your way through …
18m 6ES6 Symbols in Depth
Buon giorno! Willkommen to ES6 – “I can’t believe this is yet another installment” – in Depth. If you have no idea how you got here or …
13m 10ES6 Generators in Depth
This is ES6 in Depth, the longest-running article series in the history of Pony Foo! Trapped in the ES5 bubble? Welcome! Let me get you started with destructuring, …
26m 9ES6 Iterators in Depth
This is yet another edition of ES6 in Depth. First time here? Welcome! So far we covered destructuring, template literals, arrow functions, the spread operator and rest …
10m 5ES6 Let, Const and the “Temporal Dead Zone” (TDZ) in Depth
This is yet another edition of ES6 in Depth. First time here? Welcome! So far we covered destructuring, template literals, arrow functions, the spread operator and rest …
14m 11ES6 Classes in Depth
Welcome to ES6 in Depth. Are you new here? You might want to learn about destructuring, template literals, arrow functions, the spread operator and rest parameters, or …
8m 10ES6 Object Literal Features in Depth
Once again, this is ES6 in Depth. If you haven’t set foot on this series before, you might want to learn about destructuring, template literals, arrow functions, …
5m 2ES6 Spread and Butter in Depth
Welcome to yet another installment of ES6 in Depth on Pony Foo. Previous ones covered destructuring, template literals, and most recently, arrow functions. Today …
13m 15ES6 Arrow Functions in Depth
The daily saga of es6-in-depth articles continues. Today we’ll be discussing Arrow Functions. In previous articles we’ve covered destructuring and template …
6m 7ES6 Template Literals in Depth
Yesterday we’ve covered ES6 destructuring in depth, as well as some of its most common use cases. Today we’ll be moving to template literals. What they …
11m 27ES6 JavaScript Destructuring in Depth
I’ve briefly mentioned a few ES6 features (and how to get started with Babel) in the React article series I’ve been writing about, and now I want to focus …
10m 23A Brief History of ES6 Tooling
I wrote a few articles about React and ES6 these last few days, and today I wanted to add a bit more of context as to why I seem to be super into ES6 all of sudden. …
4m 2React, JSX and ES6: The Weird Parts
I’ve spent a few days working with JSX and React and I have mixed feelings about them. React is pretty neat, but I find that they made some very unusual choices …
11m 37Server-side React Layout & Side Effects
We’ve been hard at work last week analyzing how to build a universal app using React. First we looked at the bare minimum needed to run Babel through Browserify …
9m 8Universal Routing in React with ES6
Yesterday, we learned about how to set up a build process for an universal ES6 React app using Babel, and how to have that React app render “universally” …
10m 5Universal React with Babel, Browserify
I finally got around to trying out React, and this blog post will detail my initial impressions as well as a tutorial on how to make your React apps universal from the …
13m 14Polyfills or Ponyfills?
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 …
5m 6Things you can do with native DOM
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 …
5m 7Git and GitHub Hacks
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 …
5m 5Why I Write Plain JavaScript Modules
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 …
12m 22Dream of Browser Test Automation?
Browser testing has been a pain for a decade now. The landscape is showing a lot of promise nowadays, and I wanted to share the approach to client-side testing …
6m 0README Driven Development
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 3Low-Budget Hosting Tips
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 …
8m 7Maintaining Open-Source Software
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 …
6m 0Pragmatic 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 22