Archive for the ‘dev’ Category.

OpenWRT Chaos Calmer 15.05 on Dlink DIR-320 with CDMA modem

The goal of this article is to install latest OpenWRT firmware on a very popular DIR-320 Wi-Fi router (BRCM47XX based). The reason why you might do this is to be able to connect modern hardware(modems) to this pretty old legacy device.

Official firmware 3G modem support list is pretty limited and uses old kernel. On the other hand, there is an alternative DD-WRT firwmare with linux kernel 2.6.x which is pretty old also. Therefore, the only viable option is installing OpenWRT which ships the latest linux kernels 3.18.xx.

As a bonus sub-topic we’ll consider setting up an external CDMA(EVDO) modem and using it to access internet.

Continue reading ‘OpenWRT Chaos Calmer 15.05 on Dlink DIR-320 with CDMA modem’ »

Running php 5.2 fpm on ARM processor

Sometimes you need to run legacy php code on ARM processors. Since php 5.2 was released 2 November 2006 at the time there were not a lot of powerful ARM solutions capable of running full-fledged websites. However, right now there is a possibility to run pretty heavy code on modern ARM platforms and a lot of linux distros support ARM architecture. There is even dedicated ARM cloud hosting.

In this post we’re going to fix the inability to run PHP in the FPM(Fast Process Manager) mode which is an absolute requirement if you want to run production websites.

Continue reading ‘Running php 5.2 fpm on ARM processor’ »

CloudWatch custom metrics

In this post we’re going to investigate how to create custom metrics for the AWS CloudWatch service. In some cases it’s not enough to have default set of AWS metrics which are already defined for you in dashboard. Let’s say you want to monitor the number of active customers on your website, or you would like to know the number of failed requests to your API backend.

Whatever it is, CloudWatch will allow you to record any time-based data using AWS APIs.

Continue reading ‘CloudWatch custom metrics’ »

Intellij IDEA and Go plugin

Ever wondered where to find IDE for programming Google Go language?
Well, there are not a lot of choices out there and some of them lack pretty significant functionality, especially if you’re a newbie in Go like me.

Some popular choices include:

1. LiteIDE the only IDE targeted specifically towards Go
2. GoSublime a Sublime Text plugin

I’ve tried both of them and found out that both of them lack Go to declaration feature, which is crucual in the process of digging around new code. On top of that LiteIDE requires installation of gocode daemon for autocompletion to work fine.

As you can see usage of these IDEs requires a lot of bells and whistles to get basic functioning.

However there’s a third option which I’m going to talk about in this post: Google Go language plugin for IntelliJ Idea

It covers two of my initial requirements for Go IDE:

  1. Go to declaration feature, i.e. you may click on any declaration and go check how it’s implemented under the hood
  2. Autocompletion, that’s a huge time saver and a great helper in exploring available options

If you’re familiar with any Intellij IDEs you’ll get additional time-saving benefits too. Let’s proceed!

As of time of this writing, there’s no up-to-date binary distribution of the plugin (hence, the post:),
so we’re going to build everything from the sources.

Continue reading ‘Intellij IDEA and Go plugin’ »

Phonegap vs. Titanium

For a while we’ve been spiking on different solutions to implement mobile app for our platform, and here are some of my initial thoughts on the problem.  Given that I’m too lazy and not so enthusiastic about Objective-C for iOS or Java for Android I was searching for some solution which could deliver value from both worlds with minimum initial effort.

Phonegap (hybrid approach)



  • Ability to develop apps in HTML5 ( means more web devices are captured)
  • Overall speed of iterative development is high (it’s almost like refreshing the page)
  • Easy to debug (remote WebKit console in Emulator)
  • It’s JavaScript!
  • Huge amount of JS-frameworks for touch devices (Sencha, iUI, jQuery mobile, iWebkit, etc) ready for use
  • Ability to make bindings to native hardware by writing Objective-C plugins
  • Good  documentation & large community

Continue reading ‘Phonegap vs. Titanium’ »