<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link rel="hub" href="http://tumblr.superfeedr.com/" xmlns:atom="http://www.w3.org/2005/Atom"/><description>A budding creative technologist based in India.</description><title>Param Aggarwal</title><generator>Tumblr (3.0; @paramaggarwal)</generator><link>http://www.paramaggarwal.com/</link><item><title>The Unplanned</title><description>&lt;p&gt;On a hot sunny day, it rains, and you let it soak you. It becomes the high point of an otherwise planned out day. It&amp;#8217;s the unplanned.&lt;/p&gt;

&lt;p&gt;Your best buddy shows up at a planned movie-going plan, and you later go out for a fun bowling match. It&amp;#8217;s the unplanned.&lt;/p&gt;

&lt;p&gt;You plan a dense evening, but the show turns out a flop, so you leave and have a blast with your friends instead. It&amp;#8217;s the unplanned.&lt;/p&gt;

&lt;p&gt;The restaurant you spent hours deciding, has bad service. So you walk out and try a random restaurant which you end up loving. It&amp;#8217;s the unplanned.&lt;/p&gt;

&lt;p&gt;The world is full of serendipity. Don&amp;#8217;t fight them with your planning.&lt;/p&gt;

&lt;p&gt;Embrace.&lt;/p&gt;</description><link>http://www.paramaggarwal.com/post/49086760715</link><guid>http://www.paramaggarwal.com/post/49086760715</guid><pubDate>Sun, 28 Apr 2013 18:26:46 +0530</pubDate></item><item><title>The Undone</title><description>&lt;p&gt;It was perfectly possible to have found time to meet friends, but you didn&amp;#8217;t. It&amp;#8217;s the undone.&lt;/p&gt;

&lt;p&gt;It was a beautiful shirt, you could have bought it. It&amp;#8217;s the undone.&lt;/p&gt;

&lt;p&gt;It was a good side-project, you could have taken it up. It&amp;#8217;s the undone.&lt;/p&gt;

&lt;p&gt;It was a superb rainy day, you could have taken a splash. It&amp;#8217;s the undone.&lt;/p&gt;

&lt;p&gt;It was a good pasta, you could have let the chef know. It&amp;#8217;s the undone.&lt;/p&gt;

&lt;p&gt;Everyday there are things that could have been done, but became the undone.&lt;/p&gt;

&lt;p&gt;Do.&lt;/p&gt;</description><link>http://www.paramaggarwal.com/post/49085317090</link><guid>http://www.paramaggarwal.com/post/49085317090</guid><pubDate>Sun, 28 Apr 2013 17:54:13 +0530</pubDate></item><item><title>The Unseen</title><description>&lt;p&gt;What all did you see today?&lt;/p&gt;

&lt;p&gt;You helped a person pick their dropped book, but you didn&amp;#8217;t see them smile back. It&amp;#8217;s the unseen.&lt;/p&gt;

&lt;p&gt;You tipped the waiter, but you didn&amp;#8217;t see him bow and thank you. It&amp;#8217;s the unseen.&lt;/p&gt;

&lt;p&gt;You hurried past a person carrying his food, but you didn&amp;#8217;t see that you almost made him drop it. It&amp;#8217;s the unseen.&lt;/p&gt;

&lt;p&gt;Your supposedly funny joke hurt someone, but you didn&amp;#8217;t see the faintest of the expression he let leak on his face. It&amp;#8217;s the unseen.&lt;/p&gt;

&lt;p&gt;Everyday, there are things that you miss.&lt;/p&gt;

&lt;p&gt;See.&lt;/p&gt;</description><link>http://www.paramaggarwal.com/post/49084895679</link><guid>http://www.paramaggarwal.com/post/49084895679</guid><pubDate>Sun, 28 Apr 2013 17:43:56 +0530</pubDate></item><item><title>The Unsaid</title><description>&lt;p&gt;You have 2 minutes to make an impression. Capture the moment. Be the person.&lt;/p&gt;

&lt;p&gt;Once it has passed, the window has closed.&lt;/p&gt;

&lt;p&gt;No one gives a damn. It&amp;#8217;s the unsaid.&lt;/p&gt;

&lt;p&gt;Nobody is going to tell you something, because you didn&amp;#8217;t say anything. What is the response to not saying anything? It&amp;#8217;s the unsaid.&lt;/p&gt;

&lt;p&gt;Express when the ears are listening, the eyes are open and the sun is shining. What is the opposite of not expressing? It&amp;#8217;s the unsaid.&lt;/p&gt;

&lt;p&gt;There are a ton of things that nobody is going to sit you down, and teach you. It&amp;#8217;s the unsaid.&lt;/p&gt;

&lt;p&gt;Respect the unsaid. Say.&lt;/p&gt;</description><link>http://www.paramaggarwal.com/post/49084428341</link><guid>http://www.paramaggarwal.com/post/49084428341</guid><pubDate>Sun, 28 Apr 2013 17:32:11 +0530</pubDate></item><item><title>That Person</title><description>&lt;p&gt;So smart. So handsome. So on-top-of-things.&lt;br/&gt;
So social. So helpful. So lets-do-this-today.&lt;/p&gt;

&lt;p&gt;I want to be that person.&lt;/p&gt;

