<?xml version="1.0" encoding="utf-8"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
	<title>Bits &amp; Pieces</title>
	<link>http://prateekrungta.com/bitsnpieces</link>
	<atom:link href="http://prateekrungta.com/bitsnpieces/feed.xml" rel="self" type="application/rss+xml" />
	<description>Written and Coded projects by Prateek Rungta</description>
	<language>en-us</language>
	<copyright>Copyright 2008-11 Prateek Rungta</copyright>
<item>
	<title>Complaining</title>
	<link>http://prateekrungta.com/bitsnpieces/complaining-is-silly/info</link>
	<guid isPermaLink="false">prateekrungta.com/bitsnpieces,13</guid>
	<dc:creator>Prateek Rungta</dc:creator>
	<pubDate>Sat, 22 Oct 2011 06:39:44 -0500</pubDate>
	<description>
	<![CDATA[
<p>Some call it grumbling, some perfectionism. Either way,
there&#8217;s not much point unless it amounts to something.</p>

<p>Complaining is silly. Hence this big bold reminder:</p>

<p><a href="http://complainingissilly.com/"><img class="right six solo" alt="Act or Forget" src="http://prateekrungta.com/bnp/complaining-is-silly/act_or_forget.png" width="665" height="488"></a></p>

<p>As a tribute to one of my favourite quotes:</p>

<blockquote>
  <p>Complaining is silly. Either act or forget.</p>
</blockquote>

<p>Heard first at <a href="http://en.wikipedia.org/wiki/Stefan_Sagmeister">Stefan Sagmeister</a>&#8217;s <a href="http://www.ted.com/talks/stefan_sagmeister_on_what_he_has_learned.html"><abbr title="Technology Entertainment and Design">TED</abbr> talk</a>, which itself is an excerpt from his beautifully designed <a href="http://thingsihavelearnedinmylife.com/"><em>Things I have learned in my life so far</em></a> book.</p>

<hr>

<p>The one page <a href="http://complainingissilly.com/">complainingissilly.com</a> has actually been out for quite sometime now. I&#8217;m just a few years late in
documenting it here.</p>

<p>This project was a nice opportunity to experiment with (what were then cutting edge) <abbr>CSS</abbr> properties
such as <code>@font-face</code> and <abbr>CSS</abbr> gradients. &#8216;Act&#8217; is set in <a href="http://www.theleagueofmoveabletype.com/">The League of Movable Type</a>’s
freely available <a href="http://www.theleagueofmoveabletype.com/fonts/7-league-gothic">League Gothic</a> font, whereas that little play button on the bottom
right corner activates a fun lava lamp like animation on the entire page.</p>

<p>Also included are desktop and smartphone wallpapers for those of you that would rather not forget.</p>

<p><a href="http://prateekrungta.com/bitsnpieces/complaining-is-silly/info" title="Permalink for the project's info page">&#8734;</a></p>
	]]>
	</description>
