Making LEDs dance to music

I am working on an installation at Amsterdam, trying to transform an ugly vandalised building into an open-air exhibition space, and make it interactive to make the area lively and the project engaging to pedestrians and vehicles.

Part of this involves having LEDs dancing around the building, encouraging the viewers to move around the building. For this, I ordered myself a strip of flexible RGB LEDs from China. These are based on the LPD8806 ( you can find a tutorial here ), run on 5V, do not need continuous refreshing and each LED is individually controllable. Guess what that means ? Yep, you can hook it up to an Arduino and start programming, just like that. I came across the FastSPI2 library, which does a great job of letting you control these strips (they support different chips like the WS2801 and others too) through a very easy interface.

With the LEDs and Arduinos in hand, I set about trying to find a fun enough experiment to do. I had wanted to map out motion data to visuals since a while, but then sound is a good option too, I thought. With that in mind, I tried finding a way to sync visuals to music. The Pink Panther track comes to mind very quickly, because of the simple beats and the associated visual movement being easy to imagine. With suggestions from my Japanese friend Takuma about using MIDI instead of MP3 , with this little script from my Spanish friend Alex to map the timings of the music track to usable text data, and with help from my Dutch team-mate Steven to figure out musical notation and editing, I was able to put together this little demo below. It is very basic, and I hope to put in more effects and visuals soon ! The code is on Github here : http://go.ankitdaf.com/dancingleds

Dancing LEDs from Ankit Daftery.

Open source software you can pay for

Before contributing code as a part of Google Summer of Code (twice), I used to wonder how open source worked. How could entire organisations, maintaining huge operating systems and other very popular software and systems keep running if they released their code out in the open, so to speak ? How could developers afford to pour in months of hard work into countless lines of code, and then let it all out there, for everyone to use, modify,share as they please ? I wasn’t skeptical, just immensely curious.

A few years down the line, I have a slightly better idea. Organisations accept donations, community-built software often gets built cheaper and quicker than developing commercially, using open sourced platforms in proprietary systems is not uncommon, and the like. As a part of Google Summer of Code, I (and every student developer) was paid a stipend, sort of as a compensation. After all, bills need to be paid.

Another approach I have come across, interestingly, is the “Buy me a beer” concept, which is now seemingly dead. The idea is, put in a “cool” way, that I need beer or coffee to keep on putting in those hours to make the code better for you, so please pay for a beer or coffee so I can work on it a little bit longer. This, of course, also depends on whether your code is good enough for someone to want you to continue developing it further.

Almost all my code I have developed so far is open, but I admit, almost none (except my GSoC contributions) are in substantial use. But as is habit, I found and wrote more code to automate my work that extra bit further. Where is this going ? Wait for a moment and see ūüôā

I have a photo-log, a collection of photos from two and a half years, documenting my life and travels over this time. I do not mean occassional albums, but regular pictures of people, places, things, activities. It amounts to 66 GB including videos and pictures. I already had written myself a tool to help me organise my collection better, but when Flickr announced the recent largesse of 1TB for everyone, I thought this was a great solution to backup my photos and share them. So I came across a script to bulk-manage my uploads, and modified it substantially to suit my purpose. Then I thought to myself, there must be a lot of people with needs and thoughts similar to mine, hoping to leverage the extra space. I am sure my script would be pretty useful for them. I would love to add features to it too, but I have a full time job as well. And then the concept of “buy me a beer” and Instamojo, a startup my friends are working on came to mind. That’s when I decided to experiment with “selling” code (the difference , of course is, that I am not selling the “code”, but documentation, tips and hacks to better leverage the code instead), though in a style similar to a performer who lets you pay if you wish to (and my friends at Instamojo tell me however-much-you-wish-to will be possible soon).

Do use the script, and buy me a coffee, if you think it helped you. You can get the script here : http://go.ankitdaf.com/uploadr . I don’t need to make much money out of it, but it would be a nice incentive to keep going. Also, I’d like to see how many people find it useful, and how many like it to the extent of paying for something they could have for free ūüôā And of course, the coffee would help me stay awake ! Cheers !

