Kacang Bawang

Encrypting Stored Email with Postfix

This post is about something that has been on my mind for a while, but somehow always seemed too complex, too far from a practical implementation. Until now, bwa-ha-ha. Encrypted email. Before you get too excited, let me first say that we’re not talking about a mathematically perfect system, and it is certainly not NSA-proof. But! It is about as practical as it gets. We get a system where all email is stored on disk in encrypted form. This is a Big Deal. If your VPS falls to a 0-day for a few hours, the evil hacker won’t be able to grab a dump of your naked pictures email. Really, in any situation where an adversary gains temporary control over the server, this scheme will keep the contents of your emails secret. Just remember: IMAP messages tend to build up and stay on the server indefinitely… I mean, when did you last clean your inbox 😉

Read more »

Pitfalls While Setting Up esp8266 ESP-03

Here are some obvious and not-so-obvious pitfalls you may encounter while trying to communicate with an ESP-03 over UART. We will be using a USB-Serial device to connect directly to the ESP.


Read more »

JSON RPC lib for microcontrollers released!

I have just released my JSON RPC 2.0 implemenation under MIT License. It is built on top of JSMN JSON parser and is meant for use in microcontrollers. At least that’s where I’m using it. Note: you will need to use my branch of JSMN.

The features are:

  1. simple API (only 3 functions!)
  2. low memory requirements
  3. minimal dependencies (other than JSMN)
  4. ability to call pre-defined C functions directly from JSON strings (I guess that’s the RPC part)
  5. parameter type checking

Take a look here.

OpenWRT Configuration Hacks [Part 2]

In the previous post from this series we talked about customizing the dropbear startup scripts. This time we will direct our attention to dnsmasq, an all-in-one DNS-DHCP service. I will show you how to improve the configuration for a WAN/LAN/WIFI setup (as opposed to just WAN/LAN). We will get – hostnames such as router.lan, router.wifi and plain router for the router, and we will have clients get the appropriate client.lan or client.wifi name depending on which method they used to connect to the router.

Read more »

OpenWRT Configuration Hacks [Part 1]

In this post I will talk about some configuration optimizations to OpenWRT 12.09 “Attitude Adjustment”. It is the first in a two part series (part 2). In this part we will deal with dropbear configuration.

Read more »

BeagleBoneBlack RevC Debloat [Part 1]

There are literally a million articles on the internet comparing BeagleBone vs RaspberryPi. People talk about all possible features, except one – bloatware. BeagleBone is absolutely stock-full of it. I found this out the hard way when I purchased the BeagleBoneBlack. All my searches about the topic turned up a few requests for debloat instructions with a few answers showing how to disable services via systemd, but none about how to permanently remove the programs in question. So, without further ado, let me show you how I removed the most egregious offenders.

Read more »

LED Mirror

I bought a tape of LEDs thinking that I would convert the lighting in my study to LED, but the tape was shorter than the perimeter of the room, and the LED intensity was too low for it to be useful as a ceiling light (note to self: make sure to buy the super-bright variety next time). After a quick look around I found a new use for the tape – an LED mirror (aka zit-popping mirror 🙂 It was perfect – the perimeter of the mirror was 5m more or less exactly, as was the length of my tape.


Read more »

UART Console Between PIC24 and BeagleBoneBlack


So, I’m working on a project which is based on the PIC24 microcontroller and I needed a console. A regular, plain-jane text output (and less-so input) to somewhere where I can read it. While this shouldn’t be much of a problem, for this particular combination there were a few little things that had to be just so, or the whole thing broke. I would like to describe the conditions that I found necessary for getting it up and running.

Read more »

Dell XPS15 SSD Crash Recovery

Fucking Dell! An expensive new laptop. Within one month HDD dies. Within 6 months SSD dies.

In this post I will write down what I did to overcome an SSD drive crash while it was active in an SSD-cache setup under 'enhanced' option (ie, both read and write buffering).

Read more »

Nexus 5 – Reversible De-Bloat

In this post I show you a list of pre-installed apps that come with your Nexus 5 along with a quick explanation of what they do and how to reversibly disable them, should you choose to do so.

We will need:
* Rooted Nexus 5
* adb

Read more »