We have witnessed this since our childhood. Right from our homes, to our schools, colleges, and finally in our jobs. The glorious ‘threat/reward’ model! As the name suggests, it’s an approach where a certain set of actions lead (or are known to lead) to a certain reward (candy, toys, perks, H1B, and of course “that-irresistible-promotion”). On the flipside, non-compliance to a given, pre-defined set of laid-out steps, leads to ‘threats’, or a consequence of those threats (read: no candy, no perks, …and..well, you get the point.)
So, after a week a of grappling, trying to make Alexa AVS work on a humble Raspberry Pi 2 Model B, I finally had success! Yayyy! Now, thus far, the responses I have received on declaring this little victory of mine have been more or less like “meh!”, but still, I write about it because for me the experience was far more satiating.
So here goes.
I was fascinated by Amazon Echo, and the fact that Amazon has thrown open the doors to the developer community to build its (what is known as) skills. Since Echo is not widely available in this part of the world yet, plus, getting an Echo and getting it to work doesn’t sound like ‘fun’; I decided to look for Alexa (soft-) implementations for other platforms.
One of the best mails I received was from a CEO (or to put it mildly — from the head of a startup I was working for) that he had sent to all the ’employees’. It was about a seemingly small fact which I had unconsciously felt on several occasions, but never actively thought about.
It went something like this:
Between the time when you’re given a problem, say an issue to troubleshoot, or a feature to implement, and the time that you actually start implementing or troubleshooting it: there is a something called “THINKING” required. I see a lot of you nodding when I tell you about an issue, or the next set of features to implement — but then when I see the approach or the implemented feature — the “THINKING” part seems to be lacking, or in some cases, absent. ‘Thinking’ is something that cannot be done on the fly but deserves a conscious time and effort!
The actual mail tone would have been more euphemistic that I can ever get, but the point I’m trying to highlight in this post is: I see it happening on so many occasions. That too in very senior developers, managers, etc.
There is almost negligible time devoted to understanding the need or cause of a feature or issue — and there is a restlessness to pounce to a solution. I think it might be driven by the assumption that one would be sort of ‘one-up’ or the ‘apple of customers’ eyes’ or that one-true-deserving ‘pat on the back’ awardee. But such myopic approaches tend to bite back in the long run.
We have been recruiting a lot lately. I try to stick to the basics, and sometimes get surprised by the responses I receive. A lot of seemingly successful candidates — who can take any J2EE question you throw at them — fumble when the convenience of their favourite data structures are taken away from them. For example, a simple Map implementation seems to give them a tough time.
I am surprised by one of the answers I receive quite a lot when asked about data structures. That, “I don’t remember — it was a long time ago” (that they were ‘taught’ about it). In other words: they plead “not guilty!”. Now, even though we are not recruiting for a programmer position, so to speak — such an answer does spark a bit of outrage within me. And then I ponder: what are we doing in our colleges? Are we getting too driven by the shiny-white things like BigData, BigAnalysis and IoT and what not — that we don’t really worry much about the basics of computer science. First of all: is the essence of computer science even put forth to the students? That it’s a science…that one has to develop a scientific mindset! I believe, that’s something above all the big college tag/big technology/big offer/big robot that one develops.
Even after college, do they ever go back and revisit the basics they had been ‘taught’? Or at least think about them?
One of the candidate we came across recently could not proceed on a small programming problem because we took away the luxury of being able to use HashMap from him. When I asked why couldn’t he create a Map of his own, the response was: “I am not sure what language are Java Maps written in.”
Every now and then I had this urge to have a tool which would save me from switching over to Terminal from Eclipse and vice-versa. A nifty little Eclipse plugin called elt came to the rescue!
elt gives me the flexibility to execute frequently used console commands — thus saving me a lot of finger twitches. 😉
A good introduction is provided here.
So I gave in to the whims and fancies of Ubuntu 12.04, after spending nearly 4 months with CentOS 6.3. And then my project changed, and over this period of 4 months I realized that I have spent a significant time on getting a few basic things to work on CentOS. It wasn’t worth it.
A real irk for me was getting Eclipse (Juno) to work with any of the SVN plugins (Subversive or Subclipse) on CentOS. Even when somehow it did work — it was pretty messy. Every check-in/check-out was a pain.
Anyway, so what more opportune a moment, than doing it when the project got changed. Ubuntu, as always, was a delight. Although its tough to ignore how several features of OS X have found their way into Ubuntu. But it’s mostly good features, so, who cares!
I’m still trying to get used to the departure from the traditional Ubuntu that I was used to — my last encounter with it was maybe more than an year ago. While I loved how the interface has been revamped to allow for better usage of screen real estate — I already started missing a few features of the old Ubuntu.
One of them was ‘Open In Terminal’ from context menu which was very handy. However, I took care of it today, thanks to a post on askubuntu. So, no more qualms (at least as of now).
My love for my phone resurfaced, when I had to flash it today (due to a reason outside of the context of this post). Anyway, in my quest for restoring whatever I had lost — applications mostly — came across ‘Humanity theme’ (of Ubuntu fame) and decided to give it a go. The result is what you see in this image. I loved it instantly!
Yes, in this age of Ice-cream Sandwiches, Honeycombs and iOSx’s — I am still fond of my phone. (This is in spite of the fact that Nokia abandoned Maemo.)
Two books I want to get my hands on:
both of them do the second one does not have Eastern Economy Editions for some inexplicable reason; and the non-economy version — is, well — not exorbitant, but still on the higher side. Nevertheless, I consider both of them a must-have for anyone even remotely connected to software development.
I was so excited when I got hands on my first tablet — Notion Ink Adam. Although the moment I booted it — right from the first swipe, something smelled fishy — but the innocent me decided to keep a brave face and be encouraged by the ‘exciting’ journey I was about to embark on!
It’s been more than an year now — and I’m still waiting for that ‘excitement’ to come along. The problems are numerous with this tablet. In my journey to try to fix it, I have come across hundreds of comments and blogs about how crappy the product is! One of them said: “It’s an unfinished product!”. I completely agree.
Two questions bother me every now and then:
- Why did they have to put a half-cooked product in the market?
- Even if they did, what stops them from COMING FORWARD AND FIXING IT?!!
I’ll not get started with the issues in this product — probably I’ll end up writing another Britannica. My advice to anyone thinking about getting a Notion Ink Adam would be: Do yourself a favour, don’t!! Even a Samsung Tab would be better (I say this inspite of having no trust in a company like Samsung — but I know for sure, at least their tab would boot!).
Shifted to WordPress from Livejournal (pugtex.livejournal.com). Two main reasons:
- i found the advertising (just below the header) quite annoying
- my workplace allows WordPress, but not LJ — for some crappy reason.
Hope this association lasts longer.