My friend from golden times

What do you want me to remember you by
When I am far, and you aren’t there
What memory should I have, so when time flies by
A little thread of thought that will make me wait awhile and stare
By chance meet or by treasure smile
By common misfortune or by shared musings free of care
By the reams of conversations we had
Or be the miles of the journey we shared
What do you want me to remember you by,
When I am gone and you are nowhere in sight
What memory should I cherish,and hold on to
Knowing that it will bring me back
Back to you,and uniquely you,treasured friend
My friend from golden times

Cellphones in relationships : A survival guide

So if you’re in a relationship and you plan to buy a phone or have just bought one,
and it turns out to be an Android or iPhone, here are a few tips to prevent life from becoming
living hell

1. NEVER install WhatsApp 
WhatsApp is probably the worst thing to happen to couples. Sure, you can message all the time for very little cost, but few are aware of the minuscule bomb planted into the app. Your other half can not only know if the message has been delivered like normal texts, but also if you have read it or if you started typing a reply and forgot all about them.

Yes, it can get ugly, can’t it ?

2. NEVER share your location
Sharing your location means your other half will know exactly where you are and how much time you should take to pick them up. Yes, they will know much time you SHOULD take, instead of how much time you might take. Goodbye to all those little diversions for snacks or for saying quick hellos to friends.

Not a very pleasant thought.

3. NEVER get an Unlimited Data Plan
Getting an Unlimited Data Plan means you’ll be connected pretty much 24×7. The horror of it ! So if you want some time for yourself¬†or if you don’t want to do something with your significant other, you’ll have to dodge : phone calls, sms, WhatsApp, chat,location¬†and any and all other services that you foolishly signed up for on their suggestion (read pestering)

And you thought you lived in a free country

4. NEVER use Foursquare
So managed to get out from a boring outing by lying ? Foursquare is your worst enemy. Sure, you can check into someplace to become the Mayor of that place, but you are going to get hell back at home. A pretty sad Mayor you would be.

5. NEVER get the same handset
NEVER EVER. They will make sure you have hell. How ?

If they approve of the idea, you will be¬†embarrassed¬†to hell listening to¬†them rant on acting all cute and mushy and making you go “Leave my damned phone out of this”.

Or better still if they DON’T like¬†you getting the same handset, they’ll make sure you give it to your younger sibling and get a new one within six months. Or face consequences.

Enjoy.

6. NEVER even get the same OS
If your criminal partner (partner-in-crime has gotten too mushy, and this term seems more appropriate) has a phone running Froyo, get one running Eclair, Gingerbread or Honeycomb. Anything other than Froyo.
In fact, get an iPhone. That way, you won’t have to deal with their tech problems,¬†share or approve of their enthusiasm for apps or be responsible for teaching them stuff. Or be responsible for sharing your cool new app with them.¬†Because come on, even you like to be the only one to have an awesomely cool app sometimes, isn’t it ?

I could probably go on, but I’d rather not for the sake of keeping it amusing and not-boring till the end.

And yeah. You have been warned. Take heed. Serious heed.

GRE.Check.

Declarations and disclaimers :

1. This is not advice. I haven’t put in any,so if you opened this looking for advice, you are going to be disappointed.

2. You and you alone are responsible for whatever you may find or learn or lose on reading this. I claim no responsibility or liability for anything. I do not even guarantee the accuracy of what I have written here.

3. I am done with my GRE, so I can write this with a little more detachment than those of you readers who are yet to give it.

4. Lastly, this is more of a debriefing than a narrative. Just saying.

A few things I have to say :

1. A big thank you to all my friends. For constantly wishing me luck. For not betting in front of me. For not pressurizing me. All of it made me work harder than I might otherwise have.

2. Thank you Bhumil Haria for giving the exam a week before me and providing a frame of reference.

3. Thank you everyone for the betting round on twitter. I have never ever opened Twitter to see 28 mentions in a span of 4 hours. Thank you for believing in me.

