Letting Go of Node.js

TL;DR version: I'm a JavaScript snob who's now learning Go (http://golang.org) and plans to drop Node.js. I'll be sharing my learnings here in the coming weeks.

Why Dave... why?!

I love JavaScript. I've been a huge advocate (both figurative and literal) of this quirky language since 1995. And for the past ten years I've been focused on using JavaScript for app development for the browser, wrapped in some native app, or installed directly as first class citizens on certain web-centric operating systems like Chrome OS, BlackBerry 10, Tizen, FireFox OS and webOS. I've even written a few JavaScript app frameworks, including Jo app framework which I open sourced in 2009.

I was an early advocate of JavaScript on the command line (remember Rhino?) and even as a web server (Helma). When Node.js came out, I was a big fan (again, both literal and figurative), but

Continue...

Amazon Fire TV is No Joke

Just got an Amazon Fire TV today, hooked it up, and here's the scoop:

  • Fast, flawless setup
  • Clean, engaging UI
  • Solid hardware design and build quality

Who should be concerned:

  • Roku
  • Ouya

Very, very concerned.

Channels

The channel lineup on Amazon isn't as big yet (but seriously, who needs Roku's Scale Model Game Miniatures channel?) but it's good enough to launch with some big names:

  • Netflix
  • Hulu Plus
  • YouTube
  • ShowTime
  • Vevo
  • Vimeo

And a bunch more. Missing at launch for me (and any other Game of Thrones fans) is HBO Go, though it's on Amazon's roadmap.

Games? Ouya is in serious trouble:

  • 130+ games available at launch for the Amazon Fire TV
  • Comparable hardware
  • Also Android based, so there is little to prevent Amazon from catching up quickly in its game catalog
  • Plus, OUYA controllers work perfectly with Amazon Fire TV, so I have little upgrader's remorse because I can

Continue...

I'll be at Desert Code Camp April 5

My first time attending this show; hoping to meet a ton of local Phoenix valley developer types.

Looks to be 500 or so interested folks with 200 confirmed attendees. See you there!

Continue...

Surprising Truth About What Motivates Us

This video is a must watch that challenges what we've been taught about monetary motivation. Excellent start on the discussion of making engineering teams more rewarding and purposeful.

Great animation of a talk by Dan Pink, found on this great post by Stack Exchange co-founder Jeff Atwood @codinghorror: "The Vast and Endless Sea"

Definitely worth 10 minutes of your time, though it doesn't offer as much of a solution as identification of the misconceptions.

Continue...

Introducing GOTOJS: Sequential Programming for JavaScript

With all the Javafication of JavaScript still going around today, I'd like to take the conversation in another direction and humbly introduce GOTOJS.

It's a lightweight, low-level library that:

  • Introduces proper sequential programming based on line numbers, something sorely missing from JavaScript
  • Reduces complexity by eliminating the need for semicolons
  • Works exclusively in global space; no more var statements for your variables (seriously, don't use them or something may break)
  • Simple, direct control of code execution with goto()
  • Powered by eval()

Using GOTOJS

Basically, it's BASIC.

Example

program = {  
    10: "x = 0",
    20: "x = x + 1",
    30: "print(x)",
    40: "if (x < 5) goto(20)",
    50: "print('Done!')",
    60: "end()",

    100: "print('Hello World!')"
};

run();  

Produces:

1  
2  
3  
4  
5  
Done!  

You can also run from a given line number:

run(100);  

Produces:

Hello World!  

Easy!

Commands

  • run(line) start execution of the program at the beginning

Continue...