</item>
<item>
	<title>Instagraphy</title>
	<link>http://prateekrungta.com/bitsnpieces/instagraphy/info</link>
	<guid isPermaLink="false">prateekrungta.com/bitsnpieces,12</guid>
	<dc:creator>Prateek Rungta</dc:creator>
	<pubDate>Tue, 19 Apr 2011 14:53:55 -0500</pubDate>
	<description>
	<![CDATA[
<p>It was sometime mid-2010 I think. Photos with <a href="http://instagr.am/">instagr.am</a> links
started popping up all over <a href="http://twitter.com/rungta">my twitter</a> timeline. I was intrigued.
Another app that lets you take photos and share them with your friends.
How different can it really be?</p>

<p>Significant enough to completely change the perception of cellphone photography, as it turns out.</p>

<p>My iPhone has turned from a lowly 3.2 megapixel camera with an only-use-when-all-else-fails
warning to an indispensable tool for documenting day-to-day life, even in situations when I might
have an SLR at my disposal.</p>

<p><a href="http://tuhinkumar.com/journal/instagram-2/" title="Tuhin Kumar: Instagram &amp; Instagraphy">Others</a> <a href="http://farukat.es/journal/2010/10/482-addictive-allure-of-instagram" title="Faruk Ateş: The Addictive Allure of Instagram">have</a> <a href="http://cameronmoll.tumblr.com/post/1432703894/instagram-flickrs-likely-successor" title="Cameron Moll: Instagram, Flickr’s Likely Successor">written</a> about what makes Instagram so wonderful, so I
won&#8217;t repeat that here. Instead, I want to share some results.</p>

<p><a href="http://prateekrungta.com/bitsnpieces/instagraphy" title="Instagraphy vol.1, by Prateek Rungta"><img class="right solo" style="margin-bottom:2em" alt="Instagraphy" src="http://prateekrungta.com/bnp/instagraphy/instagraphy.png"></a></p>

<p>I started using Instagram in October 2010. Collected here are a few favourites from the 100 or so
photos I&#8217;ve posted in the 6 months since.</p>

<p>Do <a href="http://prateekrungta.com/bitsnpieces/instagraphy" title="Instagraphy vol.1, by Prateek Rungta">take a look</a>.</p>

<hr>

<p>Instagram wouldn&#8217;t be half as interesting without the people that form it&#8217;s community.
It is a social network after all. The best photos in <a href="http://inkstagram.com/#/users/11485/following">my feed</a> usually come from <a href="http://inkstagram.com/#/users/247987/photos">@rashmi</a>, <a href="http://inkstagram.com/#/users/21563/photos">@rands</a>,
<a href="http://inkstagram.com/#/users/182556/photos">@rksh</a>, <a href="http://inkstagram.com/#/users/1484/photos">@gruber</a>, <a href="http://inkstagram.com/#/users/1097/photos">@cameronmoll</a> and <a href="http://inkstagram.com/#/users/88/photos">@simplebits</a>.
Go follow them if you&#8217;re on Instagram.</p>

<p><a href="http://prateekrungta.com/bitsnpieces/instagraphy/info" title="Permalink for the project's info page">&#8734;</a></p>
	]]>
	</description>
