i am rohn

thoughtfully linking code

Ignore Git Globally

An easy to understand introduction to global .gitignores. And for some samples check out this github repo.
This is a great alternative (and the right way of doing it) to adding OS specific files to every project’s .gitignore file. No longer will my coworkers need to roll their eyes at me when I add .DS_Store to our .gitignore in the repo (and maybe I can get them to stop littering the repo with Thumbs.db files too).

The official github help page.

Promises… Promises… Promises…

JavaScript is asynchronous and event-driven. Operations that take a lengthy amount of time are non-blocking - you don’t want to call a function and block until it completes. Instead you provide a callback, which is executed (or invoked) when the lengthy function completes. This is efficient and friendly, avoiding the need for threading, but gets a bit harder to implement when you have a series of operations that need to be executed one after another. This is where the Promise pattern comes in.

Avoiding This

If there’s one thing I’m hearing repeatedly while attending the FrontEnd Masters Workshop Series is that it is much more important to write readable code than to be worried about cute coding tricks or hyper-efficient code. Don’t misunderstand, performance is important - or as Kyle Simpson says, “performant by default” - but not at the expense of maintainable code.

Backbone.js With Pow

I found myself in a situation where I needed to serve a static site (in reality a Backbone.js webapp) through my running Pow! installation. The solution was extremely easy to find but I thought I’d list it here anyway.

The documentation indicates that your folder structure must include a public folder inside your project folder. This would have conflicted with the directory structure of the application that I’m contributing to, so I simply wrapped my project folder with a company folder, which in turn holds the public folder:

1
/Users/username/Sites/mycompany/public/myproject

or another way to view that is:

1
2
3
4
5
/Users/username/Sites/
  mycompany/
    public/
      myproject/
      myotherproject/

You still need to create the symbolic link from your site’s directory

1
2
cd ~/.pow
ln -s ~/Sites/mycompany

and now you simply access your static site via:

1
http://mycompany.dev/myproject/

Of course the easiest (perhaps better) solution is to install the powder gem and manually bring down the pow server when working on your non-pow projects.

Hello World

in how many languages can you say “Hello World”?