&lt;p&gt;Because I am dull.&lt;br/&gt;
I am lazy.&lt;br/&gt;
I am slow.&lt;br/&gt;
I am not-so-doing-this-today.&lt;/p&gt;

&lt;p&gt;Problem is,&lt;br/&gt;
I am me.&lt;/p&gt;

&lt;p&gt;So-not-good.&lt;/p&gt;

&lt;p&gt;But flip it over.&lt;br/&gt;
You be him.&lt;br/&gt;
He becomes you.&lt;br/&gt;
And the story is the same.&lt;/p&gt;

&lt;p&gt;Everyone likes everyone else.&lt;/p&gt;

&lt;p&gt;The power of You. Which is the Me.&lt;/p&gt;</description><link>http://www.paramaggarwal.com/post/49083914905</link><guid>http://www.paramaggarwal.com/post/49083914905</guid><pubDate>Sun, 28 Apr 2013 17:18:00 +0530</pubDate></item><item><title>Manifesto</title><description>&lt;p&gt;You gotta express yourself to the world. Talk about things you want to talk about, do what you feel like doing and like people you like. The world is too busy, and if you don&amp;#8217;t give out the right signals, you will never find the right people. Stop thinking what is right and just do. Soon what you do will become the right thing to do. Change the world!&lt;/p&gt;</description><link>http://www.paramaggarwal.com/post/48783235414</link><guid>http://www.paramaggarwal.com/post/48783235414</guid><pubDate>Wed, 24 Apr 2013 22:46:14 +0530</pubDate></item><item><title>Email. The killer app no one saw coming. (And still doesn&amp;#8217;t.)