</item>
<item>
	<title>Not so Yellow</title>
	<link>http://prateekrungta.com/bitsnpieces/not-so-yellow/info</link>
	<guid isPermaLink="false">prateekrungta.com/bitsnpieces,11</guid>
	<dc:creator>Prateek Rungta</dc:creator>
	<pubDate>Thu, 10 Jun 2010 12:04:16 -0500</pubDate>
	<description>
	<![CDATA[
<p><a href="http://twitter.com">Twitter</a> is great. Definitely <a href="http://twitter.com/rungta" title="My Twitter stream">my</a> <a href="http://flickr.com/photos/rungta" title="My Flickr stream">kind</a> of social network.</p>

<p>As good as it is, the current web interface does not make it easy to browse historical data.
Anything older than the latest 100 or so tweets requires a lot of clicking and manual scanning.
Their search too, understandably, only covers updates spanning back  a week or so.
Anyone who&#8217;s tried to revisit their tweets from an year or a couple of months back has surely felt the pain.</p>

<p>There had to be a better interface for browsing tweets.
What surprised me, though, was that no one had created such a service for the nostalgic folk on Twitter.
I did come across a few custom solutions:
<a href="http://stopdesign.com/" title="stopdesign">Doug Bowman</a> (the design lead at Twitter) for instance, set up a WordPress <a href="http://stopdesign.com/tweets/" title="Tweets by @stop">archive</a>;
<a href="http://pongsocket.com/" title="Andy Graulund">Andy Graulund</a> built a <a href="http://pongsocket.com/tweets/" title="Tweets by @graulund">custom <abbr title="Linux Apache MySQL PHP">LAMP</abbr> app</a>.</p>

<p>The idea of my own Twitter archive appealed to me,
didn&#8217;t sound like a massive amount of work,
and out came <a href="http://notsoyellow.prateekrungta.com/">Not so Yellow</a>.</p>

<p><a href="http://notsoyellow.prateekrungta.com/"><img class="left solo seven" alt="Not so Yellow homepage" src="http://prateekrungta.com/bnp/not-so-yellow/nsy_home.png"></a></p>

<h4>Design</h4>

<p>This project was the result of my grievance with browsing old tweets.
Before anything else, it had to have a super easy interface for getting to tweets from any specific month or year.</p>

<p>I toyed with several ideas:
listing all the years and months upfront;
as drop&#8211;down menus / expandable lists;
months from the current year upfront, with the full list on a separate page or down below;
and, side by side.</p>

<p><a href="http://notsoyellow.prateekrungta.com/rungta/2010/04"><img class="left solo seven" alt="Not so Yellow screenshot of tweets in the centre flanked by archive links on both sides" src="http://prateekrungta.com/bnp/not-so-yellow/nsy_month.png"></a></p>

<p>As you can see above, I ended up adapting the side-by-side option.
This design keeps the content (tweets) centrefold and topmost in the the visual hierarchy,
and the year and month links as second-class citizens.
Yet these navigational links are persistent and always available as soon as they&#8217;re needed.</p>

<h5><del>Short</del> <ins>Abused</ins> <abbr title="Uniform Resource Locators">URLs</abbr></h5>

<p><abbr title="Uniform Resource Locators">URLs</abbr> are important. <abbr title="Uniform Resource Locators">URLs</abbr> are part of a <a href="http://daringfireball.net/2007/03/blank_slate" title="Daring Fireball: Blank State (jump to 'Yes, even URLs are designed')">site&#8217;s design</a>. Cool <abbr title="Uniform Resource Locators">URLs</abbr> <a href="http://www.w3.org/Provider/Style/URI" title="Hypertext Style: Cool URIs don't change.">don&#8217;t change</a>.
An unfortunate consequence of Twitter&#8217;s awesome 140 character limit has been the blown-out-of-context
<a href="http://en.wikipedia.org/wiki/URL_shortening" title="Wikipedia: URL Shortening"><abbr title="Uniform Resource Locator">URL</abbr> shortening</a> craze. While these shorter links definitely do a great job of conserving precious
tweet characters, they are usually less readable, obfuscate useful information and &#8212; as was dutifully
demonstrated by <a href="http://tr.im/">tr.im</a> &#8212; provide little guarantee against <em>massive</em> <a href="http://en.wikipedia.org/wiki/Linkrot" title="Wikipedia: Linkrot">link rot</a>.
They should, in my opinion, be used sparingly, only when absolutely necessary.</p>

<p>Well, here was a chance to do something about the shortened <abbr title="Uniform Resource Locators">URLs</abbr> under my control. And something I did.
It wasn&#8217;t as straightforward as I hoped though.</p>

<p>My initial plan was to simply follow and look for redirects for all incoming <abbr title="Uniform Resource Locators">URLs</abbr>, and replace the tweeted
link with the address of the final destination. Turns out:</p>

<ul>
<li><p>Some tweets use <abbr title="Uniform Resource Locators">URLs</abbr> for more than providing a link. Altering them can effect how well the tweet reads.</p></li>
<li><p>Some redirects are temporary (in not just the <abbr title="Hypertext Transfer Protocol">HTTP</abbr> response code).</p></li>
<li><p>Some <abbr title="Uniform Resource Locators">URLs</abbr> change and lose their original meaning.</p>

<p class="aside right five"><a href="http://rungta.muxtape.com">http://rungta.muxtape.com</a> redirects to <br><a href="http://muxtape.com">http://muxtape.com</a>. <br> Sad but true.</p></li>
<li><p>Some uncool <abbr title="Uniform Resource Locators">URLs</abbr> redirect to <em><a href="http://googlewebmastercentral.blogspot.com/2008/08/farewell-to-soft-404s.html" title="Official Google Webmaster Central Blog: Farewell to soft 404s">soft 404</a></em> pages.</p>

<p class="aside right five"><a href="http://tinyurl.com/6xqx42">http://tinyurl.com/6xqx42</a> expands to <br>
<a href="http://www.ibnlive.com/olympicsnews/abhinav-bindra-wins-olympic-gold/70827-29.html">http://www.ibnlive.com/olympicsnews/abhinav-bindra-wins-olympic-gold/70827-29.html</a> <br>
which, instead of pointing to the <em>correct</em> new location <br> (<a href="http://ibnlive.in.com/news/abhinav-bindra-wins-olympic-gold/70827-29.html">http://ibnlive.in.com/news/abhinav-bindra-wins-olympic-gold/70827-29.html</a>)<br>
redirects to <a href="http://ibnlive.in.com/missing.html">http://ibnlive.in.com/missing.html</a>.</p></li>
<li><p><abbr title="Uniform Resource Locators">URLs</abbr> can become <em>really</em> long and unreadable.</p>

<p class="aside right five"><a href="http://youtube.com/watch?v=lCrJRgzTBCE">http://youtube.com/watch?v=lCrJRgzTBCE</a> redirects to <br>
<a href="http://www.youtube.com/index?ytsession=ODBr9ZffIdpph2UHiTlWOwoUUUHyBDlIvBvoQs5JS4jkKj40n5WuEgv-NU6hwEcaBCT-Oz8cA0VOZtxWTlaV5WzhWef8KsewHvt_CvZEfG6P5HsgM0c1E3UZvMIJNAUbZs0i2XnAsLn6THeHgqh3tEL_7RwbprFc4F-iGlRiFKdjAI2ObVjg1eE2h3rjf3zobuvf_6gUB56w16y-3IIzMsIBMQwRhVmXC3fXUVgxMuIpfbNjYtwymuiT9uh0LUjxv0eALEZtdp2oDA-1-XvKEDRj5MMMfSfPt1EZ8K-uccYWNI6pWML8SpXG3pFTZebqq97SGhWVemzur-NiUlels1BHBeLBjhJ-9WNTCFDPCIJNh1G0RrXvyYQ8zhLhgygYDYUshxYPy_4">http://www.youtube.com/index?ytsession=ODBr9ZffIdpph2UHiTlWOwoUUUHyBDlIvBvoQs5JS4jkKj40n5WuEgv-NU6hwEcaBCT-Oz8cA0VOZtxWTlaV5WzhWef8KsewHvt_CvZEfG6P5HsgM0c1E3UZvMIJNAUbZs0i2XnAsLn6THeHgqh3tEL_7RwbprFc4F-iGlRiFKdjAI2ObVjg1eE2h3rjf3zobuvf_6gUB56w16y-3IIzMsIBMQwRhVmXC3fXUVgxMuIpfbNjYtwymuiT9uh0LUjxv0eALEZtdp2oDA-1-XvKEDRj5MMMfSfPt1EZ8K-uccYWNI6pWML8SpXG3pFTZebqq97SGhWVemzur-NiUlels1BHBeLBjhJ-9WNTCFDPCIJNh1G0RrXvyYQ8zhLhgygYDYUshxYPy_4</a><br>
(this example <a href="http://www.f1fanatic.co.uk/2007/06/11/fom-makes-youtube-remove-kubica-crash-videos/" title="FOM makes Youtube remove Kubica crash videos">courtesy</a> <a href="http://www.f1fanatic.co.uk/2007/06/15/fom-now-bans-amateur-footage-of-kubica-crash/" title="Now FOM bans amateur video of Kubica crash">of</a> <a href="http://www.f1fanatic.co.uk/2009/04/27/f1-fan-beats-fom-over-right-to-upload-video-from-grand-prix-weekends/" title="F1 fan beats FOM over right to upload video from Grand Prix weekends">Bernie</a> <a href="http://www.f1fanatic.co.uk/2010/01/20/youtube-starts-broadcasting-live-sport-but-will-f1-ever-get-on-board/" title="YouTube starts broadcasting live sport, but will F1 ever get on board?">Ecclestone</a>).</p></li>
</ul>

<p>So, I scratched my <abbr title="Uniform Resource Locator">URL</abbr> replacement plan and decided to provide inline expansion, similar to the &#8216;(expand)&#8217; short <abbr title="Uniform Resource Locator">URL</abbr> suffix on <a href="http://summize.com">Summize</a> (now <a href="http://search.twitter.com">search.twitter.com</a>). Expanded <abbr title="Uniform Resource Locators">URLs</abbr>, when applicable, are added to the tweets as [+] links.</p>

<p><a href="http://twitter.com/ohnoir/status/14752264924" title="Twitter.com / Oh Noir"><img class="four" alt="Screenshot of expanded URLs on mouseover" src="http://prateekrungta.com/bnp/not-so-yellow/longurl.png"></a></p>

<p class="aside two right">Tooltip via the <a href="http://www.w3.org/TR/CSS2/generate.html#content" title="CSS 2.1: The 'content' property">generated <abbr>CSS</abbr></a>  <code>content:attr(href)</code> property.<br>No JavaScript.</p>

<p>The fully expanded link addresses are displayed as tooltips when the mouse moves over [+]. Thus, a user has the option to simply click the original short <abbr title="Uniform Resource Locator">URL</abbr> or preview and directly click through to the final destination.</p>

<h4>Should, Could, Would</h4>

<dl>
<dt>Should</dt>
<dd>
<p>Search, obviously.</p>
</dd>

<dt>Could</dt>
<dd>
<p>As <a href="http://rakeshrachamalla.com/" title="Rakesh Rachamalla">Rakesh</a> graciously <a href="http://twitter.com/rakeshrach/status/13405060417">pointed</a> out, this could be opened to support any user, and do for Twitter what <a href="http://justinouellette.com/" title="Justin Ouellette">Justin Ouellette&#8217;s</a> <a href="http://ihardlyknowher.com/" title="I Hardly Know Her">ihardlyknowher</a> does for Flickr. Not so Yellow does archive tweets from multiple accounts (and can support a few more), but it wasn&#8217;t built as a public service.</p>
</dd>

<dt>Would</dt>
<dd>
<p>Perhaps at a time when I haven&#8217;t got 4 other projects stretching me thin.</p>
</dd>
</dl>

<p>For now, if you&#8217;re interested in archiving and/or browsing through your own tweets, take a look at Doug Bowman&#8217;s <a href="http://stopdesign.com/archive/2010/03/02/browsable-searchable-archive-of-tweets.html" title="A browsable, searchable archive of tweets | stopdesign">instructions</a> <a href="http://stopdesign.com/archive/2010/04/30/tweet-archive-theme-files.html" title="Theme files for my WP tweet archive | stopdesign">for WordPress</a>. Alternatively, download and install Andy Graulund&#8217;s well designed, fully featured, open source <abbr title="Linux Apache MySQL PHP">LAMP</abbr> project <a href="http://pongsocket.com/tweetnest/" title="Tweet Nest // pongsocket.com">Tweet Nest</a>. <span class="imhi">Or ask me nicely.</span></p>

<h4>Credits</h4>

<ul>
<li>Body text typeset in <a href="http://www.linuxlibertine.org/" title="Libertine Open Fonts Project">Linux Libertine</a> (<a href="http://www.gnu.org/licenses/gpl.html"><abbr title="GNU General Public License">GPL</abbr></a>) and embedded using
Font Squirrel&#8217;s excellent <a href="http://www.fontsquirrel.com/fontface/generator" title="Font Squirrel | Create Your Own @font-face Kits">@font-face Kit Generator</a>.</li>
<li><a href="http://twitter.com/rashmiswamy" title="Rashmi on Twitter">Rashmi Swamy</a> for <a href="http://prateekrungta.com/photoblog/2007/03/australian_grand_prix_2007#comment-883" title="Rashmi's comment on Rungta's Photoblog: Australian Grand Prix 2007">coining</a> &#8220;not so yellow&#8221;.</li>
<li><a href="http://philsturgeon.co.uk/">Phil Sturgeon</a> for the <a href="http://codeigniter.com/wiki/Curl_library/">CodeIgniter cURL library</a>.</li>
<li><a href="http://rakeshrachamalla.com/" title="Rakesh Rachamalla">Rakesh Rachamalla</a> and <a href="http://twitter.com/rashmiswamy" title="Rashmi on Twitter">Rashmi Swamy</a> for feedback, help with testing, and their tweets. </li>
</ul>

<p><a href="http://prateekrungta.com/bitsnpieces/not-so-yellow/info" title="Permalink for the project's info page">&#8734;</a></p>
	]]>
	</description>
</item>
<item>
	<title>CodeIgniter Libraries</title>
	<link>http://prateekrungta.com/bitsnpieces/codeigniter-libraries/info</link>
	<guid isPermaLink="false">prateekrungta.com/bitsnpieces,10</guid>
	<dc:creator>Prateek Rungta</dc:creator>
	<pubDate>Sat, 13 Mar 2010 03:31:45 -0600</pubDate>
	<description>
	<![CDATA[
<p><a href="http://codeigniter.com/" title="CodeIgniter - Open source PHP web application framework">CodeIgniter</a> is a great lightweight <abbr title="Hypertext Preprocessor">PHP</abbr> framework for building <a href="http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller" title="Model–view–controller - Wikipedia"><abbr title="Model-View-Controller">MVC</abbr></a> based web applications. It&#8217;s what powers most of my online endeavours, including this site. CodeIgniter prioritises simplicity by providing just the essentials and avoiding bloat. What it lacks in <em>features</em> though, it makes up in extensibility (as any good framework should).</p>

<p>I&#8217;ve made ample use of this extensibility to add functionality I found myself using in multiple places. I&#8217;m sharing a few of these extensions here in the hope that others might find it useful.</p>

<ul>
<li><a href="http://prateekrungta.com/bitsnpieces/codeigniter-libraries#output">Output</a> (extends native)</li>
<li><a href="http://prateekrungta.com/bitsnpieces/codeigniter-libraries#encrypt">Encrypt</a> (extends native)</li>
<li><a href="http://prateekrungta.com/bitsnpieces/codeigniter-libraries#css">Css</a></li>
</ul>

<p>They&#8217;re all being used under production, with the latest version of CodeIgniter and <abbr title="Hypertext Preprocessor">PHP</abbr> 5, so they&#8217;re hopefully bug-free.</p>

<p><a href="http://prateekrungta.com/bitsnpieces/codeigniter-libraries/info" title="Permalink for the project's info page">&#8734;</a></p>
	]]>
	</description>
</item>
<item>
	<title>Vector Art: Lakshmi</title>
	<link>http://prateekrungta.com/bitsnpieces/laxmi-vector/info</link>
	<guid isPermaLink="false">prateekrungta.com/bitsnpieces,9</guid>
	<dc:creator>Prateek Rungta</dc:creator>
	<pubDate>Wed, 11 Nov 2009 10:00:50 -0600</pubDate>
	<description>
	<![CDATA[
<p>Given the popularity of <a href="http://en.wikipedia.org/wiki/Lakshmi" title="Lakshmi - Wikipedia, the free encyclopedia">Goddess Lakshmi</a> and the fortune associated with her grace,
I was a little surprised at the dearth of vector illustrations of our Hindu deity
on the internet.</p>

<p>I needed a simple silhouette of the goddess for a design project commissioned by Dad,
and had to resort to tracing one myself. I&#8217;m releasing that work here for free use
under the <a href="http://creativecommons.org/licenses/by/3.0/" title="Creative Commons -- Attribution 3.0 Unported">Creative Commons Attribution</a> license in an attempt to fill that
internet void.</p>

<ul>
<li><a href="http://prateekrungta.com/bnp/laxmi-vector/lakshmi.pdf">Download PDF</a></li>
</ul>

<p>I&#8217;ve only just started playing around with vector graphics (courtesy of the simple
and easy <a href="http://www.tweakersoft.com/vectordesigner/" title="VectorDesigner - Mac OS X App">VectorDesigner</a> app), so while you won&#8217;t find a professional&#8217;s polish
or attention to detail, it should suffice as a useful starting point.</p>

<p><a href="http://prateekrungta.com/bitsnpieces/laxmi-vector/info" title="Permalink for the project's info page">&#8734;</a></p>
	]]>
	</description>
</item>
</channel>
</rss>
