kig.re Writings on tech, music and life by Konstantin Gredeskoul, aka 'kig'

C++ Newbie Tour: Getting Started with C++ on Mac OSX

C++ — A Newbie Tour

First I'll start with a confession: I started learning C++ somewhat recently, which may be puzzling if you know me well because I've been building my career in software engineering for well over twenty five years.

Well, despite having hands-on skils in C, Java, Ruby, Perl, even BASH, — I have somehow skipped C++. But then, as soon as I decided to play with hardware like Arduino it became clear that I wanted to take advantage of the Object Oriented techniques and Design Patterns that I acquired over the years and apply them to my Arduino code!

By that time I was very surprised to find that the vast majority of the existing Arduino projects and libraries were written rather badly, in C. The best ones are written in a mixture of C++ and Assembly. But, it turns out that you can have your cake and eat it too — meaning, you can apply OO principles to Arduino programming.

In this post we'll explore some of the things that a beginner C++ programmers (but not general beginner programmers) might find useful in getting quickly up to speed. We will look at which compilers support newer C++ standards C++11 and C++14 and the difference between linker and compiler, as well as dynamic vs static library. Finally, we'll offer a C++ project template you can use in your own projects.

↳ Keep reading …

AWS/EBS/C5 class instance: cannot create file: Read-only file system

Is AWS a sane choice of a Cloud for mission-critical infrastructure

In this short post I describe the "read-only" problem that happened to one of our C5 hosts, offer a bit of a rant about how incompetent AWS support staff is, and how their forums are completely _useless_, and frankly, _infuriating_. And as far as the question posted above I will let you make your own conclusion — so keep on reading. Do you have the same problem on one of your C5 instances? Then read on. At least in our case the solution has been found. But not by AWS. By me.

The Problem — read only file system on a C5 class instance.

↳ Keep reading …

Dead Simple Encryption with Sym

A story about how your mom can now protect her application secrets by using this simple and effective symmetric encryption tool.

Are you impatient? If so — I direct you to view a 4-minute long ASCII Cinema session I recorded that showcases sym in its beautiful CLI glory :)

Now, keeping secrets outside of your repo may provide you with a false sense of security. After all, anyone who gains access to your hard drive can download all of your secrets. Think of a coffee shop, with a public WiFi, combined with a lack of recent security updates for your operating system — and you are instantly at high risk. Besides the fact that decrypted secrets are easily accessible on your file system, this gitignore method deprives us, developers, from a very useful ability to track historical revisions of any changes to secrets files, and to be able to rollback to a previously working versions. Not to mention having to sync secrets across all developers when they change!

↳ Keep reading …

Feeding Frenzy with SimpleFeed

For the Impatient

I am very excited to announce the official release of the open source Ruby library called Simple Feed, released as a ruby gem.

I am the primary developer on this project, and my name is Konstantin Gredeskoul — which you probably already knew. This library would not have been possible without the generosity and sponsorship of Simbi.com.

Simple Feed is running live in production, and is powering three separate social feeds on Simbi: the global feed, followers feed, and "own" feed — events related the feed owner's actions:

↳ Keep reading …

Native Instruments Traktor — Fixing Dreaded "Could Not Read Collection/Playlist file" Error

"Not a Rant" Rant

I'll begin by saying that I love Native Instruments, and software and hardware that they make. Not all of it is a hit, but overall, the company is definitely one of the undisputed leaders and innovators in the Digital Audio space. I own Komplete versions 2 to 10, Traktor S4, S5, F1, Kore2 and a few others.

In the past I created albums using NI tools and plug-ins, some of which are available on iTunes, and as a disclosure — I've never pirated any of NI software by principle – being a software engineer, I was able to appreciate the colossal effort they've put into each and every synth I used.

Reality Strikes

That said, being a software developer I have also been continually amazed at how abysmal – specifically the file management interfaces are in NI products. With the CoreAudio™ plug-ins I can usually get around it, since I use Logic Pro X® as a DAW.

But nowhere is the file management shortcomings are more in-your-face-obvious, aggravating, and frustrating, than in their flagship DJ mixing product – Traktor DJ Pro.

↳ Keep reading …