Posts

Showing posts from 2017

One Year at Tonbo Imaging

Image
Tonbo Imaging is the best company to have started my career with, for I've had the opportunity to do something I got interested in at the very start of college; developing software for tangible systems. It has been 6 months of internship and 6 months of full time employment, and I'm certain I've learnt more than I ever could have during my four years at college. I've been very fortunate to have a very knowledgeable mentor, and a manager who gives us a lot of space to think and ideate, and spend time on research.

In the past year, I've worked on developing an ecosystem of small-sized thermal cameras running a custom Android OS that perform video analytics, are controlled remotely and support global live streaming. It's taken a year to go from an idea to a proof of concept product - we're in no way scalable yet, and are continuously going through architectural changes while ideating and understanding the potential of this system. Most of my work has been R&a…

Entangled Brains

I'm sitting on a rooftop humming to half remembered lyrics of a song I heard the other day. I'm actively trying not to remember the long list of to-dos I've made for myself to finish before this year ends.
I look at the passersby walking down the road and I see a couple wearing winter clothes.
The first thing winter reminds me of is penguins. I ask myself what the name of the penguin from the animated movie Happy Feet was.
I remember Lovelace, but he wasn't the main penguin.
I'm then reminded of the fact that Marian Aunty, a grandmotherly figure from our time in Switzerland showed us giraffes in the Basel Zoo. I don't quite remember why they have black tongues, and so I start thinking of the survival advantages black tongues may provide.
The thought doesn't stick too long as I see a bird fly into the tree that's as tall as the rooftop I'm on.
Zap. Humans never evolved to see in the dark, but they made artificial sources of light. Do bats get extrem…

The Crane Mystery

Image
There's this question that's been bugging me for over a month. It's a fairly simple question about a fairly common object in a city landscape, and yet it's an absolute mystery to me as to why I cannot come up with a believable solution. I've brought it up in ever-day conversation with friends and colleagues, hoping their answers might lead me to a justifiable answer. I've avoided Googling the answer for over a month, because some things in life just shouldn't be so easy. It's a fairly pleasant feeling to keep your mind pondering over such a simple question, and so the urge to pen this post.

How are cranes transported and constructed?

Take a minute, and visualise the size of these things. A crane is practically just two very long lines; one vertical steel pillar holding a similar horizontal one at the top. Moving them from place to place is difficult, and funnily enough, I've never seen a half-constructed crane.

Here's a list of answers I've…

Just Average

Image
Be the average man, the one if randomly picked from a group of identically average people, could represent just anybody.
Let each day pass under its own circumstances, today, just the same as yesterday, letting the sole change setter, if any, be the minor perturbations life may bring. Don't actively think-ahead, plan in detail what you'd like to have achieved by the end of each week. Be tolerant, be just okay, with every new hardship. Settle, don't struggle too hard, be just okay if you can't achieve your already not-so-high aspirations.

-

I did a small experiment with myself. For 2 weeks, I spent each day without planning ahead. I met all friends that invited me, I made all the easy decisions, slept for longer hours, didn't complain of not being able to do as much as I'd planned; because I'd planned nothing in the first place. I printed a calendar and wrote down what I did at the end of each day.

I conclude it's far too easy being average. If we let o…

How to be a good startup

This is something I wrote in Aug 2016 when I was looking for a job at a startup, having already turned down working at Oracle. Read the Zoo of Jobs for context!

-

This post assumes the startup has an idea of what they're building, has about 10-50 employees and is not necessarily funded yet. Most of these have been written with a tech startup in mind, but apply to businesses/established companies/institutions as well.

I've been job hunting for the last month or so now, and have spent a good deal of time looking for internships last winter, summer, and the year before that. As of now, I don't have the liberty to pick and choose which startup's idea I like, and so have been going through hundreds of websites. Here's a list of things I realized during this period:

All a company is a group of people who have come together to create a product or perform a service.
State clearly what you do
In the simplest of words, explain to me like I'm 5 what you do. All those fancy…

16 Years of Irrelevant Education

Having finally settled into the post-undergrad work life, I realize how irrelevant my education was!
You are hireable only if you add value to your employer. Since humankind is a social animal and most jobs function with constant interaction between people, you should know how to be a resourceful participant in a group and work constructively in a team.

