Friday, 12 April 2013

Kurt Vonnegut was right

Tralfamadorians are real. I am one now. The doppelganger watches from a safe distance the miracles on the revived bodies.

Only one difference. They can see all points in time at once. I can do the same, but have no credible way of communicating across to you chaps that my extortionate pricing may not cause the ever seeked elusive retail footfall and heavy walletted poseurs. Buy outside of that you're actually quite nice.

Early in the morning.

Thursday, 11 April 2013

Just to continue

It never ends. Just comes and goes. But then all the stories come true and bounded rationality is violated.

It would be almost interesting to put these up on tumblr but enough.

How can I unify identity while still maintaining the decentralisation aspect of many identity providers?

Everyone always seems to have strong opinions on everything. I feel quite envious of such thorough convictions held about an entirely new field. Either genius or successful self deluders. Same reasoning as the .. .

Will sleep help? Don't want to, can't let go just yet. Tripolata. Lots of food, but tandoori chicken was missing. Would've gobbled that up by the bucketful.

Football is OK, NBA is OK. But playing is definitely better than simply reading and commenting.

Some people just sit and eat. They can be watched with interest too, because they may magically turn into zombies. Then we have to place plants that spit seeds out to kill the psychotic attacking flower army.

Wednesday, 10 April 2013

It's all good.

Posting this from the blogger app on android.

One is not entirely of sound mind. But one is of fun mind.

Repeal everything. All is well. You may say that I'm a dreamer. So... Wonderful and naïve.

Great weather today. Great for the indian good that was gorged on. Sleepy now, but still attempting to document all this.

Actually not sleepy. Somehow everything is more.. Everything stands out more. Smell, hearing, pain, sight. All existence is magnified.

Seems late, but so much to do, so little time. The woods are lovely dark and deep.

Tuesday, 9 April 2013

Hagrid never had these problems

Why is is that I'm so absolutely indecisive when it comes to facial hair?

The only serious attempt I've made has been to "wear" a goatee for a few months. All other experiments with beards and moustaches have been cut short for various reasons.

For the most part these reasons are borne out of a general "fear of the unknown" -- save for aging, my appearance has remained pretty much static for most of my life. Right at the beginning of adolescence, there was a brief period of a year or so when I was "rockin' a 'stash", as the kids call it these days. (Do they..?) But after I discovered the wonders of a good razor, it was wiped out.

Since then the only sort of facial hair I've allowed has been the occasional overgrowth of stubble due to (usually) laziness, (less usually) convenience, or (not applicable any more) religious reasons.

The other times I had to abort any experiments, has been due to "human error". I'd be on the path to an interesting new appearance, when the razor blade would go astray and lop off a crucial piece of carpeting. Initially, the attempted method of dealing with this was to balance out the mistake, but that -- without exception -- always led to merely doubling the error. This would force me to stop fixing errors and just wipe the slate clean. Eventually I gave up drawing on the slate altogether.

During the goatee period, I also realised that maintaining a consistent appearance is just as hard as remaining clean-shaven. This further levelled the playing field, as the amount of effort wasn't a deciding factor any more.

I wonder when I will come around to giving the whole facial hair thing another shot. I suppose the best time is now, unencumbered by professional requirements. Will I, won't I?

Monday, 8 April 2013

Go learn something new!

Over this recent period of "underemployment", I have been attempting to do multiple things.

The major effort here has been to acquire new technical skills, primarily around data analysis. One thing which I was unsure of was the approach to take, and this is where Coursera has been immensely helpful.

Initially, after I had signed up for a few courses, I was a little doubtful about them -- particularly because I have tended to find classes largely boring throughout my life.

The first couple of courses were quite hard to stick with, especially because I was travelling in India, and access to the Internet was patchy. There was a block of a few days in Bangalore when I was practically disconnected from the world, sustaining myself with the occasional borrowed hour of Internet.

The real turning point was when one of the quiz submission hard deadline coincided with a day on which I was flying out to Bombay. This was after I had used up all my "late submission" days, so missing this would mean the grade getting docked.

The submission was due by 11.30, and my flight was leaving at 13.30 on the same day. The house that I was leaving from didn't have any Internet, and tethering was out of the question on a ridiculously limited short-term mobile data plan. I left for the airport way earlier than I needed to, reached at about 10.00, rushed through all the formalities and finally took a seat at the gate, and connected to the airport Wifi. (On a side note: the number of power outlets in Bangalore airport is abysmally low.)

