Navigating an AMD codebase in Sublime Text using Static Analysis and Node.js

As your JavaScript codebases grow, it can be difficult to stay productive within your editor. Whether you are looking for modules that require the current module or simply trying to hop between dependencies; most tasks related to navigating a large codebase require numerous steps that become tedious and can seriously hinder productivity.

Behance engineer, Joel Kemp, writes about how he used static analysis techniques via Esprima and Node.js to overcome these problems within Sublime Text 3. Check out the post: Navigating an AMD Codebase in Sublime Text.

Bēhance Dev Links Issue 01

World cup results for hackers. Uses Soccer For Good API

Nothing like getting sports scores and info in your Terminal!


submitted by Rachel White


“Statistical Renaming, Type Inference and Deobfuscation”


submitted by Joe Sepi

Create a TV Show Tracker using AngularJS, Node.js and MongoDB

An introduction to full-stack javascript development that uses express on the backend, mongodb for data storage, and AngularJS on the client.

submitted by Sean Dunn

Colorize log files on CentOS and Ubuntu using ccze tool

Even though you might be using centralized logging tools like Splunk, Logstash, or Sumologic, occasionally you just want to go in and tail a log yourself. Ccze is an awesome, custom-color formatting tool that makes the arduous task of reading/searching through logs a little more pleasant.


submitted by Malcolm Jones Read more →

Moving Data Centers with Chef

Moving data centers is scary, make it less scary with Chef, U-Haul not included.

@mtldo + @cfortier at #chefconf2014

At ChefConf 2014 this year, Chris Fortier and I had the privilege of presenting on the challenges of moving from a physical data center to the cloud. Beyond the move, we had to move towards more automation and a hands off approach to managing servers. This meant learning Amazon Web Services in depth and getting Chef onto every one of our machines. The result of our work was a library of cookbooks that could reliably work in three distinct locations: physical servers in Rackspace, laptops in our SoHo office, and cloud instances in AWS. As we developed these cookbooks we gradually improved our process and testing techniques. We reached a flow that kept cookbooks tested and trustworthy no matter where we launched. This also gave the whole team visibility into system changes that would have been easily missed otherwise.

Read more →

JavaScript MVC: Inheritance

If you’ve ever done a lot of JS development you might find the following situation familiar: you’re loath to open up the bowels of the sweet webapp you wrote because you know inside you will find hundreds of lines of jQuery selectors stacked on top of each other. Try as you might, they just won’t be tamed simply by separating out into distinct functions. Soon you’re lost in your own code, trapped in a Borgesian labyrinth of your own making.

That was one of the first challenges we ran into when I started working at Behance: the decentralized, deframework-ized nature of the client side code. Like many other shops, JavaScript was viewed with equal parts suspicion and distaste. But as our code grew, it became increasingly impossible to continue working the same way as thousands of lines of JS collided tectonically into each other as Everests grew out of merge conflicts.
Read more →

On-Site FTW!!!1!

Among IT professionals and software developers, the debate over the merits of working on site has raged since the dawn of time. The Behance team has always advocated that being on site is the best way to build up a finely tuned team. Building great products requires constant collaboration, balancing of opinions, and being able to work with the girl with the right set of skills to solve your problem.

Read more →

SEO: There Are No Tricks

I lost count of how many times I’ve been followed by an SEO/SEM expert, consultant, or programmer on Twitter. All these people claiming to be experts on something anyone can learn to do from a single-page leaflet. Because really, if everyone is claiming to be an expert in something, are there any experts at all?

If I had just one piece of SEO advice to give, it would be to stop paying for SEO advice. You can find it ALL online! Here are probably the most common ones you will read about:

  • Domain Name
    If you own “” you can make a great bet you’ll be on the first page when someone searches “foobar”
  • URL Structure
    If you’re not lucky enough to own “”, or any variation thereof, make sure your URLs segments can throw it in. “” is better than nothing. Search “Typography” in Google and take a look.
  • Title
    In today’s multi-tabbed browsers it becomes harder and harder for users to read your full title. Search engines don’t have that problem so don’t forget to make each page title relevant to that page.
  • META tags
    Your description and keywords should be as relevant and unique as possible on each page. Yes I know Google doesn’t care about keywords anymore, but there are still other search engines.
  • Linkbacks
    Having other sites link to your site is key. If you want people finding you for “foobar” you want people linking to you with “foobar” being the text. Even if people link back with different text, it will at least increase your PageRank.

Read more →

Fix or Manage?

Sometimes bugs come along that require significant work to fix. Depending on what project timelines are like at the moment, sometimes fixing the bug isn’t the best option. For example, a race condition in the caching architecture causes pages to be stale. The persistent data store is correct, but the cache is not. To the person who just triggered the update, there’s a bug. The information on the public side is not in sync with the information they just entered.

So, like any other bug, a report will eventually percolate down to the dev team. People scream, fortunes are lost, the svn blame command is used, and the devs who wrote the code pee their pants. Once the chaos dies down, the actual prognosis of this issue can turn out to be extremely grim.
Read more →