Feeding Frenzy with SimpleFeed

OR, how to add a proper social activity feed to your ruby-based application in fifteen minutes.

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 my current employer Simbi.com.

The software 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:

The software is distributed under the MIT License and is available today. It's written in ruby and does not depend on Ruby on Rails. Therefore it can power applications running on Rack, Sinatra and using alternative web frameworks. Having said that, at Simbi we are using it with Rails, and I may release a small Rails adapter for SimpleFeed in the future.

The short-list of its features is:

  • You can define any number of feeds per Ruby VM
  • SimpleFeed stores pure strings associated with a floating point number (typically – time), and so does not assume any particular format of the data
  • The data is stored in pluggable backends, with Redis and Hash providers supplied.
    • New providers can be easily built and used with the same API.
    • Using Twemproxy, the backend can be transparently sharded to support millions of users.
    • Redis provider is optimized for multi-user batch operations, such as posting an event to many users at once using Redis pipeline.
  • Rich API allowing both single-user (i.e., for reading the feed) and multi-user (i.e., for writing to feed) batch operations
  • Powerful DSL
  • Near 100% test coverage :)

For information on how to use, install and other technical details I refer you to README or the more detailed discussion below.

↳ 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 …

Distributed Applications That Avoid DevOOPS

Are you practicing DevOops?

  • do you constantly struggle to keep production running smoothly?
  • do you get a ton of alerts that don't actually mean things are broken?
  • do you use Docker, but your deploy takes 20+ minutes?
  • do you use Docker, but manually configure Docker Hosts once the cloud provisions them?
  • does it take hours to bring a new server into the pool to help alleviate load?
  • have you never practiced failover to your database replica?
  • do you NOT know who owns your root DNS?
  • have you skipped that ticket about making an offsite backup, and now there isn't one?

If you answer yes to any of these questions, then you just might... The thing is — you are not alone. Thousands of organizations do not have the time and resources to fix this type of technical debt, and escape the world of DevOops, where things just don't run smoothly. That is despite using newest technologies (Docker), largest cloud in the world (AWS), and a great team of engineers.

I'd like to help.

↳ Keep reading …

Super-charge your email like a Pro with MixMax

A few days ago I was blown away but what a (still) little-known startup called MixMax is doing with email — nothing short of revolutionizing it! If you haven't see it yet, do check it out, especially if you often find yourself scheduling meetings or lunches over email, asking for feedback, conducting polls or sharing rich media with others.

MixMax enhances, enriches, extends (EEE!) the standard Gmail functionality with a lot of goodies, accessible from both the GUI as well as via the "slash" commands while composing an email.

Slash commands have been used for a very long time, to send "commands", like in age-old IRC, as well as the much more recent app Slack, or even, any multi-player online video games.

↳ Keep reading …