Alexander Beletsky's development blog

My profession is engineering

Playing with Dokku on Vagrant

As I said previously, it’s very easy to turn Linux machine into Heroku-like server. But, before setting up paying account on Amazon or Digital Ocean, it’s nice to just play it locally. Will do that, running a Dokku on virtual machine. Will setup development environment and do first local deployment, just to see some real features.

It does not require complex environment to run Dokku locally. All you need is git and Vagrant.

Digital Ocean + Dokku = 10$ Heroku

My last infrastructure related post was about an experience of using AppFog and switching to Nodejitsu eventually. But that was not the end. In short: for Likeastore we needed SSL support, it happed that SSL is only available for Nodejitsu business plan, which price is 120 USD. That was simply to much for our small venture.

Long time ago, I realized – constrains are good. This case just proved that. Looking for alternative options, gave really nice results, which I easily could be re-used if you looking for simple deployment solutions.

First Week in The Air

It’s been a week how Likeastore application went public. I was amazed with initial reaction and feedback. Right now, we have 730 sign-ups, 844 social networks connected and 117950 likes collected. That mean, we had ~100 signups per day and it’s growing.

Here is a little retrospective on the things happened through that seven days.

Likeastore App Goes to Public

About 4 month the project started on hackathon and called Likeastore. Yesterday, it’s been pushed out to public and I feel really great about that. Started out as quick hack, it eventually became a real product.

Bootstrapping is always hard, despite of the actual product size. Finishing something that other people will see, just doubles the stake – you could not fail, wish to do best of the best. It’s been really breathtaking journey (or I would call it beginning of the path), so if you are interested I’ll share some details of product and it’s development.

Why We Moved From AppFog to Nodejitsu

Likeastore started to use AppFog as PaaS during private beta campaign. That was great idea initially since AppFog offers really nice conditions: 8 running instances with 256MB or RAM, custom domain names, support and all relative services. I have to say, it did work fine at the beginning, allowing us to push product forward and show it to our subscribers.

But very fast we realized that AppFog does not suite us at lot.

Think Ahead, Think Logging

When we develop application, we have everything to understand applications behavior. Debugger, traces, tests – all information just in hands. If something goes wrong, it’s not so hard to track the problem.

Situation is completely different then app leaves development box and goes to production. In best case, we’ll receive email or tweet from user, but typically problem remains on production silently, while customers just silently leave.

Prepare application to production, means prepare good error logging. I’m going to show how to extend your Express.js with proper logs.

We Were Wrong 10 Years Ago

The way we build distributed systems and platforms is changing through the the last 10 years. Recently, I was thinking myself about different technological options I used so far and came for some conclusions.

Early 2000’s I was programming C/C++ and the best way of passing some data from one machine to another, was – socket. The time took understanding of sockets, I clearly saw it’s the best solution for that task.

Moved from Blogger to Octopress

I actively started to blog almost 3 years ago. Before that, far away 2008 I created blogger account and had few posts there about TDD and ASP.NET development. So, after some pause I just picked up existing one and jumped in in blogging community.

That time, blogger was quite obvious choice. Google powered, editor and plain HTML support, templates etc. I used to use Visual Studio to create posts, then pasted that to blogger, posting images on Picassa and code on Github. That worked for quite while, but now I consider that is very heavyweight approach.

Now this site is running Octopress and hosted on Github and that’s totally reflects my current tools of choice.

Github as blogging platform

No, I’m not going to talk about creation some github-backed blogging system. I would like to talk on some blogging style I tried to apply recently.

The problem is, technical blogging is difficult. I usually have a lot of ideas or know-how’s while I create some code. It’s just hard to blog about. As you didn’t do the blog post during coding, you might forget some details or simply loose the encouragement to blog about it.

Building Single Pages Applications

This is transcript of talk I gave on #msswit conference 25 April 2013.

What is SPA?

If you just imagined the pools and saunas and massage rooms, this is, unfortunately, not the thing that I going to talk about. We’ll check out new concept of web applications, that are called - Single Page Applications.

From technical perspective SPA means the web application, that being loaded as one HTML page and redraws it’s UI without round trip to server. That sounds not so exiting, but we can see that SPA is much more than that.