<?xml version="1.0" encoding="UTF-8"?> <rss
version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
> <channel><title>the lost logbook &#187; Technology</title> <atom:link href="http://utkarshsengar.com/category/tech/feed/" rel="self" type="application/rss+xml" /><link>http://utkarshsengar.com</link> <description>Utkarsh&#039;s mind.random() on Programming, India and Startups</description> <lastBuildDate>Sat, 12 May 2012 11:38:11 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.3.2</generator> <item><title>Jiddu Krishnamurti</title><link>http://utkarshsengar.com/2012/05/jiddu-krishnamurti/</link> <comments>http://utkarshsengar.com/2012/05/jiddu-krishnamurti/#comments</comments> <pubDate>Sat, 12 May 2012 11:36:04 +0000</pubDate> <dc:creator>Utkarsh</dc:creator> <category><![CDATA[Technology]]></category> <guid
isPermaLink="false">http://utkarshsengar.com/?p=767</guid> <description><![CDATA[This guy is amazing, I understand him better as I grow up.]]></description> <content:encoded><![CDATA[<p
style="text-align: center;"><iframe
src="http://www.youtube.com/embed/u7aLnJtZgyY" frameborder="0" width="420" height="315"></iframe></p><p>This guy is amazing, I understand him better as I grow up.</p> ]]></content:encoded> <wfw:commentRss>http://utkarshsengar.com/2012/05/jiddu-krishnamurti/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Thank you Mr. Jobs</title><link>http://utkarshsengar.com/2011/10/thank-you-mr-jobs/</link> <comments>http://utkarshsengar.com/2011/10/thank-you-mr-jobs/#comments</comments> <pubDate>Thu, 06 Oct 2011 07:24:39 +0000</pubDate> <dc:creator>Utkarsh</dc:creator> <category><![CDATA[Technology]]></category> <category><![CDATA[steve jobs]]></category> <category><![CDATA[tribute]]></category> <guid
isPermaLink="false">http://utkarshsengar.com/?p=741</guid> <description><![CDATA[Thank you. We aspire to be like you, but Steve Jobs will always be known as &#8220;The crazy one&#8221; and &#8220;The insanely awesome&#8221; visionary! Your job is done, sleep well :) And&#8230;&#8230;a small gift for you: StayHungryStayFoolish.me]]></description> <content:encoded><![CDATA[<p>Thank you.</p><p
style="text-align: center;"><iframe
src="http://www.youtube.com/embed/8rwsuXHA7RA" frameborder="0" width="420" height="315"></iframe></p><p>We aspire to be like you, but Steve Jobs will always be known as &#8220;The crazy one&#8221; and &#8220;The insanely awesome&#8221; visionary!</p><p>Your job is done, sleep well :)</p><p>And&#8230;&#8230;a small gift for you: <a
href="http://stayhungrystayfoolish.me/">StayHungryStayFoolish.me</a></p> ]]></content:encoded> <wfw:commentRss>http://utkarshsengar.com/2011/10/thank-you-mr-jobs/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>next() in Java from The art of computer programming</title><link>http://utkarshsengar.com/2011/08/random-next-java/</link> <comments>http://utkarshsengar.com/2011/08/random-next-java/#comments</comments> <pubDate>Tue, 02 Aug 2011 06:47:30 +0000</pubDate> <dc:creator>Utkarsh</dc:creator> <category><![CDATA[Technology]]></category> <guid
isPermaLink="false">http://utkarshsengar.com/?p=694</guid> <description><![CDATA[I have always used Random&#8217;s nextInt() or nextLong(). So was curious on how &#8220;random&#8221; is it actually? Then I found this protected method next(). protected int next(int bits) &#160; Implementation of Random.java via Google code: 1 2 3 4 5 6 7 8 9 protected int next&#40;int bits&#41; &#123; long oldseed, nextseed; AtomicLong seed = [...]]]></description> <content:encoded><![CDATA[<p><img
class="alignleft" src="http://imgs.xkcd.com/comics/random_number.png" alt="xkcd: Random Number" width="287" height="103" />I have always used Random&#8217;s nextInt() or nextLong(). So was curious on how &#8220;random&#8221; is it actually? Then I found this <a
href="http://download.oracle.com/javase/6/docs/api/java/util/Random.html#next%28int%29">protected method next()</a>.</p><p><code>protected int next(int bits)</code></p><p>&nbsp;</p><p>Implementation of <a
href="http://www.google.com/codesearch/p?hl=en#ND67gFy8cpo/src/share/classes/java/util/Random.java&amp;q=Random&amp;exact_package=http://hg.openjdk.java.net/jdk7/2d/jdk&amp;type=cs">Random.java via Google code</a>:</p><div
class="wp_codebox"><table><tr
id="p6942"><td
class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
</pre></td><td
class="code" id="p694code2"><pre class="java" style="font-family:monospace;">    <span style="color: #000000; font-weight: bold;">protected</span> <span style="color: #000066; font-weight: bold;">int</span> next<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span> bits<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000066; font-weight: bold;">long</span> oldseed, nextseed<span style="color: #339933;">;</span>
        AtomicLong seed <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">seed</span><span style="color: #339933;">;</span>
        <span style="color: #000000; font-weight: bold;">do</span> <span style="color: #009900;">&#123;</span>
            oldseed <span style="color: #339933;">=</span> seed.<span style="color: #006633;">get</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            nextseed <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span>oldseed <span style="color: #339933;">*</span> multiplier <span style="color: #339933;">+</span> addend<span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;</span>amp<span style="color: #339933;">;</span> mask<span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">while</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span>seed.<span style="color: #006633;">compareAndSet</span><span style="color: #009900;">&#40;</span>oldseed, nextseed<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #000000; font-weight: bold;">return</span> <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span>nextseed <span style="color: #339933;">&amp;</span>gt<span style="color: #339933;">;&amp;</span>gt<span style="color: #339933;">;&amp;</span>gt<span style="color: #339933;">;</span> <span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">48</span> <span style="color: #339933;">-</span> bits<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span></pre></td></tr></table></div><blockquote><p>The general contract of next is that it returns an int value and if the argument bits is between 1 and 32 (inclusive), then that many low-order bits of the returned value will be (approximately) independently chosen bit values, each of which is (approximately) equally likely to be 0 or 1. The method next is implemented by class Random by atomically updating the seed to</p><p><code>(seed * 0x5DEECE66DL + 0xBL) &amp; ((1L &lt;&lt; 48) - 1)</code></p><p>and returning</p><p><code>(int)(seed &gt;&gt;&gt; (48 - bits))</code></p><p>This is a <a