By this time it was 11.00, and as it turns out, this was just exactly the right amount of time to ram a perfect attempt through (each quiz in the course allowed 3 attempts, with a varying set of questions each time!).

After I boarded the flight, I had some time to think over my actions. I had put in a lot of effort to maintain a solid level of what effectively amounts to imaginary Internet points, and all because I really enjoyed the course I was doing, and was genuinely learning. In pretty much every other class experience before this, the focus was more on figuring out "the system" to maximise test performance, petty one-upmanship and sometimes just remaining awake through a monotonous drone.

It now appears that self-study is the best course of action for me, with the occasional group interaction. Using this approach, I've managed to pick up the fundamentals of R, Python, Django, and git over the last 3 months. Now, all that remains is to focus all of this into an appropriate work environment...

Saturday, 6 April 2013

Figuratively speaking

Just a quick post to make a collective note of some of the few graphing libraries I am attempting to try out over the coming weeks. Base frameworks like D3.js and Raphael.js appear great, but might just be involve too much work if all I want to do is throw together a quick few visualisations.

dc.js
A multi-dimensional charting library built to work natively with crossfilter and rendered using D3.js.

NVD3
Re-usable charts and chart components for D3.js.

Polychart2.js
Graphing library that takes many ideas from the Grammar of Graphics and the R library ggplot2, and adds interactive elements for usage on the Web.

Highcharts
Interactive charting library supporting many, MANY types of visualisation!

Chart.js
Simple HTML5 Charts using the canvas element. Currently doesn't support interactivity, but looks great.

Flot
Plotting library for jQuery, with a focus on simple usage, attractive looks and interactive features.

Rickshaw
JS toolkit for creating interactive time series graphs.

YUI Charts
A charting module based on the YUI library.

xCharts
Yet another D3.js based library. Some of the examples don't appear to work currently.

Flotr2
A fork of Flotr which removes the dependency on Prototype and a few enhancements.

Now it may turn out that most of these end up going unused, but hopefully that means I would have found the best fit library and will stick with it!

Friday, 5 April 2013

Editors of the textual kind

The one key component of any computer system I could call "mine" has been a solid text editor. Not a word processor -- most of the time, unless I'm working with "official" (work or school) stuff, I have no need for mixing fonts faces, sizes, colours, or inserting images into the document. I would just like to read information, or type out something without wasting time on bells and whistles.

Kudos to Microsoft for shipping such an absolute lemon of a text editor in Notepad, which couldn't open large text files or acknowledge that text files can be produced and used in non-Windows environments. This pointless truculence spurred on some great little projects in the Windows world.

NoteTab
This was the first ever Notepad replacement I discovered. It wasn't particularly lightweight, but solved the annoying problem of the standard Notepad being unable to handle large or binary files.

