In web-dev, it is all about the tools. And in the last couple of days I have found some kick ass tools: khan-exercises and  piscript/TikZ.

Several of my first clients insisted on having a lot more exercises to practice on. One girl, cancelled a purchase after I told her that my book was “a whole course, not just an exercise pack”. She said “all I need is exercises.” I had blueprints of a python “exercise generation” algorithm, but what I see in the khan-exercises framework is much much better. Also it is written in js, so can be deployed ANYWHERE. Thank you all. That is, like, the best Christmas present ever.

On the other hand, the book was seriously missing illustrations. I did well so far with Preview on the MAC and results from google image searches, but it is time I started producing my own images. The best tool for this is a programming language for graphics. The specific choice, doesn’t matter too much. It could be PostScript scripted in python (i.e, PiScript) or it could be the high level abstraction TikZ language that works with pgf directly from a .tex file. We will see. Either way, scripted illustrations are the way to go in 2012.

As an example consider this Figure I generated in one evening for my Thesis Proposal:

The code that generates (a) is:

\begin{tikzpicture}[node distance=2.0cm,>=stealth,bend angle=45,auto]
    \tikzstyle{station}=[circle,thick,draw=blue!75,fill=blue!20,minimum size=5mm]
    \tikzstyle{every label}=[black, font=\footnotesize]
        % MAC channel
        \node[station] (Tx1) [label=left:Tx1] {};
        \node[station] (Tx2) [label=left:Tx2, below of=Tx1] {};
        \node[station] (Rx) [label=right:Rx, right of=Tx1,yshift=-10mm] {}
                            edge[] node[swap] {$\downarrow$} (Tx1)
                            edge[] node {$\downarrow$} (Tx2) ;
      \filldraw [line width=4mm,join=round,black!10] (Tx1.north -| Tx1.east) rectangle (Tx2.south -| Rx.west);


This is the level of abstraction that I like.


Ever since I discovered python, I have had back problems.
No seriously, the power that is a modern computer and the scripting/programming powers of python (+ libraries) is so amazing that my attention becomes entirely focused on the computer at complete disregard to the rest of my body. Slouched — this is how I am, day in and day out while working on .tex, .py, .c .html etc… files. Not to mention reading.

Bad posture is a serious problem, and I vow to fight. I have had enough. Four years of chronic back pain is enough.

What are you going to do about it?

Stand up straight.

Sit down.

Keep back straight.

Yey. WP installed.

I started at 20:26:54 EST and I am done at  21:18:11 EST. cool.

Welcome to the new wordpress blog. Over the next days, I will import content from the text file, but now I feel like it is manifesto time.

What is minirefernce? Minirefernce is the revolution!