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 …

Scaling Web Applications on PostgreSQL pgConfSV 2015 presentation

pgConf 2015 PostgreSQL Developer Conference in the Bay Area

I was very happy to have my submission accepted at the recent pgConfSV conference (where SV is for Sillicon Valley). For various reasons I was unable to cover everything I wanted during the talk, which is a note to self for future public speaking engagements! Time your talk! :). Well, below is an updated version of that presentation, which shows an incremental and methodical path to scaling web applications to millions of users using PostgreSQL, all the while covering a very range of material.

Audience

In general, the ideal audience for this is operationally and architecturally minded full stack engineers, building web apps that either are already serving a ton of traffic, or will be soon.

But on the broader scale, I was intending for this presentation to be helpful to anyone trying to get a grasp on how to evolve their web application to where it's able to serve a rather high throughput of 5K-50K requests per second. This range is still far below what the internet "giants" such as Facebook, Google, or Twitter get (if I had to guess, it would be in 1M/sec). But, it is also far from an early naive web application with just a few users.

Turns out it is possible to achieve high scalability on the cheap, and using PostgreSQL, which is what we did at Wanelo, and it turned out great.

Presentation

Thanks!

↳ Keep reading …

Serial Console Hacks with Arduino

Battling Console

I wanted to share a method that I use to connect to a Serial port of any Arduino I am using at any given moment. This method has a caveat, in that if you have more than one Arduino connected, it will pick one of them at random.

Motivation

I always hate Serial port windows. They do not automatically reconnect, and if they try (Eclipse) they don't always work (Teensy). So I went searching for a reliable solution that will automatically reconnect after loosing a connection.

I found it! It's called minicom!

↳ Keep reading …

Music, DJ-ing, and Origins of Weird Names

– So, did you know?

if (my.question.style_of(blog.post.style) == FALSE) {
  omg() || exit() || return; || run(SUPER_FAST);
}

Me: – "So, are you prepared to listen to some music?"

You: – "What the hell are you talking about, this is Electronics Blog, and I came here to read about my goddamn chip that's not working... You are breaking my brain!!!"

Me: – "I knew you would love it! Then let's begin :)"

You: – "Grrrrr...."

/* music_info.ino  */

curtains = new TheaterCurtain();
if (!curtains.open()) {
  /* proceed without the curtains */
  return ("true" || 1 || TRUE);
}

↳ Keep reading …

How to use cheap Chinese Arduinos that come with with CH340G / CH341G Serial/USB chip (Windows & Mac OS-X)


  • Updated Oct, 2016 with the new signed driver for OS-X Sierra
  • Updated Nov 22, 2015 with the new signed driver for OS-X El Capitan and Yosemite
  • Updated Jan 9, 2016 with Windows Drivers

My golden rule is that if something took me longer than 15 minutes to figure out, then it's worth documenting in a tiny blog post so that it would save time to others, just like many other similar posts saved me million hours by providing simple clear instructions.

Introduction – What is CH340G?

↳ Keep reading …

Announcing LaserCutter ruby gem and MakeABox.IO web site

My day job, @ Wanelo, requires cranking on all cylinders, and so I've been pretty busy with life, the universe, and everything, although it mostly means Work, the Wife, and the Cat). In all this constructive chaos, I totally forgot to mention, and properly introduce to the world something I've been working on during many sleepless nights this September :)

So without further ado, LaserCutter –– ruby gem (a library and a CLI) for making PDF designs of laser-cut boxes, which fit/snap in together at all edges using tabs that go in and out. The output of the library is a PDF document. Typically next step would import that PDF into Adobe Illustrator for additions and touch ups, and then sent off to a laser cutter for the actual, well, cutting.

In addition to the ruby gem, there is also simple web front-end, called MakeABox.IO, which can get you started creating boxes without installing any gem, or running anything on the command line.

If you've made any enclosures of your own, like either for your electronics gear, or a lighting show, or your cat auto-flushable toilet, you probably used one of the existing and free tools out there. I did not find them all when I started making boxes, but over time the choice seemed to come down to three options:

↳ Keep reading …

BORAT: Bathroom Occupancy Remote Awareness Technology with Arduino

A great company where I work, Wanelo, with all of it's 35 people, recently moved to a new office which has only two single-occupancy bathrooms, each on a separate floor.

A few times a day, when the need was strong, I'd go to the downstairs bathroom only to find its door locked. I'd then run upstairs and find the other one locked too... Damn! I'd come back down only find out that someone else grabbed the first bathroom while I was upstairs. Argh!

You can likely see how this could be a frustrating and disruptive experience even just once or twice. Now multiply that by 35 employees and every work day of the year, and you end up with an actual productivity problem.

Given my foray into Arduino over the last few months, I knew I could come up with a solution. I got approved for a small budget of about $200, and started looking around.


The problem was very simple: people needed to know when each bathroom was occupied, or not. Just like on an airplane you can see bathroom light on/off, I wanted something similar for our two bathrooms. Something everyone could see.


↳ Keep reading …