• Those Named Constant Arrow Functions

    Back in my day, we declared a Function as a function.

    I’ll keep this brief.

    I’ve been noticing a lot of public code snippets out there which declare consts using the arrow function syntax;

    const addOne = (number) => {
      return number + 1;
    }
    

    As opposed to the classic pre-ES2015 form,

    function addOne(number) {
      return number + 1;
    }
    

    My use of the term “classic” reveals my bias, as opposed to calling it “ancient” or “crappy old”.

    There are two things I prefer ...

  • Thundering Herd

    That special time in a Developer’s life when a system that they’ve nurtured and cared for goes rogue, leaving behind it a desolate swath of blood & destruction.

    This article is Post #3 in my series, Dumb Shit I’ve Done in a Production Environment. When I wrote up Post #2, I didn’t know it would be a series. And until I thought “hey, this might make a series” and looked through my Archives, I’d totally forgotten about Post #1.

    The series will conclude once I stop doing dumb shit in a Production enviroment.

    The Setup

    My employer – redacted here, as always – had grown tired of maintaining our in-house RabbitMQ message broker. We’d stopped upgrading at ...

  • Shiny New Blog 2017

    I dove into most every cave of a modern Web Document build chain, and have come back with some pearls to show for it.

    And oh, what a many-month-long dive it was.

    I am a Perfectionist at heart, and there are a lot of Best Practices to follow, ones from which these shiny pearls are harvested.

    Now, if you’ve come here to see the Attributions for the Creative Commons artwork used on this site – like :point_left: that one – they are down here.

    But please … feel free to keep reading. The purpose of this ...

  • Since Before the Turn of the Century

    A reflection upon my career to date – a more poetic take on my CV than the prose of my resumé – as viewed through the lens of the JavaScript langauge :rhinoceros: .

    When I tell folks how long I’ve been doing JavaScript development, I use the phrase

    … oh, since before the Turn of the Century.

    You know, all casual-like. Sometimes I’ll also throw in the phrase “high-order JavaScript”, just to shine one on.

    Yet, in going back over my blog posts during a recent refactoring, I was surprised to find how few of them reflected my long and storied history with the language.

    I was inspired to correct this gross ...

  • Local DNS Resolution Mystery ... RESOLVED !!

    I’d been having trouble getting /etc/hosts to consistently resolve a DNS entry on OS X in all the ways that are are important to me.

    Yo,

    I know it’s been a long time since I rapped at ya. But I’m finally getting around to upgrading my ancient weak-sauce blog, And it’s got my mind all up in that long-form writing headspace, you catch my drift? And today I absolutely threw down on a simple fix for an issue that’d been stuck in my craw for about a year now.

    So, here I am, droppin’ some ...

  • Optimizing Socket.io Performance with Binary Mode

    Sure, there was a bit of data munging & aggregation going on, but it was essentially just a pub/sub pass-thru … so why couldn’t the Server keep up?

    My employer had a WebSocket solution that wasn’t scaling very well. My Mission: make the stack high on throughput and low on CPU.

    We were using Socket.io tied into Backbone on the Client and Node.js on the server. Its role in our architecture was to provide realtime streaming data – a unidirectional broadcast, vs. your traditional chat app. The Server consumed JSON payloads from Redis Pub/Sub channels and routed them into our ...