Your unique identity across the...</title><description>&lt;p&gt;Email. The killer app no one saw coming. (And still doesn&amp;#8217;t.)&lt;/p&gt;

&lt;ol&gt;&lt;li&gt;Your unique identity across the web.&lt;/li&gt;
&lt;li&gt;The first notification system.&lt;/li&gt;
&lt;li&gt;The first to-do manager.&lt;/li&gt;
&lt;li&gt;The first note-taker.&lt;/li&gt;
&lt;li&gt;The first social-network.&lt;/li&gt;
&lt;li&gt;The first project management app.&lt;/li&gt;
&lt;li&gt;The first read later app.&lt;/li&gt;
&lt;li&gt;The first file transfer app.&lt;/li&gt;
&lt;li&gt;The first backup system.&lt;/li&gt;
&lt;li&gt;The first photo sharing app.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;All that and more. With &lt;em&gt;Email&lt;/em&gt;.&lt;/p&gt;</description><link>http://www.paramaggarwal.com/post/45760733323</link><guid>http://www.paramaggarwal.com/post/45760733323</guid><pubDate>Tue, 19 Mar 2013 21:44:01 +0530</pubDate></item><item><title>So Google buys Android in 2006 to clone the then popular Blackberry. Reason being they wanted...</title><description>&lt;p&gt;So Google buys Android in 2006 to clone the then popular Blackberry. Reason being they wanted control on mobile platforms, so that their services were not side tracked.&lt;/p&gt;

&lt;p&gt;They quickly re-align strategy to copy iPhone instead by 2008. By 2012, they have spent more than 10 billion buying Motorola to have a patent portfolio and develop Android, still giving it away for free in *hope* of future profits.&lt;/p&gt;

&lt;p&gt;Today, Android is great. But the two companies with a majority of the smartphone market are Apple and Samsung.&lt;/p&gt;

&lt;p&gt;Samsung day-by-day threatens a move to another platform, or fork Android (like Kindle) with it&amp;#8217;s own default apps, and a store for media and apps.&lt;/p&gt;

&lt;p&gt;Apple on the other hand is still the platform where Google makes most of its money with advertising from the default search, in-game advertising, and dedicated native apps for most of its services.&lt;/p&gt;

&lt;p&gt;So how did Android help Google?&lt;/p&gt;

&lt;p&gt;Hell with you Google, you have no focus. What do you even intend to do.&lt;/p&gt;</description><link>http://www.paramaggarwal.com/post/45694466391</link><guid>http://www.paramaggarwal.com/post/45694466391</guid><pubDate>Tue, 19 Mar 2013 01:58:49 +0530</pubDate></item><item><title>Made with Paper</title><description>&lt;img src="http://25.media.tumblr.com/tumblr_mdd20tmCim1qblmgro1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Made with Paper&lt;/p&gt;</description><link>http://www.paramaggarwal.com/post/35548111779</link><guid>http://www.paramaggarwal.com/post/35548111779</guid><pubDate>Mon, 12 Nov 2012 11:30:29 +0530</pubDate><category>MadeWithPaper</category></item><item><title>It’s Peaceful Out There.

Made with Paper</title><description>&lt;img src="http://25.media.tumblr.com/tumblr_md9mv9guei1qblmgro1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;It’s Peaceful Out There.&lt;/p&gt;

&lt;p&gt;Made with Paper&lt;/p&gt;</description><link>http://www.paramaggarwal.com/post/35397694087</link><guid>http://www.paramaggarwal.com/post/35397694087</guid><pubDate>Sat, 10 Nov 2012 15:10:21 +0530</pubDate><category>MadeWithPaper</category></item><item><title>Build Something Worth Falling in Love.

Made with Paper</title><description>&lt;img src="http://25.media.tumblr.com/tumblr_md7gny7h9D1qblmgro1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Build Something Worth Falling in Love.&lt;/p&gt;

&lt;p&gt;Made with Paper&lt;/p&gt;</description><link>http://www.paramaggarwal.com/post/35323653113</link><guid>http://www.paramaggarwal.com/post/35323653113</guid><pubDate>Fri, 09 Nov 2012 11:01:10 +0530</pubDate><category>MadeWithPaper</category></item><item><title>The Screaming Chair.

Made with Paper</title><description>&lt;img src="http://24.media.tumblr.com/tumblr_md7gn7bLhD1qblmgro1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;The Screaming Chair.&lt;/p&gt;

&lt;p&gt;Made with Paper&lt;/p&gt;</description><link>http://www.paramaggarwal.com/post/35323631347</link><guid>http://www.paramaggarwal.com/post/35323631347</guid><pubDate>Fri, 09 Nov 2012 11:00:43 +0530</pubDate><category>MadeWithPaper</category></item><item><title>The Belief Manifesto</title><description>&lt;p&gt;How to trust your conviction that you can then follow vehemently.&lt;/p&gt;

&lt;p&gt;Till now,&lt;br/&gt;
1. Success of someone else with similar beliefs.&lt;br/&gt;
2. Trusting your own past success.&lt;/p&gt;

&lt;p&gt;Believing convictions others have championed leads to inflexibility to correct them en-route. The game changes when circumstances change. A different time is a different circumstance. A different person is a different circumstance.&lt;/p&gt;

&lt;p&gt;You have already established that since the other individual succeeded with this, its going to work for sure. There is no sense of vulnerability.&lt;/p&gt;

&lt;p&gt;Be vulnerable.&lt;/p&gt;

&lt;p&gt;In the beginner&amp;#8217;s mind there are many possibilities, in the expert&amp;#8217;s mind there are few.&lt;/p&gt;

&lt;p&gt;Strong convictions loosely held.&lt;/p&gt;</description><link>http://www.paramaggarwal.com/post/32117990665</link><guid>http://www.paramaggarwal.com/post/32117990665</guid><pubDate>Sun, 23 Sep 2012 18:05:00 +0530</pubDate></item><item><title>Using an LED Matrix Module</title><description>&lt;p&gt;The &lt;a href="http://www.feemo.in/product/Feemo-Matrix-Adapter-id-47758.html"&gt;LED Matrix Module&lt;/a&gt;  allows you to add a nice display to your project.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_mai3nd0NYl1qbzhpz.jpg" alt=""/&gt;&lt;/p&gt;

&lt;p&gt;Lets talk about this display first. It is a matrix of 8x8 Red LEDs with all their anodes connected together. So the anodes of each column of LED are given as 8 pins. And the cathodes of each row are given as 8 pins.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_mai3qaaKrk1qbzhpz.jpg" alt=""/&gt;&lt;/p&gt;

&lt;p&gt;Hence we have a total of 16 pins on this display. Now, as you might guess, a single configuration of these pins cannot uniquely assign a value to each of the 64 LEDs on the display. Hence we multiplex this information. We display column by column, and we do it so fast, that it appears as one image on the matrix to our eyes.&lt;/p&gt;

&lt;p&gt;Now if we were to connect these 16 pins to an Arduino, that would be a lot of connections and it would leave us without any extra pins for other purposes.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_mai3woj2D11qbzhpz.jpg" alt=""/&gt;&lt;/p&gt;

&lt;p&gt;It is from this that we got the idea to fabricate our very first PCB. It consists of an IC called a Serial to Parallel Shift Register. It is a register, into which you can shift 8 bits of data serially, and these will then show up on 8 pins of the IC. Hence we use two of these for each of the set of 8 pins of the matrix.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_mai3xpz0eo1qbzhpz.jpg" alt=""/&gt;&lt;/p&gt;

&lt;p&gt;Once soldered it looks like this. Note the use of tiny SMD current limiting resistors. They are slightly difficult to solder, but give great space savings. All the components hide underneath the LED matrix like this:&lt;/p&gt;

&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_mai408TeqG1qbzhpz.jpg" alt=""/&gt;&lt;/p&gt;

&lt;p&gt;The display is also soldered onto the board, so that there are no loose parts.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_mai43bNMP51qbzhpz.jpg" alt=""/&gt;&lt;/p&gt;

&lt;p&gt;Hence we now have to deal with only 6 pins. The two ICs are connected serially, so to control the 16 pins of the display, we need to shift in 2 bytes every time. These pins are:&lt;/p&gt;

&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_mai44yfvno1qbzhpz.jpg" alt=""/&gt;&lt;/p&gt;

&lt;p&gt;The VCC line expects 5V supply and the GND is connected to the same on Arduino. CLK, DATA and LATCH are the lines that handle the serial transfer. At each CLK, the DATA line is read, and in this was a bit is transferred into the shift register. After sending a complete byte of 8 bits, we toggle the LATCH signal once which transfers the data in the shift register to the outputs.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_mai4iqJy7l1qbzhpz.jpg" alt=""/&gt;&lt;/p&gt;

&lt;p&gt;Start by connecting &lt;a href="http://www.feemo.in/product/Jumper-Wires---Pack-of-10-id-36704.html"&gt;jumper wires&lt;/a&gt; to the display and the &lt;a href="http://www.feemo.in/product/Arduino-Uno---R3-id-28855.html"&gt;Arduino Uno&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_mai4k7kDes1qbzhpz.jpg" alt=""/&gt;&lt;/p&gt;

&lt;p&gt;Connect CLK to pin 13, DATA to pin 11 and LATCH to pin 10. ENABLE is an active low pin, which means that to enable the display we need to ground this pin.&lt;/p&gt;

&lt;p&gt;Now launch the Arduino IDE and paste the code: &lt;a href="https://gist.github.com/3738207"&gt;Feemo Matrix Adapter Sample Code&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_mai36akrxq1qbzhpz.png" alt=""/&gt;&lt;/p&gt;

&lt;p&gt;Load the code to the Arduino and you should see a string of text scrolling on the display. Congrats!&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;byte displayBuffer[8]= {0};
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;The current configuration of the display is stored in this buffer space. It is 9 bytes (one extra byte outside the edge of the screen to fix a bug). Hence 8 of the bytes correspond to the entire screen. Each byte is one column on the display.&lt;/p&gt;

&lt;p&gt;The real magic of the code is this part below. It takes the contents of the buffer above and &lt;em&gt;writes&lt;/em&gt; them to the display very quickly so that it appear that the whole buffer is on the matrix, even though actually it is displaying the data column by column.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;void drawImage(byte * matrix) {

 //For each column,
 for(int i=0; i&amp;lt;8; i++) {

    //Send the data of the columns.
    for(int j=0; j&amp;lt;8; j++) { 
      digitalWrite(clockPin, LOW);
      digitalWrite(dataPin, (matrix[i]) &amp;amp; (1&amp;lt;&amp;lt;j) );
      digitalWrite(clockPin, HIGH);
    }

    // Select column by column.
    for(int j=7; j&amp;gt;=0; j--) { 
      digitalWrite(clockPin, LOW);
      digitalWrite(dataPin, (~(1&amp;lt;&amp;lt;i)) &amp;amp; (1&amp;lt;&amp;lt;j) );
      digitalWrite(clockPin, HIGH);
    }

    // Latch the data to the output pins of the IC.
    digitalWrite(latchPin,LOW);
    digitalWrite(latchPin,HIGH);
  } 
}
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Hence in this way the entire buffer is drawn to screen. The rest of the code is interplay to draw the text to this buffer. It consists of a font library that specifies what each character looks like in a 8x5 matrix. Hence 5 bytes are required to denote each character.&lt;/p&gt;

&lt;p&gt;Hence you will get an output as shown in the video below. (Video was shot when the adapter board was prototyped.)&lt;/p&gt;

&lt;iframe src="http://player.vimeo.com/video/46572581" width="500" height="281" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen&gt;&lt;/iframe&gt;

&lt;p&gt;&lt;a href="http://vimeo.com/46572581"&gt;Scrolling LED Matrix for Arduino&lt;/a&gt; from &lt;a href="http://vimeo.com/paramaggarwal"&gt;Param Aggarwal&lt;/a&gt; on &lt;a href="http://vimeo.com"&gt;Vimeo&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;So now quickly incorporate this amazing display into your project!&lt;/p&gt;

&lt;p&gt;Parts used in this tutorial:&lt;/p&gt;

&lt;ol&gt;&lt;li&gt;&lt;a href="http://www.feemo.in/product/Arduino-Uno---R3-id-28855.html"&gt;Arduino Uno&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.feemo.in/product/USB-Cable-A-to-B--for-Arduino--id-36712.html"&gt;USB Cable&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.feemo.in/product/Feemo-Matrix-Adapter-id-47758.html"&gt;Feemo Matrix Adapters&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.feemo.in/product/Jumper-Wires---Pack-of-10-id-36704.html"&gt;Jumper Wires&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;</description><link>http://www.paramaggarwal.com/post/35136388954</link><guid>http://www.paramaggarwal.com/post/35136388954</guid><pubDate>Mon, 17 Sep 2012 12:16:00 +0530</pubDate></item><item><title>Building a WiFi Twitter Display: Scrolling Tweets</title><description>&lt;p&gt;In the previous post - &lt;a href="http://www.paramaggarwal.com/post/35136243259/combining-multiple-led-matrix-modules"&gt;Combining multiple LED matrix modules&lt;/a&gt; we explored the use of three LED matrix displays to show scrolling text.&lt;/p&gt;

&lt;p&gt;But the text was pre-programmed in the code, and hence was not of much utility. By connecting the device to the internet, we can get interesting and meaningful content to display on the device. For this purpose, I connected a &lt;a href="http://www.feemo.in/product/WiFly-Shield-id-28907.html"&gt;Sparkfun WiFly Shield&lt;/a&gt; on top of the Arduino Uno.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_mai1flBjQI1qbzhpz.jpg" alt=""/&gt;&lt;/p&gt;

&lt;p&gt;This simple shield allows connectivity to the internet using WiFi. Let us first test the WiFi Shield to learn how to use it.&lt;/p&gt;

&lt;script src="https://gist.github.com/3737474.js"&gt; &lt;/script&gt;&lt;p&gt;The above code is the sample code that uses the &lt;a href="https://github.com/sparkfun/WiFly-Shield"&gt;WiFly Library&lt;/a&gt; to connect to Google&amp;#8217;s Homepage and return the raw HTML in the Arduino Terminal.&lt;/p&gt;

&lt;p&gt;Once you get it working, try fiddling with it to understand how it works.&lt;/p&gt;

&lt;p&gt;Now to read data from a Twitter account, we need to use the &lt;a href="https://dev.twitter.com/docs/api/1.1/get/statuses/user_timeline"&gt;Twitter API&lt;/a&gt;. To do this, we write a simple &lt;a href="http://en.wikipedia.org/wiki/Node.js"&gt;Node.js&lt;/a&gt; application, and host it somewhere like &lt;a href="http://en.wikipedia.org/wiki/Heroku"&gt;Heroku&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The URL we call is&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&lt;a href="http://api.twitter.com/statuses/user_timeline.json?screen_name=verge&amp;amp;count=5;&amp;amp;trim_user=1"&gt;http://api.twitter.com/statuses/user_timeline.json?screen_name=verge&amp;amp;count=5;&amp;amp;trim_user=1&lt;/a&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Here we are telling the API, to return the last five tweets of the user &lt;em&gt;@verge&lt;/em&gt; and trim extra information. The response is in &lt;a href="http://en.wikipedia.org/wiki/JSON"&gt;JSON format&lt;/a&gt;. To extract it, we need to do some string manipulation on the code.&lt;/p&gt;

&lt;p&gt;Here is the Node.js code running on Heroku: &lt;a href="https://gist.github.com/3206393"&gt;Node.js code snippet on Github&lt;/a&gt; and the result is the following: &lt;a href="http://simpletwitter.herokuapp.com"&gt;simpletwitter.herokuapp.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As you can see, we take the complex JSON response from Twitter, and parse it into a simple list of five strings. To see the real Twitter JSON response, use the command line utility &lt;a href="http://en.wikipedia.org/wiki/CURL"&gt;curl&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Now that we have a webpage that can give us text to display, we connect to this Heroku app using the WiFi Shield, and scrape out five strings. Then its really easy to just send these strings to the display like in the previous code.&lt;/p&gt;

&lt;p&gt;The combination of three LED matrix displays give us 24x8 LEDs bringing the total LED count to 192. Yes we are controlling 192 LEDs using just one Arduino!&lt;/p&gt;

&lt;p&gt;The buffer that stores this is:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;byte displayBuffer[24]= {0};
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;which is a simple buffer of size 25 bytes. Each byte is 8 bits, and each bit corresponds to one column of 8 LEDs on the displays.&lt;/p&gt;

&lt;p&gt;Here is the entire code for this setup:&lt;br/&gt;&lt;a href="https://gist.github.com/3737606"&gt;Scrolling Tweets using multiple LED matrix displays code on Github&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Finally we get this:&lt;/p&gt;

&lt;iframe src="http://player.vimeo.com/video/49606294" width="500" height="281" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen&gt;&lt;/iframe&gt;

&lt;p&gt;&lt;a href="http://vimeo.com/49606294"&gt;Building a WiFi Twitter Display: Scrolling Tweets&lt;/a&gt; from &lt;a href="http://vimeo.com/paramaggarwal"&gt;Param Aggarwal&lt;/a&gt; on &lt;a href="http://vimeo.com"&gt;Vimeo&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Finally to make the project completely wireless, we use a &lt;a href="http://www.feemo.in/product/Sparkfun-LiPower-Shield-id-28908.html"&gt;Sparkfun LiPower Shield&lt;/a&gt; and accompanying &lt;a href="http://www.feemo.in/product/Polymer-Lithium-Ion-Battery---1000mAh-id-48189.html"&gt;LiPoly battery&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Congrats on building a network connected device of the future!&lt;/p&gt;

&lt;p&gt;Parts used in this tutorial:&lt;/p&gt;

&lt;ol&gt;&lt;li&gt;&lt;a href="http://www.feemo.in/product/Arduino-Uno---R3-id-28855.html"&gt;Arduino Uno&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.feemo.in/product/USB-Cable-A-to-B--for-Arduino--id-36712.html"&gt;USB Cable&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.feemo.in/product/Feemo-Matrix-Adapter-id-47758.html"&gt;Feemo Matrix Adapters&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.feemo.in/product/Breadboard-id-36708.html"&gt;Breadboard&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.feemo.in/product/Header-Pins---Male-id-36706.html"&gt;Male Header Pins&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.feemo.in/product/Jumper-Wires---Pack-of-10-id-36704.html"&gt;Jumper Wires&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.feemo.in/product/WiFly-Shield-id-28907.html"&gt;Sparkfun WiFly Shield&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.feemo.in/product/Sparkfun-LiPower-Shield-id-28908.html"&gt;Sparkfun LiPower Shield&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.feemo.in/product/Polymer-Lithium-Ion-Battery---1000mAh-id-48189.html"&gt;LiPoly battery&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;</description><link>http://www.paramaggarwal.com/post/35136311465</link><guid>http://www.paramaggarwal.com/post/35136311465</guid><pubDate>Mon, 17 Sep 2012 10:58:00 +0530</pubDate></item><item><title>Combining multiple LED matrix modules</title><description>&lt;p&gt;This post uses a few &lt;a href="http://www.feemo.in/product/Feemo-Matrix-Adapter-id-47758.html"&gt;LED Matrix Modules&lt;/a&gt;, that allow you to easily connect &lt;a href="http://www.feemo.in/product/RGB-LED-Matrix---8x8-Red--Common-Cathode--id-47751.html"&gt;8x8 LED Matrix displays&lt;/a&gt; to your Arduino.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_mahtbxcqsH1qbzhpz.jpg" alt=""/&gt;&lt;/p&gt;

&lt;p&gt;In a &lt;a href="http://www.paramaggarwal.com/post/35136388954/using-an-led-matrix-module"&gt;previous post&lt;/a&gt;, you saw how easy it is to connect one of these to an Arduino and draw to the Matrix from a buffer.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_mahtdg5Tcl1qbzhpz.jpg" alt=""/&gt;&lt;/p&gt;

&lt;p&gt;Now in this post we will take things further, and use &lt;em&gt;three&lt;/em&gt; LED matrices to form a long display of 24x8 which is great for displaying scrolling text.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_mahtf7LZNI1qbzhpz.jpg" alt=""/&gt;&lt;/p&gt;

&lt;p&gt;Now each adapter has six pins. The first two are VCC (5V) and GND. Next come the CLK, DATA, LATCH and ENABLE pins. To connect three of these together, we can connect all the pins together into one pin on the Arduino except the DATA pin.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_mahtgg8nxm1qbzhpz.jpg" alt=""/&gt;&lt;/p&gt;

&lt;p&gt;I used a &lt;a href="http://www.feemo.in/product/Breadboard-id-36708.html"&gt;breadboard&lt;/a&gt; with some &lt;a href="http://www.feemo.in/product/Header-Pins---Male-id-36706.html"&gt;male header pins&lt;/a&gt; to do this. Also, &lt;a href="http://www.feemo.in/product/Jumper-Wires---Pack-of-10-id-36704.html"&gt;jumper wires&lt;/a&gt; work great for quickly making connections.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_mahthc0x6n1qbzhpz.jpg" alt=""/&gt;&lt;/p&gt;

&lt;p&gt;Next, the common VCC line is connected to 5V on the Arduino, and the ENABLE and GND lines to GND pins on the Arduino.&lt;/p&gt;

&lt;p&gt;The ENABLE line is active low, hence to enable the displays, we need to give a low of 0V on this line.&lt;/p&gt;

&lt;p&gt;The CLK line is connected on pin 12, latch on pin 11 and the three data pins from the three displays to pin 7, 6 and 5.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_mahti6i3nv1qbzhpz.jpg" alt=""/&gt;&lt;/p&gt;

&lt;p&gt;Thats it, the connections are done. It&amp;#8217;s that easy. Now to proceed to the Arduino code.&lt;/p&gt;

&lt;p&gt;First we will start with just displaying the buffer on the 24x8 screen. The below code should work easily, if all the connections are correct.&lt;/p&gt;

&lt;script src="https://gist.github.com/3736871.js"&gt; &lt;/script&gt;&lt;p&gt;Basically we initialise a 24 byte matrix with each byte corresponding to a column on the display. Then we multiplex through the columns to display the entire buffer on the displays.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_mahtlxd9BG1qbzhpz.jpg" alt=""/&gt;&lt;/p&gt;

&lt;p&gt;If you got it working, then congrats! We can quickly move to displaying text on the display now!&lt;/p&gt;

&lt;p&gt;Have a look at this code, and try running it to get scrolling text on the displays! &lt;a href="https://gist.github.com/3736908"&gt;Code for Scrolling Text&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_mahtoa6eXT1qbzhpz.jpg" alt=""/&gt;&lt;/p&gt;

&lt;p&gt;This is how the scrolling text looks like!&lt;/p&gt;

&lt;p&gt;Parts used in this tutorial:&lt;/p&gt;

&lt;ol&gt;&lt;li&gt;&lt;a href="http://www.feemo.in/product/Arduino-Uno---R3-id-28855.html"&gt;Arduino Uno&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.feemo.in/product/USB-Cable-A-to-B--for-Arduino--id-36712.html"&gt;USB Cable&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.feemo.in/product/Feemo-Matrix-Adapter-id-47758.html"&gt;Feemo Matrix Adapters&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.feemo.in/product/Breadboard-id-36708.html"&gt;Breadboard&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.feemo.in/product/Header-Pins---Male-id-36706.html"&gt;Male Header Pins&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.feemo.in/product/Jumper-Wires---Pack-of-10-id-36704.html"&gt;Jumper Wires&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;</description><link>http://www.paramaggarwal.com/post/35136243259</link><guid>http://www.paramaggarwal.com/post/35136243259</guid><pubDate>Mon, 17 Sep 2012 08:07:00 +0530</pubDate></item><item><title>Jeff Bezos: A Review.</title><description>&lt;p&gt;Amazon launched the new line of Kindle reading devices and Kindle Fire tablets yesterday. It was a great &lt;a href="https://www.youtube.com/watch?v=VYi1jZXz9Kg"&gt;unveiling&lt;/a&gt;: product demos, ship dates and unbelievable pricing. Gruber is &lt;a href="http://daringfireball.net/linked/2012/09/06/amazon-event"&gt;impressed&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Though much has improved with the devices, I think we are seeing a bigger change with Jeff Bezos and his company: Amazon. When I saw him on stage, he seemed more mature, more intense that I have ever seen him before. Fighting to build a great service and leave behind a lasting company.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_m9ywu98AHz1qbzhpz.jpg" alt=""/&gt;&lt;img src="http://media.tumblr.com/tumblr_m9yw7sBASk1qbzhpz.jpg" alt=""/&gt;&lt;/p&gt;

&lt;p&gt;The keynote reminded me of someone else: Steve Jobs and his company: Apple. He has been a great inspiration to every builder and hacker of this generation; dreaming to put a dent in the universe as he would call it.&lt;/p&gt;

&lt;p&gt;At first notice, it looks like a blatant rip-off of his style. Telling a story about the product. Making the case for the device. The clean and simple stage with a black background. Inspiring product videos. Even talking about where a product fits in with their strategy.&lt;/p&gt;

&lt;p&gt;But looking deeper, it is an acknowledgement. True inspiration. Each and every aspect of the Amazon Kindle keynote was a tribute to Steve Jobs and his presentation style.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_m9yw6bC4dn1qbzhpz.jpg" alt=""/&gt;&lt;/p&gt;

&lt;p&gt;Pointing out the tiny details about the device, that might go unnoticed. Making it clear how much love has been poured into the device. Building up the hype over what the product can do and then dramatically unveiling the low price. Emphasing the values of the company towards the end. It all goes down to say one thing, Jeff bezos wants to build his own legacy.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_m9yxaijoGd1qbzhpz.jpg" alt=""/&gt;&lt;img src="http://media.tumblr.com/tumblr_m9yw75rFvZ1qbzhpz.jpg" alt=""/&gt;&lt;/p&gt;

&lt;p&gt;This is a man who has been inspired so deeply, that it shows. Steve took Apple from two guys in his parents garage, to the most valuable company on the planet. I think Bezos is thinking no smaller.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_m9yxa1r4Cl1qbzhpz.jpg" alt=""/&gt;&lt;img src="http://media.tumblr.com/tumblr_m9yw5jOO5s1qbzhpz.jpg" alt=""/&gt;&lt;/p&gt;

&lt;p&gt;Kudos to Jeff for the amazing company he is building with Amazon.&lt;br/&gt;
Kudos to Steve for inspiring an entire generation.&lt;/p&gt;</description><link>http://www.paramaggarwal.com/post/31047079985</link><guid>http://www.paramaggarwal.com/post/31047079985</guid><pubDate>Fri, 07 Sep 2012 12:44:00 +0530</pubDate></item><item><title>Taste</title><description>&lt;p&gt;Taste is preference. A like and dislike.&lt;/p&gt;

&lt;p&gt;Taste is crucial. It defines you.&lt;/p&gt;

&lt;p&gt;Love some things, hate others.&lt;/p&gt;

&lt;p&gt;It is about having opinions. Strong beliefs that you fight for. To take a stand.&lt;/p&gt;

&lt;p&gt;Go ahead. Like and dislike. Ignore others, their tastes are different.&lt;/p&gt;

&lt;p&gt;People without taste are boring. They are ok with everything. They are character-less. They just live along trying to please everybody. What defines them?&lt;/p&gt;

&lt;p&gt;Express your opinion. Stick with it. Be tasteful.&lt;/p&gt;</description><link>http://www.paramaggarwal.com/post/30931101284</link><guid>http://www.paramaggarwal.com/post/30931101284</guid><pubDate>Wed, 05 Sep 2012 18:31:24 +0530</pubDate></item><item><title>Selling Shampoo Online is Hard</title><description>&lt;p&gt;Currently there are two ways of buying shampoo and other daily-use products:&lt;/p&gt;

&lt;ol&gt;&lt;li&gt;&lt;p&gt;Walk up to your local general store and name the product you wish to buy. He will go in and get it for you. You see it and immediately know it is what you want.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Drive to a large shopping centre and walk around with your cart. Whenever you visually recognise something you want, just drop it into your shopping cart.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Now, we have to agree that the first method is less convenient and the second method is more convenient in terms of thinking of a product and letting the world know you wish to buy it. Unfortunately today, online buying is at one end of this spectrum; the less convenient end.&lt;/p&gt;

&lt;p&gt;It is far worse than your local store, because instead of just speaking the name of the product you have to type it in correctly into a search box, then skim through the options that come up. Also, this is not a visual process because of the tiny thumbnails.&lt;/p&gt;

&lt;p&gt;Recently I had to buy a shampoo, and I opened up &lt;a href="http://flipkart.com"&gt;Flipkart&lt;/a&gt; to buy it. I typed in the name, and got the wrong spelling. I tried again and got a list of search results. Now came the hard part, I had to decide whether I wanted the 400ml one or 200ml one. In a shop, I would glance at the size of the package and pick one easily. Here, the images showed the respective packages at the same size.&lt;/p&gt;

&lt;p&gt;Once I added that to my virtual shopping cart, I proceeded to add shaving accessories. Soon, I gave up. Next time I was in a shopping centre, I spotted it and remembered I had to get one. I swiftly dropped two of them into the shopping cart.&lt;/p&gt;

&lt;p&gt;That is a win for the old way of doing things. Definitely something is wrong.&lt;/p&gt;

&lt;p&gt;Guess what, the online store has something that the physical store doesn&amp;#8217;t. It knows who I am and my purchase history just as I have entered the store (opened to website). Shampoo is something we need to buy every month, and most likely it is the same as the one bought last month.&lt;/p&gt;

&lt;p&gt;It would be so much better if after purchasing a product online I could add it to a list, a monthly shopping list. Slowly, it would contain the items I &lt;em&gt;always&lt;/em&gt; buy at the mall every month.&lt;/p&gt;

&lt;p&gt;Now suddenly the act of buying these items has fallen on the easier side of the above spectrum. It&amp;#8217;s super convenient. Every month, I go online, click buy all on my monthly shopping list, and add or remove a few items, if needed. A monthly purchase of a thousand rupees from Flipkart. That is enough incentive for a such a system to be in place.&lt;/p&gt;

&lt;p&gt;A concept that fell on the difficult end of the shopping experience has now been switched over to the easier side. A win for the new way of doing things - buying online.&lt;/p&gt;

&lt;p&gt;And one more thing. I no longer need to lug those heavy and huge shopping bags home from the mall!&lt;/p&gt;</description><link>http://www.paramaggarwal.com/post/30721842337</link><guid>http://www.paramaggarwal.com/post/30721842337</guid><pubDate>Sun, 02 Sep 2012 18:23:31 +0530</pubDate></item><item><title>Open Letter to Flipkart - Doing eBooks Better Than Amazon</title><description>&lt;p&gt;Amazon&amp;#8217;s &lt;a href="http://www.theverge.com/2012/8/22/3259770/amazon-kindle-india-ebook-release"&gt;recent&lt;/a&gt; venture in India, was entering the market with Kindle eBooks. This is it&amp;#8217;s &lt;em&gt;only&lt;/em&gt; presence in India. On the other hand &lt;a href="http://flipkart.com"&gt;Flipkart&lt;/a&gt;, a sort-of Amazon clone for India is catering to the needs of Indian citizens each and every day. They sell physical books, movies, televisions, ovens, shampoos and the quintessential baby diapers.&lt;/p&gt;

&lt;p&gt;If, and ever, Flipkart decides to launch something similar to the Kindle, I would like to offer my two cents on how it could be done differently.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Act I:&lt;/strong&gt;&lt;br/&gt;
It isn&amp;#8217;t better.&lt;/p&gt;

&lt;p&gt;Ebooks cost in the range of Rs 400 to 500 for the books I was interested in buying. Paperback versions in India cost the same. I have been inclined towards the paperback as it offers me far more value. There is no improvement to my experience that might make me switch my method of reading.&lt;/p&gt;

&lt;p&gt;Some promotional items are available at Rs 100, but that is like using a special coupon, and is not the state of their entire offering. On the other hand, paperbacks are DRM free and I like to pass on books I read to my friends.&lt;/p&gt;

&lt;p&gt;To get me to switch, I should either get something cheaper, or it should offer me more value for the same price.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Act II:&lt;/strong&gt;&lt;br/&gt;
Making it better.&lt;/p&gt;

&lt;p&gt;Ebooks are digital, they can be with me everywhere. Books that would have no luck getting printed, can make a shot with digital publishing. Also, ebooks have the potential to be part of the &amp;#8216;social graph&amp;#8217;.&lt;/p&gt;

&lt;p&gt;I would like to offer my suggestions for the same.&lt;/p&gt;

&lt;ol&gt;&lt;li&gt;&lt;p&gt;Cut a deal to be able to sell ebooks cheaper than their Indian paperback counterparts, for the promise of higher volume of sales. (I was pleasantly surprised by the Rs. 15 pricing that Flipkart brought to the Indian market for songs. Its the right mark.)
Market them right along the paperback counterparts with the percentage savings in bold.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Offer sharing unheard of in the paperback world.
Let me select a block of text and share it to my favourite social networks, with a link back to purchasing the book. Also, let me gift copies to my friends easily, like Apple&amp;#8217;s app gifting works. Just a text box with emails comma-separated to gift to. Also sync read position between devices.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Become the publisher.
What I suggest here is pretty much Amazon Singles. But they haven&amp;#8217;t thought big enough. This is India! Let people self publish books in any language for under Rs. 100. Keep 30%, and let them keep the rights. The quantity of content relevant to India that Flipkart would have would out rival anything Amazon can ever dream. Next, ebooks that sell well, can then be printed for guaranteed sales. Flipkart&amp;#8217;s USP.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;After all Flipkart is an Indian company, and Amazon is not.
The post independence sentiment still lives.&lt;/p&gt;</description><link>http://www.paramaggarwal.com/post/30580914562</link><guid>http://www.paramaggarwal.com/post/30580914562</guid><pubDate>Fri, 31 Aug 2012 16:52:00 +0530</pubDate></item></channel></rss>
