Sriram Iyer

while(!broken) { fix(); }

WGET, Cookies, Firefox and Bad Internets

Let’s get one thing straight – my internet connection isn’t one of the fastest around. Secondly, it likes to drop when downloading large files. So, in order to download large files reliably I need to use wget or something that supports resume functionality. Using Firefox for anything above a few hundred megabytes is an exercise in futility especially if I’m downloading from one of those file-sharing websites like or rapidgator.

Rant - My Note 3 and Full Disk Encryption

I have a Samsung Galaxy Note 3. Before this I had the Nexus 5, which was fully encrypted with a secure passphrase and had a pin code on the lock screen. We all know of Android’s (pre-lollipop) flaw of using the same key for both lock screen and disk encryption but it could be changed using Cryptfs if you had a rooted device, and knew what you were doing.

CAN-bus for Home Automation?

I’ve been recently reading about CAN-bus. The collision arbitration and the multi-master node system is a very tempting feature when you think of home automation.

Considering an apartment with a maximum run of a 100 meters, one should be comfortably be able to run CAN at around 500Kbps which is a lot more than any home automation network requires.

Theorycrafting - PRNG on the Arduino

This is a theorycrafting post. I’ve been looking at ways to generate (pseudo) random numbers on the microcontroller. I’ve read some papers which state that over long enough time periods even diode shot noise is prone to bias and drift. I could use debiasing techniques but over time, it’d end up producing bits at a slower rate which isn’t something that I’d want.

Observations: OBD2 on My Car

I plan to make the OBD2 adapter a more permanent installation in my car, but seeing that I have the Bluetooth version of the adapter I was not too happy about the security. Before keeping it plugged in permanently I want to make sure it’s safe. If you see enough Defcon and C3 talks, anything wireless will make you paranoid.

Using Notepad++ Instead of the Arduino IDE

Let’s face it, the Arduino IDE is terrible. I’d rather use Notepad++ to do the writing and then merely use the Arduino IDE as a dumb pipe to compile and upload the code. There’s a couple of things that need to be done for the transition to be as seamless as possible.

Logic Analyzer in a Pinch

A logic analyzer is a great tool to have in your box for when you need to sniff protocols and communication between devices. Too bad I don’t have a dedicated unit (yet) but what I do have are three arduino boards. Surely ther’s got to be a way to detect edges and record them right?

Nvidia Drivers Preventing Computer From Idling

For quite a while I’ve been having a very particular problem – my laptop’s screen would not turn off automatically after the set time. Initially I thought it was an issue with Windows 8.1 which is when I started having the problems. But I soon noticed that it was affecting only this specific computer, and not the others. I was postponing fixing this for a long time. But now I finally decided to get on top of this.

Arduino Mega as an ISP for the Atmega 328

There are a thousand tutorials on the internet on how to use the Arduino board to program an bare atmega chip. But as they say, when Murphy strikes, he strikes hard. It took me almost an entire evening to get my Mega2560 to even get reoognized as an ISP much less program the bare Atmel chip. But, after relentlessly persisting and badgering the poor folks over at #arduino I finally got my Blinky to work on the bare chip. As an aside, I tried this with the Nano 3.0 but I was unsuccessful with it.