href="http://stackoverflow.com/questions/6275593/how-to-write-you-own-random-number-algorithm">linear congruential</a> pseudorandom number generator, as defined by D. H. Lehmer and described by Donald E. Knuth in The Art of Computer Programming, Volume 3: Seminumerical Algorithms, section 3.2.1.</p></blockquote><p>Interesting!</p><p>EDIT: Something even more interesting: <a
href="http://stackoverflow.com/questions/7926482/why-this-code-is-giving-strange-result-so-random">Why this code is giving strange result? So Random?</a></p><p>Link to <a
href="http://download.oracle.com/javase/6/docs/api/java/util/Random.html">JavaDocs for Random</a>.</p> ]]></content:encoded> <wfw:commentRss>http://utkarshsengar.com/2011/08/random-next-java/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>My emacs setup for python dev</title><link>http://utkarshsengar.com/2011/06/emacs-python/</link> <comments>http://utkarshsengar.com/2011/06/emacs-python/#comments</comments> <pubDate>Tue, 14 Jun 2011 04:46:46 +0000</pubDate> <dc:creator>Utkarsh</dc:creator> <category><![CDATA[Technology]]></category> <guid
isPermaLink="false">http://utkarshsengar.com/?p=663</guid> <description><![CDATA[Just configured aquamacs and it&#8217;s awesome! Simple and quick. Will put up my .emacs and other details soon on github here. Stuff I am using are: 1. ECB &#8211; emacs code browser 2. emacs-for-python which includes all the goodies you need for python development! 3. Solarized dark theme, whose emacs port is here. My fav [...]]]></description> <content:encoded><![CDATA[<p>Just configured aquamacs and it&#8217;s awesome! Simple and quick. Will put up my .emacs and other details <del>soon</del> on github <a
href="https://github.com/utkarsh2012/my-dot-emacs">here</a>.</p><p>Stuff I am using are:</p><p>1. <a
href="http://ecb.sourceforge.net/">ECB &#8211; emacs code browser</a><br
/> 2. <a
href="http://gabrielelanaro.github.com/emacs-for-python/">emacs-for-python</a> which includes all the goodies you need for python development!<br
/> 3. <a
href="http://ethanschoonover.com/solarized">Solarized</a> dark theme, whose emacs port is <a
href="https://github.com/sellout/emacs-color-theme-solarized">here</a>.</p><p>My fav feature? It&#8217;s <code>M-x artist-mode</code> , see a screencast <a
href="http://www.cinsk.org/emacs/emacs-artist.html">here</a></p><p>(HOW-TO: Use mouse middle button to get options, COMMAND+click on a mac. Exit using <code>M-x artist-mode-off</code>)</p><p
style="text-align: center;"><a
href="http://i.imgur.com/fRpfd.png" rel="lightbox[663]"><img
class="aligncenter" title="emacs setup" src="http://imgur.com/fRpfd.png" alt="Click to see full image" width="682" height="426" /></a></p><p>If you are using Aquamacs, I recommend you not to use <code> ~/.emacs</code> but directly edit the file which it loads, its located here: <code>~/Library/Preferences/Aquamacs Emacs/Preferences.el</code></p><p><a
href="http://tv.uvigo.es/video/25765">The ultimate emacs course</a> &#8211; An awesome 2hr video lecture for emacs!</p> ]]></content:encoded> <wfw:commentRss>http://utkarshsengar.com/2011/06/emacs-python/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>eBay University Hackathon 2011 &#8211; A Review</title><link>http://utkarshsengar.com/2011/05/ebay-university-hackathon-2011-a-review/</link> <comments>http://utkarshsengar.com/2011/05/ebay-university-hackathon-2011-a-review/#comments</comments> <pubDate>Tue, 31 May 2011 09:03:08 +0000</pubDate> <dc:creator>Utkarsh</dc:creator> <category><![CDATA[Technology]]></category> <guid
isPermaLink="false">http://utkarshsengar.com/?p=617</guid> <description><![CDATA[Last week, me and 2 of my friends decided to go to the university hackathon organized by eBay. It was fun! We built a python-django based web app called BuildMyPc, a vertical shopping app, something like SparkBuy, but built using eBay data. Why? Because if you want to customize a desktop at home, there is [...]]]></description> <content:encoded><![CDATA[<p
style="text-align: left;">Last week, me and 2 of my friends <img
class="alignleft" src="http://img31.imageshack.us/img31/4218/15915132592.jpg" alt="" width="216" height="95" />decided to go to the university hackathon organized by eBay. It was fun! We built a python-django based web app called BuildMyPc, a vertical shopping app, something like <a
href="http://www.sparkbuy.com/">SparkBuy</a>, but built using eBay data.</p><p
style="text-align: left;">Why? Because if you want to customize a desktop at home, there is nothing like buying cheap parts from eBay!</p><p>And our app was judged 2nd! The first prize went to an app built with some awesome javascript + eBay API hackery.<span
id="more-617"></span></p><p>Anyway, some highlights:</p><ol><li> We were using python for the first time. Yes. This was the first time we were using python and django.</li><li> eBay API were very new to us.</li><li> We had <span
style="color: #ff0000;">14hrs</span> to build a working prototype. It was fun! Photographs of the event on <a
href="http://www.flickr.com/photos/26485568@N07/sets/72157626762401636/">Flickr</a></li><li> Something good came out of the hackathon, we are building a python wrapper for eBay API, called <a
href="https://github.com/roopeshvaddepally/python-ebay">python-ebay</a>. It&#8217;s an excuse to work more on python and help the eBay at the same time :D</li></ol><p><a
href="http://developer.ebay.com/"><img
class="aligncenter" src="http://img202.imageshack.us/img202/4342/imgdevlogo237x40.png" alt="ebay developer program" width="240" height="40" /></a></p><p><span
style="color: #ff0000;">The freebies we got were awesome</span>: Raffles every hour for iPod, Apple TVs, gaming keyboards etc (alas, I had an unlucky number :( ), <a
href="http://www.mysnuggiestore.com/">Snuggies</a> for all of us, 24hr supply of RedBull, eBay developers support through out the Hackathon, more eBay Developer Program swag like T-Shirts and stickers!</p><p>Now, coming to the <span
style="color: #ff0000;">review</span>, how was my experience? Well, it was mixed. <a
href="http://developer.ebay.com/support/docs/">eBay API documentation</a> is vast and at times, it&#8217;s an information overload.</p><p>For example, look at this <a
href="http://developer.ebay.com/DevZone/shopping/docs/CallRef/FindProducts.html">FindProducts</a> API call reference vs. Google&#8217;s <a
href="http://code.google.com/apis/customsearch/v1/overview.html">custom search</a> API call reference.</p><p>I understand, it&#8217;s like comparing apples to oranges, but keeping aside the actual functional perspective of the API, it&#8217;s not intuitive enough.</p><p>An interesting read: <a
href="http://blog.programmableweb.com/2011/05/20/what-developers-say-about-api-documentation/">What Developers Say About API Documentation</a></p><p>I am sure <a
href="http://developer.ebay.com/">eBay Developer Program</a> is working really hard to constantly improve it, keeping in mind eBay API is one of the oldest API on the internet. And as of now, we are working on <a
href="https://github.com/roopeshvaddepally/python-ebay"><span
style="color: #ff0000;">python-ebay</span></a> which hopefully should be complete by end of this month.</p><p>A screenshot of our hack:</p><p
style="text-align: center;"><img
class="aligncenter" title="build my pc - ebay hackathon" src="http://img233.imageshack.us/img233/4072/screenshot20110531at211.png" alt="" width="585" height="437" /></p> ]]></content:encoded> <wfw:commentRss>http://utkarshsengar.com/2011/05/ebay-university-hackathon-2011-a-review/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>Area42 goes live!!</title><link>http://utkarshsengar.com/2011/04/area42-goes-live/</link> <comments>http://utkarshsengar.com/2011/04/area42-goes-live/#comments</comments> <pubDate>Wed, 06 Apr 2011 08:54:49 +0000</pubDate> <dc:creator>Utkarsh</dc:creator> <category><![CDATA[Technology]]></category> <guid
isPermaLink="false">http://utkarshsengar.com/?p=600</guid> <description><![CDATA[What is Area42? 1. Area: Taken from Area51, because its secret and very important/interesting people can be a part of it. 2. 42: We will share knowledge here. &#8220;The Answer to Life (tech), the Universe (tech) and Everything (tech)&#8221;. 3. Its uniqueness lies in less number of members == less noise. 4. All members have [...]]]></description> <content:encoded><![CDATA[<p><strong>What is Area42?</strong><br
/> 1. Area: Taken from Area51, because its secret and very important/interesting people can be a part of it.<br
/> 2. 42: We will share knowledge here. &#8220;The Answer to Life (tech), the Universe (tech) and Everything (tech)&#8221;.<br
/> 3. Its uniqueness lies in less number of members == less noise.<br
/> 4. All members have sudo rights!</p><p><strong>Where is it?</strong><br
/> Yeah right! It&#8217;s a secret!</p> ]]></content:encoded> <wfw:commentRss>http://utkarshsengar.com/2011/04/area42-goes-live/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Event Driven Programming in Java</title><link>http://utkarshsengar.com/2011/03/event-driven-programming-in-java/</link> <comments>http://utkarshsengar.com/2011/03/event-driven-programming-in-java/#comments</comments> <pubDate>Wed, 23 Mar 2011 11:31:24 +0000</pubDate> <dc:creator>Utkarsh</dc:creator> <category><![CDATA[Technology]]></category> <guid
isPermaLink="false">http://utkarshsengar.com/?p=587</guid> <description><![CDATA[Stumbled on this awesome 3 video playlist on Event Driven Programming in Java! Also, Node.js is one of the new event driven framework, which is freaking fast! A very good guide to understanding what is Node.js and Event driven programming in it self is very well documented here: 1. Node.js, Doctor’s Offices and Fast Food [...]]]></description> <content:encoded><![CDATA[<p>Stumbled on this awesome 3 video playlist on Event Driven Programming in Java!</p><p><object
width="480" height="385"><param
name="movie" value="http://www.youtube.com/p/9E9CD5111BD342FB?hl=en_US&#038;fs=1"></param><param
name="allowFullScreen" value="true"></param><param
name="allowscriptaccess" value="always"></param><embed
src="http://www.youtube.com/p/9E9CD5111BD342FB?hl=en_US&#038;fs=1" type="application/x-shockwave-flash" width="480" height="385" allowscriptaccess="always" allowfullscreen="true"></embed></object></p><p>Also, Node.js is one of the new event driven framework, which is freaking fast! A very good guide to understanding what is Node.js and Event driven programming in it self is very well documented here:</br><br
/> 1. <a
href="http://code.danyork.com/2011/01/25/node-js-doctors-offices-and-fast-food-restaurants-understanding-event-driven-programming/">Node.js, Doctor’s Offices and Fast Food Restaurants – Understanding Event-driven Programming</a></p><p>2. <a
href="http://docs.google.com/viewer?a=v&#038;q=cache:HSgLcBBnWm8J:bamboo-dht.org/async-tutorial/async-tutorial.pdf+java+event+driven+programming&#038;hl=en&#038;gl=us&#038;pid=bl&#038;srcid=ADGEESiiOMhw09L7xuZ-PIt9dLWvMFVt_d_zRy2dx8E8atmMT1F1FuQczqQJ7t7_xcoqLJilESWH3NfEPnRNSocgo9HOkxIMH6gCAJDFMNuiWwIqt_h453_yUVU2uJNKHceYAEpkppGj&#038;sig=AHIEtbSc1LJBAhL2pte9Dp0_gGJP4h7Cow">A Programmer’s Tutorial on Event-Driven Programming, Asynchronous Input/Output, and the Bamboo DHT</a></p> ]]></content:encoded> <wfw:commentRss>http://utkarshsengar.com/2011/03/event-driven-programming-in-java/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>[Analysis] Your favourite text editor/IDE?</title><link>http://utkarshsengar.com/2011/03/analysis-your-favourite-text-editoride/</link> <comments>http://utkarshsengar.com/2011/03/analysis-your-favourite-text-editoride/#comments</comments> <pubDate>Tue, 22 Mar 2011 10:46:12 +0000</pubDate> <dc:creator>Utkarsh</dc:creator> <category><![CDATA[Technology]]></category> <guid
isPermaLink="false">http://utkarshsengar.com/?p=547</guid> <description><![CDATA[Just out of curiosity, I created this poll about the text editors and IDEs used by the awesome HackerNews community. I posted it on HackerNews and got 3005 responses. If you are interested in seeing the excel sheet, you can look it up here (it would be interesting if some one can mine this data [...]]]></description> <content:encoded><![CDATA[<p><img
class="alignleft" title="XKCD" src="http://img151.imageshack.us/img151/8611/xkcdq.jpg" alt="" width="100" height="121" />Just out of curiosity, I created <a
href="https://spreadsheets.google.com/viewform?hl=en&amp;formkey=dHhwMm9jS1l6RTh4Q3RBZU1GRWE1R0E6MQ#gid=0">this</a> poll about the text editors and IDEs used by the awesome HackerNews community. I posted it on <a
href="http://news.ycombinator.com/item?id=2348898">HackerNews</a> and got 3005 responses. If you are interested in seeing the excel sheet, you can look it up <a
href="https://spreadsheets.google.com/ccc?key=0An4bm34gQOpddFY0NEZac1dxU3FOWWlqTThRQUEwVlE&amp;hl=en">here</a> (it would be interesting if some one can mine this data to get more relevant and useful information).</p><p>Anyway, time for some results!!<br
/> <span
id="more-547"></span></p><h3><strong>Update: You can view the most recent results <a
href="https://spreadsheets.google.com/viewanalytics?formkey=dHhwMm9jS1l6RTh4Q3RBZU1GRWE1R0E6MQ">here</a></strong></h3><p></br><br
/> </br></p><h2>1. What text editor do you use?</h2><p><img
class="alignleft" title="Text Editor Charting" src="http://utkarshsengar.com/wp-content/uploads/chart_editor.png" alt="" width="345" height="390" /></p><table
id="table#0"><tbody><tr><td>VIM</td><td></td><td>1304</td><td>48%</td></tr><tr><td>EMACS</td><td></td><td>561</td><td>21%</td></tr><tr><td>gEdit</td><td></td><td>292</td><td>11%</td></tr><tr><td>Geany</td><td></td><td>62</td><td>2%</td></tr><tr><td>jEdit</td><td></td><td>45</td><td>2%</td></tr><tr><td>Kate</td><td></td><td>52</td><td>2%</td></tr><tr><td>Bluefish</td><td></td><td>12</td><td>0%</td></tr><tr><td>Notepad++</td><td></td><td>654</td><td>24%</td></tr><tr><td>Textpad</td><td></td><td>75</td><td>3%</td></tr><tr><td>UltraEdit</td><td></td><td>51</td><td>2%</td></tr><tr><td>Coda</td><td></td><td>73</td><td>3%</td></tr><tr><td>TextMate</td><td></td><td>497</td><td>18%</td></tr></tbody></table><p></br><br
/> </br><br
/> </br><br
/> Others:</p><p>Kod BBEdit Sublime Text 2 eclipse Sublime Text sublime text redcar AkelPad BBEdi tNotepad2 EditPlus sublime text nano Redcar Sublime Text TextWrangler Sublime Text Scite Komodo EditPhpED sublimetext Sublime Editor 2 nano</p><h2>2. What is your Favorite IDE?</h2><p><img
class="alignleft" title="IDE Charting" src="http://utkarshsengar.com/wp-content/uploads/char_IDE.png" alt="" width="345" height="390" /></p><table
id="table#2"><tbody><tr><td>Embarcadero Delphi</td><td></td><td>16</td><td>1%</td></tr><tr><td>Netbeans</td><td></td><td>334</td><td>16%</td></tr><tr><td>Eclipse</td><td></td><td>877</td><td>43%</td></tr><tr><td>Mono Develop</td><td></td><td>27</td><td>1%</td></tr><tr><td>Visual Studio</td><td></td><td>528</td><td>26%</td></tr><tr><td>KDevelop</td><td></td><td>32</td><td>2%</td></tr><tr><td>Code::Blocks</td><td></td><td>46</td><td>2%</td></tr><tr><td>IntelliJ&#8217;s IDEA</td><td></td><td>228</td><td>11%</td></tr><tr><td>Komodo IDE</td><td></td><td>83</td><td>4%</td></tr><tr><td>Aptana Studio</td><td></td><td>83</td><td>4%</td></tr><tr><td>ActivePython</td><td></td><td>9</td><td>0%</td></tr><tr><td>XCode</td><td></td><td>356</td><td>17%</td></tr></tbody></table><p></br><br
/> </br><br
/> </br></p><div>Others:</div><div>zend studio 5 vim emacs Emacs Rubymine Emacs None EMACS EMACS Redcar Coda emacs none emacs Vim PhpED Emacs vim+plugins EMACS EMACS PharoWing IDE Qt Creators pyder Vim Cloud9IDE UNIX emacs vim wing Sublime Text EMACS vim QT Creator</div><p>&nbsp;</p><h2>3. What programming language(s) do you use?</h2><p><img
class="alignleft" title="Language Charting" src="http://utkarshsengar.com/wp-content/uploads/chart_lang.png" alt="" width="345" height="450" /></p><table
id="table#5"><tbody><tr><td>Java</td><td></td><td>883</td><td>31%</td></tr><tr><td>C#</td><td></td><td>451</td><td>16%</td></tr><tr><td>Ruby</td><td></td><td>698</td><td>25%</td></tr><tr><td>Python</td><td></td><td>1261</td><td>44%</td></tr><tr><td>C/C++</td><td></td><td>933</td><td>33%</td></tr><tr><td>Erlang</td><td></td><td>102</td><td>4%</td></tr><tr><td>Haskell</td><td></td><td>200</td><td>7%</td></tr><tr><td>Lisp</td><td></td><td>338</td><td>12%</td></tr><tr><td>HTML/CSS</td><td></td><td>987</td><td>35%</td></tr><tr><td>Javascript</td><td></td><td>1156</td><td>41%</td></tr><tr><td>Assembly</td><td></td><td>89</td><td>3%</td></tr><tr><td>Perl</td><td></td><td>239</td><td>8%</td></tr><tr><td>Objective-C</td><td></td><td>267</td><td>9%</td></tr><tr><td>PHP</td><td></td><td>292</td><td>10%</td></tr></tbody></table><p></br><br
/> </br><br
/> </br></p><div>Others:</div><div><div
id="textSummary#6" dir="ltr">Scala Tcl scala Clojure C Scala Ocaml F# Scala FORTH Go Malbolge Lua clojure scheme, vala, ocaml Pascal F# F# scala ColdFusion ActionScript Clojure Lua Bash Scala scala Fortran Smalltalk Scala</div></div><p>PS: People may select more than one checkbox, so percentages may add up to more than 100%. Also, I committed a monumental mistake of not including PHP in the list. So, the Google excel sheet I have shared is a formatted one, which also includes PHP in the charting. The original excel sheet can be found <a
href="https://spreadsheets.google.com/ccc?key=0An4bm34gQOpddHhwMm9jS1l6RTh4Q3RBZU1GRWE1R0E&amp;hl=en#gid=0">here</a>.</p><p>&nbsp;</p><p>XKCD <a
href="http://carlos.bueno.org/images/xkcd.jpg" rel="lightbox[547]">Image</a> credit: <a
href="http://carlos.bueno.org/2009/11/dismal-guide-to-dns.html">carlos.bueno.org</a></p> ]]></content:encoded> <wfw:commentRss>http://utkarshsengar.com/2011/03/analysis-your-favourite-text-editoride/feed/</wfw:commentRss> <slash:comments>5</slash:comments> </item> <item><title>New Home for Vyuudha &#8211; A distributed store</title><link>http://utkarshsengar.com/2011/03/new-home-for-vyuudha-a-distributed-store/</link> <comments>http://utkarshsengar.com/2011/03/new-home-for-vyuudha-a-distributed-store/#comments</comments> <pubDate>Mon, 21 Mar 2011 09:45:53 +0000</pubDate> <dc:creator>Utkarsh</dc:creator> <category><![CDATA[Technology]]></category> <guid
isPermaLink="false">http://utkarshsengar.com/?p=545</guid> <description><![CDATA[We have moved to SJSU-CMPE&#8216;s organization repo on GitHub! Vyuudha is hosted here What is Vyuudha? Vyuudha &#8211; A clean room implementation of a distributed storage middleware for education and research.]]></description> <content:encoded><![CDATA[<p>We have moved to <a
href="https://github.com/sjsu-cmpe">SJSU-CMPE</a>&#8216;s organization repo on GitHub! Vyuudha is hosted <a
href="https://github.com/sjsu-cmpe/vyuudha">here</a></p><p>What is Vyuudha?<br
/> Vyuudha &#8211; A clean room implementation of a distributed storage middleware for education and research.</p> ]]></content:encoded> <wfw:commentRss>http://utkarshsengar.com/2011/03/new-home-for-vyuudha-a-distributed-store/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Manage multiple Linux Users on 1 Amazon EC2 Instance</title><link>http://utkarshsengar.com/2011/01/manage-multiple-accounts-on-1-amazon-ec2-instance/</link> <comments>http://utkarshsengar.com/2011/01/manage-multiple-accounts-on-1-amazon-ec2-instance/#comments</comments> <pubDate>Thu, 06 Jan 2011 19:11:59 +0000</pubDate> <dc:creator>Utkarsh</dc:creator> <category><![CDATA[Linux]]></category> <category><![CDATA[Technology]]></category> <category><![CDATA[amazon]]></category> <category><![CDATA[ec2]]></category> <category><![CDATA[user-management]]></category> <guid
isPermaLink="false">http://utkarshsengar.com/?p=480</guid> <description><![CDATA[In an organization of say 5, some times you need to give many people access to the same EC2 Instance. Sharing the private key and the password b/w 5 users is definitely not a good idea! So, how do you fix this problem? You create multiple accounts on the Linux EC2 instance and generate keys [...]]]></description> <content:encoded><![CDATA[<p><img
class="alignleft" title="AWS" src="http://img689.imageshack.us/img689/8533/awslogocmyk.jpg" alt="" width="248" height="90" />In an organization of say 5, some times you need to give many people access to the same EC2 Instance. <span
style="text-decoration: underline;">Sharing the private key and the password b/w 5 users is definitely not a good idea</span>!</p><p>So, how do you fix this problem? You create multiple accounts on the Linux EC2 instance and generate keys for every individual accounts, here is how you do it:<br
/> <span
id="more-480"></span></p><h2>Step 0. Login by default user, &#8220;ec2-user&#8221;:</h2><div
class="wp_codebox"><table><tr
id="p48015"><td
class="line_numbers"><pre>1
</pre></td><td
class="code" id="p480code15"><pre class="bash" style="font-family:monospace;">static-<span style="color: #000000;">9</span>:ec2_thelostlogbook utkarsh$ <span style="color: #c20cb9; font-weight: bold;">ssh</span> <span style="color: #660033;">-i</span> my_key.pem ec2-user<span style="color: #000000; font-weight: bold;">@</span>111.111.11.111</pre></td></tr></table></div><h2>Step 1. Create a new user, we will call our new user &#8220;john&#8221;:</h2><div
class="wp_codebox"><table><tr
id="p48016"><td
class="line_numbers"><pre>1
</pre></td><td
class="code" id="p480code16"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">&#91;</span>ec2-user<span style="color: #000000; font-weight: bold;">@</span>ip-<span style="color: #000000;">11</span>-<span style="color: #000000;">111</span>-<span style="color: #000000;">111</span>-<span style="color: #000000;">111</span> ~<span style="color: #7a0874; font-weight: bold;">&#93;</span>$ <span style="color: #c20cb9; font-weight: bold;">sudo</span> adduser john</pre></td></tr></table></div><p>Set password for &#8220;john&#8221; by:</p><div
class="wp_codebox"><table><tr
id="p48017"><td
class="line_numbers"><pre>1
2
</pre></td><td
class="code" id="p480code17"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">&#91;</span>ec2-user<span style="color: #000000; font-weight: bold;">@</span>ip-<span style="color: #000000;">11</span>-<span style="color: #000000;">111</span>-<span style="color: #000000;">111</span>-<span style="color: #000000;">111</span> ~<span style="color: #7a0874; font-weight: bold;">&#93;</span>$ <span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">su</span>
<span style="color: #7a0874; font-weight: bold;">&#91;</span>root<span style="color: #000000; font-weight: bold;">@</span>ip-<span style="color: #000000;">11</span>-<span style="color: #000000;">111</span>-<span style="color: #000000;">111</span>-<span style="color: #000000;">111</span> ec2-user<span style="color: #7a0874; font-weight: bold;">&#93;</span>$ <span style="color: #c20cb9; font-weight: bold;">passwd</span> john</pre></td></tr></table></div><p>Add &#8220;john&#8221; to sudoer&#8217;s list by:</p><div
class="wp_codebox"><table><tr
id="p48018"><td
class="line_numbers"><pre>1
</pre></td><td
class="code" id="p480code18"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">&#91;</span>root<span style="color: #000000; font-weight: bold;">@</span>ip-<span style="color: #000000;">11</span>-<span style="color: #000000;">111</span>-<span style="color: #000000;">111</span>-<span style="color: #000000;">111</span> ec2-user<span style="color: #7a0874; font-weight: bold;">&#93;</span>$ visudo</pre></td></tr></table></div><p>and add this to the last line:</p><div
class="wp_codebox"><table><tr
id="p48019"><td
class="line_numbers"><pre>1
</pre></td><td
class="code" id="p480code19"><pre class="bash" style="font-family:monospace;">john   ALL = <span style="color: #7a0874; font-weight: bold;">&#40;</span>ALL<span style="color: #7a0874; font-weight: bold;">&#41;</span>    ALL</pre></td></tr></table></div><p>Alright! We have our new user created, now you need to generate the key file which will be needed to login, like we have my_key.pem in Step 0.</p><p>Now, exit and go back to ec2-user, out of root.</p><h2>Step 2. Creating the public and private keys:</h2><div
class="wp_codebox"><table><tr
id="p48020"><td
class="line_numbers"><pre>1
</pre></td><td
class="code" id="p480code20"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">&#91;</span>ec2-user<span style="color: #000000; font-weight: bold;">@</span>ip-<span style="color: #000000;">11</span>-<span style="color: #000000;">111</span>-<span style="color: #000000;">111</span>-<span style="color: #000000;">111</span> ~<span style="color: #7a0874; font-weight: bold;">&#93;</span>$ <span style="color: #c20cb9; font-weight: bold;">su</span> john</pre></td></tr></table></div><p>Enter the password you created for &#8220;john&#8221; in Step 1.</p><div
class="wp_codebox"><table><tr
id="p48021"><td
class="line_numbers"><pre>1
2
3
4
5
6
7
</pre></td><td
class="code" id="p480code21"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">&#91;</span>john<span style="color: #000000; font-weight: bold;">@</span>ip-<span style="color: #000000;">11</span>-<span style="color: #000000;">111</span>-<span style="color: #000000;">111</span>-<span style="color: #000000;">111</span> ec2-user<span style="color: #7a0874; font-weight: bold;">&#93;</span>$ <span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>john<span style="color: #000000; font-weight: bold;">/</span>
<span style="color: #7a0874; font-weight: bold;">&#91;</span>john<span style="color: #000000; font-weight: bold;">@</span>ip-<span style="color: #000000;">11</span>-<span style="color: #000000;">111</span>-<span style="color: #000000;">111</span>-<span style="color: #000000;">111</span> ~<span style="color: #7a0874; font-weight: bold;">&#93;</span>$ <span style="color: #c20cb9; font-weight: bold;">ssh-keygen</span> <span style="color: #660033;">-b</span> <span style="color: #000000;">1024</span> <span style="color: #660033;">-f</span> john <span style="color: #660033;">-t</span> dsa
<span style="color: #7a0874; font-weight: bold;">&#91;</span>john<span style="color: #000000; font-weight: bold;">@</span>ip-<span style="color: #000000;">11</span>-<span style="color: #000000;">111</span>-<span style="color: #000000;">111</span>-<span style="color: #000000;">111</span> ~<span style="color: #7a0874; font-weight: bold;">&#93;</span>$ <span style="color: #c20cb9; font-weight: bold;">mkdir</span> .ssh
<span style="color: #7a0874; font-weight: bold;">&#91;</span>john<span style="color: #000000; font-weight: bold;">@</span>ip-<span style="color: #000000;">11</span>-<span style="color: #000000;">111</span>-<span style="color: #000000;">111</span>-<span style="color: #000000;">111</span> ~<span style="color: #7a0874; font-weight: bold;">&#93;</span>$ <span style="color: #c20cb9; font-weight: bold;">chmod</span> <span style="color: #000000;">700</span> .ssh
<span style="color: #7a0874; font-weight: bold;">&#91;</span>john<span style="color: #000000; font-weight: bold;">@</span>ip-<span style="color: #000000;">11</span>-<span style="color: #000000;">111</span>-<span style="color: #000000;">111</span>-<span style="color: #000000;">111</span> ~<span style="color: #7a0874; font-weight: bold;">&#93;</span>$ <span style="color: #c20cb9; font-weight: bold;">cat</span> john.pub <span style="color: #000000; font-weight: bold;">&gt;</span> .ssh<span style="color: #000000; font-weight: bold;">/</span>authorized_keys
<span style="color: #7a0874; font-weight: bold;">&#91;</span>john<span style="color: #000000; font-weight: bold;">@</span>ip-<span style="color: #000000;">11</span>-<span style="color: #000000;">111</span>-<span style="color: #000000;">111</span>-<span style="color: #000000;">111</span> ~<span style="color: #7a0874; font-weight: bold;">&#93;</span>$ <span style="color: #c20cb9; font-weight: bold;">chmod</span> <span style="color: #000000;">600</span> .ssh<span style="color: #000000; font-weight: bold;">/</span>authorized_keys
<span style="color: #7a0874; font-weight: bold;">&#91;</span>john<span style="color: #000000; font-weight: bold;">@</span>ip-<span style="color: #000000;">11</span>-<span style="color: #000000;">111</span>-<span style="color: #000000;">111</span>-<span style="color: #000000;">111</span> ~<span style="color: #7a0874; font-weight: bold;">&#93;</span>$ <span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">chown</span> john:ec2-user .ssh</pre></td></tr></table></div><p>In the above step, john is the user we created and ec2-user is the default user group.</p><div
class="wp_codebox"><table><tr
id="p48022"><td
class="line_numbers"><pre>1
</pre></td><td
class="code" id="p480code22"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">&#91;</span>john<span style="color: #000000; font-weight: bold;">@</span>ip-<span style="color: #000000;">11</span>-<span style="color: #000000;">111</span>-<span style="color: #000000;">111</span>-<span style="color: #000000;">111</span> ~<span style="color: #7a0874; font-weight: bold;">&#93;</span>$ <span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">chown</span> john:ec2-user .ssh<span style="color: #000000; font-weight: bold;">/</span>authorized_keys</pre></td></tr></table></div><h2>Step 3. Now you just need to download the key called &#8220;john&#8221;</h2><p>I use <a
href="http://www.hypexr.org/linux_scp_help.php">scp</a> to download/upload files from EC2, here is how you can do it:</p><p>You will still need to copy the file using ec2-user, since you only have the key for that user name. So, you will need to move the key to ec2-user folder and chmod it to 777.</p><div
class="wp_codebox"><table><tr
id="p48023"><td
class="line_numbers"><pre>1
2
</pre></td><td
class="code" id="p480code23"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">&#91;</span>john<span style="color: #000000; font-weight: bold;">@</span>ip-<span style="color: #000000;">11</span>-<span style="color: #000000;">111</span>-<span style="color: #000000;">111</span>-<span style="color: #000000;">111</span> ~<span style="color: #7a0874; font-weight: bold;">&#93;</span>$ <span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">cp</span> john <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>ec2-user<span style="color: #000000; font-weight: bold;">/</span>
<span style="color: #7a0874; font-weight: bold;">&#91;</span>john<span style="color: #000000; font-weight: bold;">@</span>ip-<span style="color: #000000;">11</span>-<span style="color: #000000;">111</span>-<span style="color: #000000;">111</span>-<span style="color: #000000;">111</span> ~<span style="color: #7a0874; font-weight: bold;">&#93;</span>$ <span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">chmod</span> <span style="color: #000000;">777</span> <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>ec2-user<span style="color: #000000; font-weight: bold;">/</span>john</pre></td></tr></table></div><p>Now come to local machine&#8217;s terminal, where you have my_key.pem file and do this:</p><div
class="wp_codebox"><table><tr
id="p48024"><td
class="line_numbers"><pre>1
</pre></td><td
class="code" id="p480code24"><pre class="bash" style="font-family:monospace;">static-<span style="color: #000000;">9</span>:ec2_thelostlogbook utkarsh$ <span style="color: #c20cb9; font-weight: bold;">scp</span> <span style="color: #660033;">-i</span> my_key.pem ec2-user<span style="color: #000000; font-weight: bold;">@</span>111.111.11.111:<span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>ec2-user<span style="color: #000000; font-weight: bold;">/</span>john john</pre></td></tr></table></div><p>The above command will copy the key &#8220;john&#8221; to the present working directory on your local machine. Once you have copied the key to your local machine, you should delete &#8220;/home/ec2-user/john&#8221;, since it&#8217;s a private key.</p><p>Now, one your local machine chmod john to 600.</p><div
class="wp_codebox"><table><tr
id="p48025"><td
class="line_numbers"><pre>1
</pre></td><td
class="code" id="p480code25"><pre class="bash" style="font-family:monospace;">static-<span style="color: #000000;">9</span>:ec2_thelostlogbook utkarsh$ <span style="color: #c20cb9; font-weight: bold;">chmod</span> <span style="color: #000000;">600</span> john</pre></td></tr></table></div><h2>Step 4. Time to test your key:</h2><div
class="wp_codebox"><table><tr
id="p48026"><td
class="line_numbers"><pre>1
</pre></td><td
class="code" id="p480code26"><pre class="bash" style="font-family:monospace;">static-<span style="color: #000000;">9</span>:ec2_thelostlogbook utkarsh$ <span style="color: #c20cb9; font-weight: bold;">ssh</span> <span style="color: #660033;">-i</span> john john<span style="color: #000000; font-weight: bold;">@</span>111.111.11.111</pre></td></tr></table></div><p>So, in this manner, you can setup multiple users to use one EC2 instance!!</p><p>PS: Please post your comments if you find any error.</p> ]]></content:encoded> <wfw:commentRss>http://utkarshsengar.com/2011/01/manage-multiple-accounts-on-1-amazon-ec2-instance/feed/</wfw:commentRss> <slash:comments>11</slash:comments> </item> </channel> </rss>
