Donate to support Ukraine's independence.

25 Oct'15

Installing Redis from source on ARM

Ubuntu has quite old packages in the default repositories. It is especially important for web development, where version compatibility may break often.

ownCloud requires a modern version of Redis to use it as a cache and to keep track of the file locks.

PPAs that provide Redis packages do not build for the ARM arch, however. Therefore, with my new Scaleway server, I’ll have to do it by hand:

apt build-essential
apt libjemalloc-dev

Here, apt is my handy alias apt=”sudo apt-get install”. If you ran into jemalloc problems before this article, be sure to perform a distclean before …

Continue reading

31 May'15

C/C++ based projects on resin.io

I learned about resin.io long time ago (thanks to my friend Shaun Mulligan from resin.io) but didn’t dare to try it out for a long time. Maybe, because most of the examples were in Node.js and targeted Raspberry Pi. At the time, I was doing a project in ad-hoc and wireless sensor networks and implemented it using the Beaglebone Black, Arduino, an LWIR camera (in my case, FLIR Lepton), a reed switch and a pair of XBee modules. I used C/C++ on Beaglebone and with a partner we used Python/Django on Heroku.

By the …

Continue reading

22 Mar'15

Programming Arduino Pro Mini with USBasp V2.0

UPD 2016-05-14: Arduino Nano with CH340 ships from Aliexpress for less than $2 – I recommend you buy it instead (unless you know what you’re doing).

Do you really need to pay $25 for an Arduino? Many of my friends have the original Arduino and they work great, but I wanted to see how cheap I can go. Initially, I purchased the SunFounder Starter Kit and it worked 100% as advertised. Today we’ll see if we can get a fully featured Arduino under $5.

Recently, I came across the dirt cheap Arduino Pro Mini clones and decided to buy …

Continue reading

11 Mar'15

Review: HBR Guide to Getting the Right Work Done

New guide from HBR doesn’t sell you on a new technique, but instead opens with a chapter titled “You can’t get it all done”. The book presents a reader with two main ideas that seem rather obvious. First idea suggests that to get more time for our tasks, we must stop doing things we’re not supposed to. and that unswerving commitment to daily “rituals” forms the foundation of most successful people.

The title of that chapter immediately reminded me of the article published on The Atlantic and titled Why Women Still Can’t Have It All. After …

Continue reading

19 Feb'15

Install cvBlob on Debian

cvBlob installation looked like an easy task but took me a little while to figure out.

First, there are no libcv4 libcvaux4 libraries in Debian (at least in Wheezy). I installed libopencv-dev instead.

Next, there was a very strange problem that persisted after cvBlob installation:

$ ./red_object_tracking
./red_object_tracking: error while loading shared libraries: libcvblob.so:
    cannot open shared object file: No such file or directory

The solution was to run sudo ldconfig beforehand.

Full list of commands:

sudo apt-get install mercurial cmake libopencv-dev
hg clone https://code.google.com/p/cvblob/
cd cvblob
cmake .
make
make install
sudo ldconfig
cd samples …

Continue reading

19 Feb'15

Update Git on Debian 7 to Git 2.3

Add the following repository to the sources.list:

deb http://ppa.launchpad.net/git-core/ppa/ubuntu precise main
deb-src http://ppa.launchpad.net/git-core/ppa/ubuntu precise main

Now, run sudo apt-get update and get the following output:

W: GPG error: http://ppa.launchpad.net precise Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY A1715D88E1DF1F24

And fix it by running

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A1715D88E1DF1F24

Now you can run

sudo apt-get install git

And afterwards verify your setup:

$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description …

Continue reading

Category: 

16 Feb'15

Clang fatal error: standard headers not found

In the morning I decided to try building the json11 library. I almost submitted a github issue but then understood that the error quite silly and was probably originating from my broken setup:

$ make test
clang++ -O -std=c++11 -stdlib=libc++ json11.cpp test.cpp -o test -fno-rtti -fno-exceptions
In file included from json11.cpp:22:
./json11.hpp:53:10: fatal error: 'string' file not found
#include <string>
         ^
1 error generated.
test.cpp:1:10: fatal error: 'string' file not found
#include <string>
         ^
1 error generated.

As you might see, string is a part of the standard library.

Let …

Continue reading

Category: 

15 Feb'15

Deploying sample Silex app to Heroku

For the last couple of weeks I met quite a few people who were praising PHP and I had an idea to have a brief look at it once again after more than 4-year break.

I decided to push a sample application to Heroku by following their tutorial but that turned out to be nontrivial on my Ubuntu 14.04LTS. Below I’ll give a brief list of commands that I needed in addition to those provided by Heroku to get the app running locally before pushing it to Heroku.

Initially, we start by naviagiting to the repository and following …

Continue reading

Category: