Posts

Showing posts from 2016

AR is the Future

Image
The HoloLens arrived at our office this week, and I've spent about 5 minutes everyday, amusing myself at what the future is going to be like. The possibilities are truly endless - start by watching the video.

You know how a lot of companies exaggerate their product in their demo video, and it ends up being nothing as fancy as what you saw? The HoloLens is exactly what they've shown! The projections you see really do look like they're there! In a very simple demo application, you can choose from a set of holograms, resize them and place them anywhere you like. Honestly, anywhere you see space.
I placed a hip-hopper guy on my table, a miniature Nasa rocket on the entrance to our floor, and the Globe in the center of the room. And everything looks extremely real! You can move around the holograms, go as close as a centimeter to them, and they all look like a part of your world!

This is the future - but it's scary. To the people who aren't a part of the HoloLens beare…

Where Have I Been?

It has been a month since I've posted anything here! Every now and then when I think it is high time I write about something, I remember the enourmous amount of documentation I have to go through. There is lots that has happened in the past month or so, and I wish I had taken out time to blog about each one of them. My marvellous 4 years (now I know that it's actually 3, really - you generally intern at a company in your last semester, and the semester before that you spend looking and worrying about where you'll be put up in the last semester). College was extraordinary. Now that I've started interning, I realise why everyone says they are the best years of their life. Its much harder to meet like minded people - the equally clueless sorts you met when your first joined university. Once you're out of that town full of people like you, it isn't easy to meet people who are willing to share their clueless-ness. (Trust me, everyone is - no one has any idea what t…

Google, don't kill humanity.

There is a strong air of untrust that surrounds Google. Google can't be contacted, other than through automated response channels - whose responses definitely do not pass the Turing test.

Google does not monitor content when you upload your creations to their services; be it YouTube, the playstore, where-ever. How The Google works is, it checks content once the subject gains popularity on its medium. Only once you cross 301 views on YouTube, or a couple thousand downloads on the playstore does Google check for violations. On the playstore, it also does a preliminary automated AI powered copyright check on the app description and content provided by the app, but doesn't get into the app/code. Later, if ever caught, the Google gives you three strikes. Much like an emotionless cyber cop, once you've made a mistake, the mistake sticks with you forever, no matter how well you behave after that.

Imagine a future world where anything you do is monitored by these cyber cops from

The Thought Train

Thoughts.

I woke up in a strange trance like state this morning. There are questions to which I finally had answers to - a simple theory, an explanation to a particular thought that I have been trying to articulate for the past several months. It was all so clear, every thought, every word that my mind spoke made perfect sense. Like magnets each thought clicked in perfect harmony, leading me from one sentence to the next.

I haven't had such a flash of clarity in months, though this lasted for probably under a minute. And just as my conscious brain kicked in, it all seemed to go away. I forgot the keywords of every sentence that led me from one to the next. Much like hearing the sound of an engine take off, seeing a train leaving the station as soon as you arrive at the platform, this train of thoughts fled just as I was about to make sense of it. I am still unable to work back how the dots connected, and am not certain how long it'd take me to be able to pen down what I'v…

Signing PDFs is a looong process!

tldr; Signing pdfs is a looong process - it takes me 15 minutes every time I do so!

You open your email and see a pdf that needs to be signed and sent back. Until 2005 or so, when phones were not smart, and they didn't know the Internet existed, it'd be a huge hassle to digitally sign these pdfs. (Or so I've been told - I was just 10 around that time.) People then would first print, sign, scan and then finally send the signed pdf. I suppose that'd take around 30 minutes.

It takes me 10-15 minutes now and I'm not really glad about it. Here's what I do.
I've kept a saved copy of my signature on my laptop saved as a .png (I'm certain that's not the smartest thing to do). I open that on GIMP.If the pdf requires the date to be written I do this -take a blank piece of paper,write the date,take of picture of that,send it to my computer via gmail (not very proud of using gmail for this.)Then, I download the pdf, open each page that requires to be signed and…

I have 100,000 installs!

Image
Jan 2016
Me : So I spent the whole weekend working on this app - it was a whole lot of fun, though I barely slept. I found this amazing website with brilliant content and thought it'd be cool to make an app out of it.
Friend : Its great, but do you reckon anyone would use it?

Oct 2016
Me : Over ONE HUNDRED THOUSANDpeople have used it, and about 60% use it regularly! :D
Friend : Whaaaat! How?

LifeHacks on Google Play.

Here are the numbers behind the scenes. A collation of statistics and insights you may find interesting.



There will be several updates to the application in the coming months, and if growth continues at the same rate, hopefully early next year we'll see half a million installs :D

-
I'll post a short blog on how I made the app and all the little details that you may find interesting soon.

Instant Gratification Monkey GO AWAY!

Image
Procrastination has reached a whole new level! I remember writing a blogpost about Hacktoberfest (I never ended publishing it) on the 1st of October, about how this month is going to be a super productive month. It's the 17th today, and it feels like I wrote that post just yesterday. But wait, it also feels like it has been an eternity of me doing absolutely nothing since I wrote it. Except wait, I finally finished reading The Catcher in the Rye, saw every episode of Minute Physics, discovered a lot of new music, and many random articles on HN.

Back to the beginning of October. I had it all sorted - I penned down goals alright, I made plans - I have a nice little 10x5cm diary I write my tasks in (I used to use Keep, but I feel writing down what you want helps much more). It was all going to be perfect. I was glad I knew exactly what I'd do.

But here's why things didn't work out.

List of things to do:

TaskDeadlinePriorityWillingnessBoring assignment that'll take 12-…

Everyone Can Develop. But can they do this?

tl dr; Hello world kickstarters are easy, and they're shit. Everyone can do HTML. But can they really?

Everyone can develop. Take any tool, any technology and the simplicity of the hello world program will have you thinking you're a champ developer off to make the next Whatsapp/(fine, Allo if you think it's that good).

It's then a major leap to going from the hello world program to developing something truly on your own. Give yourself a pat on the back for publishing a website, or releasing an app on the AppStore/Playstore - you've done what most hello-worlders couldn't. But you're still a long way away to mastering the tool. Here's what truly makes you a good developer.

Initiate a project on their own, taking an idea, and ponder over its necessity/usability/awesomeness.Then design the concept on paper, thinking through the interface and experience. Remember, paper is important. Translating what's on your mind to paper is extremely challenging. Thin…

Interviews, Interviews

tl dr; This article on Hackernews.

Its a Sunday morning and you're out shopping. You're buying milk and cereal when you happen to meet this person. You start talking to him and well, he's no different from the average Indian engineer. (To be honest, it really doesn't matter if you're from an IIT or a local college in Assam. All Indian engineers are the same. Blog on that later.)

You start talking about life in the city and your respective universities and how long it's been since you left college already. Oh, he's just another one like you.

But then, he tells you he works at Google, and suddenly, you have this new-found respect for him. Till now, he was just another guy. But now? You've given him a near superhuman status because he was hired by Google.

Buuut wait. Should you be? 
Google hired him, yes. But.
Did they hire him well?
Was he really what they were looking for, or was he just another one of those people that could solve puzzles and recite re…

Mission-Super-Impossible | Buying a Laptop

Image
tldr; Buying a laptop, level of difficulty : so-very-hard-near-impossible-super-legendary-level-hard.

You're making an investment that'll stay with your for years. You're buying something you're going to see, use, spend time on everyday. You've got to make the right decision. It should be perfect.

You find the right specifications at the right cost, but then its just so ugly.

You find a beautiful laptop, but then its specifications are barely good enough for browsing the net and running MS Excel.

You finally find the right specifications, the beautiful keyboard you've been looking for with the perfect trackpad, and bam, it costs twice as much as what the ugly-but-right-specifications laptop costs.

Oh and of course, then there's the high end MacBook Pro, that's priced at everything I own, combined. The cheaper MacBooks aren't worth buying.


Looks                     +         -       +      -
Specifications       +       +       -       -
Price        …

The Best Online Community

Image
devRant
Probably the best online community I've come across, and a really nice social network. I've been viewing its posts over the last 6 months or so, and the quality of the content remains as good as when it first started, if not better.
Its pretty much 9gag for devs - unlike users from SO and Reddit, the people here are light hearted, post meaningful, hilarious rants from their adventures in programming.

Here are a few :D

A couple more funny posts -

-
Exception up = new Exception("Something went really wrong");
throw up; // hehehe

-
Boss : Nice job with that bug, when the erp feezes and magically starts working after a few seconds.

My code : try {
                     // something something
                 } catch(Exception e) {
                     sudo reboot;
                 }

-
My girlfriend got bitten by a mosquito and kept scratching it.
After I complained about the size of the bite, she said "c'mon, its just a bit, not big enough to be a byte"…

Allo kthxbye?

Google Allo.Just a chat app?
Sorry, but lol. Yes, okay, its extremely pretty and looks so bubbly and cute. Plus it has those nice little cat stickers. I love all that.

But. It's much, much more than that.

Sundar Pichai was supremely confident with Google's ability to process language during his keynote in I/O '16. Allo is Google's playground, and humans their subjects. Allo is their path to testing and building a 100% literate machine that can communicate in perfect everyday-human-like language - and it becomes more like you the more you use it. Like IBM's Watson, Google will have a system that knows what to say under different circumstances, understand emotion, and interact differently with different people. It will be able to not only take part in everyday conversation with everyday humans like you and I, but even debate with top notch speakers, artfully reply to political leaders, logically argue with mathematicians, and so much more. And all this, in any lan…

Email Subscriptions Can Be Useful | Playstore

Image
tl;dr. Subscribe to updates over email on the play store.

LifeHacks has been doing really well on the play store recently. It gets about 2-10 written reviews each day, which are quite fun to read. Over the past couple of weeks, I developed a habit of opening the developer console every morning right after I woke up, to read and reply to the meaningful reviews.

So, I fiddled around with the console and found out you could subscribe to updates via email. Its great because for one, you get immediate push notifications.
The real benefit is the persistence of emails. The dev console doesn't show deleted reviews, but emails sent can't be unsent.;)

So.
Always subscribe to email updates on the playstore. Has fun added benefits :D
I've tried out the dev console app. It's great, but I don't want to keep a minute to minute check on my app, so it really isn't for me.

I should really blog about LifeHacks soon. I've worked tremendously hard on it and its growing really …

Manjaro KDE No. Mint Yes.

tl;dr. Manjaro KDE - it's super cute, but maybe not for me.

My laptop has been a wretched mess for the past couple of weeks. The reason was silly - the OS disk partition that I initially gave 30GB to was out of space, and there was no way I could extend it, even though I had over 200GB free in my other partitions. It required an empty space right after the OS partition - no fragments. :/

So, after about 2 weeks of cribbing and waiting for a new laptop to magically appear at my door, I succumbed to it. I couraged to format my disk and re-install my OS.

I had been using Linux Mint 17.x Cinnamon for about 2 years now, and thought it'd be nice to go for a change.

Manjaro KDE, based on ArchLinux. People on the internet seemed to love it. Plus it was Arch. It seemed perfect.

Except. Now that I have it, I dislike it. It's too Windows-y. It's just very cute. Everything looks so beautiful! I know, I know, I love good design, and all the nice little icons and settings windows f…

Is All of Webdev Just A Pile of Hacks?

tl; dr : This post on hackernews.

I had written a (not so structured) blogpost on how web dev is insanely different from app dev, comparing UI design, backend code, and flow of the app/webapp. And how webdev is just hacky.
I've seen so many profiles on LinkedIn/personal websites where people proudly designate themselves as ardent lovers of JS. No offence, but huh, lol. You can be really good at JS, but it's just very hard to fall in love with, unlike languages like Java and Python.
Now I don't entirely dislike JS - I understand why it is the way it is, and the history of the Internet and yada yada. But all frameworks, all libraries built using JS felt like attempts at revival of something that should have long died. Every new framework gives JS lovers (honestly no offence) a little bit of hope and adds a year or two to its survival. JS is a hack on top of a series of hacks! They have fake classes and now pretend inheritance in React (I used refactored a lot of code to ext…

Firebase Auth | The Debug vs Release Signature Problem

tl;dr
1. Update Firebase console with SHA1 of your release keystore.
2. Re-download google-config.json file.
3. Place your release keystore in the same folder as your gradle file and update gradle with the code below.
4. Tadaa!

Authenticating a user can be frustratingly tricky at times. I use Firebase all the time to do all server related tasks - I used to create my own Python Flask server prior to this. You literally have to write no server side code, and it's all for free.

All steps at the Firebase Auth documentation are straightforward, except for the part that requires you to add the google-config.json with correctly configured SHA1 key. I got stuck at this one point, and I'm certain most developers will at the same place. It took me hours to do this the right way.

Here's what you do :
Firebase Auth requires SHA1 fingerprint of your release keystore.
Run the keytool command given in the docs.

keytool -exportcert -list -v -alias alias_name -keystore path/to/keystore/locat…

Emails can definitely be better

I've found a place I'd quite like to work for. Superhuman.

They're a group of 10ish top class developers/creative minds - several Indian, based in San Francisco. They're working on a very simple, every day problem - emails. At first, I know the idea doesn't groundbreaking, and a whole lot of companies have worked on something of this sort. Plus ideas like these usually get eaten up by bigger companies with more resources. But these super creative people with contacts all over bay area, and infinite cash flow, immersing themselves into working on a long term project can make it groundbreaking.

Here's what they're doing. Simple words, changing the way email is today.

Making it beautiful. Emails clients are supposed to be clean and sleek. GMail is ugly, both on Android and the web. Material Design isn't always the ideal design pattern for all types of applications. iOS' design pattern for an email client is quite nice. Insights about the person you rec…

Android Dependencies and Version Numbers

If you've done any development, you probably know how quickly libraries upgrade versions. Keeping track of the version number to compile the library with is always difficult.
On Android, a lot of developers use dynamic dependencies using the '+' notation like so -

compile  'com.android.support:cardview-v7:24+'

This is terrible! Dynamic dependencies may end up doing unexpected things to your app and you won't know why. You may be saving time and always have the latest version while compiling, but this laziness may cost you a lot of time when you don't understand why your code isn't working. Read more here (A really, really nicely formatted blog, ftr. Blog goals - make blog look this pretty.)

Alright. I used to go to Android's dev website to check versions every time I'd want to use a support library. They keep updating very frequently. The other place for all other open source libraries is either github repo or Maven central. So I thought it'…

Indiegogo | Onion Omega2

Image
Omega2 by Onion. A super small WiFi enabled Linux server. It's a computer that costs $5. You can power it with LiPo batteries (:D), it has WiFi built in, and is made by a group of super enthusiastic people.
It's everything your electronic hardware design course taught you about Arduino and Raspi, except it's one third the size and one fifth the price.

For those interested :D

And it's my first contribution to an Indiegogo campaign. $5:) 
Downside, it'll ship some time in December '16.

What am I planning to use this for? I'm probably going to do something with the Omega2 and this nanoquad. The WiFi on board of both the quad and the Omega2 makes things easier. :D (Okay, the quadcopter's website sucks. Don't judge it on that. Their nanoquads are just like the Crazyflie's, except 5 times cheaper. I'm going to write a blogpost on the Pluto quad as soon as it arrives!)

15 Million Merits

Image
Black Mirror. A British TV series based on futuristic worlds depicting the problems of today, especially ones to do with technology. Each episode has a different story line, with different actors in different worlds. The name is perfectly fitting - when a screen is off, it looks like a black mirror. Every episode is a morbid reality of our society, a dark reflection of what the screen, technology has done to us, how we see ourselves as a society.
Charlie Brooker, the creator of the series says this (couldn't help but smile at this) - The irony is, how we're all watching the series on our laptop, television, or mobile phone, and at the end of each episode when the screen cuts to black, we see our own reflection on that dark screen, the black mirror.

Forward to 4:31 seconds, if it doesn't on its own.

Each episode is a perfect allegory. I saw 15 million merits recently, and couldn't help but notice all the hidden metaphors to reality - frankly, they're hidden in a way …

Can you solve this?

You have a sheet with several numbers written on them. You have to fill in operators to make the left side balance the right side. You can useanyoperator, and as many as you'd like. You can use brackets. You cannotwrite any number on the sheet. So, square root works because there's a symbol for square root. Cube root doesn't because it requires you to write 'three' in the root symbol. Similarly, you can't square a number, because it requires you to write 'two' in the superscript. You also cannot use decimal as it requires you to write '0' in front of the dot.
Here's the question - 
0 0 0 = 6 1 1 1 = 6 2 2 2 = 6 3 3 3 = 6 4 4 4 = 6 5 5 5 = 6 6 6 6 = 6 7 7 7 = 6 8 8 8 = 6 9 9 9 = 6
I'll give you the answer to the first. 
6 + 6 - 6 = 6
Can you solve the rest?
-- It took me almost half an hour to complete.

The Population Problem

Brief, unstructured, but have always wanted to put this through. Many questions and not critically thought ideas.

The root of most human induced problems is large population. I feel any race/city/organization/institution that limits it size to as much as it can handle will function better than those that grow uncontrollably. Now this sounds obvious, but surely other than the Chinese no one seems to be following this.
The obvious issues -

Day to day troubles - Road traffic. Queues in supermarkets. Local transport, metro, buses, trains always crowded.Education - Can the government provide education to everyone? What is the selection of students? Creates division and hierarchy amongst institutions - not everyone gets to study at a top tier institute. On what basis is an individual considered worthy of a top level education?Employment - Where do you generate so many jobs? Even if you push in more people into each domain, say increase the size of police force as the overall population grows,…

The Zoo of Jobs

The more I think about it, the more I feel I've made a big mistake. Or maybe I haven't.

Imagine this. You're on an indefinite term in jail. No, jail's too harsh. Let's call this a zoo. You're one of those many human-animals that are captured, and kept in protection in the zoo. You've been captivated for months now, and have hated every minute of the feeling. You're wise, you're strong, but like every other human-animal, you live in this zoo, waiting for the day you'll be free. Every day you dream of what this day would have been like had you been free - from the city you would choose to live in to the people you'd like to do meet and do business with, the food you'd eat and the place you'd like to call home. If only you were free right this very day. Every week or so, the zoo has visitors- people from the industry, factory owners who tour the zoo and observe the animals inside. These visitors spend hours trying to find a right fit for…

StackExchange is too Pedantic

Image
A couple of my posts have been about how people are awesome. This post? This is about how I just don't understand a couple of things here and there. No intention to hurt the people involved in the image.

Online communities are amazing. Stackoverflow, stackexchange in particular (not mentioning Reddit here). It is quite a feat to have created a tool that has created such a vast community  (Jeff Atwood - the creator of SO - read his blog if you haven't, extremely fun to read!) that follow the rules, attempts to fix those that don't abide by them and continues to grow. It's almost like a world of its own - most people are like the average citizen - they answer questions of things they are good at and cause no trouble. A small percent are the troublemakers - illogical people with little sense who post wrong questions/downvote wrongly or are just plain wrong. There are policemen who make sure rules are enforced - they verify and edit questions, write appropriate comments to…

People are awesome | Ode to Joy

Image
Imagine walking down the road on one of your many monotonous days, to find something so spectacular, something so joyful that just being there for 5 minutes makes you feel like every moment of your otherwise common day is now going to be like no other. :D
It is not uncommon to see single violinists/trumpet players on the road playing solo music in Europe, but to see a whole orchestra perform, wearing ordinary everyday clothes, with the biggest smiles on their faces, spreading smiles to everyone watching, is simply precious.

Beethoven's Ninth symphony. :')
There are several people that stand out in the video.
The girl on the lamp post at 3:33, it's such an ingrained human reaction to move your hands to the rhythm of the music.
The ordinary dressed Choirmaster at 4:06 who is anything but ordinary.
The (probably Italian) guy at 4:09. His priceless reaction is what the flashmob plays for. You can see the happiness on his face. :D

I really wish to be a part of several such ins…

Habijabi | Can you solve this, Sherlock?

Warning. If you like puzzles, this will take up a lot of your time.

I've been (trying to do)/doing algorithmic programming on Hackerrank and other similar websites for the past couple of months. (Practising competitive coding is the only way to get a soft engineer job, apparently.) Some problems are really fun, while others are now standard algorithms that took humanity 10s of years to figure out - you can't expect yourself to come up with solutions to all of them without sitting through the theory.

I was trying out 'interview practice questions' on Hackerrank, when I found this. This question is one of a kind, I haven't come across anything like it before, and certain you haven't either.

It took me 10 minutes and a slight peek at the discussions tab to convince myself this question is legit. A guy mockingly posted "IMHO, the problem is a hacker challenge - it's not a reasonable "practice interview problem" unless you are interviewing for the…

People are Awesome | Pokemon Go

We all know the latest buzz. The world has been going crazy over Pokemon Go, starting their adventure as a trainer, merging the gap between _real_ life and the virtual world. There are hundreds of blogs about how Go has impacted the world, how it is forcing people out of their homes and to actually explore their city and meet new people, making the world a more social place.
(Personally, I still don't believe this. Go reminds me of the people from Wall E. Everyone's under the influence of _The Screen_. But let's leave this for another blog :) )
Go & Open Source Developers This is why people are awesome. In less than a month since Go's release, there are dozens of Github repos creating unofficial APIs and tools to help you locate Pokemon, find the closest poke stops and gyms. My roommate has been going out everyday in hunt for Pokemon since he got hired last week. Last night, while discussing stories of his many adventures and how he met so many people playing the sa…

How did you live without listening to these?

It's funny how only once you find a really good song you realize how much you needed it. Before that, you never really knew about it, and life was still fine. But now that you've heard it? - You can't live without it. I was very fortunate to find these songs this summer. Each one has a good memory associated with them, and I'm really glad music of this sort exists.

The Strumbellas
Spirits - The music video & the live version.

I got this song in my head and it won't go! The Strumbellas aren't a very famous band yet - they will be very, very soon though. All of their music is soft and meaningful. Bonus- they have an excellent violinist; that instrument can entirely change the mood of the song :D
While listening to the live version of this song, you can genuinely feel the pain in his voice - the second half where the lyrics are -

And I don't want a never ending life, I just want to be alive, while I'm here.

There must be more to this, a deeper meaning to th…

Android Libraries & How Android Has Kept Me In Love

My love for Android is never ending. I've thought of putting a complete halt to all Android development over thrice in the last year*, and haven't been able to so far.
One major reason is the sort of things Android allows people to come up with! The endless number of libraries, both for UI, or development. Here's a list of super useful libraries you may not have heard of.

Android Annotations
I stumbled upon Android Annotations about an hour ago, and I'm hooked. It's an Android library that helps in making code smaller and easier to read. True. Android is based on Java, and we all know how Java, unlike Python likes things big and explicitly written.
Annotations are those '@' marks followed by a keyword you see above method or variables in several languages. ButterKnife uses them to inject views instead of writing long lines of the same code. Annotations are also used to mark methods like so - @Override.

Android Annotations takes this to a whole new level. In…