4. Thank you Tanvi Nabar for the chat outside Marwah house ūüôā
Tanooj, not you. You don’t ask someone what they are thinking right outside the exam center WHEN they are outside the exam center. You have to save it for later ūüėõ


A few things I saw at Marwah house :

1. Marwah house is a desolate place. Don’t reach too early.

2. They make you check your pockets twice yourself before letting you in. Maybe they are afraid more of bio terrorism and anthrax powder more than people copying.

3. They have people to keep on staring at you via CCTV throughout the exam. “Uncle Sam is watching” is totally right. I don’t know how much of perverts they are, but there’s lots of scope there. Also, if we were to stare at a CCTV feed, we would be called jobless. They call it their job.

4. They provide ear muffs of the kind you find in shooting ranges. Pretty slick

5. They ask you to keep your food out in the open in the waiting area if you mean to have it in the break. I don’t know if they have a bite from it,but its very possible. There should be an physical kind of MD5 checksum to check for tampering.

A few thoughts :

I did not prepare much. 3 weeks, and not even a dedicated three weeks. I don’t know if classes helped, and I don’t mean to find out. The one thing I am sure of is, I wouldn’t have been able to perform better at any other time. Because it takes calm nerves to succeed where I think I screwed up.

I won’t be so presumptuous as to generalise, but I find that the GRE confirmed one belief :
You can only be prepared upto a certain extent. After that, you’ve got to be ready.

Disclosure :
 My score is 1440. V 640. Q 800.
I had decent vocabulary and composition skills even without the GRE, so that might have helped. They just might have. Now you cannot blame me for incomplete disclosure.

Phototime – Photo organizer minion

Code is alright, but I have always been looking for opportunities to write small scripts, little things to automate life. Now, when I have the opportunity, I was only too glad to indulge myself.
I have been maintaining a photo-log since a few days, and that means a lot of photos everyday. The least I hope to gain out of this exercise is to know how my life progressed over a year.
So I figured I would have to name them consistently with their date and time as the file names.
What would let me do this ? Either have the camera’s processor run the code (very far-fetched, true, but it might be a possibility) or have a script on my computer to do the same.
So I chose this opportunity to write a small Python script to rename all photos in a folder in such a fashion.
What it exactly does is :
Supply the path to a photo folder as a command line argument, something like :
python phototime.py –ftype=filetype –path=filepath
and the rest is taken care of.
As an additional step, you could copy it to your “bin” folder which is in the shell path, rename it as “phototime” without the “.py” extension, make it executable (chmod a+x), and then enjoy the added ease of use. A more detailed documentation is on the Github page linked below
I’ve uploaded the project to a Github repository. You can¬†download it from here.
Please leave back feedback if its useful or if it sucked. Remarks and suggestions for modifications are most welcome.

Innovation

This is the second part of three-article blog post I had planned to cover what I learnt at the MIT Media Labs Design and Innovation workshop at COEP,Pune in January 2011.

                       Y.oot noitavonni s
                        e                        a
                        s,  this is counted

Caught your attention ? Good. Simply put, Innovation is a different way of doing things, finding a new way out. Why is this necessary ? An old saying¬†summarizes¬†this very nicely : If you keep on doing the same things, taking the same actions and thinking the same thoughts, you are going to get the same results that you’ve been getting.

I wouldn’t be exaggerating if I said innovation is what has kept the world going. Innovation is what keeps on saving the world from grave problems. Innovation is what keeps on pushing man to strive harder and think smarter for “just a little bit more”, “just a little better”. Innovation is what open new paths, spurs new ideas. Innovation, for many, is what earns people their bread.

If you are wondering if innovation is *really* important to you.
It is important if you are an entrepreneur trying to enter a market.
It is important if you are an academician trying to make a discovery.
It is important if you are an investor, because an innovation is what is going to multiply your money a lot more than a “safe bet”
It is *also* important if you are a *consumer*, because innovation is what makes things simpler,cheaper and convenient for you.

