ponyfoo.com

  1. 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 2
  2. JavaScript 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 41
  3. JavaScript 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 2
  4. Making 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 2
  5. ServiceWorker, 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 3
  6. ServiceWorker and Progressive Networking

    I’ve been toying with ServiceWorker for a while. The single most complicated issue when it comes to ServiceWorker has been dealing with caching in a …

    9m 6
  7. Subscribing to Pony Foo

    There’s a few different ways you can subscribe to read Pony Foo. What’s your favorite?

    Almost since day one you could follow Pony Foo using the RSS feed. …

    3m 6
  8. ServiceWorker: 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 14
  9. ES6 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 28
  10. Securing 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 4
  11. Keeping 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 5
  12. Inlining 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 10
  13. Using 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 1
  14. SVG 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 4
  15. Pony 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 26
  16. ES6 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 21
  17. ES6 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 9
  18. ES6 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 6
  19. ES6 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 5
  20. ES6 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 4
  21. ES6 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 1
  22. ES6 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 10
  23. ES6 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 5
  24. More 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 1
  25. ES6 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 5
  26. ES6 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 5
  27. ES6 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 4
  28. ES6 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 6
  29. ES6 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 10
  30. ES6 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 9
  31. ES6 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 5
  32. ES6 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 11
  33. ES6 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 10
  34. ES6 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 2
  35. ES6 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 15
  36. ES6 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 7
  37. ES6 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 27
  38. ES6 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 23
  39. A 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 2
  40. React, 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 37
  41. Server-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 8
  42. Universal 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 5
  43. Universal 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 14
  44. Polyfills 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 6
  45. Things 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 7
  46. Git 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 5
  47. Why 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 22
  48. Dream 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 0
  49. README 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 3
  50. Low-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 7
  51. Maintaining 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 0
  52. 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 7
  53. Fixing 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 4
  54. Let’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 1
  55. Leveraging 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 0
  56. Blogging 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 …

    4m 0
  57. 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 1
  58. Composable 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 7
  59. Testing 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 21
  60. The 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 4
  61. Priorities

    Peter-Paul Koch (@ppk) recently wrote an article that generated noticeable turmoil. One of the best responses was Jeremy Keith (@adactio)'s article,

    6m 2
  62. Designing 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 9
  63. The 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 3
  64. Leveraging 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 2
  65. Immutable 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 3
  66. Server-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 16
  67. Baking 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 7
  68. Cross-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