Every job can be thought of as a project. Whether it's construction, plumbing, computer engineering, teaching, or nursing. You start with a common objective and collectively work your way towards a goal. Independent of scale, every job is a project.

Now, a project consists of being able to plan, negotiate, execute under strict deadlines and constantly collaborate with people.

Since the primary role of education is to prepare the student to face the real world once they are out of their parents' protection, why don't we focus enough on working in groups? This is why Kindergarten was the best; the reason pre-school exists is…

LEGO and Software Engineering

Image
I'm very fortunate to have grown up playing with LEGO. I credit my ability to patiently work on a problem for long hours to all my childhood days creating Lego train tracks, castles, and cities with Lego Minifigures walking around. It also taught me the complexity of going from a vague idea in your mind to creating a real physical model, and all the re-thinking and re-working involved.

For example, I remember I wanted to create an infinity-shaped train track where the cross-tracks would be at different levels - some sort of a bridge. I ended up using a small table to elevate the track.
A track similar to this, except raising one of the tracks at the intersection.
It all starts with an idea and a vague picture of how the final model will look. You look at how many Lego pieces you have and whether you have the key resources you'll need. You then start building and as you face challenges along the way you learn to re-route to overcome obstacles. Once you're done with a basic…

The Security Function

We lost a OnePlus3T dev phone at work earlier this month. This upset me a lot, but later when I reached home and performed my customary routine of locking my cycle to the side railing, I questioned myself if I really have to go through the pain of locking the bicycle every single day - it's added effort and maybe even for no use. Much of security feels that way - 99% of the times nothing will happen, but the day it does you'll curse yourself for not being more careful. I tried coming up with a model to justify whether the daily time spent on securing these valuables was worth it. Here's a simple mathematical equation.
 (Securing Justified) =   Price (precious_object)   - Price (things_bought_to_keep_it_safe)   - [ Value (daily_time_spent_to_keep_it_safe) x (#_of_days_from_purchase_till_theft) ] 

If >> 0, yes, you should definitely go through the pain of securing your valuable everyday. If ~ 0, you could probably do without securing it. The amount of time you spend securin…

Blog update & A Writer's Dilemma

Image
I haven't written in a whole month and a half, courtesy my 70 hour work week, and weekends away at my friends'. I have a huge list of things I'd like to write about scribbled[1]in my Google Keep - there are things from over a year ago now that I haven't published, and wish I did for they seem less relevant to me now.
For example, I made a list of qualities I wished to see in a Professor at University and never ended up publishing - but now that's in the past and what seems more relevant to my life at this moment is writing about how startups should function and a list of qualities I'd like to see in my work mentor. This is what I call a writer's dilemma. What were once matters of consequence[2] make little sense to write about now, and never will I come back to the time when these things hold as much relevance as they did at the time they were thought of and noted.

Anyway, to rid myself of the guilt of not having written in so long, I spent the morning of …

Java the Right Way

For over 3 years, I've been writing code in Java, and have worked on several projects which have grown to a moderately large number of classes. Apart from learning the syntax from a book in Grade 11/12, I've never formally learned how to write quality readable and maintainable code. 
The current project I am working on spans in all directions; it's an event based system, there is a lot of input coming from simultaneously running threads, there's Java-C interaction, there are multiple communication channels over different network mediums, there's an entire high-speed display rendering mechanism, and a lot more. The size of the project is sky rocketing and without a structured architecture, the code will not be maintainable in the foreseeable future.
So, just as any other engineer would do, I've bought myself a copy of trusty Effective Java to formally learn how to write code that scales. 
Before I read this book, here's as much my 3 years of experience in J…

The Maptia Manifesto

Image
To future self.
If you haven't woken up to places like these, experienced the storm without a shelter for escape, felt the fear of camping in the middle of nowhere, talked to people who don't communicate in the same language as yours, overpowered the voice in your head that makes you think before you act by the time you're 30, please buy a one way ticket and find your way to a life worth living.

Moo | What do cows think of anyway?

Cows. They spend 23 hours of their day looking fixedly at their surroundings. They're born hard-wired with the very basic necessities of life; they understand they need food(1) to stay strong, reproduce to prevent their species from extinction(2), poop to keep their insides clean(3) and sleep to be able to walk and chew food the next day(4). They have the very basic emotions; fight or flight; they know they can scare flies, and know they must run away from lions and tigers(5). Lastly, they have the super-power to ward of harmless flies with their tails only if they desire to.

Beyond that, they confidently occupy the roads of the nation sitting in the middle, I repeat, the middle of the streets, constructing a reality like ours in an alternative universe by warping time and space under the influence of different dimensions, creating spheres and circles with constants other than Pi, processing thoughts of millions in a parallelized manner, creating models for learning that do not f…

Inception | This is probably the best thing you'll read this month

Inception is the sort of movie that makes you think about it for hours after you see it. This is the second time I've seen the movie, and of course, after watching it I googled whether it was all a dream. I came across this post that I'm sharing as is. It isn't written by me, though I wish I could think of something as stirring as this. This will blow your mind, especially the very last sentence.  -  [Original post] Inception is one of those movies people theorize about, so here’s my take. I have not read about it or looked it up except to check the characters’ names, so this is based solely on what I got from watching it. Needless to say, tremendous spoilers follow for those who have not seen it.  It’s all a dream. Ariadne (Ellen Page) is leading an inception on Cobb (Leonardo DiCaprio). The entire film is that inception, and we never see reality.  In reality (which I will label “level 1”), the details of Cobb’s wife and past are basically as we’ve been shown. To help him get …

Mario's running on our wall!

Image
It had been about two months since we shifted into our new home in Bangalore, and every weekend we would make such grand plans of printing posters and sticking them up. This one particular Saturday we even forced ourselves to sit down before ordering lunch to spend an hour searching for posters and discussing ideas.

We ended up watching friends. 

This procrastination happened for almost a month, until I sat down and forced myself to it all on my own - it's almost always impossible to motivate a group to get things done if there's no deadline. I made a list of things I like/liked as a child, but just couldn't find worthy high resolution graphics that I could download without paying.

So here's what I did. I used to play Nintendo Gameboy a lot as a child, Super Mario Bros was my favorite game. I googled a whole lot of Mario grahics - the bricks, the clouds, the bushes, the coins, (which to be honest was quite tough) and resized them to all match the same size ratio. My (f…

The interviewer asked the elephant to climb that tree

Image
TL;DR: Being a good interviewer is difficult; but it'll earn you a lot of bonus points and send you to heaven.

As an interviewer you're practically shaping the near and even possibly far future of the interviewee.

The very fault of every interviewer is to ask what he expects candidates to know, not to extract what the candidate knows best. Just as with enough make-up and wigs all air-hostesses are made to look identical, interviewers treat candidates from all walks of life as the same factory produced robots.

This is exactly what happens. Horses, dogs, elephants and fish are treated the same.
The lack of ability of an interview to mould himself to find the very best in every new candidate is what makes traditional interviews a terrible failure!
Any professional worth his salt should be much like a psychologist, he should be able to pick up in the short duration he spends with you whether you're fit for the role you applied for, and even be able to suggest where you'd fit…

Acing the Placement Season in University

TL;DR : Here's what I learnt the hard way about finding a job.

It's that time of the year again; probably the most difficult of your years at university. One by one, companies come and companies go - and from the looks of it you seem to stay there forever. The typical format of these interviews is, each company sends a panel of ~10 people to your campus to hire about 1 - 15 people out of 80 - 300 candidates in under 8 hours. From the perspective of the panel, you can imagine how difficult that'd be! Some companies have a specialized panel whose only job is to hire from a large mass. But for most other companies that cannot afford a hiring panel, employees are requested to conduct these. It's a long day where they are forced to actively listen to similar stories over and over again.

You can't change the format of the game, but you can play the rules to your advantage. Here's what you should do.

1. [Target your companies] Sit for only those you really want to get …

The BIllion Dollar Mistake | NPE

Image
TL;DR: null pointers will ruin your life.

If you've used Java on a large scale project, you're lying if you haven't faced this dreaded million dollar mistake, first introduced to the world of programming in 1965. It's uglier than a Windows backslash, odder than a ===, far more common than the latest release of a JS library, more confusing than understanding a GC, ever so slightly harder to debug than interger overflows - I'm talking about a programmer's guilty temptation, the horrid null pointer exception.

Homer, and computer programmers all around the globe.
Tony Hoare, the creator of null very casually says "I couldn’t resist the temptation to put in a null reference, simply because it was so easy to implement. This has led to innumerable errors, vulnerabilities, and system crashes, which have probably caused a billion dollars of pain and damage in the last forty years."

Very true, Mr. Hoare. Last week, I (finally) re-released Lifehacks on the plays…

The Art of Summarization

At Google I/O, the CEO conveys an entire years worth of work of over 50,000 employees, and also hints at future developments. All in less than half an hour.

At a TED talk, the speaker conveys years, if not decades worth of research, their journey and enlightenments. An entire summary keeping the audience as engaged and as attentive as possible in a span of under 20 minutes.

-

An entire semester is dedicated to doing a project in our University - most students do internships during this period. At the end of the project we go back to college to present what we did in the 4 months. Every year students complain professors shamelessly thrash students, especially those who do their internships outside of University.

They do so rightly. Having sat through 15 such presentations of my batchmates, students just don't know how to put their point through!

Presenting what you've done for 4 months in 10 minutes is an art. You have to give them a background of where you're working and

C'est La Vie

I learnt a funny lesson recently. This is not a rant, but really something anyone should note for the future! TL;DR: Put Sunday as your last working day - even though it isn't a working day.

I sent an email during my last week of internship stating Friday, 28th April would be my last working day at the company. Accustomed to receiving the same amount every month over the past 5 months, I noticed a 2 days cut this time. I was surprised - I didn't take an ungranted leave, and I swiped every day of the month - I even worked on a couple of Saturdays. Why'd they cut? So I did what anyone else would do - I wrote an email to the woman who handles finances and asked her quite politely as to why this was done.

"Rishabh, you notified us that 28th April would be your last working day. Hence, you have not been paid for 29th and 30th April."
"Whaaa! But that's extremely silly! Those two days were weekend days, they aren't even official working days! And the funn…

A Sophomore's Guide to the Summer

I can't stress enough how important it is to work on self projects when you're in college. Everything you learn and do then goes a long way. You have all the time in the world, and have the chance to explore as many things as you'd like.

Here's a list of simple projects that I did / wish I did in my 4 years at college.

[OS, OpenGL]
Use opengl to make a city of your file system. Basically, something like nautilus (Ubuntu's file manager GUI) but a 3D model where buildings represent folders and trees represent files. You'll learn a lot of opengl in this which is a really handy tool in the graphics stack, and you'll understand basic file operations. View an implementation by Nikhil Marathe here.

[OS, FAT]
This was something we had to do for the OS course in colg but was a weekend project and it was so much fun. A FAT table visualizer - ie, a visual guide as to how the FAT table changes over course of thousand iterations of rename, creation and deletion of files. …

Organization Skills 101

I've wanted to write this down for a long time. Here's how I use my laptop.

All folder names are lower cased.
This helps when traversing folders using your terminal - it's unnecessary having to press Shift every time you want to go to ~/Documents, for example. (Except it doesn't matter anymore, now that I use ZSH as my default terminal). Plus, to me, lowercase on the terminal is aesthetically pleasing, for reasons unknown.All my written code resides in one folder - the ~/code folder.
The code folder is then divided into multiple directories - all named on programming languages, which contain workspaces/project names within (remember, they're all lower case). Larger projects that grow over time, or span over different languages, or become my primary projects are sent into ~/code/primary.Oh my zsh. It's awesome.
The thing about using IntelliJ all the time is, you expect autocomplete everywhere you type/code. ZSH has an amazing context based tab autocompletion + an …

Concentrate on the yellow wall, mind.

TL;DR. Food for thought. Can a monk's true ability to control his mind be tested under the influence of recreational drugs?
Our mind is an ever-wanderer. The minute you think, hold on, I'm just going to sit here and think about one thing, and one thing only, say the yellow wall in front of you, your mind just won't let you.  For the first minute or so, you think of just the yellow wall, you see, you start to immerse yourself into it. Except then, suddenly your mind remembers a tune from Coldplay's track and you start humming.  No. Brain. Shut up. We're concentrating here. Not the yellow song. Yellow wall, that's it. You go back to just the yellow wall, except this time you're sure nothing can distract you. You're trying to discard all triggers from sensory events that remind you of yellow. But then! The fridge starts it cooling cycle and it suddenly becomes louder than usual.  Yellow. Mind yellow wall. Fridge? Agh. Yellow. Oh wait! I have a mango kept in …

The Font Maker

I'm jealous of this particular man. He's 40 something, and from the outside he seems to have has his life all sorted out. You'd think I'm talking about a man that founded a technology business at the age of 15, and is now a multi billionaire. Or a hotelier with scores of chains under his name, living life in luxurious suites each night. No, this man, he isn't doing rocket science. He isn't an extraordinary mathematician. He hasn't pursued the pleasures most of us are taught to look upto as children.

He's a font maker. He makes brilliant fonts and gives them kickass names.
He's a marathon running hobbyist.
And his real job ; he's a kindergarten teacher guiding kids aged 3-6.

http://pizzadude.dk/about/

-

Why can't we all be content with a life like this?

Always Online

One thing I've learnt about social media and instant messaging is that you are only as important to people as the time you spend on it, putting in effort to show people your presence. The less you text, the less people are going to bother texting you. If you text at night, you are bound to receive replies in the morning, and that's the cycle of always having new chats on your chat list. You text now, and you will receive replies later, keeping you hooked all the time.
I recently reduced my whatsapp usage by moving the app to a secondary phone that I don't carry around with me all the time. Especially at work, I carry a phone that only has the bare minimum utilities installed, and nothing more. During the initial week when I started this, I'd leave my phone at home at around 9 in the morning, and by the time I reached home from work, I'd have received about 20 messages from different people/groups. It was mighty difficult to reply to everyone. I then actively infor…

DA in 100 words.

With emails about graduation and yearbooks hitting our beloved Zimbra email, I realize I'm graduating soon. The presswaale of our batch have taken up the responsibility to publish a yearbook with our photos and 50-100 word notes of how the experience was for each one of us.

Here's mine! I spent hours trying to think up a way of coming up with something unique, something that didn't sound like what any other graduate from just another university would say, but that's impossible. So I decided to simply let the words flow. One downside is, that makes my note very generic. Oh well.

There's not a thing I would change if I could relive these years. DA really gave us the experience everyone says you'll have at college - the hostel that never let us sleep before 3am, lectures that demanded minimal work, a huge lecture theatre that allowed us to sleep unnoticed, a football team and a ground I'll remember for life, and friends that I would love to grow old with. The …

Thousands of generations to learn anything | Evolution

Image
AI, in the form of neural networks today takes hundreds of thousands of iterations to learn from scratch. Given a set of defined goals and a basic know-how of the limited set of controls it has, it repetitively performs a sequence of operations to understand what helps it reach its goal and what doesn't. At times it takes the same path with a slight detour to see if that made any difference.
Take for example the following brilliant demonstration of a neural network learning to play Mario.  Easter egg - MarI/O is open source. The entire process of the neural network learning to play the game is based on biological evolution. During its initial generations with almost no idea of what to do, MarI/O simply stood there, or kept jumping in place. It then learnt that pressing the right button helped it reach closer to its goal - to reach as far right as possible. So over the next hundreds of generations, it just kept pressing right, and then jumping in place. Later, it realized pressing…

[Breaking News] AI takes over universe to calculate Pi

If in the next couple centuries we are able to build an AI that surpasses human intelligence, will it exterminate humankind? It simply might as it may foresee humankind turning against it and pulling its plug of life. As a race, we have not been subjected to another species more intelligent than us, and when the day comes, we might find it very difficult to control the motivation of a race smarter than ours.

A naive proposal suggests making an AI with seemingly benign goals, one as simple as calculating the value of Pi. But here's how it can backfire.

"One popular scenario images a corporation designing the first general purpose artificial super-intelligence and giving it the simple task of calculating the value of Pi. Before anyone realises what is happening, the AI takes over the planet, eliminates the human race, launches a campaign to conquest to the ends of the galaxy, and transforms the entire known universe into a giant supercomputer that for billions upon billions of…

Mission Impossible VI : Home Hunt.

Mission Impossible VI : Home Hunt.

Relatively difficult things in life :
- Finding a place to work at.
- Then finding a place to live in.
Repeat those once every 3-5 years.

There are just way too many factors that you have to take into consideration while finding a suitable place to live. If the rooms are nice, the hall is too small. If the house looks good from the inside, it's a mess on the outside. If the home is at a convenient location and the rooms are good enough, the rent is too high.

These online websites that attempt to make the world a better place by helping you find a place to live in, like commonfloor, nestaway, nobrokers, yada yada just do not work out. None of them capture the essentials each one of us is looking for while home hunting, probably because such human intuition just cannot be captured. A place that radiates a homely vibe to me may not to you. What feels right to me might just not to you. However, I've been trying to observe my thinking pattern whil…

What will happen when jobs run out?

Food for thought. Can we ever run out of jobs?

Automation kills jobs. Work that demanded humans in the 20th century will not employ us anymore, because we've found efficient and accurate alternatives using machines.
Farmers became industrial workers, small time construction workers became infrastructure machine operators, and now we're all headed to become slaves of the computer, irrespective of which domain we're in.

Machines can currently do most jobs humans used to do till the previous century. What will happen if artificial intelligence takes over our current jobs? Humans can then only be employed in creative and emotional domains, but I fear artificial intelligence may overpower humans there too.

Say 2000 years from now when AI is very powerful and over the generations humanity has come to believe there is no scope for improvement, what will we do then? Could the world then become Utopia? Remember, no jobs means no hierarchy in society. 

-

Meh. The hypothetical situat…

A company I'd genuinely love to work for

I was going through my blog drafts list and found this. This is a post I wrote immediately after giving my second interview at Tonbo Imaging. It was a disaster, and I was far too discouraged to publish it. It has been three months since I wrote this, and am now interning here :)

-

I sat through one of the most embarrassing interviews I've ever faced - at a company I genuinely would love to intern at, and later hopefully work at.
The company makes products. Keywords. Make. Product. They're not just another Indian service startup/company that barely goes beyond making apps and websites to claim they solve real world problems.

These people really do solve a real world problem. They really do *make* things that solves problems. Having gone through A LOT of potential places I'd like to work at, these guys were the only one to employ people from fields like electronics, mechatronics, design and software. Software was just a small section. A true combination of hardware and soft…

Money, the Governor of this World

Highly unstructured flow of thoughts on money. Not sure if I'm going to be able to make my point by the end of this.

The thought of how money controls this planet keeps surfacing my mind every now and then. The world needs a common mode of trade to function, and thus money was invented to bridge the gap of trade. The problem however is that our entire society functions solely on this one object. All our life decisions are based factoring money into account. From the cook that comes to our home, to the guy that runs the local store downstairs, to the professors that taught us (lol) at university, to the people I work with at office. The career we invest in, the school we attend, the place we live, the job we do.   Our life decisions are too heavily based on this one man made tool!

Money was created as a tool for exchange; we've all heard about since Kindergarten. The secret is, let it be just that, and nothing more. Money is a level of abstraction above what value you can bring

Website Update!

Image
I've finally updated my website! I now realize I never blogged about it, though it should have been the first thing I wrote about. I love it dearly. I've designed it in a way that makes it a very effective way for me to keep track of the major professional events in my life. I created it when I was in my junior year, when I started applying for internships for the summer. I figured instead of sending boring resumes all around, a simple link and a fancy cover letter would do the trick. I later realized most Indian companies aren't of the same opinion, and that they are accustommed to those dull resumes, but nevertheless the website helped me learn a lot. For starters, I got a deeper hold on Python Flask and deploying it to the web.

I started the website with two basic intentions; one to keep a track of all the projects I've done, and second a place to store my favorite music, and analyze how they change over time. I ended up doing neither. Maintaining frequently changi…