So now that I’ve suitable stressed on the importance and need for innovation, I will leave you go through the presentation below about *how* to innovate. Prof. Ramesh Raskar is a part of the Camera Culture Group at MIT Media Labs, and I was lucky enough to have him explain his presentation below over web conference. Here’s the presentation :

[slideshare id=3725122&w=510&h=426&sc=no]

It would be presumptuous to have a “last word” after something as great as Dr. Raskar’s presentation, but I do it solely to wrap things up.

Change triggers innovation. Innovation triggers change.

Innovation,whether out of necessity or genius, has equal impact. Whatever be your motivations, go out there and innovate.

Design

Take a pool of car parts.
– Visualizing how the parts fit,work well,and look good is design.
– Putting them all together is engineering.
– Modifying the parts to make the car cheaper and faster is innovation.

Most of us when working on our projects always end up concentrating only on “engineering”, and neglect the other two aspects.And it is those very aspects of product design we neglect that end up “screwing up” everything,as we call it.

Also,as always, I must talk point-wise.I blame engineering for this condition.

1. Design lets you have a broad idea of how to go about things, before actually doing them.
It can give you an idea of what difficulties you could encounter, or how things might be moved
around to give different or better results.

2. A good design is vital in making a product look good and sell well. If you don’t design your product well, it is just going
to look like a lot of things stuffed into a box,for no apparent rhyme or reason.And face it,a stuffed box isn’t what anyone is going to pay for.
Design helps differentiate your product from the others, and design is what will determine its appeal to your audience.

3. Design is important for documentation and business purposes. The idea you have when you make a product might not be apparent to someone else,
so it always helps to have the design handy when you want to transfer your idea to someone else. And it is always easier to find someone to fund you
when you have a design or a plan to show instead of the verbal “Its so simple, I can do it !! “

So what exactly do I mean by a design ?
It can be anything from a sketch,block diagram, flow chart, user interface,product appearance or anything that counts as a diagram. How come ?
Because a design is an aid to visualisation and conceptualisation, not a document to be turned it.If it expresses your idea,it works.

A design is an explanation of your idea.If you cannot explain an idea, the idea cannot live.
So the next time you work on any project of yours, make sure you have a design ready.

P.S. : Yes, that’s correct. I like one word titles and point-wise discussions.

I know, I know. These long gaps are becoming a bad habit, and must go.

This is a short piece on “Design” I wrote inspired from what I learnt at the MIT ML Design and Innovation Workshop. This is the first one in the series of at least three posts (I hope). Do leave your comments.

Write

Write.

Yes. That’s right. Write.
Write a diary. Or on pieces of paper,if you think “diary” is too feminine.
Or a blog if you are tech savvy. Or a note if you spend all your time on Facebook.
Write down your thoughts. Ideas. Incidents. Interactions.

Why ?

1. You never know when the next big idea to change the world might strike you. You don’t want to lose that.

2. Incidents teach. Recollecting the what and why and what could have been of incidents makes you wiser.

3. What you learnt could help many others. If all those authors hadn’t written those textbooks,management books and novels,you wouldn’t have been as intelligent as you are. Its only fair to contribute yourself. Don’t be selfish. Share.

4. It is one of the strongest forms of expression. Of your personality,opinions,hopes and aspirations.”Freedom of expression” is not a fundamental right without a reason.

5. We are engineers-to-be. Documentation is a virtue. You may forget what you may have done,and how. So write it down now,when you remember. If you still aren’t convinced, think of a world without those setup guides, manuals and FAQ pages. Yes, that counts as writing too.

6. Writing is NOT showing off, as some people might say. If you can write, you have a gift and you are a fool if you let others stop you from using it.

Okay, I have done enough writing for now..Its time you began !

P.S. If you are good enough, you can get paid too. And famous. Enough incentive ?

P.P.S Writing assignments doesn’t count


[This is the article I submitted for the V.J.T.I. newsletter in October 2010]