Async and Functional Javascript

Following in the spirit of my previous post, I realized that Functional Programming can help solve one of the problems that often arises in javascript: Callback Hell.

Read more…
code javascript functional programming async callbacks

Functional Javascript

As I code more and more, I'm coming to find that traditional Object-Oriented techniques aren't well suited to Javascript. OO techniques really shine when you have a compiler to tell you that Foo does not have a method named bar(), and that bar() expects an object that implements interface Qux with methods baz() and bogo(), etc... In JS it is impossible to know what the properties of an object will be until runtime, or what its type will be. (This really frustrates a lot of my coworkers who like strongly-typed languages.) Tools and IDE's can make some fairly good assumptions, but they always seem to fall short -- either your code has to be written in a restrictive style so every property is detected, or you have to accept that certain dynamic properties will not be picked up.

Read more…
code javascript functional programming

Dependency Injection

I had heard the term "dependency injection" thrown around many times before, but hadn't really taken the time to research it. However, I recently had an epiphany and I realized what it is and why it is an important (and simple) idea.

Read more…
code javascript modules dependency injection

Javascript Module Systems

At Fluid, I was recently tasked with updating a legacy Javascript application to use a more modern Javascript module system. The existing app was quite large -- 150 class files, and quite old -- parts of it dated back to 2006. We were partaking in some major expansions and refactorings, so we decided to explore modernizing its underlying build system.

Read more…
code javascript modules requirejs commonjs fluid

If you aren't sure which way to do something...

Focused, hard work is the real key to success. Keep your eyes on the goal, and just keep taking the next step towards completing it. If you aren't sure which way to do something, do it both ways and see which works better.

Read more…
code John Carmack methodology quote

How I made this blog

This site uses Jekyll as its main engine. Jekyll is a static site generator (used by GitHub) that can take a pile of markdown files, run them through some ERB templates, and give you a nice looking site. It's very flexible, and a coder's dream. No database! Write in markdown! Free hosting on github!

Read more…
aeflash code jekyll compass backbone meta

New Year, New Launch

Well, I finally got around to updating this site. Beforehand, it was the epitome of the phrase "The cobbler's children have no shoes". I've completely redone everything from the ground up using Jekyll and Compass with HTML5 and CSS3, and a few other token technologies. It's actually becoming a respectable website from a front-end engineering standpoint. I've learned a lot over the years. I'll go into more details in a later post.

Read more…
aeflash launch meta

op. 120

Another track. Stealing a theme from Debussy. Read more…
aeflash music soundcloud ambient