Monday, September 29, 2014

Syntax highlighting code in Blogger

So far, I've been using the Courier monospace font to show code in my posts on Blogger. Jekyll has better support for syntax highlighting and a static site with Github pages is the "in thing" these days. Let's see how well Prettify works with Blogger for syntax highlighting.

Saturday, September 27, 2014

On building portable Linux binaries

One of the annoying things about Linux is how hard it is to build binaries that work on all reasonably recent distributions of the operating system. Dynamic linking is favored in Linux for a number of reasons. But it puts the burden on the user to make sure that all dependencies are met, and this can quickly lead to what is popularly called "dependency hell".

Saturday, July 5, 2014

NTSC demystified - Color palette demo with simplified progressive and interlace scanning - Part 7

This final post in the NTSC Demystified series demonstrates color NTSC signal generation using a microcontroller. We're going to get Atmega16, an 8-bit microcontroller, to generate color NTSC video signals without using an NTSC color encoder chip like AD725!

Saturday, June 21, 2014

Flat Hacker News

Threaded conversations in Hacker News (HN) can be a pain at times. It's easy to lose context as you scroll down a long discussion. Jeff Atwood has written about numerous issues with threaded discussions and suggests limiting the level of replies allowed. So, how do we go about doing that without asking the HN maintainers ?

Update: This latest version of the Flat HN bookmarklet is available here.

TL;DR Edition - Drag this link, Flat/Threaded HN, to your bookmarks. Open a discussion on HN and click on the newly created "Flat/Threaded HN" bookmark.

Deeply threaded dicussion

Sunday, January 26, 2014

On Signal to Noise Ratio (SNR)

A large part of circuit design is about making trade-offs between speed, cost, power consumption and so on while meeting some design specification that can often be traced to Signal to Noise ratio (SNR). Yet, possibly for pedagogical reasons, SNR is often under-emphasized in undergraduate classes. Remember those amplifiers you heard/read about years ago ? This post will demonstrate a canonical application of amplifiers and show you how to measure SNR of a signal captured from an Arduino.

Saturday, December 7, 2013

Interpreting the fourier transform

A friend of mine, who is a designer, asked me how the Fourier transform is interpreted. I'm turning my answer into a blog post in the hope that this might help non EE/math people in dealing with real-world signals.

Monday, March 18, 2013

Templating with web.py for Circuit Design

When describing circuits to computers, have you ever felt that the languages for EDA, be it SPICE or Verilog or whatever are not flexible enough ? Well, I have. Coding regular structures such as adders, ring oscillators, multipliers etc. with popular languages in EDA can be a pain. A couple of weeks ago, I was checking out a synthesized ring oscillator to build a time-to-digital converter (TDC) [1]. Building long chains of inverters by hand is drudgery and SPICE does precious little to help in automation. At first, I tried writing a python program with string manipulations that generates verilog code, but quickly came to realize that its way more natural to have snippets of python inside verilog. Now, that needs a bit of work to get going. Thankfully, web developers solved this problem long ago for programmatically generating HTML. I used web.py 's templating engine to write verilog code that describes a ring oscillator (in case you are surprised by the fact that I used verilog rather than SPICE, the whole idea is to create the TDC with standard cells).