On Google Drive’s lowered pricing

Recently Google announced a price drop for their Google Drive offering. If you compare their new price to Dropbox, it’s a pretty decent offering.

For the same price as Dropbox users pay for 100 GBs, Google Drive users will get 1 TB of storage. That has got to be considered pretty good.

Now, too bad it’s really confusing what it means to have a Google Drive.


I got into an ironic conversation the other day over the usefulness of having multiple languages in the world.

I am of the opinion that languages are redundant and they only exist for being the most usable mechanism we have invented for communication so far.

How to be great at building UI wireframes

As I tweaked some last bits of code and added a few comments here and there, I realized I was getting excited. This project I had been working on for the last few days was almost done. I was happy about the code I had written and started prepping for a code review. My co-workers had been asking how it’s going and wanted to give me feedback, so I pushed and deployed my changes to a staging server.

What immediately followed was a humbling experience. “What is this?”, “Why did we decide to do it this way?”, “Won’t this interfere with the rest of the product?”, “How about if we do X instead?”, “Arnor, what the hell have you been building?”

Mobile app design: Clutter free using 1% prominence.

By now, it’s no secret that making mobile products has a unique set of design challenges. All companies and individuals making mobile products struggle with this. Finding the right balance between power and ease of use on a 3″ – 4″ screen is hard.

It really all boils down to the natural rule of features:

More features => harder to understand, more useful.
Fewer features => easier to understand, less useful.

So if you just add more features, without applying careful thinking about the whole experience and especially the experience for new users, you’ll inevitably make a complicated product.

The Unclimbable Mountain

I was reminded once again today how impenetrable the wall of things to do in life is. We had just hit yet another big milestone at work and as soon as we hit it, I started thinking about the next steps. And after that the next steps.

Just in the time it took for us to reach this milestone, a list of things to fix and improve before the next milestone was building up. And that list is long enough to take 10 times the time that the original milestone took.

We grow up thinking that next year will be better, or this year you will manage to finish X

Running a business, or working at one, is about fires. Everything is either falling behind, failing, has always been broken or is unusable. The only tool we have is a limited fire extinguisher to dim down the biggest most obvious fire each time.

Comparing the performance of Math.floor(), parseInt and a (bitwise) shift

I read somewhere that a bitwise left shift was a faster method of removing a fraction of a floating point number in Javascript than using parseInt or Math.floor().

I wasn’t surprised that parseInt was slow, since I think it parses the number as a string, but the left shift being faster than Math.floor() was a bit more puzzling to me.

So I decided to make a JSPerf test to compare those three methods.

Read on for the full results

Sensei DB

LinkedIn is perhaps not known for their development efforts in the open source community. But to my surprise, they have released an open source data store, dubbed “Sensei DB” which I find really interesting. (They may in fact have released it a while ago, but I just recently have discovered it) It’s built for high […]

My new Kindle Fire

Recently I won a Kindle Fire in a Hacker Buddy give away, sponsored by Tokbox. (Hacker Buddy is a site that connects hackers to other hackers with the goal of helping each other out, you should check it out)

I wanted to write up a summary of my experience using the device.

I’m not going to bore anybody with specs, information or detail. Enough information can be found online, eg. on the Amazon Kindle store.

Is Node.js the next Ruby on Rails?

I got into a conversation at work today about whether or not Node.js might become as popular and as ubiquitous as Ruby on Rails has become, or if it’s just a fad.

At first I was like “It’s going to become the most used framework evar!” But then I thought about it a bit more and realized that this might not be the case.

A bad habit: Getting all the domains!

I have this horrible habit, where when I have an idea, I usually start by ordering a domain.

And when I’m brainstorming, I might come up with around 30 ideas for domain names of a particular idea, which I narrow down to about 3-5. But horribly, I can’t decide which one is the best (some people tell me it’s because I’m a “libra”), so I end up buying all of them.

Responsive Grid Framework written in Stylus for Node.js

I’ve been hooked on Node.js for the last 2-3 months. I’ve been doing some small projects for fun in Express, and at first I used the SASS complier that ships with Express by default.

That framework is pretty limited and TJ Holowaychuk pointed me towards Stylus, a much better sass complier for Node.js.

I tweeted something about Stylus a couple of days ago which resulted in a fellow countryman, named Jokull Solberg (www.solberg.is), showing me a responsive grid framework he made in Stylus.

Nobody Likes Annoying Interfaces

I came upon this blog post by Seth Hoenig titled “Open letter to sites with annoying interfaces” yesterday. In the article he talkes about how some web sites and/or apps hide user interface actions until a later state. The post is a little bit funny and there might be a little bit of truth to it, but mostly it’s inaccurate.

The examples he covers are gmail’s edit-contact page and the button used to edit a project’s description on github. I’d like to talk a little bit about those and then give another perspective on hiding UI elements.

Open all files from a git diff or git show with this handy command utility

We use git as our versioning tool at work and I’ve gradually been learning a few tricks on how to speed up my development time and time spent managing my repo.

When jumping between branches, continuing your work from where you stopped last time, etc., you very often open the same files as you were editing in a previous commit. This may not be a problem if you use something like Command-T for vim or rely on the file browsing in TextMate, but often it might just be quicker to open all the files from a particular ref in git or opening all files from your branch’s diff from master/dev or something.

Arnor’s Handy Bookmarklet for Measuring Page Scroll Performance

I’ve been dealing with some unfortunate scroll performance issues at work lately, and to aid me in that task I’ve been using a handy CSS stress test bookmarklet made by Andy Edinborough. It works by iterating through all your classes and measuring the performance improvement you get from dropping them – thus helping you find out which classes are making your page scroll speed slow. It’s handy but the use case too constrained for my needs.

I wanted to be able to simply run a test anywhere on the page just for a single run, and I didn’t really care about the classes, since I was manually disabling styles and moving things around, unbinding event etc to find out where the biggest performance improvements could be had.

Possibly the nicest Node.js beginner’s guide (and style guide)

Felix Geisendörfer, one of the node.js contributers has released what can only be dubbed as the ultimate guide to writing node.js applications. He’s launched a site called nodeguide.com which has a beginner’s guide, a guide for how to convince your boss you should be using node (kind of funny, but sadly there are people who need this) and a style guide for standardization of indentation, naming, etc which should be taken with a grain of salt.

Older Posts »