Web development on Ubuntu with Brackets

Web development on linux has always been possible, but sometimes not very efficient.

With the modern era of native apps being converted into HTML5 / javascript, which are then executed in native shells, web development on linux is becoming a ton easier (Thankfully!)

Check out Brackets for a new workflow.

Executing NodeJS Apps without calling Node

If you’re running Linux, Unix, OSX, or similar, then congratulations, you have discovered the power of the hashbang.

Add the following to the first line of your NodeJS app

#!/usr/bin/env node

Also, ensure your script is executable

chmod +x app.js

You should now be able to execute your NodeJS app without calling Node, like this

./app.js

Gogs: A great alternative to Gitlab

Gitlab is great, however, there’s a few issues I’ve found with it that tend to annoy me:

  1. It’s written in Ruby.
  2. It’s slow.
  3. It’s a resource hog.
  4. It’s backup system is completely terrible.

Facing a resource cut-back on our work server, Gitlab had to go for our in house git service. While it did a great job for a long time, the resource usage had gotten out of control.

Meet Gogs

After some quick research online, we came across Gogs, which immediately appeared to be a fitting candidate.

It’s written in Go (compiled is always faster, right?), and although it’s still in early development, it’s fast. Really freakin’ fast.

The outcome

Gitlab was averaging around 1GB of memory usage at all times (ONE WHOLE GIGABYTE!). After installing Gogs, getting all of our git repositories moved over, we’re averaging just under 50MB of memory usage. This is a performance increase of ~20 times.

To keep things civilized, we’ve configured apache2 with mod_proxy to pass traffic between the browser and the service, allowing us to tighten down security for sensitive projects.

ruby !== fast