10 years…

Welp… it’s been over a decade. I don’t even know where to start. The blog went down because I hadn’t set up proper log rotation and auto-IP banning and I couldn’t be bothered to fix it. Over the weekend I decided it was time to revive it. I got Claude Code to do much of the heavy lifting and I continue to be pleasantly surprised.

10 years.

The hightlights:

  • Bought a house.
  • Had a kid.
  • Left Avid to join a promising AI startup in 2019.
  • Got acquired by a big SaaS company.
  • Co-founded a “lab” and built a bunch of great forward thinking stuff.

I’m still very passionate about tech (especially AI) and incredibly excited about the seismic shift we’re going through lately. I saw this coming a few years ago and I’m trying to ride the wave. Let’s see where this things takes me.

Exploring ES6

Given that most of my work these days is HTML5 based, I figured it was time to start looking into ES6 – A long overdue update to Javascript.

For someone that’s used to working with C++ (and AS3), I like IDEs – every developer does. But JS is an ugly beast. An IDE can’t do things like find a function definition or where a var is used with JS (other than through text search which is rarely accurate since the var name is likely not unique). So ES6 features like modules and classes look great.

To my surprise, modules aren’t yet supported in Chrome or Firefox. You need to use Babel or Traceur. I’ve been using RequireJS for the 30k LOC project at work but I thought I could start considering native support with import/export. No go.

What’s worse is that import isn’t explicitly supported by Babel.  You need to use browserify because Babel will translate imports to CommonJS.  So my gulp script is (once again) starting to look awkward.

Ideally, I want to code in ES6, use a watcher to compile automatically, and debug in Chrome’s dev tools with source maps so that I don’t ever see the fugliness.

I’ll post my results if and when I get something feasible.

Catching up

It has been a while since I last updated the blog.  Since the last post, I’ve been busy working at Avid on cloud based video editing software.  It’s been a really great learning experience both in terms of the technology and in terms of working with a large team spread across the globe.

The project I work on involves hundreds of employees and has really changed the direction that Avid has taken over the past few years moving towards software as a service and a “platform” where all their software will connect.

I’ve had a chance to push Actionscript/Flash to the limit and work with bleeding edge html5 features like WebAudio, byte arrays, WebSockets, canvases, AMD, and build tools like gulp.  I’ve had a chance to do a bit of node.js and Java server side and regrettably worked with some less-than-ideal frameworks.  We use an automated build system with Jenkins and run automated test with Selenium and have slowly moved toward Git after having used svn and Accurev.

Working on such a large project has been a revelation in many ways. I can’t even start to recount all the discoveries I’ve made over the past few years but in short, working full time for so long on a single product lets you truly focus on the best way to approach a problem. I’ve really enjoyed not having to worry about cutting corners and “doing it right”.  We’ve still got a long way to go with the software but I’m very proud of what we’ve achieved since I started consulting at Avid nearly 6 years ago.

All over the place…