I haven't update this since 2016, it's 2021 now. Hmm... was there something in
the interveining years that maybe stressed me too much to find the time to post?
The world may never know. Anyways, I've been meaning to reveamp this as a Gatsby
site for a while. Nothing wrong with jekyll, but I like working with react.
Background I’ve long thought that event-sourcing (ES) was an interesting way to structure a
back-end application, and I use redux very often in my day job as a front-end
developer. Recently I’ve been looking more closely at event-sourcing and I think
putting the information I’ve learned into front-end terms might be useful for
others. This is mostly for front-end engineers interested in event-sourcing. If you don't
know redux jargon, you might find this hard to follow. What are these things…
I've been listening to the accidental tech podcast recently and one of
John Siracusa's hobbyhorses is that something like iOS has to be the way
forward for computing, as opposed to classic desktop OSes. While I think
everyone agrees that desktop OSes aren't going to get much more popular than
they are now, my problem with this statement is that it's so vague that it
doesn't mean anything. Being like iOS can mean many things, and the only
really concrete thing he throws out is no exposed…
This recent artical and it's hacker news
comments Have gotten me
thinking about testing and TDD, specifically how there are different reasons
why people do it. I think it helps to go back and look at the two "Schools" of
TDD to understand what each one was trying to get out of their tests and what
the strengths of the two approaches are relative to each other (and relative
to non-TDD methodologies). First, a history lession: TDD first originated in the Chrystler Comprehensive
Compensation…
There are lots of ways that different languages do concurrency, and I want to
talk about the general ways they do it, without getting bogged down in
language details. So what is concurrency? It's not parallelism, that's for sure. It's at it's
simplest the ability to do work in the background while not pausing work in
the foreground. Some forms of concurrency can use parallel hardware resources
(CPU cores, etc), but not all. I'm going to clasify low-level concurrency features (as opposed to high…
I was just at Fluent this week, and I had an interesting thought,
spurred by several things, but really crystalized when I saw
this talk by Eric Meyer. So, the (perhaps badly named) concept of Isomorphic Javascript is usually sold as a performance optimization for
loading time in single-page applications, which is one benefit it provides. However it actually fixes the problem
with single-page apps -- they break the web. A single-page app that does not render on the server (isn't isomorphic…
So let's say you've got a node project, with a structure somewhat like this: Your statements in your specs can easily get very ugly: They're also fragile -- if you move either your spec file or your implementation file,
you've got to update your requires. This is a good argument for using lots of small modules
that can be broken out -- if a module lives in your folder then requireing it
is always easy: The problem is that when you're writing an app lots of the code can't really
be seperated…
If you've been following tech lately, you've probably heard people talking about the competition between x86 chips (mainly from Intel), and arm chips. Right they're used mostly for different things -- phones and tablets have arm chips, desktops, laptops, and servers have x86 chips -- but Intel's trying to get into phones and arm vendors want to get into servers. This promises lead to some exiciting competition, and we're already reaping the power benefits of Intel working on this in desktops and…
I've been playing around with the WebAudio api for a bit and come up with a nice little demo program
that shows the basic capabilities of the OscillatorNode interface (plus some fun canvas programming). It's not a serious
project, but it is fun. I'm calling it osc, and you can also check out the source code.
OK, so everyone's talking about PS4 announcement. Here's my thoughts -- take them with a grain of salt though since I'm not a game developer. I've had playstations since the first one, and I've generally liked them. That said, the PS3 had several weaknesses: Price: no one wants to pay $600 for a game console Incessant updates that take forever to download and run Bad ports: the Xbox had the better version of most cross platform games this generation, just because it was easy to develop for Now…