Metapad
Metapad was the Notepad replacement I used, while in Windows 95/98. It was super light, opened everything in sight, and the ideal candidate for text file management on my underpowered (and -- although I didn't think so back then -- somewhat ugly) desktop. Syntax highlighting was for wimps, and on the occasion when it was badly needed, SciTE appeared to suffice.

Notepad2
Once I managed to scrape together enough competition winnings and had the security of a job assured (this was in 2004), I decided it was time to get my hands dirty and build my own desktop. While not quite from scratch, some reasonably smart hustling for parts meant I was able to put together a very decently powerful machine at a tight budget. This resulted in Metapad getting the boot from the brand new Windows XP install, and making way for Notepad2 (after a brief period of experimentation). This still-awesome marvel of a tool had a few more text manipulation features, and bundled in syntax highlighting, for the same relative load on the system as Metapad.

Notepad++
Ah, what can I say? This is the most indispensable tool for anyone using any flavour of Windows. Syntax highlighting, code-folding, lightweight project management, session management, powerful regular expression searching, file comparison, and an FTP browser. Everything anyone could ever want when dealing with text files, and then some more, aided by the rich ecosystem of available plugins. It's still around, being actively improved, and a permanent fixture on any Windows install I have to use.

Honourable mentions
EditPlus and Textpad -- these two somehow kept cropping up on a lot of other tech people's computers, and I had cause to use them sporadically. It was a little weird because these weren't free tools, but the nag screens were easily dismissed and no functionality was crippled. I would call them the WinZip of text editors -- mostly competent, gets the basics right, nags you to buy, but gets out of your way if you don't want to.

Current situation
gedit (the Notepad++ equivalent for Ubuntu) in the GUI, and vim otherwise. Not much exposition is called for here, except perhaps for smirking at emacs.

Thursday, 4 April 2013

Deliberations on giving interviews

Giving interviews is hard.

I used to think interviews are a breeze, but this was before realising that "being yourself" in an interview is not an optimal strategy. Till date I'd been fortunate -- for the most part, my interviews had been conducted by somewhat like-minded people. In such situations, being "true" to oneself works quite well.

However, the trick is in sizing up precisely what the interviewer is looking for, in asking the questions that he is. The response then needs to be tailored to match the interviewer's expectations -- not the role's. and not the organisations, even though they should ideally be aligned.

In the case of a question looking for a factual answer, while the core of the response can stick to the facts, the language it is couched in can make a big difference (firm? conciliatory? with gusto? with a sense of distaste?). This also applies to the length and approach of the answer (curt? concise? rambling? detailed?).

Of course, the most correct, internally consistent, and confidently stated responses won't do you any good if the initial read on the interviewer is completely off-base. If your approach to validate a hypothesis is Bayesian when the interviewer is a fanatical frequentist, it may not matter at all that you were entirely right. Back in the day, expounding the virtues of JSP in an interview where the interviewer was an ardent PHP fan didn't work too well.

If you aren't applying to roles that are clearly out of your league (claiming knowledge of a tool or technology that you've only read about, or only dabbled in), then the associated interview should be a piece of cake. But humans being what they are, and ridiculously susceptible to biases, the best strategy for an interview is always to get a read on the interviewer(s) and manipulate said biases in your favour. If you're unable to do this -- ceteris paribus -- the chances of making it through the interview are entirely 50-50, which is really quite low.

Wednesday, 3 April 2013

Corking it up

One of the life changes I attempted to make recently is to clean up my usage of Twitter.

Up until now it was mostly irrelevant junk. Some of it was interesting links and the occasional stimulating conversation, but the stream pretty much ended up being dominated by random uninteresting and malformed brain dumps and running commentary on sports events.

One of the effects of this obviously an impact on the quality of the network -- a large number of followers were bots and spammers. The more invidious impact, however, was on blogging. Owing to ready access to a Twitter client at pretty much all times, every time I'd think of something, it would immediately get posted on Twitter. There might have been a modicum of thought applied to figure out the optimum way to optimise the information density in the tweet, to make it pithy, funny and/or link-baity. After this, the tweet and its contents would mostly be forgotten -- unless it was really memorable, which weren't very many.

An instant means of vomiting a thought out meant that any germ of an idea would remain just that. It wasn't nurtured and allowed to develop into something more substantial. And this phenomenon wasn't just restricted to me -- a lot of my favourite bloggers noticeably slowed down or outright stopped posting on their blogs once they got on Twitter.

All this combined with the gradual flexing of Twitter's closed-platform muscle meant that I no longer wanted to rely on Twitter as a log of my thought processes. I ended up unfollowing a lot of generally pointless "celebrities" and actors, and cleaned up my lists to include a healthy number of people aligned with my more useful interests (science, data science, programming).

But more importantly, I am learning to bottle up my thoughts and let them age, till they're developed enough to be written down. I can't say that I've succeeded in doing this quite yet, but hopefully, these are steps in the right direction.

Tuesday, 2 April 2013

Broken thoughts


  1. "[O]ur modern notions of wealth, money and currency are built on a type of social proof pyramid."
  2. Depending on good behaviour from participants doesn't scale well.
  3. Labels are stupid. It is perfectly fine to hold opinions that span a political spectrum, as long as they are orthogonal and don't contradict each other in weirdly hypocritical ways.
  4. How do you deal with a situation where a job has low desirability, great demand, but very low pay because it just doesn't provide more value just about minimum wage? This appears to be a problem with the "caring for the elderly" sector, and will only continue to worsen as the average age of the developed world keeps increasing. More importantly, who deals with this situation?
  5. Don't tell me to "hate the game, not the player". I am well capable of hating both equally strongly, TYVM.

Some day, maybe I will be able to string together a more cogent and developed position on some of these, but till then, this will have to do.