Posts

A Letter To An Old Love

Maybe I'm over-romanticizing it, Maybe I'm not. Maybe we never know what we have until all we want is what we don't have Maybe we knew and maybe we loved it I don't miss you. I miss the idea of you. Maybe we can't ever go back to it Maybe someday we might choose not to I want our ground. And I want you there. I want it to rain a little, and then for it to stop. And for us to talk and not just speak. Of things that mean nothing, but mean everything to us. Maybe they weren't of any importance to anyone. Maybe we never cared. I might throw it all away once I have it again. Maybe you will do the same. All I want is to think out loud. And discover my thoughts all over again. Without you trying to convince me of anything. Without me trying to assert or force what I feel. It's surprised me every time I think of it. How you and I were the best at what we were. And then we were strangers. And how we still are. Love is transient and

The Human Operating System

Image
The Real-Time Human Some of us need to be real-time-like systems - people who work in operations for example - making important decisions quickly, switching contexts and the job they're doing as soon as something of higher priority interrupts them. Take an air traffic controller at a busy airport for example. The person is bombarded with constant information, performs calculations, has to maintain composure under pressure and makes important decisions based on short-term memory in a fixed time. The GPU-like Human There are then GPU-like humans that can only do a very particular task, but do it very well. A very busy cashier for example - can swipe hundreds of items at a supreme pace, bill and move on to the next customer like slime rolling down the line - but as soon as one of the customers in line asks them a question, or speaks in a language they don't understand, the cashier crashes to a halt, almost as if they've malfunctioned and has a stress attack! ( This happ

Don't Share, Just Do!

Image
You meet this friend you haven't met in a while for dinner one day, and you're at the table talking about what each of you is making of your lives. And so, naturally, you share with them your plans of this trip with your girlfriend to this small city in Germany where the beer is great, how you're working on writing this book comparing instincts of man vs animal, and how you're trying, albeit not too successfully, to work-out regularly for a healthier lifestyle. Months pass, and you meet this friend again. And funnily enough, you're saying the same damn things again! You still haven't gone on that trip, you've barely worked on your book, and your body looks the same as it did the last time you met. You did, however, go for a couple of woodcutting workshops and ever since you've made plans to make this small birdhouse in your balcony. The plans are only in your mind, but you share them with your friend nonetheless. Yeah. 6 months later, sam

The Art of Problem Solving & Interviewing

Image
Relationships, kindergarten, school, university, and my job. All these institutions have tried teaching us one thing. We've all been there. Solving problems.  Whether it is resolving a conflict with your loved one, or your second-grade teacher, Ms. Carter, telling you to use your common sense, or a data structures question you're solving at university, or a real-life problem you're solving at your job. All you're doing in life is learning to solve problems. And the single thing each and every company in the world is doing is solving problems. And so, it only fits that the best tech companies in the world base their interviews on this skill. Now, they need something a test for problem-solving that is reliable, can scale to hundreds of thousands of applicants year on year,  easy to gauge the interviewee's ability to solve problems, and communicate while doing so. Data structures and algorithms make for a really good method of gauging problem-solvin

Sublime is NOT a Code Editor!

Image
I was at Pycon Lt last week, and though there are so many good things I have to write about it, I couldn't help but rant this down.  Half the speakers were using Sublime. And about 3/4ths of those attending whose screens I glanced at from afar were too. The remaining were using Vim. And that is just such a sad sight to see! Look, I get if you're one of the elites who've learnt Vim well and can boast doing everything there with great efficiency. But most don't learn. A good editor makes it impossible to not use its features . And have you seen what a real editor can do? Here's why IntelliSense is amazing: Amazing autocomplete that works Python is dynamically typed and that makes it almost impossible for the editor to know what a variable is, or what it does. And yet, it's amazing how well IntelliSense does it. Jedi and youcompleteme for Vim are terrible. Inbuilt Debugger Putting print statements to debug code is like knowing you have a stain on your cloth

How a Neural Network is like Munna Bhai & Classifying the Largest Number

Image
It took me a good week or so after going through the first 3 videos of the FastAI course for it to click in my head as to what was going on in a neural network. And now, the basics feel very foolish. On the side the past few weeks, I've been doing algorithmic and data structure problems for fun*, and I thought it might be fun to see if a neural network could solve some of these problems. And so, I started out with trying to predict the largest continuous sum in an array . But to define it better , I'd make sure the array only had 100 numbers. But 10 numbers are easier for me to visually see . And so, the array would only have 10 numbers. Shortly after I realized that debugging this would take me too much time , and so I had to think of an easier problem. Okay, how about finding the largest number of a list. But, a regression problem is most likely going to give random numbers, and I'll have to use silly metrics like RMSE which don't make too much sense in a

What 3 Weeks of Deep Learning Have Taught Me

Image
I've almost completed the FastAI course for deep learning, and here's a list of things I've learnt: Deep learning is far from magic . So far I was convinced there was more to deep learning than just matrix multiplications and 11th-grade math. 3 weeks haven't shown me the signs. It's hard, or it feels like magic because humans struggle to visualize beyond 3D space . And so, for my first project, I made a simple classifier that predicts the maximum number from a list of 2 numbers. This can be visualized in 3D. More on why I did this in another blogpost, but in 3 lines here's what I learnt: [activation(input x weights + bias)] many times  = output loss = how off the output is from what it should have been, differentiate loss with the weights, and keep fixing the weights, until you're happy.                                           The truth is, you'll never really know if you should be happy with your output.  That's because don't

A Deep Learning Classifier for FIFA vs Real Football

Image
FIFA or Not? Try it out on www.rish.space/fifa-or-real I took up the FastAI course a week ago to finally do some hands-on, state of the art, 10-lines-of-code-does-it-all deep learning. I took up many courses in college, joined Kaggle a good 4 years ago (sigh - the only problem I ever solved was the Titanic dataset and honestly didn't find it as fun as making an Android app), and now that I've made up my mind to do more DL, I want a taste of a regular deep learner engineer's everyday job. More on that later, this post is just about identifying whether an image is from FIFA or not. Here's the why: I've played FIFA all my life, starting with FIFA 2001 on my PlayStation2. By the time FIFA06 came out, my father used to say it was hard to make out from afar whether I was playing or watching football on TV. And so, I thought it'd be fun to see if a computer could do this. What I did: 1. Ran a script to scrape URLs of the top 200 images on Google Images fo

Django for Productivity. Flask for ...?

Image
Django vs Flask. I decided I'd code up an oversimplified blogposting platform to see what works better for an application of medium scale and say 10K hits a day. I Googled a whole lot, and though there are nice diagrams people have made, you never really know until you try both. This has been on my to-do list for a good 18 months and I finally have an answer. Flask for scalability , they said. Will you really need that scale they never asked. Flask for flexibility , they said. Are you mature enough for designing your own structure they never asked. Django for productivity , I say.  Django unless you want to make all-code-on-one-page simple AWS Lambda like API. Django for almost all medium-large scale webapps you'll ever need. Django all the way. Truth be told, Flask is easy to learn. Literally, all you do is put an annotation above a function and you have a HTTP endpoint. The " overhead/heavyweight " Django gives you everything you'll

I'm now an Estonian eResident!

Image
Lifehacks is doing great. I make money off of it. And so I pay heavy taxes in India. In return, I receive terrible infrastructure and pay extra for private services. Estonia on the other hand, a country far far away wants to help me set up a startup, all digitally without me ever having to physically be there. I don't have to pay taxes if I re-invest. Starting a company is honestly one click, €1,000 in the bank, and one flight to Delhi away. Why wouldn't I? Plus it feels pretty cool to  login  with a key card :D