tag:blogger.com,1999:blog-197187402024-03-14T08:07:40.746+05:30apnerveMy musings on Web, Technology, Music and Life.Anonymoushttp://www.blogger.com/profile/01998143407137321508noreply@blogger.comBlogger82125tag:blogger.com,1999:blog-19718740.post-11743744940169604062017-06-20T02:05:00.000+05:302017-06-20T23:16:04.140+05:30Fake perfectionism<p>It's a fairly known fact that reading too much of webMD could lead to cancer. But yesterday it gave me something called OCPD - Obsessive-Compulsive Personality Disorder. I was totally convinced it was OCPD until my flatmate came up with a different theory - that I was a perfectionist.</p>
<p>Of course I was a perfectionist! How did I not know that?</p>
<ul>
<li>I always make it a point to cut a hexagonal cake into perfect equilateral triangular pieces of 6 or 24</li>
<li>I keep formatting my code for proper indentation and could never work with Netbeans or Eclipse because they "look" imperfect</li>
<li>I always type words like jQuery and <a href="https://www.zopnow.com/">ZopNow</a> with correct capitalisations</li>
<li>I feel uncomfortable when confronted with situations where objects are misaligned. To understand this, go to <a href="https://www.zomato.com/photos/pv-res-18275011-u_NzkxMTk3NDQwND">Tea Trails</a> in Koramangala and have a look at the wall frames</li>
<li>I get pissed off when someone re-adjusts my "perfect" office chair height. (In case you are that person and reading this, I don't know who you are and I don't know what you want. But if you touch that chair again, I'll look for you. I'll find you, and I will ...)</li>
<li>I wrote posts in 2010 and 2014 just so that the links in sidebar look complete. As a matter of fact I wrote that 2010 post in the second week of 2011 and later changed the date to 31st December, 11:59 PM!</li>
<li>When I read Ramayan, I wondered how Ravan's heads were arranged and cringed when I saw Ravan with asymmetric 10 heads in a telugu movie. (I respect Ramanand Sagar for not doing that in his serial)</li>
<li>And the fact that I bought <a href="https://ia.net/writer/">IAWriter</a> to write all this</li>
</ul>
<p>Yay! That makes me a perfectionist.</p>
<p>Wait.</p>
<ul>
<li>I can never choose a "perfect" pant-shirt combination or shoes. I just wear whatever is easily found</li>
<li>My room is a mess. That's second law of thermodynamics you might say. Well, I have some more points</li>
<li>I'm chronically late to office</li>
<li>I never topped in Engineering. Heck, I didn't even finish it</li>
<li>Most of the tasks in my todo list are incomplete and all my Post-it notes have become postpone-its</li>
<li>There are no more blog posts after 2014 and writing this might make the sidebar look inconsistent but screw it, I don't want to care anymore.</li>
</ul>
<p>That makes me a fake perfectionist, you know? Like those non-vegetarians who eat only veg on Tuesdays. Or may be I'm just fooling people into thinking that I'm a perfectionist. BTW, an article on <a href="http://mentalfloss.com/article/75699/what-imposter-syndrome-and-what-can-you-do-about-it">mentalfloss</a> talks about something that sounds very similar.</p>
<p>Hold on! I have Imposter Syndrome now? I think I should just stop reading articles on the web and talk to my flatmate instead.</p>Anonymoushttp://www.blogger.com/profile/01998143407137321508noreply@blogger.comtag:blogger.com,1999:blog-19718740.post-74361661448611264122014-06-26T20:43:00.001+05:302014-06-26T20:45:42.787+05:30Draftin<p>I never liked blogger's editor but had to stick to Blogger for other reasons. Trying out draftin. Hope this has lesser friction than the actual editor.</p>Anonymoushttp://www.blogger.com/profile/01998143407137321508noreply@blogger.comtag:blogger.com,1999:blog-19718740.post-73154113239914506712013-11-07T22:24:00.000+05:302014-01-02T23:37:55.555+05:30The pianist<p>There was once a pianist who was learning you see,<br>
And each morning he played in the hours of wee..</p>
<p>He practised and played for hours at a stretch,<br>
And sometimes a wonderful melody he'd etch!</p>
<p>As the days grew by, so did his art,<br>
He played so well, he played from the heart!</p>
<a name='more'></a>
<p>One fine morning, there was a knock on his door,<br>
He wondered, “Who could it be at this early hour?”</p>
<p>"Must be neighbours..", he thought, "I should be a little low.."<br>
"I hope I didn't disturb them, it's early I should know.."</p>
<p>A large framed man at his doorstep he saw,<br>
Hesitant, the pianist began to withdraw..</p>
<p>But no disturbance or anger clouded the man’s face,<br>
He gave the pianist a sudden warm embrace..</p>
<p>"You made the Miss happy, she is smiling these days,"<br>
"She asked for your number, she sings in your praise!"</p>
<p>Humbled, his number, the pianist shared,<br>
By the man's words, he was taken unaware..</p>
<p>He continued playing some more, slowly he even sang..<br>
And one fine morning, his telephone rang.</p>
<p>"Could you be a little louder? I have been listening you see,<br>
Your music is beautiful, it soothes me.."</p>
<p>Another evening, as he was out sipping some tea,<br>
He saw someone standing in the next balcony..</p>
<p>He had finally seen her and what a beauty she was,<br>
She took his breath away, she made his heart pause..</p>
<p>That night, on his bed, not a minute he slept,<br>
Next morning, when he played, he didn't just play for himself,</p>
<p>He was hoping she'd hear him and had his eyes on the phone,<br>
His mind was not in place today and so was not his tone..</p>
<p>But the phone did not ring as he wanted it to,<br>
He could not play for too long, he felt a little blue..</p>
<p>He was longing to catch sight of her once again,<br>
Maybe talk to her, smile, and ask her, her name..</p>
<p>He did see her that evening, in the same balcony,<br>
She looked serene as ever.. "Oh, she's looking at me!"</p>
<p>And in her direction, he dashed his best smile,<br>
Her sight had just made the day worthwhile..</p>
<p>But she looked right through him, straight point blank..<br>
No frown but no smile too.. his heart just sank!</p>
<p>"Does she not recognise me? Oh that must be it!<br>
Let me wave out to her next time, maybe she'll see it.."</p>
<p>And so he waved another evening, but she turned her face,<br>
She looked the other way, it made his nerves race..</p>
<p>He was upset & perplexed, not knowing why she was so cold,<br>
It made him feel enraged and no longer could he withhold.</p>
<p>He paced in his room, trying hard to calm down..<br>
Even tried playing a tune, but his agony wouldn't drown.</p>
<p>Next morning, he thought, "I'll just lay in bed..<br>
I'm too tired to play, and so heavy is my head.."</p>
<p>It was noon when he heard the telephone ring,<br>
It was her.. and she said she dearly missed him!</p>
<p>"Why do you not smile, or ever wave back at me?", he asked.<br>
She had nothing to answer, no words.. it left him aghast.</p>
<p>"I will never play, not for this woman, not now, not ever..<br>
Let her miss me.. maybe she will call me.. oh yes, that's clever!"</p>
<p>So he stopped playing thereafter, causing his heart to sadden more..<br>
Nothing made him happy, he felt too numb & sore.</p>
<p>Days went by, the telephone too didn't ring..<br>
Then came a knock on his door, his mind went questioning..</p>
<p>" Could it be her? Has she come after all?"<br>
But instead it was the same man, the one who had started it all.</p>
<p>"Why are you doing this Sir? You need to play!<br>
It is the only thing that makes the Miss truly live her day..</p>
<p>She no longer looks forward to mornings you see,<br>
She is sick and getting paler, you need to come with me.."</p>
<p>Without the pianist, the man refused to budge,<br>
So they went to her house but he still held a grudge..</p>
<p>"I don't know why I agreed to come, I find your Miss too queer..<br>
She does not return my greetings, she does not want me here."</p>
<p>And there she was, tapping the floor with a stick..<br>
Her arms felt the air around her, she found her way pretty quick..</p>
<p>"Please do not be angry Mister, I did not have words to say..<br>
I did not mean to hurt you, I was displeased with myself that day.</p>
<p>I cannot return your gesture or your smile and it hurts me,<br>
While your music brings me so much peace, you play beautifully!</p>
<p>I feel I cannot even repay you for what you've given me,<br>
For every morning it's your music which is the only thing that makes me 'see' ".</p>
<hr />
<p>This was partially (first few lines :D ) based on me and was written by my <a href="http://anubha-bhat.blogspot.in">friend</a>.</p>Anonymoushttp://www.blogger.com/profile/01998143407137321508noreply@blogger.comtag:blogger.com,1999:blog-19718740.post-2119767466402600692013-01-01T05:54:00.000+05:302014-11-04T10:39:11.346+05:302012 - A year in review<style>
/* Style for this specific post */
#timeline{
margin: 0;
padding: 0;
border-left: 1px dotted rgba(255,0,0,0.3);
list-style: none;
padding-left: 24px;
}
#timeline time {
font-family: "Open Sans", arial, sans-serif;
letter-spacing: 2px;
text-transform: uppercase;
line-height: 1;
}
#timeline li:before,
#timeline li:after {
content:"";
background-color:#D2D2D2;
display: block;
position: relative;
width: 24px;
height: 24px;
border-radius: 100%;
position: absolute;
left: -44px;
border:2px solid transparent;
}
#timeline li:after {
top: 0;
left:-34px;
background-color: rgba(255,0,0,0.3);
border: 2px solid #fff;
}
#timeline li {
margin-bottom: 36px;
position: relative;
border-bottom: 1px solid #efefef;
line-height: 30px;
}
</style>
<p id="intro">
2012 was such a wonderful year for me with lots of peaks and valleys that I thought I'd take some time aside and attempt to document it.</p>
<a name='more'></a>
<ol id="timeline">
<li>
<time id="jan">January</time>
<p>The first month of 2012 started in a different way. I had spent my New Year's eve traveling to St.Marie Islands, Malpe (also known as coconut islands). It was an unplanned but awesome trip.</p>
<a href="http://2.bp.blogspot.com/-rKXuvZhtsaU/UOIE2iHPn1I/AAAAAAAAA0U/Nx8fX6xXjSA/s1600/395475_10151112314535013_1530312111_n.jpg" imageanchor="1"><img border="0" src="http://2.bp.blogspot.com/-rKXuvZhtsaU/UOIE2iHPn1I/AAAAAAAAA0U/Nx8fX6xXjSA/s400/395475_10151112314535013_1530312111_n.jpg" width="565" /></a>
<p>After a week, we had a team outing organised by Nirvana Nomads, to Ramnagara (The location where the hindi movie - sholay was shot). I experienced kayaking, rappelling and rock climbing for the first time in my life. It was awesome!</p>
<a href="http://2.bp.blogspot.com/-FLkmEhCBQcU/UOIHJ2UCtUI/AAAAAAAAA0o/3eFCsMEq3JY/s1600/401750_10151164563210013_1032455251_n.jpg" imageanchor="1"><img border="0" src="http://2.bp.blogspot.com/-FLkmEhCBQcU/UOIHJ2UCtUI/AAAAAAAAA0o/3eFCsMEq3JY/s400/401750_10151164563210013_1032455251_n.jpg" width="565" /></a>
<a href="http://3.bp.blogspot.com/-LOaz6I6OhzA/UOIHVijMdgI/AAAAAAAAA00/JnT6nRD9q4I/s1600/384122_10151139907340013_251148767_n.jpg" imageanchor="1"><img border="0" src="http://3.bp.blogspot.com/-LOaz6I6OhzA/UOIHVijMdgI/AAAAAAAAA00/JnT6nRD9q4I/s400/384122_10151139907340013_251148767_n.jpg" width="565" /></a>
</li>
<li>
<time id="feb">February</time>
<p>This was a month of events. I attended Barcamp Bangalore XI and JSFoo (Chennai). I had also made a poster for Barcamp as a part of mashup contest and my entry was selected which encouraged me to design a wallpaper for internal use at Kuliza.</p>
<a href="http://4.bp.blogspot.com/-xlxQquJCibg/UOIJhYsSwiI/AAAAAAAAA1U/fd9VSzjkeNw/s1600/337482_357304574283071_1922882647_o.jpg" imageanchor="1"><img border="0" src="http://4.bp.blogspot.com/-xlxQquJCibg/UOIJhYsSwiI/AAAAAAAAA1U/fd9VSzjkeNw/s400/337482_357304574283071_1922882647_o.jpg" width="565" /></a>
<p>Then I met Richik and Garima of <a href="http://poshvine.com/pages/team">PoshVine</a> to discuss about a platform they were planning to build. I loved the concept and the passion they had on that product.</p>
</li>
<li>
<time id="mar">March</time>
<p>This month I tried my hands on music and meetups. I joined Nathaniel Methods - a basic piano course at <a href="http://nathanielschool.com/">Nathaniel School of Music.</a> I also bought my first midi controller:</p>
<a href="http://1.bp.blogspot.com/-tm3c3u2eCBc/UOIM8z2xkJI/AAAAAAAAA1o/N_ZE71LKH3U/s1600/467837_10151480404725013_1018067971_o.jpg" imageanchor="1"><img border="0" src="http://1.bp.blogspot.com/-tm3c3u2eCBc/UOIM8z2xkJI/AAAAAAAAA1o/N_ZE71LKH3U/s400/467837_10151480404725013_1018067971_o.jpg" width="565" /></a>
<p>Apart from this, I got a chance to help <a href="https://twitter.com/pobroin">Payal</a> and <a href="https://twitter.com/ksarda">Kaushal</a> conduct their first splash event at Hippo Campus, Koramangala. I met <a href="http://www.anubhabhat.com/">Anubha</a>, a blogger from Mumbai who occasionally conducts workshops on crafts.</p>
</li>
<li>
<time id="apr">April</time>
<p>April was a month of my "first" experiences. I had cooked an omelet for the first time and experienced earth quake (with no co-relation between the two).</p>
<a href="http://societytea.com/blog/anubha-interviews-a-ux-engineer/">My first interview was published on Society Tea's blog</a> and I gave my first talk at HasGeek's Meta Refresh event on "scalable frontend architecture".
<iframe allowfullscreen="allowfullscreen" frameborder="0" height="318" src="http://www.youtube.com/embed/LQAQWfmZHtE" width="565"></iframe>
<p>This month I met my IITB friends, Rahul and Richa. Unfortunately, Sharjeel and Vidya met with accident the same day (didn't have major injuries though).</p>
</li>
<li>
<time id="may">May</time>
<p>May brought forth few interesting twists and turns in my life. My friend had referred me to ThoughtWorks and I got selected after a 1 day long interview. I was happy to get an offer but had to decline and chose to join a startup(Hachi) instead.</p>
</li>
<li>
<time id="jun">June</time>
<p>I quit Kuliza. The folks at kuliza gave me a nice farewell party and Anindya gifted me a T-shirt featuring myself as the UI Superhero!</p>
<a href="http://3.bp.blogspot.com/-EUtqFyWWS0o/UOIVuKHy_BI/AAAAAAAAA18/uTB1Y0hTUxU/s1600/477517_10150951184549547_1660745286_o.jpg" imageanchor="1"><img border="0" src="http://3.bp.blogspot.com/-EUtqFyWWS0o/UOIVuKHy_BI/AAAAAAAAA18/uTB1Y0hTUxU/s1600/477517_10150951184549547_1660745286_o.jpg" width="565" /></a>
<p>Then I spent some time working with the folks at <a href="http://poshvine.com/">PoshVine</a> and helped them build the <a href="http://poshvine.com/experiences">experiences</a> platform before joining Hachi. I wasn't entirely happy with the result but that was all I could do in such a short notice.</p>
</li>
<li>
<time id="jul">July</time>
<p>This month was both stressful and rewarding at the same time. At Hachi, I worked on a feature called <a href="http://gohachi.posterous.com/get-introduced-to-people-youve-been-waiting-t">Get Introduced</a>. It was for the first time that I developed something end-to-end, inception to deployment. The work was really challenging and though I liked each and every moment of it, I couldn't handle it. I had to bid farewell and choose a different career option which is when I contacted ThoughtWorks again. May be, I'm not a startup material or I should have waited for some more time.</p>
</li>
<li>
<time id="aug">August</time>
<p>I joined ThoughtWorks and the very first day I had to fly to Chennai to complete the joining formalities. I wasn't assigned any project in the beginning and was supposed to shadow(work along with) a senior consultant for first few days. I learnt a lot during this time. Then there was immersion. We were made to discuss, draw and play with Lego bricks to understand Agile and ThoughtWorks' way of working. 3 days of absolute fun!.</p>
<p>Fortunately, I could squeeze in some time to attend Yahoo Open Hack this month. I met <a href="https://twitter.com/MayankSinghal">Mayank Singhal</a> and <a href="https://twitter.com/saketkc">Saket Chaudhary</a> there. We couldn't build any really useful hack but ended up playing fooseball :)</p>
<a href="http://1.bp.blogspot.com/-eVHflN2tcbo/UOIjr9DRpqI/AAAAAAAAA2Q/f1MX-6VZe4c/s1600/259490_10152014796130013_1094965477_o.jpg" imageanchor="1"><img border="0" src="http://1.bp.blogspot.com/-eVHflN2tcbo/UOIjr9DRpqI/AAAAAAAAA2Q/f1MX-6VZe4c/s400/259490_10152014796130013_1094965477_o.jpg" width="565" /></a>
<br />
</li>
<li>
<time id="sep">September</time>
This month was a musical month for me. It started with our batch's <a href="http://www.youtube.com/playlist?list=PLrNNL05e9FT-AlKScalRMNC8sUml_gO0h">graduation performance</a> at bFlat, Indiranagar. I played the keyboards for 4 songs. It was my first such performance and I loved it. Jason(my piano teacher) picked 3 performances and chose to record them at his studio and fortunately, 1 song where I played the keyboards also got selected. It was a Lemon Tree cover.<br />
<iframe allowfullscreen="allowfullscreen" frameborder="0" height="318" src="http://www.youtube.com/embed/eYFblfsisR0" width="565"></iframe><br />
The month ended with an awesome trip to Goa for ThoughtWorks India's Away Day. <a href="http://jadorebangalore.blogspot.in/2012/10/thoughtworks-india-away-day-2012.html">Rose</a> wrote a detailed description of this in her blog.<br />
</li>
<li>
<time id="oct">October</time>
<p>October was fun. It started with a Karaoke party at <a href="https://twitter.com/ksarda">Kaushal</a>'s place followed by celebrating <a href="https://twitter.com/anand_kuliza">Anand</a>'s birthday.</p>
<p>Then we went on a long drive to the airport. Sid(Kaushal's kid) was still awake all the time.</p>
<a href="http://1.bp.blogspot.com/--2L4axCPFwk/UOIkj48ZiiI/AAAAAAAAA2g/Jg811QrOBCo/s1600/567577_10152154654600013_318602984_o.jpg" imageanchor="1"><img border="0" src="http://1.bp.blogspot.com/--2L4axCPFwk/UOIkj48ZiiI/AAAAAAAAA2g/Jg811QrOBCo/s1600/567577_10152154654600013_318602984_o.jpg" width="567" /></a>
<p>There was this music festival called october fest at Jayamahal Palace. I went for day 1 and watched Allegro Fudge, Lagori, Shaair n func and Soulmate perform. I loved Lagori and Soulmate.</p>
<a href="http://4.bp.blogspot.com/-YYfdBg_ELaY/UOImNdMK6TI/AAAAAAAAA24/nkUJhEbTQAM/s1600/567323_10152182643990013_736242247_o.jpg" imageanchor="1"><img border="0" src="http://4.bp.blogspot.com/-YYfdBg_ELaY/UOImNdMK6TI/AAAAAAAAA24/nkUJhEbTQAM/s400/567323_10152182643990013_736242247_o.jpg" width="565" /></a>
<p>In the mid of October, we got our tiny startup called <a href="http://88cordials.com/">88 Cordials</a>, incorporated. We are still working on an idea and might be able to release our first product by March 2013.</p>
<p>I celebrated my birthday this time at Hyderabad. Once at my sister's place and again at <a href="https://twitter.com/devsri88">Devesh</a>'s place.</p>
</li>
<li>
<time id="nov">November</time>
<p>I attended a relative's wedding. Everything was fine except the part where old people started asking me when I'd get married. Dunno why these people are obsessed about marriages.</p>
<p>Then I spent a day visiting an orphanage and burning crackers for Diwali with my niece.</p>
</li>
<li>
<time id="dec">December</time>
<p>December was a festive month. I also got back to blogging by starting my personal <a href="http://apnerve.blogspot.in/search/label/advent">advent calendar</a>.</p>
<p>I attended NH7 Weekender music festival (wrote about it <a href="http://apnerve.blogspot.in/2012/12/day-15-17-music-and-magic.html">here</a>)</p>
<p>I celebrated Christmas at Hyderabad, met one of my best friends after a long time and had a picnic with family and church kids.</p>
<a href="http://4.bp.blogspot.com/-a-uIjomWAqA/UOIrA8sE6WI/AAAAAAAAA3M/eZCPj3w_IAs/s1600/566084_10152375302725013_303720463_n.jpg" imageanchor="1"><img border="0" src="http://4.bp.blogspot.com/-a-uIjomWAqA/UOIrA8sE6WI/AAAAAAAAA3M/eZCPj3w_IAs/s400/566084_10152375302725013_303720463_n.jpg" width="565" /></a>
<br />
</li>
</ol>
<h3>
Resolutions</h3>
<p>I don’t make New Year’s resolutions because I always fail to meet them. Coming to my screen resolution, it is still the same old 1680 x 1050 pixels this year as well. And musically, it is dominant 7th to the tonic :p </p>
<hr />
<div id="disqus_thread">
</div>
<script type="text/javascript">
/* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */
var disqus_shortname = 'apnerve'; // required: replace example with your forum shortname
/* * * DON'T EDIT BELOW THIS LINE * * */
(function() {
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
})();
</script>
<noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>Anonymoushttp://www.blogger.com/profile/01998143407137321508noreply@blogger.comtag:blogger.com,1999:blog-19718740.post-86761776695101877632012-12-29T07:54:00.001+05:302013-01-09T22:32:47.992+05:30Day 18-24 : Christmas!<p>This would be the last post in my advent calendar. Since I couldn't post it on a daily basis, I'm summarizing the last week in a single post.</p>
<a name='more'></a>
<h3>Day 18</h3>
<p>Gave my secret child a gift (a topi that I bought from the official merchandise of <a href="http://www.swarathma.com/index.php">Swarathma</a>) and then spent the afternoon reading about seamless <code>iframes</code>.</p>
<h3>Day 19</h3>
<p>Played around with HTML5 audio API. Found out an awesome demo at <a href="http://tympanus.net/Development/CassettePlayer/">Tympanus</a> and used this demo file to create a teaser for my secret child.</p>
<h3>Day 20</h3>
<p>Sent a <a href="http://dl.dropbox.com/u/1047353/santa/index.html">teaser</a> to my secret child and then gifted her a <a href="http://www.oklisten.com/album/christmas_chronicles_i">Christmas Chronicles</a> CD. A friend told me that she freaked out when she heard her own song in the teaser I sent (I never expected this).</p>
<p>Then I spent the rest of the day playing with pseudo element selectors to create arrows and learnt a better way to implement modal overlays while discussing with <a href="https://twitter.com/gbhasha">Galeel</a>. The trick was to use <code>"position: fixed"</code></p>
<h3>Day 21</h3>
<p>Had a team lunch at <a href="http://www.tasteoframpur.com/">Taste of Rampur</a>. (We had booked a table at Ice n Spice earlier but that waiter noted the time wrong). I love this place. The ambience is good, the food is tasty and is not too pricy. Then there was Christmas celebrations at office.</p>
<p>I left for Hyderabad later in the night.</p>
<h3>Day 22</h3>
<p>Went for Christmas carols singing with <a href="http://www.sharonchurchindia.org/">Sharon Church</a> in Hyderabad. Enjoyed carol singing after a long time.</p>
<h3>Day 23</h3>
<p>Did nothing useful today. Was forced to watch Pogo channel because of my niece. Watched few episodes of Chota Bheem and Takeshi's Castle. BTW, the colors and typefaces used by Pogo TV are really good.</p>
<h3>Day 24</h3>
<p>Spent my time celebrating the Christmas eve as my uncle's <a href="http://www.sharonchurchindia.org/">church</a> at Tarnaka. The kids performed dances and skits. I had gifted <a href="http://www.oklisten.com/album/christmas_chronicles_i">Christmas Chronicles</a> CD to my cousin who came up with an awesome choreo with few other young people.</p>Anonymoushttp://www.blogger.com/profile/01998143407137321508noreply@blogger.comtag:blogger.com,1999:blog-19718740.post-35646937761218114952012-12-17T23:42:00.000+05:302013-01-09T22:39:01.330+05:30Day 15-17 : Music and Magic<h3>Day 15</h3>
<p>I went to NH7 Weekender - one of the biggest and happiest music festival. I watched Shaa'ir an Func perform live and was fortunate enough to grab the front row.<a name='more'></a> Here is one of the pics clicked by me</p>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-lS4nld2L2-k/UM9Yvu_tiMI/AAAAAAAAA0A/EhyBIO-WLOQ/s1600/566625_10152351085020013_100094915_o.jpg" imageanchor="1" ><img border="0" width="100%" src="http://1.bp.blogspot.com/-lS4nld2L2-k/UM9Yvu_tiMI/AAAAAAAAA0A/EhyBIO-WLOQ/s400/566625_10152351085020013_100094915_o.jpg" /></a></div>
<p>There was one band called "The Idan Raichel Project". The music was a magical blend of African, Latin American, Caribbean and Middle Eastern. The tumba drummer was amazing!</p>
<p>Then Papon, with his east india company(band) rocked the stage. It was a pleasure to hear some folk music blended with rock and a pinch of electronic stuff.</p>
<h3>Day 16</h3>
<p>Today was the 2nd day at the music festival with an awesome line up of bands. It started with Lagori, a band from Bangalore. I liked the energy of the artists. They rocked the stage. The song, Boom Shankar was magical. I kept on humming that while returning back home.</p>
<p>Then followed other great artists like Susheela Raman, The Raghu Dixit Project, Swarathma and The Indian Ocean.</p>
<p>2 days of awesome fun, music and magic!</p>
<h3>Day 17</h3>
<p>I woke up with a soar throat and pain in the ankle. May be it was because I was standing the whole time at the music festival yesterday. Also, the venue had too much dust floating around.</p>
<p>I took the day off and took some rest followed by my daily dose of reading tech articles. I observed few things today and was dumbstruck.</p>
<ul>
<li>The way Disqus comments integrates seamlessly with the web page though they are served in an iframe</li>
<li>The way YouTube remembers exactly where I paused/stopped watching a particular video and plays it back from exactly the same point I stopped before.</li>
<li>The embedded video on Facebook stops playing once you click and starts from the same time in YouTube.</li>
</ul>
<p>These things look like magic to me. Clarke was absolutely right in saying:</p>
<blockquote>any sufficiently advanced technology is indistinguishable from magic.</blockquote>
<p>Though, in this case, it is the implementation that is sufficiently advanced.</p>
Anonymoushttp://www.blogger.com/profile/01998143407137321508noreply@blogger.comtag:blogger.com,1999:blog-19718740.post-84468561647594542622012-12-14T23:34:00.000+05:302013-01-09T23:52:25.521+05:30Day 8 - 14 : Various things<p>It was a hectic week and I couldn't keep up with my advent calendar. So, I'm summarizing what I learnt in the past few days in a single post.</p><a name='more'></a>
<h3>Day 8</h3>
<p>Spent the day planning about the Frontend Engineering Workshop. Played around with `:target` pseudo class selector and learnt new CSS3 techniques from <a href="http://twitter.com/gbhasha">Galeel</a> and <a href="http://twitter.com/prabhuramkumar">Prabhu</a></p>
<h3>Day 9</h3>
<p>Listened to music, watched Goon and Raid Redemption(Indonesian movie). Learnt nothing new.</p>
<h3>Day 10</h3>
<p>Today was not very productive. I learnt a new angle shot in fooseball and then went out with the team for laser tagging.</p>
<h3>Day 11</h3>
<p>Didn't learn anything significant today. We were playing secret santa at office I had to pick a chit and it turns out that my secret child is a really good singer. Haven't decided what to buy as gift. (If you got any brilliant idea, tweet me : <a href="http://twitter.com/apnerve">@apnerve</a>) </p>
<h3>Day 12</h3>
<p>The day was spent in discussing about the Workshop. Played around with `:before` and `':after` pseudo element selectors</p>
<h3>Day 13</h3>
<p>Today I took a workshop on Frontend Engineering at <a href="http://thoughtworks.com">ThoughtWorks</a> along with 2 of my colleagues(senior consultants). I got to learn 2 main things during the workshop :</p>
<ul>
<li>Make sure that audience is close to you and the screen during the talks.</li>
<li>When showing code samples, go for live coding instead of presentation. Something like Dabblet or JSFiddle comes really handy</li>
</ul>
<h3>Day 14</h3>
<p>Today, I kind of found a treasure. Last year I was working on a share widget and ran into problems with communication between pages(`iframe`) with different origins. I learnt about `window.postMessage` method today while going through a presentation by <a href="http://benv.ca/">Ben Vinegar</a> of <a href="http://disqus.com/">Disqus</a>. The presentation can be found <a href="http://benvinegar.github.com/seamless-talk/">here</a>.</p>Anonymoushttp://www.blogger.com/profile/01998143407137321508noreply@blogger.comtag:blogger.com,1999:blog-19718740.post-90391650109122830522012-12-07T23:58:00.000+05:302013-01-09T22:47:04.620+05:30Day 7 : Involve me and I'll understand<p>Today was little productive in terms of work but I couldn't spend any time on learning anything new. While going through some presentation on speakerdeck, I came across this old chinese proverb<a name='more'></a> in one slide :</p>
<p>
<q>Tell me, I’ll forget <br>
Show me, I’ll remember <br>
Involve me, I’ll understand</q>
</p>
<p>This, I believe is something our education system has to adopt. Instead of just teaching theory and making the students study for exams, involve them.</p>
<p>PS: Today, it is a short post as it is already 11:57 and I don't want to miss keeping up with my advent calendar.</p>Anonymoushttp://www.blogger.com/profile/01998143407137321508noreply@blogger.comtag:blogger.com,1999:blog-19718740.post-31231902823386466002012-12-06T23:26:00.002+05:302013-01-09T23:52:53.854+05:30Day 6 : Learning to teach<p>I didn't read anything technical today but surely learnt something really interesting<a name='more'></a> - Learning to teach!</p>
<p>Web is open unlike many other platforms. The code we write for the web isn't compiled into binaries but is served as plain text files. If you look at any HTML , CSS or JS file, it is a text file which any human can read and thus learn from it. <a href="http://bartaz.github.com/">Bartosz</a> (creator of <a href="http://bartaz.github.com/impress.js">impressJS</a>) explains it better in his talk at <a href="http://2012.front-trends.com/">Front Trends 2012</a>.</p>
<iframe src="http://player.vimeo.com/video/45976413?badge=0" width="590" height="370" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe> <p><a href="http://vimeo.com/45976413">Learning to teach - Bartosz Szopka</a> from <a href="http://vimeo.com/user9986068">Front-Trends</a> on <a href="http://vimeo.com">Vimeo</a>.</p>Anonymoushttp://www.blogger.com/profile/01998143407137321508noreply@blogger.comtag:blogger.com,1999:blog-19718740.post-52033636537326847822012-12-05T19:11:00.000+05:302013-01-09T22:48:56.192+05:30Day 5 : CSS ":target" pseudo class<p>Today, my colleague shared something about CSS ":target" pseudo class which I never knew before. It matches an element that’s the target of a fragment identifier in the document’s URI. The fragment identifier in a <a name='more'></a>URI comprises a # character followed by an identifier name that matches the value of an <code>id</code> attribute of an element within the document.</p>
<p>Christian Heilmann has created a demo image gallery using this selector.</p>
<iframe style="width: 590px; height: 400px" src="http://jsfiddle.net/codepo8/wsD9L/1/embedded/result" allowfullscreen="allowfullscreen" frameborder="0"></iframe>
Anonymoushttp://www.blogger.com/profile/01998143407137321508noreply@blogger.comtag:blogger.com,1999:blog-19718740.post-49957667515387467222012-12-04T21:14:00.001+05:302013-01-09T23:29:23.804+05:30Day 4 : pJax - HTML5 Push state + AJAX<p>Today I was exploring more about HTML5 Push State and found this library called <a href="http://pjax.heroku.com/">pjax</a> by <a href="https://github.com/defunkt/">defunct</a> who is a <a name='more'></a>co-founder of <a href="https://github.com/">Github</a>.</p>
<h3>What is pjax?</h3>
<p>As mentioned in the website, <q>pjax loads html from your server into the current page without a full page load. It's ajax with real permalinks, page titles, and a working back button that fully degrades.</q></p>
<p>I'm planning to use this approach in one of my projects. The main advantages I see are:</p>
<ul>
<li>Less perceived load time of the page, thus enhanced user experience. And,</li>
<li>Less bandwidth consumption and load on the server as only few fragments of content will get requested.</li>
<li>The back button is not broken in this approach and the content is easily crawl-able by search bots and works for non-js based browsers as well.</li>
</ul>
<p>I'll post about any problems (if any) I face in one of my later posts.</p>Anonymoushttp://www.blogger.com/profile/01998143407137321508noreply@blogger.comtag:blogger.com,1999:blog-19718740.post-28160778672182156372012-12-03T16:45:00.001+05:302013-01-09T22:49:12.389+05:30Day 3 : Height calculation in CSS<p>One of my colleagues posed an interesting problem he found in CSS - <a href="http://jsfiddle.net/gbhasha/a2X5W/14/">http://jsfiddle.net/gbhasha/a2X5W/14/</a>. When you set the height of an element in percentage value and the parent has a <code>min-height</code> set, the child <a name='more'></a>element doesn't get any height, which was kind of weird (as opposed to common sense)</p>
<p>After reading through the CSS specs, we found out that only <code>height</code> property of the parent is considered while calculating the height of the child element but not <code>min-height</code> or <code>max-height</code></p>
<p>I think the best way to understand the CSS specs is to try to build a browser yourself. As web craftsmen, we sometimes forget about the specs and follow what all is given in popular blogs and magazines.</p>Anonymoushttp://www.blogger.com/profile/01998143407137321508noreply@blogger.comtag:blogger.com,1999:blog-19718740.post-50653832008718788902012-12-02T18:14:00.001+05:302013-01-09T23:58:33.540+05:30Day 2 : Hand independence in piano playing<p>I haven't gotten back to practising piano after my graduation performance and as a part of my advent calendar, I wanted to get back to it.</p><a name='more'></a>
<p>Today, I found a video on <a href="http://youtu.be/4hSD3xVxVBc">YouTube</a> which shows a series of exercises to gain hand independence. Basically, we play staccato on the left and legato on the right and then vice-versa. Then, change the beats on one hand while playing normally on the other. More in the video below:</p>
<iframe width="590" height="370" src="http://www.youtube.com/embed/4hSD3xVxVBc" frameborder="0" allowfullscreen></iframe>
<p>PS: I couldn't read up on jQuery plugin documentation today. I'll post the second part of authoring jQuery plugins in one of my later posts.</p>Anonymoushttp://www.blogger.com/profile/01998143407137321508noreply@blogger.comtag:blogger.com,1999:blog-19718740.post-25156920617582103342012-12-01T16:46:00.000+05:302013-01-09T23:59:15.643+05:30Day 1 : Authoring jQuery plugins<p>I've decided to start my personal advent calendar. Every day (starting from today till Dec 24<sup>th</sup>), I'll write about what I learned that day on my blog. Here goes my first post about <a name='more'></a> learning how to author jQuery plugins.</p>
<h3>Getting started</h3>
<p>To write a jQuery plugin, we start by adding a new function property to the `jQuery.fn` object. This can be done like this:</p>
<p>
<pre>
jQuery.fn.myPlugin = function() {
// plugin code goes here without using `$` :(
};
</pre>
</p>
<p>You might have noticed that I haven't used my beloved `$` sign as it might collide with another libraries that might use the same sign. So, a best practice would be to send the jQuery object to an <abbr title="Immediately Invoked Function Expression">IIFE</abbr> like this:</p>
<p>
<pre>
(function( $ ) {
$.fn.myPlugin = function() {
// plugin code goes here and I can happily use `$` :)
};
})( jQuery );
</pre>
</p>
<h3>Context</h3>
<p>`this` keyword would refer to the jQuery object the plugin was invoked on and not the native DOM object. So, we can directly use `this` instead of writing `$(this)`. Also, returning `this` would preserve the method chainability </p>
<p>I'm still going through the documentation to learn how to set options and how to bind events which I'll share tomorrow.</p>Anonymoushttp://www.blogger.com/profile/01998143407137321508noreply@blogger.comtag:blogger.com,1999:blog-19718740.post-22956968914651757552012-05-10T23:49:00.000+05:302013-01-10T00:00:04.504+05:30Semantic ClassNames<p>Yet another thing that pisses me off is the debate about using semantic ClassNames and finding faults with the usage of presentational classnames <a name='more'></a> like ".h2",".col", ".span4" etc. There is nothing like a semantic ClassName in the <a href="http://www.w3.org/"><abbr title="Word Wide Web Consortium">w3c</abbr></a> spec. If someone says you have to use semantic ClassNames, he/she is <strike>either</strike> <em>WRONG</em> <strike>or some <abbr title="Search Engine Optimization">SEO</abbr> "expert" (which is even worse)!</strike>
<h3>
ClassNames don't describe the content but identify the content.</h3>
<p>Semantics live in the HTML tags and not inside a CSS class. Content-layer semantics are already served by <abbr title="HyperText Markup Language">HTML</abbr> elements and other attributes. Class names impart little or no useful semantic information to machines or human visitors unless it is part of a small set of agreed upon (and machine readable) names (e.g. <a href="http://microformats.org/">Microformats</a>). The primary purpose of a class name is to be a hook for <abbr title="Cascading Style Sheets">CSS</abbr> and JavaScript. If you don’t need to add presentation and behavior to your web documents, then you probably don’t need classes in your HTML.
<h3>
classnames are open to interpretations.</h3>
<p>We presume every class name value will be in English, and every jerk looking at the source code will understand English. It’s all void if class name values are in German or Romanian. Even if, ideally, everyone would be comfortable in English, we’re presuming again. A classname like "code-red" might be for all elements that need to look red or might be a metaphor for some important content or technical description
<h3>
Does that mean we can choose a classname like ".f8hyteolk"?</h3>
<p>Yes and No.
<p>classnames affect developers and developers should choose whatever works best for maintenance. If everyone in the team is comfortable with a classname like ".f8hyteolk" and understands what it does, then feel free to use it. Class names should communicate useful information to developers. It’s helpful to understand what a specific class name is going to do when you read a DOM snippet, especially in multi-developer teams where front-enders won’t be the only people working with HTML components.
<h3>
How do we choose good classnames?</h3>
<p>The priority when creating classes is writing ones that are maintainable, reusable and extendable. The most reusable components are those with class names that are independent of the content. I feel a class like ".block" is a better choice than ".news" or ".updates" as the former is more reusable and extendable.
<h3>A question to all those "semantic" classname preachers:</h3>
<p>If a non-semantic class name is not in any way connected to the HTML element name, which describes the content just fine, and if there is not a single machine in the universe that will try to derive any meaning or “semantics”, from that class name, in any context, in any circumstance, and if that particular class name actually makes my code easier to read, easier to use, and easier to maintain, then why is it bad to have presentational class names in my HTML?Anonymoushttp://www.blogger.com/profile/01998143407137321508noreply@blogger.comBengaluru, Karnataka, India12.9715987 77.594562712.724026199999999 77.2787057 13.2191712 77.910419699999991tag:blogger.com,1999:blog-19718740.post-76486250702755396212012-03-17T02:05:00.000+05:302013-01-10T00:00:32.735+05:30Ideas of March<p><i>This is my contribution to <a href="http://shiflett.org/">Chris Shiflett's</a> <a href="http://shiflett.org/blog/2012/mar/ideas-of-march">Ideas of March</a> initiative, which encourages people to write about why they like blogs.</i></p><a name='more'></a>
<p>To participate, you have to do the following:</p>
<ul>
<li>Write a post called Ideas of March.</li>
<li>Write about why you like blogs.</li>
<li>If you don’t already blog regularly, pledge to blog more the rest of the month.</li>
<li>Share your thoughts on Twitter with the #ideasofmarch hashtag.</li>
</ul>
<p>So, here it goes!</p>
<h4>Why I like blogs.</h4>
<p>I love reading blogs. Blogging is a useful way to capture one's thoughts. Unlike Facebook/Twitter feeds, it takes more time and concentration to read blog posts. But you get a rewarding feeling once you have done reading some of them. You can think about what you just read and take away a new point of view. Then you can form your own opinion and write up a counter argument. This is not the case with Facebook/Twitter feeds. If you spend the day reading those feeds, you'll often be left with your mind overwhelmed with (sometimes useless)information. But if you spend the day reading a post or two, you'll have more room to actually think.<p>
<p>Blogging is a critical piece of the web industry, sharing knowledge helps elevate the quality of work within our industry. I have learned a lot about web design and development by reading other people’s blogs. The more I read, the more I feel like expressing my opinions. But instead of writing a blog post as response, I usually rant on twitter.</p>
<p>I realized that posting your opinions on Twitter/Facebook is not of much use. The discussion that happens after that vanishes after a day or two. The entire exchange of ideas on these platforms tend to disappear some day. And trying to search for that information is a very tiring job.</p>
<p>Back in 2006, I was very passionate about blogging. I used to go to cybercafes(I didn't have internet connection at home then) just to publish my thoughts. Then I found <a href="https://posterous.com/">posterous</a>. I became more lazy. Instead of "creating" content, I just began sharing. Now I feel disconnected from my identity as a web developer because I'm no more experimenting or blogging much, both of which are core to my work.</p>
<p>I wanted to get back to blogging. I joined (<a href="http://p2pu.org/en/">P2PU</a>'s)webmaking 101 so that I can <a href="http://apnerve.blogspot.in/2011/10/ressurection.html">resurrect</a> my blog. It failed. Then I found Chris' post reminding me of my neglected blog. I've been reading posts from many other bloggers who made the same pledge and I'm now inspired to actually do it this time.</p>
<p><b>Today I’m committing to blogging more. I pledge to write more about my ideas and opinions on web craftsmanship and other things regularly.</b></p>Anonymoushttp://www.blogger.com/profile/01998143407137321508noreply@blogger.comBengaluru, Karnataka, India12.9715987 77.594562712.724026199999999 77.2787057 13.2191712 77.910419699999991tag:blogger.com,1999:blog-19718740.post-87768292422010300722012-03-04T22:35:00.001+05:302012-03-04T22:35:29.620+05:30One Day<div class='posterous_autopost'>This is something I can watch everyday. Love this video.<p /><iframe src="http://www.youtube.com/embed/nwAYpLVyeFU?wmode=transparent" allowfullscreen frameborder="0" height="417" width="500"></iframe></div>Anonymoushttp://www.blogger.com/profile/01998143407137321508noreply@blogger.comtag:blogger.com,1999:blog-19718740.post-12601133614665582012012-01-29T21:28:00.001+05:302012-01-29T21:28:51.349+05:30RedBull - It gives you wiiings!<div class='posterous_autopost'><div class='p_embed p_image_embed'> <a href="http://getfile8.posterous.com/getfile/files.posterous.com/apnerve/HQ5Y7h51W7D1ylA9FtlF8yNV7Lizdz5GrrGFnDiKEi0kwwSy9hCx152AiCH4/redbull.jpg.scaled.1000.jpg"><img alt="Redbull" height="375" src="http://getfile6.posterous.com/getfile/files.posterous.com/apnerve/2vlsJihw224OnchK0nnPPSaOUTgEocFoiM5a60Ti7lntj5wABuIGwLYGVH7o/redbull.jpg.scaled.500.jpg" width="500" /></a> </div> <p>I had a notion that RedBull was a brand that was built without depending too much on advertising until I found these ads on YouTube. Here are some of the ads I liked: <p /><iframe src="http://www.youtube.com/embed/1MqiLvLJjwA?wmode=transparent" allowfullscreen frameborder="0" height="417" width="500"></iframe><br /> <iframe src="http://www.youtube.com/embed/pfvq2Gf6UE8?wmode=transparent" allowfullscreen frameborder="0" height="417" width="500"></iframe><br /><iframe src="http://www.youtube.com/embed/QgVR7Va5CxE?wmode=transparent" allowfullscreen frameborder="0" height="417" width="500"></iframe><br /><iframe src="http://www.youtube.com/embed/qvZ4PsjQoq0?wmode=transparent" allowfullscreen frameborder="0" height="417" width="500"></iframe><br /> <iframe src="http://www.youtube.com/embed/cM-KYn99mnY?wmode=transparent" allowfullscreen frameborder="0" height="417" width="500"></iframe><br /> <iframe src="http://www.youtube.com/embed/HmSsfCcsZjg?wmode=transparent" allowfullscreen frameborder="0" height="417" width="500"></iframe><p /><br />PS: I didn't get any wiiings but I did complete all the pending work from the past week ;)<p /><br /></p></div>Anonymoushttp://www.blogger.com/profile/01998143407137321508noreply@blogger.comtag:blogger.com,1999:blog-19718740.post-78830559027733584972012-01-20T12:26:00.001+05:302012-01-20T12:26:36.683+05:30Now I know the reason behind Yebhi's obscene ads.<div class='posterous_autopost'><div class='p_embed p_image_embed'> <a href="http://getfile9.posterous.com/getfile/files.posterous.com/apnerve/NBtYjfOt3STNfD0bIEAtauV6om3TXLHOapPYNg3bvQbl1vSN5PQ1Xdj5FdoT/yebhi_stupid.jpg.scaled.1000.jpg"><img alt="Yebhi_stupid" height="302" src="http://getfile7.posterous.com/getfile/files.posterous.com/apnerve/NxvsopXjieLKgacqUrX0GIf0rTnLXkuz65n6svUq7yo9PEMqPo2Yx0MqW8E2/yebhi_stupid.jpg.scaled.500.jpg" width="500" /></a> </div> <p>Yebhi's summary on the search page explains it all :)<br /></p></div>Anonymoushttp://www.blogger.com/profile/01998143407137321508noreply@blogger.comtag:blogger.com,1999:blog-19718740.post-40846514407092210432012-01-17T08:51:00.001+05:302012-01-17T08:51:24.820+05:30Where the hell is Matt?<div class='posterous_autopost'>I had watched this wonderful video long back. The more I watch it, the more happier I feel. I liked the way he got the whole world(in a way) to dance with him. This video made me smile and made my day!<p /><iframe src="http://www.youtube.com/embed/zlfKdbWwruY?wmode=transparent" allowfullscreen frameborder="0" height="417" width="500"></iframe></div>Anonymoushttp://www.blogger.com/profile/01998143407137321508noreply@blogger.comtag:blogger.com,1999:blog-19718740.post-32260887149494728952012-01-15T10:33:00.001+05:302012-01-15T10:33:57.744+05:30This made my day.<div class='posterous_autopost'><iframe src="http://www.youtube.com/embed/NU0wXxDEenk?wmode=transparent" allowfullscreen frameborder="0" height="417" width="500"></iframe></div>Anonymoushttp://www.blogger.com/profile/01998143407137321508noreply@blogger.comtag:blogger.com,1999:blog-19718740.post-60484982814945442752012-01-11T08:46:00.001+05:302012-01-11T08:46:40.173+05:30Oh, the methods you'll compose<div class='posterous_autopost'>This is the text from the awesome ignite talk given by Tim Berglund <p /><iframe src="http://www.youtube.com/embed/T5-Rt3U7K2g?wmode=transparent" allowfullscreen frameborder="0" height="417" width="500"></iframe><p /><br /><p>When a coder sits down to start banging out code<br /> The first thing to start crowding his cognitive load<br /> Is whether his program will do what it should<br /> Correctness, he says, is what makes my code good</p> <p>It’s the function that captures the coder’s attention<br /> Behaviors and inputs and outputs are mentioned<br /> As if the one good that a coder can bring<br /> Is to spin the right wheels on some Turing machine</p> <p>And compiling and linking and running are great<br /> (We need to do these to put food on our plate!)<br /> But the shocker that might leave you scratching your head<br /> Is that actual code is less written than read</p> <p>We spend more of our time in maintaining our stuff<br /> Than we ever spend writing the simplest of cruft<br /> Which means that unless you’ve got something the matter<br /> You’ll try to learn just a few code style patterns</p> <p>So coders and countrymen, lend me your ears<br /> As I teach you some lessons won hard through the years<br /> From that Beckian book about implementation<br /> And patterns that derail code suckification</p> <p>A classical problem is how to name things<br /> (Oh, the anger and fights and dissension this brings!)<br /> Like off-by-one-errors and cache expiration<br /> A permanent answer’s beyond expectation</p> <p>But a class should be named to describe its intent<br /> Not its implementation, though that’s how were bent<br /> A superclass name should be pithy and short<br /> And the subclass’s name a more detailed retort</p> <p>When you look at the name of a class you should find<br /> The idea that hatched in the first coder’s mind<br /> And just what is the thing this class wanted to do?<br /> And what should you be thinking when first you call “new?”</p> <p>When you can’t find a name for a class, it’s a sign<br /> That the metaphor’s actually escaping your mind<br /> A good metaphor helps more than comments or training<br /> To inform other coders just what you are saying</p> <p>The next thing we’ll consider together is state<br /> (Which wouldn’t be bad if it wouldn’t mutate)<br /> The functional people may think that they profit<br /> But objects we code will change state; we can’t stop it</p> <p>It’s not just concurrency where it can bite us<br /> Although many suffer from thread-lock-wait-itis<br /> The way that we organize pieces of state<br /> Can make all the difference between good and great</p> <p>Group similar state close together and see<br /> Just what happens in time to your code quality<br /> If you think of the reason your data is altered<br /> Your sense of the meaning will be less assaulted</p> <p>The things that are changing together should be<br /> Very close to each other, viewed all on one screen<br /> The data whose purpose is common? Same thing.<br /> If they all work together, keep’em all in one scene</p> <p>Remember the scopes an imperative language<br /> Gives to you to gather together your baggage<br /> The method, the instance, the class scope are able<br /> To keep you from having too much on the table</p> <p>The changing of state is a serious problem<br /> And I think that we’re starting to locate the bottom<br /> But as long as assignment is part of our ken<br /> We’ve got try hard to keep data reigned in</p> <p>See, the coder who’s reading this pile of junk<br /> Is bounded in what he can think of at once<br /> Don’t make him scroll all up and down every file<br /> To find and recall every identifier</p> <p>Now the methods we write can get out of control<br /> When we make the one reading them scroll, scroll, scroll, scroll<br /> A method that’s long and meandering is bad<br /> But a method that’s short and composed makes us glad</p> <p>To compose a good method, just think of the scope<br /> Of the things that it does, and with that you can hope<br /> To keep all of its actions around the same level<br /> Or else its abstractions will leave you disheveled</p> <p>A method composed by a coder who tries<br /> Will read like a story with just one plot line<br /> Each part of the story it tells is the same<br /> As the rest of the method, with all the same aim</p> <p>To understand just what composing’s about<br /> Imagine a story of when you went out<br /> And started the night by first changing your clothes<br /> Then switching to tell me the distance you drove</p> <p>Then up and describing the way you shift gears<br /> And a long, pointless tale about your rear-view mirror<br /> Then changing your story to cover the dinner<br /> And how it was cooked and how long the sauce simmered</p> <p>Then skipping ahead to the movie you saw<br /> But not telling me even one detail at all<br /> Now what would you think of this crazy approach?<br /> My mental disturbance would be hard to broach!</p> <p>It’s the very same thing when we factor a method<br /> Each one should stay small with its purpose embedded<br /> In a series of readable sub-method calls<br /> And inside those methods go all their details</p> <p>When people are learning, they sometimes prefer<br /> First to know all the details and from them infer<br /> All the concepts producing the detailed design<br /> Either concept or detail can govern the mind</p> <p>When composing your methods, keep this fact in mind<br /> And please think of the coder who’s struggling to find<br /> The whole shape of the picture zoomed all the way out<br /> Or the flipping of bits when that’s what it’s about</p> <p>I think if you’ve listened a little to me<br /> You might start to catch what I want you to see<br /> It’s good when we write code that passes its tests<br /> But mere functionality isn’t our best</p> <p>It’s the human who sits down to work with our code<br /> Our ideas we want to this one to be showed<br /> So remember this saying, to the best that you’re able<br /> The reason you write code is to love your neighbor</p></div>Anonymoushttp://www.blogger.com/profile/01998143407137321508noreply@blogger.comtag:blogger.com,1999:blog-19718740.post-37700871967708470812011-12-17T01:23:00.001+05:302011-12-17T01:23:01.001+05:30Some crazy stuff you can do with your iPad<div class='posterous_autopost'><iframe src="http://www.youtube.com/embed/IBHeEmKQ_uI?wmode=transparent" allowfullscreen frameborder="0" height="417" width="500"></iframe><br /><iframe src="http://www.youtube.com/embed/TFUZt4ZgrXM?wmode=transparent" allowfullscreen frameborder="0" height="417" width="500"></iframe><br /><iframe src="http://www.youtube.com/embed/aSC2QS1VOZo?wmode=transparent" allowfullscreen frameborder="0" height="417" width="500"></iframe><br /><iframe src="http://www.youtube.com/embed/qZ67dOK7COw?wmode=transparent" allowfullscreen frameborder="0" height="417" width="500"></iframe><br /><iframe src="http://www.youtube.com/embed/WC-kgxil9O0?wmode=transparent" allowfullscreen frameborder="0" height="417" width="500"></iframe><br /><iframe src="http://www.youtube.com/embed/1a8swpHUi3U?wmode=transparent" allowfullscreen frameborder="0" height="417" width="500"></iframe><br /><iframe src="http://www.youtube.com/embed/E_KYUF6pxR8?wmode=transparent" allowfullscreen frameborder="0" height="417" width="500"></iframe><br /><iframe src="http://www.youtube.com/embed/FyZxtQAP3jE?wmode=transparent" allowfullscreen frameborder="0" height="417" width="500"></iframe><br /><iframe src="http://www.youtube.com/embed/d67HuP-jY2c?wmode=transparent" allowfullscreen frameborder="0" height="417" width="500"></iframe><br /><iframe src="http://www.youtube.com/embed/iv2yWjI0oMc?wmode=transparent" allowfullscreen frameborder="0" height="417" width="500"></iframe></div>Anonymoushttp://www.blogger.com/profile/01998143407137321508noreply@blogger.comtag:blogger.com,1999:blog-19718740.post-24458290438757077122011-12-15T19:45:00.001+05:302011-12-15T19:45:12.293+05:30Experiment with SwiftKey<div class='posterous_autopost'><p>This is an experiment with SwiftKey. The content that follows would be purely SwiftKey predictions. I'm not editing that. </p> <p>___</p> <p>I think the best, and the rest of the day! I hope you enjoy your weekends are fun. The creator of the day!</p> <p>___</p></div>Anonymoushttp://www.blogger.com/profile/01998143407137321508noreply@blogger.comtag:blogger.com,1999:blog-19718740.post-7044148757707767232011-11-30T15:55:00.001+05:302011-11-30T15:55:07.320+05:30Tyranny of the LIKE button!<div class='posterous_autopost'><div class="posterous_bookmarklet_entry"> <div class='p_embed p_image_embed'> <img alt="Media_httpmediasmashi_rictb" height="2058" src="http://getfile1.posterous.com/getfile/files.posterous.com/apnerve/cJuzIsCnvxCpzgBapjEFGDEbBpdErayflmEssmoIoAhegnijkxBcEohJspdw/media_httpmediasmashi_riCtB.png.scaled500.png" width="500" /> </div> <div class="posterous_quote_citation">via <a href="http://media.smashingmagazine.com/wp-content/uploads/2011/08/fleaty_18_bigD1.png">media.smashingmagazine.com</a></div> <p></p></div></div>Anonymoushttp://www.blogger.com/profile/01998143407137321508noreply@blogger.com