Article Publication History
I first started developing the blogging engine for Pony Foo around mid-2012. I had just read The Pragmatic Programmer and I was looking for a challenge. I built the engine using Node.js and that’s how I got into server-side JavaScript. I really enjoyed publishing articles on a blog, even though — for a long time — nobody read what I published. Eventually people started reading the blog, and nowadays some people even go as far as to read minutiae about how the blog came to be. I find that immensely rewarding. Not long after I started blogging I decided to write a book about JavaScript Application Design, which was published in February, 2015.
Reading every English article ever published on Pony Foo — there’s 218 of them — would take you approximately 2 days. Better get to it!
- Bootstrapping a UI component library —
published
- React Data Survival Kit —
published
- Discovering patterns with React hooks —
published
- Disguise Driven Testing: Jest Mocks In Depth — Part 2 —
published
- Conflict Resolution and Code Reviews —
published
- Disguise-Driven Testing: Jest Mocks in Depth —
published
- The Action Pattern: Clean, Obvious, Testable Code —
published
- React State: Choose Wisely —
published
- GraphQL in Depth: What, Why, and How —
published
- JavaScript Performance Pitfalls in V8 —
published
- Unhappy Path Driven Development —
published
- Module Design
—
published
- Okta, Auth0, & the Goblet of Identity —
published
- A Guide to Modular Design Thinking —
published
- An Introduction to Speculative Optimization in V8 —
published
- Mastering Modular JavaScript
—
published
- A Brief History of Modularity —
published
- A Tiny Story about Systems Complexity —
published
- Make All Images on Your Website Responsive in 3 Easy Steps —
published
- Investigating Performance of Object#toString in ES2015 —
published
- Interviewed at Tencent Frontend Conference —
published
- Null Propagation Operator in JavaScript —
published
- Pattern Matching in ECMAScript —
published
- Setting up 2FA for Node.js Applications —
published
- TC39, ECMAScript, and the Future of JavaScript —
published
- Regular Expressions in a post-ES6 world —
published
- Mixing Generators Into Iterators —
published
- Observables Proposal for ECMAScript! —
published
- Variables declared using
const
are not immutable —published
Content-Security-Policy
in Express apps —published
- Setting up an Angular 2 Development Environment —
published
- The JavaScript Standard —
published
- Let’s use
const
! Here’s why. —published
- How Terrible Code Gets Written by Perfectly Sane People —
published
- Fourth Year in Review —
published
- Thousands of Color-coded Visualizations in React —
published
- Making Time for Side Projects: A Daily Habit —
published
- Announcing Practical Modern JavaScript
— and the Modular JavaScript Book Series! —published
- Modular JavaScript launches in a week!
—
published
- Fixing an XSS vulnerability in
marked
—published
- JavaScript Asynchronous Iteration Proposal —
published
- How I Got Into Programming —
published
- Template Literals are Strictly Better Strings —
published
- What Does a Sound Look Like? Web Audio Art! —
published
- Binding Methods to Class Instance Objects —
published
- JSON Web Tokens vs. Session Cookies: In Practice —
published
- Two-way Synchronization for a Web App and Git —
published
- The Art of a Pull Request —
published
- ServiceWorker: A Basic Guide to BackgroundSync —
published
- How Pony Foo is ridiculously over-engineered
— and why that is awesome —published
- The Double-Edged Sword of the Web —
published
- An Elastic Stack Primer —
published
- A Promise-Based Worldview —
published
- Setting Up Elasticsearch for a Blog —
published
- Just Married!
—
published
- NodeConf hits the ground running in Latin America —
published
- GitHub for Human Beings
—
published
- ECMAScript Proposal for JavaScript Decorators
(and protocols) —published
- The
npm
Meltdown Uncovers Serious Security Risks —published
- JavaScript Proposal for weak references:
WeakRef
—published
- Making a Simple Site Work Offline with ServiceWorker —
published
- All Aboard the ES6 JavaScript Train —
published
- Proposal: “Statements as Expressions” using
do
—published
- Proposal Draft for
.flatten
and.flatMap
—published
- ECMAScript String Padding —
published
- Understanding JavaScript’s async await —
published
- ES2016 Features & ECMAScript as a Living Standard —
published
- The Controversial State of JavaScript Tooling —
published
- Asynchronous I/O with Generators & Promises —
published
- Third Year in Review —
published
- JavaScript Developer Survey Results —
published
- JavaScript Developer Survey —
published
- Making a Progressive App with ServiceWorker —
published
- ServiceWorker, MessageChannel, & postMessage —
published
- ServiceWorker and Progressive Networking —
published
- Subscribing to Pony Foo —
published
- ServiceWorker: Revolution of the Web Platform —
published
- ES6 Overview in 350 Bullet Points —
published
- Securing Your Web App in 3 Easy Steps —
published
- Keeping Your npm Dependencies Immutable —
published
- Inlining Critical CSS for Dynamic Web Apps —
published
- Using the JavaScript Charting Library —
published
- SVG and the DOM, or “The Weirdest Bug I’ve Ever Encountered” —
published
- Pony Foo Gets a Face Lift —
published
- ES6 Promises in Depth —
published
- ES6 Modules in Depth —
published
- ES6 Strings (and Unicode,
) in Depth —
published
- ES6 Object Changes in Depth —
published
- ES6 Array Extensions in Depth —
published
- ES6 Math Additions in Depth —
published
- ES6 Number Improvements in Depth —
published
- ES6 Reflection in Depth —
published
- More ES6 Proxy Traps in Depth —
published
- ES6 Proxy Traps in Depth —
published
- ES6 Proxies in Depth —
published
- ES6 WeakMaps, Sets, and WeakSets in Depth —
published
- ES6 Maps in Depth —
published
- ES6 Symbols in Depth —
published
- ES6 Generators in Depth —
published
- ES6 Iterators in Depth —
published
- ES6 Let, Const and the “Temporal Dead Zone” (TDZ) in Depth —
published
- ES6 Classes in Depth —
published
- ES6 Object Literal Features in Depth —
published
- ES6 Spread and Butter in Depth —
published
- ES6 Arrow Functions in Depth —
published
- ES6 Template Literals in Depth —
published
- ES6 JavaScript Destructuring in Depth —
published
- A Brief History of ES6 Tooling —
published
- React, JSX and ES6: The Weird Parts —
published
- Server-side React Layout & Side Effects —
published
- Universal Routing in React with ES6 —
published
- Universal React with Babel, Browserify —
published
- Polyfills or Ponyfills? —
published
- Things you can do with native DOM —
published
- Git and GitHub Hacks —
published
- Why I Write Plain JavaScript Modules —
published
- Dream of Browser Test Automation? —
published
- README Driven Development —
published
- Low-Budget Hosting Tips —
published
- Maintaining Open-Source Software —
published
- Pragmatic Semantic Versioning —
published
- Fixing Performance in the Web Stack —
published
- Let’s talk about Web Performance —
published
- Leveraging Constraints —
published
- Blogging and OSS — Food for Thought —
published
- Fast-forwarding the Web Platform —
published
- Composable UI —
published
- Testing JavaScript Modules with Tape —
published
- The Progressive Web —
published
- Priorities —
published
- Designing Front-End Components —
published
- The Great Web Module Compendium —
published
- Leveraging Immutable Deployments —
published
- Immutable Deployments and Packer —
published
- Server-First Apps are a Good Idea —
published
- Baking Modularity into Tag Editing —
published
- Cross-tab Communication —
published
- Second Year in Review —
published
- I’m Building Stompflow! —
published
- Are Regular Expressions Stateful? —
published
- Measure, Optimize, Automate —
published
- My CampJS Experience —
published
- Stop Breaking the Web —
published
- Adjusting UX for human visitors —
published
- Free sample: JavaScript Application Design —
published
- Critical Path Performance Optimization at Pony Foo —
published
- The Conventional Front-End —
published
- A Gentle Browserify Walkthrough —
published
- JavaScript Quality Guide —
published
- A BrowserSync Primer —
published
- Building High-Quality Front-End Modules —
published
- Choose: Grunt, Gulp, or npm? —
published
- How To Avoid Object.prototype Pollution —
published
- Taunus: Micro Isomorphic MVC Framework —
published
- CSS: The Good Parts —
published
- Modularizing Your Front-End —
published
- Shared Rendering with Rendr —
published
- Head First Public Speaking —
published
- A Less Convoluted Event Emitter Implementation —
published
- Angle Brackets, Synergistic Directives —
published
- Angle Brackets, Rifle Scopes —
published
- You don’t need a TODO app —
published
- My First Gulp Adventure —
published
- How to Design Great Programs —
published
- Gulp, Grunt, Whatever —
published
- Email Sending Done Right —
published
- A Year In Review —
published
- Rehearsal: Record program output —
published
- Architecture of ECMAScript 6 Modules —
published
- Is WebDriver as good as it gets? —
published
- 9 Quick Tips About npm —
published
- JavaScript Variable Hoisting —
published
- Where does
this
keyword come from? —published
- Get Between the Covers of Build First —
published
- Package Authoring with Paqui —
published
- Fun with Native Arrays —
published
- Grunt Tips and Tricks —
published
- Angular WYSIWYG —
published
- Event Emitter: Obey and Report —
published
- Your Tab Views Suck —
published
- Spritesheets, Grunt, and You —
published
- Ditch Windows, Become a Polyglot —
published
- We don’t want your Coffee —
published
- Continuous Development in Node.js —
published
- Deploying Node apps to AWS using Grunt —
published
- The Angular Way —
published
- Lean Development Principles —
published
- Upgraded Asset Management —
published
- Teach Yourself Node.js in 10 Steps —
published
- Modularizing Node Applications with Express —
published
- Getting Over jQuery —
published
- Tech News Reading Hints —
published
- Monitoring Production Grade Node Applications —
published
- Organizing your CSS with Bootstrap —
published
- CSS For Dummies —
published
- Uncovering the Native DOM API —
published
- The Micro Library Phenomenon —
published
- Learn Regular Expressions —
published
- Understanding Build Processes —
published
- Recommended Reading —
published
- The Web Wars —
published
- Taming Asynchronous JavaScript —
published
- The Architecture of Productivity —
published
- A Note on Everyday Usability —
published
- Pragmatic Unit Testing in JavaScript —
published
- Managing Code Quality in NodeJS —
published
- Introduction to SEO and Content Indexing —
published
- Defensive Design —
published
- Information Hiding in JavaScript —
published
- JavaScript Is Awesome —
published
- Implementing OpenSearch —
published
- Paging in the Wilderness —
published
- Publishing Node.js Packages with npm —
published
- Continuous Integration, and Automated Deployments —
published
- Asset Management in Node —
published
- JavaScript JavaScript JavaScript —
published
- Single Page Design Madness —
published
- Pony Foo begins —
published
If you’d like to learn more about my work you should visit the about page.