ponyfoo.com

  1. Rehearsal: Record program output

    Persist standard input to a file and keep track of timestamps, then simulate real-time program execution.

    3m 0
  2. Architecture of ECMAScript 6 Modules

    This blog post contains useful information if you’re interested in the latest developments on ECMAScript 6 Harmony modules and they current state of their …

    31m 1
  3. Is WebDriver as good as it gets?

    This blog post is part rant, part learning experience, and part solutions and conclusions I’ve arrived at, while struggling with WebDriver implementations in Node.

    16m 3
  4. 9 Quick Tips About npm

    Inspired by the now-outdated post 10 Cool Things You Probably Didn’t Realize npm Could Do from Isaacs, the creator of npm, I set out to give you a few more tips on how to take advantage of this ridiculously well executed package manager.

    7m 4
  5. JavaScript Variable Hoisting

    A large number of JavaScript interview questions, if not most of them, can be answered with an understanding of scoping, how this works, and hoisting.

    4m 0
  6. Where does this keyword come from?

    How scoping works is part of the latest chapter for my upcoming book on JavaScript Application Design. Here’s an explainer!

    6m 2
  7. Get Between the Covers of Build First

    A couple of weeks ago, my book on JavaScript Application Design and front-end processes (which I began writing a few months ago) finally went into the first review …

    10m 0
  8. Package Authoring with Paqui

    Creating client-side JavaScript packages is increasingly becoming a painful endeavor. Here’s a potential fix.

    11m 0
  9. Fun with Native Arrays

    An introduction to function Array methods.

    22m 4
  10. Grunt Tips and Tricks

    I’ve been meaning to compile a list of tips and tricks to improve you Grunt workflows, so here it is!

    6m 6
  11. Angular WYSIWYG

    Building on the blocks laid out in my previous article, I open-sourced a WYSIWYG editing library which doesn’t provide an UI. You can find the source code here.

    4m 1
  12. Event Emitter: Obey and Report

    The event emitter pattern was popularized by Node, and is made available in the browser by libraries such as EventEmitter2. In practice, I haven’t seen a lot of …

    6m 0
  13. Your Tab Views Suck

    What if I told you… we can write a tabbed UI view without using JavaScript, which works in every modern browser, and even clocks around 20 total lines of code?

    In …

    14m 6
  14. Spritesheets, Grunt, and You

    If you are using Grunt, you really have no excuse not to be using CSS spritesheets. If you aren’t using Grunt yet, then you should know that a well thought-out …

    3m 1
  15. Ditch Windows, Become a Polyglot

    It took me a while to realize it, but Windows has been a disease to me, or perhaps more analogously a drug addiction. Ever since I was a kid I used Windows. Well, I …

    7m 0
  16. We don’t want your Coffee

    An open letter to the CoffeeScript community.

    You can follow the discussion on Hacker News.

    This rant probably also holds true for TypeScript, and similar. Heck, even

    6m 32
  17. Continuous Development in Node.js

    With Grunt, the JavaScript task runner, it’s becoming increasingly easy to tackle continuous development. The goal is being able to work uninterruptedly in our …

    9m 3
  18. Deploying Node apps to AWS using Grunt

    I’ve been toying with AWS for a few days now, and I wanted to share my experience and my approach with you. My goal was to set up a deploy flow in Grunt to enable …

    22m 5
  19. The Angular Way

    For the past few months I’ve been sailing around the world of Angular. Today I can hardly imagine myself doing day to day coding on a large front-end web …

    13m 4
  20. Lean Development Principles

    I just finished reading The Lean Startup, an immersive, ground-breaking take on entrepreneurship and startup management, with views heavily rooted in the Toyota …

    4m 0
  21. Upgraded Asset Management

    Recently, I’ve updated the documentation for assetify, and grunt-assetify. I wanted to share the usage patterns as well as my reasons for developing, and …

    15m 2
  22. Teach Yourself Node.js in 10 Steps

    I’m not sure anyone needs convincing that Node.js is freaking awesome, little has been said otherwise. Many of the people reading this blog are already …

    23m 3
  23. Modularizing Node Applications with Express

    I’ve spent a few articles talking about build processes; now I want to spend a few words on application architecture, particularly in Node.JS web applications …

    7m 3
  24. Getting Over jQuery

    We’ve looked at doing some of the things that you can do in native code. So far, we’ve covered AJAX, event handling, event delegation, DOM querying, and …

    22m 6
  25. Tech News Reading Hints

    The King is Dead, Long Live the King.

    Google Reader died last night. I wanted to make a brief blog post to help you rebuild (or even build from scratch) your news reading …

    4m 0
  26. Monitoring Production Grade Node Applications

    Catching, or even tracing errors in Node applications can be tricky sometimes. I wanted to share a few practices that can help you keep your application up in most …

    8m 4
  27. Organizing your CSS with Bootstrap

    Now that we’ve laid the basics in the cascading land of awesomeness that is CSS, it’s time to move forward and take a deeper look at organization and …

    12m 1
  28. CSS For Dummies

    Web design today is hard to get right. I’ve been meaning to talk about front-end design for a while, but I couldn’t get the subject quite right. Seeing how …

    13m 1
  29. Uncovering the Native DOM API

    JavaScript libraries such as jQuery serve a great purpose in enabling and normalizing cross-browser behaviors of the DOM in such a way that it’s possible to use …

    15m 2
  30. The Micro Library Phenomenon

    As of late, there seems to be a steady trend towards minimalist DOM (and BOM) abstractions, these micro-libraries generally trade functionality and flexibility for

    6m 0
  31. Learn Regular Expressions

    Regular Expressions are a fundamental tool every programmer should understand, at the very least on a basic level. I might not make an expert in regex out of you, but at …

    9m 5
  32. Understanding Build Processes

    A task runner helps you automate everything you need to get an environment functional. Configure, build, run tests, and execute your web server. But there’s more …

    9m 9
  33. Recommended Reading

    I haven’t gotten around to recommending any books yet, and I wanted to break some words about a few reads. I’m excited about a batch of books I’ve …

    7m 0
  34. The Web Wars

    There have always been wars in browser-land. Browsers, specs, politics, lots of politics. Even libraries had theirs.

    What once was the browser utility library war, has …

    8m 7
  35. Taming Asynchronous JavaScript

    Last month, a series of very interesting articles regarding async coding style, in Node, popped up. The discussion spanned a few more subjects than just coding style, it …

    6m 2
  36. The Architecture of Productivity

    It’s been a while since I last blogged. I went on vacation, switched jobs, and have been generally busy. I’m now working full-time remote, which will

    4m 0
  37. A Note on Everyday Usability

    We can learn a lot about usability just by observing everyday objects, applications and interfaces. This morning I was flying to London from Buenos Aires, when I …

    3m 0
  38. Pragmatic Unit Testing in JavaScript

    More often than not, companies completely (and irresponsibly) disregard JavaScript as code that should be unit tested. They might test their back-end code, it may be in …

    9m 1
  39. Managing Code Quality in NodeJS

    I’ve mentioned CI and static asset management in the past. Now I want to talk about code quality.

    This article is mostly a follow up on the CI post. I’ll …

    6m 0
  40. Introduction to SEO and Content Indexing

    Just a few days ago, Google started indexing this blog, and it’s just starting to show up in their search results. I wanted to go over the steps I took to make a

    7m 1
  41. Defensive Design

    I’ve recently read the book Defensive Design for the Web, and I felt compelled to write about it here. I guess it’s a good starting point for writing my …

    4m 2
  42. Information Hiding in JavaScript

    Even though it’s tricky at first, if you are used to classical object-oriented languages, it’s easy (and highly encouraged) to perform information hiding

    9m 0
  43. JavaScript Is Awesome

    JavaScript is one of the most loved and hated languages out there. Some, can’t stand the stench of how obtuse it appears to be. Some appreciate the …

    7m 4
  44. Implementing OpenSearch

    OpenSearch is an specification that allows websites to improve usability. When implemented, it allows consumers to search your site the way you intended them to. All …

    2m 1
  45. Paging in the Wilderness

    Traditionally, lists on websites have been paged to allow data to be chunked rather than sent out all at once, when the user might not need all of it right away, …

    4m 0
  46. Publishing Node.js Packages with npm

    Back when I introduced assetify, I mentioned publishing packages on npm is very easy.

    The first thing you have to do is identify yourself, create an account on npm:

    $ npm …
    3m 1
  47. Continuous Integration, and Automated Deployments

    In the next post I’ll get back to the meat of how I’m making progress with the blog application. This time however, I wanted to deviate a little, and talk …

    2m 1
  48. Asset Management in Node

    Client-side asset management reveals a series of issues with Node.JS and npm today:

    • Node.JS is just a few years old (it was born in 2009)
    • Some areas, such as client-side …
    3m 1
  49. JavaScript JavaScript JavaScript

    In my previous installment, I prognosticated the discussion topic for this post.

    In the next post I’ll delve into MongoDB, how to pair it with Node, and figuring …

    10m 2