Skip to main content


Showing posts from 2011

Finally, I have my hands on them

It had been so long, since I started to think about buying a book titled "The C Programming Language" by Bryan W. Kernighan and Dennis M. Ritchie. If I put it as accurately I can as possible now a days, It'll be 3 year after I learned how to program (Obviously, In C, we initiated). This book is a standard reference for "C" language till the date, a gift from authors of the language, themselves. It wasn't available at local book stalls. (I do think, that's the case, even now.)
The other book shown here, Is called "Hacker's Delight.". Well, it's no immediate use to me. But I liked the content of that Book. It's a bible of Bit level Algorithms and techniques. What I already know about bit arithmetic become nothing in front of this Excellent book. A must have, If you want to know your machine. Want to become a Embedded expert and so on. 
And If I say, these are first Computer Science books that I'm buying with my own money and Out…

Software Engineering - Continues refinement

Every programmer wishes to write some code, which is both elegant, and readable. A master piece to reference to... And there may not be a single programmer, who said at least once in their life time that, "If I had time, I'd rewrite it" or any similar one.
Today, let's discuss, how the idea of sorting a list of list went on,  
I had to sort a list of lists, that's the result of a search, comes from Web Service. After that, the result is extracted from the XML document that's returned and formatted for front end. So, now all the data is in the form of strings. And I'm ended up with the task of sorting a list of list of strings, based on different items in the inner lists @ different times. And Obviously we can't compare the data as strings, we have to convert them into their proper data type before comparison.
Since, I works on a Python based project, First thing, that came to mind is to use, sorted inbuilt function, and pass it a function to compare.…

Start on Microchip programming... for hobby or for money

One of my friend asked me today the following question, 
I'm often asked about this, someway or other.
Let me answer this now for all....

Q: "I want to start programming on chip.. Can you suggest a good chip and a device to program it? Also tell me any sites which can help me."

A:"Simple one is Arduino. You will get it packaged with a programmer.
If you want some more powerful and commercial one, Go for Microchip's PIC family of processors. After you are familiar with those, and need even more power, try AVR from ATMEL."

Some resources from my Bookmarks is given below:
My bookmarks become so messy now a days, and I'm not getting time to organize them.
So, these are the quickest ones that I picked up from it. I'll let you know, if I fo…

Tic Tac Toe in python - Just for fun

The other day, I was looking for some GNU/Linux administration reference, I ended up viewing a "tic tac toe" program in Ruby at a Linux admin's blog.
He wrote that in ruby and took him 90mins. That was written using class. But "Zen of Python in mind", I wrote my own version without class. I prefer this way (sparse is better than dense), and I enjoy Python more when, I think of my Java days.  I haven't read ruby code before hand so, I did not wrote a clone of ruby code. And this took me around 40min. Because, I realized some missing features only when I played it several times. Then only I added those. Specifically, drawing complete board after someone wins and stopping the game when all fields are filled out.

I'll not say, the program is beautiful and very readable. However, it's good enough for playing with it.

Structures: C -> Java -> Python -> Erlang

With C we had structures and unions.
I like them, because, I don't always need to embed behaviors with data(class).

So you'll do something like

With Java, I'm forced to use classes, because that's how java is structured.
They are purely object oriented. (eg: in C++)

In python, you can take java's approach; but since Python is not Java ;-) and we
tend to write less,
We'll use dictionaries (or hashes in Perl)

I'm a newbie to earlang (and to functional programming),
I think there's no dictionaries, but tuples.

Here's how we use tuples to achieve same (also applicable to python)

much like json, isn't it?
notice, there are no quotes around someone, that's an atom (this is erlang dude).

This in python:
Well, how do we understand what's what?

hmm, ok, we can tag them with atoms, (this is a programming practice in erlang world)
so our earlier example becomes,

That's it.
You can do this with python too, like as I've shown below;
(but I …

My Desktop setup

Here goes my desktop.
Operating System: GNU/Linux Flavour: Ubuntu (Debian Derivative)
Version: 10.10 (kept up to date) Kernel: 2.6.35-28-generic-pae Hardware(striped down): Intel C2D, 4GB, 320GB.  Manufacture & Model:Toshiba Satellite Pro.
Desktop Manager: Gnome Compositing Manager: Compiz Gnome-panel : set to be hidden always and removed all that I can from the panel. (ie., panel is empty now, but we can't remove last panel completely.) Icon ThemeFenza Dark. (see link for ppa) Dock: Avant (trunk)  Menu: Cardapio Menu (using ppa) it even have awn applet.  Conky: for configuration look here Dock theme: Divergence-IV A New Hope
Other gtk themes in use: Elegent, Equinox, A new hope. Other Icon theme in use:awoken Cursor theme: X11-Gear (Sorry, I can't find exact package now, but it's there) File Manager:nautilus-elementary  (nautilus isn't complete with this, sleek elegant look,breadcrumbs, inbuilt terminal, clutter view) and make use of extra pane and tabs ;) File Preview: Gloobus p…

My Conky Configuration File

Edit :                        (Aug 17, 2013)
All my configurations including conky's are now hosted at

I've been hearing about this conky for a long time. I think I tried it once in my 5 years of linux experience. But, I haven't experienced it till last day.
Conky is a system monitor originally based on torsmo! What the heck is this "torsomo"? Honestly, I don't know. Le me google that for you....
Torsmo is a system monitor that sits in the corner of your desktop. It's very simple, customizable and it renders only text on the desktop (and percentagebars if you want it to ;) and the only lib it uses is Xlib. Torsmo can show various information about your system and it's peripherals, including: Kernel versionUptimeSystem timeNetwork interface information Memory and swap usageHostnameMachine, i686 for exampleSystem name, Linux for exampleTemperatures from i2c-sensorsTemperature from ACPIBattery capacity from ACPI/APMNum…

AJAX File Upload with Web2py

It was not that long, since I experienced a problem while trying to upload a file using an ajax  trapped form. I thought, it must be me doing something wrong. I was using web2py to embed another page into a page via ajax. That is better known to web2py folk as LOADing a component.

It's just happened that one of such component contains a file upload form. It was my first time using LOAD function provided by web2py. Basically it make use ofjQuery to load the page via ajax into a target div and traps input of any form in that page, so that page doesn't reload. Oh, I forgot to say that web2py is bundled with jQuery.

It's always boring and tedious to understand a problem without experiencing it. So, Let's play with an example, (PS: I"m using web2py a full stack python framework, but you can use any language at server side and this problem will be there because, it's a problem with ajax)

My model which defines table like this,

In RDBMS world, it column 'file…