All blogs / JavaScript / TypeScript
Pony Foo
JavaScript / TypeScriptFrontend / CSS / browsersSoftware / engineering practiceEngineering blogs
- Posts
- 198 from 25 Dec 2012 to 16 Dec 2021
- Posting
- quiet since 2021
- Kind
- personal blog
2021 1
2019 1
2018 3
2017 14
- Mastering Modular JavaScript
- A Brief History of Modularity
- A Tiny Story about Systems Complexity
- Interviewed at Tencent Frontend Conference
- Null Propagation Operator in JavaScript
- Pattern Matching in ECMAScript
- Setting up 2FA for Node.js Applications
- TC39, ECMAScript, and the Future of JavaScript
- Regular Expressions in a post-ES6 world
- Mixing Generators Into Iterators
- Observables Proposal for ECMAScript!
- Variables declared using const are not immutable
- Content-Security-Policy in Express apps
- The JavaScript Standard
2016 31
- Let’s use const! Here’s why.
- Fourth Year in Review
- Thousands of Color-coded Visualizations in React
- Announcing Practical Modern JavaScript — and the Modular JavaScript Book Series!
- Modular JavaScript launches in a week!
- JavaScript Asynchronous Iteration Proposal
- How I Got Into Programming
- Template Literals are Strictly Better Strings
- Binding Methods to Class Instance Objects
- Two-way Synchronization for a Web App and Git
- The Art of a Pull Request
- How Pony Foo is ridiculously over-engineered— and why that is awesome
- The Double-Edged Sword of the Web
- An Elastic Stack Primer
- A Promise-Based Worldview
- Setting Up Elasticsearch for a Blog
- Just Married!
- NodeConf hits the ground running in Latin America
- GitHub for Human Beings
- ECMAScript Proposal for JavaScript Decorators (and protocols)
- The npm Meltdown Uncovers Serious Security Risks
- JavaScript Proposal for weak references: WeakRef
- Making a Simple Site Work Offline with ServiceWorker
- All Aboard the ES6 JavaScript Train
- Proposal: “Statements as Expressions” using do
- Proposal Draft for .flatten and .flatMap
- ECMAScript String Padding
- Understanding JavaScript’s async await
- ES2016 Features & ECMAScript as a Living Standard
- The Controversial State of JavaScript Tooling
- Asynchronous I/O with Generators & Promises
2015 67
- Third Year in Review
- JavaScript Developer Survey Results
- JavaScript Developer Survey
- Making a Progressive App with ServiceWorker
- ServiceWorker, MessageChannel, & postMessage
- ServiceWorker and Progressive Networking
- Subscribing to Pony Foo
- ServiceWorker: Revolution of the Web Platform
- ES6 Overview in 350 Bullet Points
- Securing Your Web App in 3 Easy Steps
- Keeping Your npm Dependencies Immutable
- Inlining Critical CSS for Dynamic Web Apps
- SVG and the DOM, or “The Weirdest Bug I’ve Ever Encountered”
- Pony Foo Gets a Face Lift
- ES6 Promises in Depth
- ES6 Modules in Depth
- ES6 Strings (and Unicode, ) in Depth
- ES6 Object Changes in Depth
- ES6 Array Extensions in Depth
- ES6 Math Additions in Depth
- ES6 Number Improvements in Depth
- ES6 Reflection in Depth
- More ES6 Proxy Traps in Depth
- ES6 Proxy Traps in Depth
- ES6 Proxies in Depth
- ES6 WeakMaps, Sets, and WeakSets in Depth
- ES6 Maps in Depth
- ES6 Symbols in Depth
- ES6 Generators in Depth
- ES6 Iterators in Depth
- ES6 Let, Const and the “Temporal Dead Zone” (TDZ) in Depth
- ES6 Classes in Depth
- ES6 Object Literal Features in Depth
- ES6 Spread and Butter in Depth
- ES6 Arrow Functions in Depth
- ES6 Template Literals in Depth
- ES6 JavaScript Destructuring in Depth
- A Brief History of ES6 Tooling
- React, JSX and ES6: The Weird Parts
- Server-side React Layout & Side Effects
- Universal Routing in React with ES6
- Universal React with Babel, Browserify
- Polyfills or Ponyfills?
- Things you can do with native DOM
- Git and GitHub Hacks
- Why I Write Plain JavaScript Modules
- Dream of Browser Test Automation?
- README Driven Development
- Low-Budget Hosting Tips
- Maintaining Open-Source Software
- Pragmatic Semantic Versioning
- Fixing Performance in the Web Stack
- Let’s talk about Web Performance
- Leveraging Constraints
- Blogging and OSS — Food for Thought
- Fast-forwarding the Web Platform
- Composable UI
- Testing JavaScript Modules with Tape
- The Progressive Web
- Priorities
- Designing Front-End Components
- The Great Web Module Compendium
- Leveraging Immutable Deployments
- Immutable Deployments and Packer
- Server-First Apps are a Good Idea
- Baking Modularity into Tag Editing
- Cross-tab Communication
2014 30
- Second Year in Review
- I’m Building Stompflow!
- Are Regular Expressions Stateful?
- Measure, Optimize, Automate
- My CampJS Experience
- Stop Breaking the Web
- Adjusting UX for human visitors
- Free sample: JavaScript Application Design
- Critical Path Performance Optimization at Pony Foo
- The Conventional Front-End
- A Gentle Browserify Walkthrough
- JavaScript Quality Guide
- A BrowserSync Primer
- Building High-Quality Front-End Modules
- Choose: Grunt, Gulp, or npm?
- How To Avoid Object.prototype Pollution
- Taunus: Micro Isomorphic MVC Framework
- CSS: The Good Parts
- Modularizing Your Front-End
- Shared Rendering with Rendr
- Head First Public Speaking
- A Less Convoluted Event Emitter Implementation
- Angle Brackets, Synergistic Directives
- Angle Brackets, Rifle Scopes
- You don’t need a TODO app
- My First Gulp Adventure
- How to Design Great Programs
- Gulp, Grunt, Whatever
- Email Sending Done Right
- A Year In Review
2013 49
- Rehearsal: Record program output
- Architecture of ECMAScript 6 Modules
- Is WebDriver as good as it gets?
- 9 Quick Tips About npm
- JavaScript Variable Hoisting
- Where does this keyword come from?
- Get Between the Covers of Build First
- Package Authoring with Paqui
- Fun with Native Arrays
- Grunt Tips and Tricks
- Angular WYSIWYG
- Event Emitter: Obey and Report
- Your Tab Views Suck
- Spritesheets, Grunt, and You
- Ditch Windows, Become a Polyglot
- We don’t want your Coffee
- Continuous Development in Node.js
- Deploying Node apps to AWS using Grunt
- The Angular Way
- Lean Development Principles
- Upgraded Asset Management
- Teach Yourself Node.js in 10 Steps
- Modularizing Node Applications with Express
- Getting Over jQuery
- Tech News Reading Hints
- Monitoring Production Grade Node Applications
- Organizing your CSS with Bootstrap
- CSS For Dummies
- Uncovering the Native DOM API
- The Micro Library Phenomenon
- Learn Regular Expressions
- Understanding Build Processes
- Recommended Reading
- The Web Wars
- Taming Asynchronous JavaScript
- The Architecture of Productivity
- A Note on Everyday Usability
- Pragmatic Unit Testing in JavaScript
- Managing Code Quality in NodeJS
- Introduction to SEO and Content Indexing
- Defensive Design
- Information Hiding in JavaScript
- JavaScript Is Awesome
- Implementing OpenSearch
- Paging in the Wilderness
- Publishing Node.js Packages with npm
- Continuous Integration, and Automated Deployments
- Asset Management in Node
- JavaScript JavaScript JavaScript