Tuesday, September 20, 2016

My English...

I enjoy seeing my wife and son giglish,
every time I get carried away with my English.

Hearing sniggers since my kindergarten,
has made my tender soul harden;
Now, I say what I feel,
and enjoy seeing others squeal.

I can still hear my teachers laughter,
from an early event in my life's chapter; 
'What is your father?', had asked my teacher,
'My father is a man.', had come my proud answer.

In the fourth tender year of my life,
her laughter started nibbling me alive.
I asked my mother if my father was not a man,
but that discussion didn't go so well.

One evening, a pretty waitress asked,
'How do want your steak? Medium?';
'Large please.', I said in tedium.
I felt guilty to foster,
her uncontrollable fits of laughter.

I have experienced my wife's fury,
on my attempts to buy us some inflammable drapery;
My claims that Venus and Mars are inhabitable,
doesn't seem to make by knowledge credible;
I have since, shied away from prefixing 'in',
lest it adds to my list of linguistic sins.

'Goodness, you have a gift!',
Complimented a guest, on my artistic drift;
'I've made it myself, it's not a gift.'
My response, I learnt later, 
was what fomented our social rift.

English, they say, is forgiving,
unfortunately, in my case, 
it has been a harbinger of misgivings.

Friday, September 16, 2016

Poetry in Physics

Save me, Newton,
for your third law,
in all its simplicity,
leads to unfathomable complexity!

If a force has,
an equal and opposing pair;
should they not,
annihilate each other?

But the world keeps moving,
raising doubts on your provings.

The  teachers get furious,
when they no longer find,
my questions hilarious.

They insist you are right,
in your insightful might;
And with them its suicidal to fight.

Maybe one day, I'll comprehend,
but till then, please understand;
If I don't consider you,
my best friend!

Wednesday, February 17, 2016

Setting up openblockchain from github

IBM recently open sourced it's codebase on openblockchain. This is aligned to its support for the Hyper Ledger project from Linux Foundation.

For those of you, who believe in working through a new technology, rather than talking/preaching through it - one of the first milestones would be to set up your own development environment of the obc-peer project.

The openblockchain project uses Vagrant and Docker to create a reproducible and consistent development environment - making the setup instructions a piece of cake!

https://github.com/openblockchain/obc-docs/blob/master/dev-setup/devenv.md

Irrespective, I ran into a few glitches in my attempt to set up the environment and hopefully this post will save you to 15 minute head scratching if you venture into the same thorny undergrowth.

First of all, there is a hard dependency on the minimum version of Vagrant (1.7.4) and Virtual Box (5.0). If you are working on Ubuntu 14.04 (i386) - DO NOT, repeat DO NOT use sudo apt-get to install vagrant and virtual box. The trusty repository has older versions of both these softwares. Installing them will result in weird errors when you try to get your vagrant up. Instead, download the deb files from respective websites and install via `sudo dpkg -i`

Specifically vagrant will complain that box/obc-dev is not found and secondly box_version should not be there.

Lastly, just in case, like me you have done a sudo apt-get install, you can recover by:

1. Doing a sudo dpkg -i on the vagrant .deb file which you have downloaded. Dpkg nicely upgrades the vagrant installation.

2. Unfortunately virtualbox refuses to be upgraded like above. You have to remove it first and then install the .deb file via dpkg.

Hope this helps!

Thursday, January 28, 2016

A developer's quiver

As developers, the setup on our machine is a collection of tools and utilities which we have grown familiar and adapted to over the years. Give a fresh machine to a well marinated developer and he will spend half a day setting up his ideal collection of tools before he feels one with the system. Here is my checklist of tools and utilities that form the personalized layer over a base Ubuntu installation.


  • Cairo dock
  • Compiz Config Manager
  • Wine
  • gnome-panel
  • Chrome browser
  • htop
  • nmap
  • nethogs
  • Terminator
  • ssvnc (inplace of remmina)
  • sshpass
  • Unison
  • gparted
  • vim
  • openssh-server
  • Audacity
  • kdenlive
  • Gimp
  • Graphviz
  • KolourPaint
  • gpick
  • phatch
  • Shutter
  • Simple Screen Recorder
  • tesseract-ocr
  • gImageReader
  • FreeMind
  • Calibre
  • Librecad
  • Eclipse
  • NetBeans
  • Android Studio
  • Sublime text
    •     Package control
    •     Color Picker
    •     Emmet
    •     Terminal
    •     SideBarEnhancements
    •     Soda Theme
    •     Git Gutter
  • StarUML
  • git
  • Meld visual diff tool
  • Java
  • Java ICE tea plugin
  • Ant
  • Maven
  • apache2
  • mysql-server 
  • php5 
  • php5-mysql 
  • libapache2-mod-php5 
  • php5-mcrypt
  • php-pear
  • MySQL workbench
  • Memcached


Friday, January 22, 2016

Intersection of e and physical learning


Knowledge digitization plays a key role in the adaptive learning system that I am building. Digitization is a time consuming process, where the majority of time is bled in transferring knowledge from physical to digital medium - not just the as-is content (OCR), but transformation of the text into intelligent questions like question/answer, fill in the blanks, true/false, definitions, word meaning etc.

I have been working on a process optimization strategy to accelerate the digitization process. A key ask of the optimized workflow was that of a super fast scanner - how fast? well it should be able to scan a 300 page book in say 10 minutes - with OCR quality resolution :)

An obvious pit stop in the research for do-it-yourself book scanning is  http://www.diybookscanner.org/. Unfortunately, I found the designs too exorbitant and over-engineered for my purpose. Well, I have to mention that two of my severe constraints were cost (of course), but more importantly the limitations of my modest workshop and the availability of raw materials.

And so, I had to create my own design for the scanning hardware (blueprint below). Proud to say that it is working perfectly. The best part is, it works perfectly with my cell phone camera (Samsung Galaxy S4).

The gist for the image processing script is here: 

https://gist.github.com/deb-sandeep/e2c30129fbb346e8a809#file-process-scan-sh






After image processing ...