Elementary OS: A child’s play toy.

Where to begin.

In recent times, unfortunately, I’ve been seeing a bunch of articles about “Elementary OS“.

TLDR; It’s an out-of-date version of Ubuntu, with some ugly skins thrown on top.

Just being realistic

According to the Elementary OS website, it’s designed to be “Speedy” – however, a quick comparison test by booting a vanilla Ubuntu 12.04 (of which, EOS is based), and ElementaryOS Luna, shows a whopping increase in boot time of 7 seconds.

Seven seconds.

It’s also marketed as “Beautiful and Usable.”

Upon booting and logging in, the cheap OSX dock rip-off “Plank” immediately crashed. Seems pretty usable.

Designed by a spotted face

Beautiful? The entire OS has directly tried to rip off Mac OSX, but, failed.

Do you remember trying to draw and copy cartoons as a child, only to be disappointed they weren’t quite the same? This is primarily what I feel with their clunky, ugly interface.

The user interfaces look like it’sĀ been designed by a 15 year old high school student who has just discovered photoshop and a free icon pack. The entire icon set is rubbish – there’s no fixed color palette, and it’s basically a free for all.

Some sloppy design from "Luna"
Some sloppy design from “Luna”
Can you see the "inspiration" here?
Can you see the “inspiration” here?

 

Contradictory to my earlier post, Atom / Brackets suck.

After sitting around and using Brackets to develop a few sites, I decided to switch back to Sublime Text to see what I had missed while I was gone.

TLDR; Both Atom and Brackets have huge performance issues. I partly blame this on the fact that they are both based on new technology, and I also blame this on “over” doing it. Seriously, Atom is just so full of features it’s completely ridiculous. Even after disabling a bunch of modules, the editor lags when highlighting source code, and has noticeable visual lag when switching tabs.

I get that web isn’t as fast as native, but seriously, a tabbed WebKit view shouldn’t be that slow.

Brackets is better, and has some great front-end features, but it also suffers the same down fall.

I think I’ll come back and try the “web” technology editors in a couple of years.

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