tag:blogger.com,1999:blog-4057466238723596612024-03-19T00:43:24.394-07:00TidbitsMadhu's Shared ClipboardMadhusudhan Rao Shttp://www.blogger.com/profile/06465461717670321435noreply@blogger.comBlogger282125tag:blogger.com,1999:blog-405746623872359661.post-40569050478840588182012-11-29T02:28:00.000-08:002012-11-29T02:28:10.134-08:00On (not) mixing static methods in stateful classes<div style="text-align: justify;">
<!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:TrackMoves/>
<w:TrackFormatting/>
<w:PunctuationKerning/>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:DoNotPromoteQF/>
<w:LidThemeOther>EN-US</w:LidThemeOther>
<w:LidThemeAsian>X-NONE</w:LidThemeAsian>
<w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
<w:Compatibility>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
<w:DontGrowAutofit/>
<w:SplitPgBreakAndParaMark/>
<w:EnableOpenTypeKerning/>
<w:DontFlipMirrorIndents/>
<w:OverrideTableStyleHps/>
</w:Compatibility>
<w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
<m:mathPr>
<m:mathFont m:val="Cambria Math"/>
<m:brkBin m:val="before"/>
<m:brkBinSub m:val="--"/>
<m:smallFrac m:val="off"/>
<m:dispDef/>
<m:lMargin m:val="0"/>
<m:rMargin m:val="0"/>
<m:defJc m:val="centerGroup"/>
<m:wrapIndent m:val="1440"/>
<m:intLim m:val="subSup"/>
<m:naryLim m:val="undOvr"/>
</m:mathPr></w:WordDocument>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"
DefSemiHidden="true" DefQFormat="false" DefPriority="99"
LatentStyleCount="267">
<w:LsdException Locked="false" Priority="0" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Normal"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="heading 1"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/>
<w:LsdException Locked="false" Priority="39" Name="toc 1"/>
<w:LsdException Locked="false" Priority="39" Name="toc 2"/>
<w:LsdException Locked="false" Priority="39" Name="toc 3"/>
<w:LsdException Locked="false" Priority="39" Name="toc 4"/>
<w:LsdException Locked="false" Priority="39" Name="toc 5"/>
<w:LsdException Locked="false" Priority="39" Name="toc 6"/>
<w:LsdException Locked="false" Priority="39" Name="toc 7"/>
<w:LsdException Locked="false" Priority="39" Name="toc 8"/>
<w:LsdException Locked="false" Priority="39" Name="toc 9"/>
<w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/>
<w:LsdException Locked="false" Priority="10" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Title"/>
<w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/>
<w:LsdException Locked="false" Priority="11" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/>
<w:LsdException Locked="false" Priority="22" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Strong"/>
<w:LsdException Locked="false" Priority="20" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/>
<w:LsdException Locked="false" Priority="59" SemiHidden="false"
UnhideWhenUsed="false" Name="Table Grid"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/>
<w:LsdException Locked="false" Priority="1" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 1"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 1"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 1"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/>
<w:LsdException Locked="false" Priority="34" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/>
<w:LsdException Locked="false" Priority="29" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Quote"/>
<w:LsdException Locked="false" Priority="30" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 1"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 1"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 2"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 2"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 2"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 2"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 2"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 3"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 3"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 3"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 3"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 3"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 4"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 4"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 4"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 4"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 4"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 5"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 5"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 5"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 5"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 5"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 6"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 6"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 6"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 6"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 6"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/>
<w:LsdException Locked="false" Priority="19" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/>
<w:LsdException Locked="false" Priority="21" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/>
<w:LsdException Locked="false" Priority="31" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/>
<w:LsdException Locked="false" Priority="32" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/>
<w:LsdException Locked="false" Priority="33" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Book Title"/>
<w:LsdException Locked="false" Priority="37" Name="Bibliography"/>
<w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/>
</w:LatentStyles>
</xml><![endif]--><!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Table Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:"";
mso-padding-alt:0in 5.4pt 0in 5.4pt;
mso-para-margin:0in;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.0pt;
font-family:"Times New Roman","serif";}
</style>
<![endif]-->
</div>
<div class="MsoNormal" style="text-align: justify;">
<span style="color: #1f497d;"></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="color: #1f497d;"><a href="http://en.wikipedia.org/wiki/Pure_function">Pure_function</a>
sometimes are modeled as static methods in Java should not be present in classes
which also have state. Static methods are appropriate for things that don't
have associated state. Some factory methods, "purely functional"
methods like Math.min, etc are all perfectly acceptable static methods. Purely
functional methods have no need for dependency injection, or to interact with
the enclosing object and hence should be <a href="http://www.amazon.com/gp/product/0201485672/ref=as_li_ss_tl?ie=UTF8&camp=1789&creative=390957&creativeASIN=0201485672&linkCode=as2&tag=meprints-20" rel="nofollow" target="_blank">refactored </a>into their own utility
classes.</span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="color: #1f497d;">At the meager cost of a few more
files and some more code we will have simpler objects and a better set of
interfaces. Such a version might only be a couple of lines shorter than the
other implementation but it knows much less about its constituent parts. This
ensures, the functionality of helper functions is no longer locked in the
context of another object. The Unix philosophy illustrates that small
components that work together through an interface can be extraordinarily
powerful. Nesting an aspect of your domain as an implementation detail of a
specific model conflates responsibilities, bloats code, makes tests less
isolated and slower, and hides concepts that should be first-class in your
system. In "<a href="http://www.amazon.com/gp/product/0131429019/ref=as_li_ss_tl?ie=UTF8&camp=1789&creative=390957&creativeASIN=0131429019&linkCode=as2&tag=meprints-20" rel="nofollow" target="_blank">The Art of Unix Programming</a>" Eric Raymond states <i>Rule of
Modularity</i> as “<i>write simple parts connected by clean interfaces.</i>” This
philosophy is a powerful strategy to manage complexity. Like Unix,
systems/libraries should consist of many small classes each of which are
focused on a specific task and work with each other to accomplish a larger
task. Finally to quote Kent Beck from the <a href="http://www.amazon.com/gp/product/013476904X/ref=as_li_ss_tl?ie=UTF8&camp=1789&creative=390957&creativeASIN=013476904X&linkCode=as2&tag=meprints-20" rel="nofollow" target="_blank">Smalltalk Best Practice Patterns</a>
"<i>Good code invariably has small methods and small objects. I get lots of
resistance to this idea, especially from experienced developers, but no one
thing I do to systems provides as much help as breaking it into more pieces.</i>”</span></div>
Madhusudhan Rao Shttp://www.blogger.com/profile/06465461717670321435noreply@blogger.com0tag:blogger.com,1999:blog-405746623872359661.post-46905472380681159902012-01-26T20:58:00.000-08:002012-01-26T21:53:24.783-08:00TED talk: Algorithms that shape our worldKevin Slavin talks about how people will one day terraform the earth just to make algorithms get access to data faster. Talks about how algorithms<br />
i. on Amazon.com caused the price of the book "<a href="http://www.amazon.com/Making-Fly-Genetics-Animal-Design/dp/0632030488?tag=meprints-20">The Making of a Fly</a>" to become <a href="http://www.michaeleisen.org/blog/?p=358">23 million USD</a><br />
ii. caused 9% of wealth of US stock markets to disappear in the <a href="http://en.wikipedia.org/wiki/2010_Flash_Crash">Flash Crash of 2:45</a><br />
<br />
<br />
<iframe allowfullscreen="" frameborder="0" height="360" src="http://www.youtube.com/embed/TDaFwnOiKVE" width="640"></iframe>Madhusudhan Rao Shttp://www.blogger.com/profile/06465461717670321435noreply@blogger.com0tag:blogger.com,1999:blog-405746623872359661.post-33247440811351506932012-01-23T22:02:00.000-08:002012-01-23T22:02:07.137-08:00Summarize large amounts of frequency data in sublinear space<a href="https://sites.google.com/site/countminsketch/">Count Min Sketch</a> is a sublinear space datastructure which can be used for approximate answers to data streams for points, ranges and etc. It can be used for finding the most frequent items (approximately) and also extended to find anomalies or differences in streams for monitoring.<br />
Original paper: <a href="http://www.eecs.harvard.edu/%7Emichaelm/CS222/countmin.pdf">http://www.eecs.harvard.edu/~michaelm/CS222/countmin.pdf</a><br />
Related paper: <a href="http://www.cs.rutgers.edu/%7Emuthu/676879419.pdf">Finding significant differences in Network Data Streams</a><br />
<br />Madhusudhan Rao Shttp://www.blogger.com/profile/06465461717670321435noreply@blogger.com0tag:blogger.com,1999:blog-405746623872359661.post-33045431044357995982012-01-22T02:32:00.000-08:002012-01-22T02:32:04.079-08:00Discussion on Spatial indexing algorithmsFor people interested in <a href="http://en.wikipedia.org/wiki/Spatial_database">Spatial Databases</a> there is an interesting list of algos used for indexing (Quadtrees, Geohashes and Hilbert curves) at <a href="http://blog.notdot.net/2009/11/Damn-Cool-Algorithms-Spatial-indexing-with-Quadtrees-and-Hilbert-Curves">http://blog.notdot.net/2009/11/Damn-Cool-Algorithms-Spatial-indexing-with-Quadtrees-and-Hilbert-Curves</a><br />Madhusudhan Rao Shttp://www.blogger.com/profile/06465461717670321435noreply@blogger.com0tag:blogger.com,1999:blog-405746623872359661.post-75226051534992665742012-01-22T01:21:00.000-08:002012-01-22T01:21:09.902-08:00LZMA algo and XZ Utils<a href="http://tukaani.org/xz/%20">XZ Utils</a> is a data compression software with pretty high
compression ratio. It uses the <a href="http://en.wikipedia.org/wiki/Lempel%E2%80%93Ziv%E2%80%93Markov_chain_algorithm">LZMA algorithm</a> and has much better compression ratios than bzip2<br />
<br />Madhusudhan Rao Shttp://www.blogger.com/profile/06465461717670321435noreply@blogger.com0tag:blogger.com,1999:blog-405746623872359661.post-78814290538957938482010-12-14T17:59:00.000-08:002010-12-14T17:59:49.774-08:00What winter in Pacific Northwest does to you<a href="http://chainsawsuit.com/2010/12/13/weather-up-north/"><img alt="winter up north" border="0" src="http://chainsawsuit.com/comics/20101213.png" title="winter up north" /></a><br />
Is it the same in every part of the high northern hemisphere? Does it always feel like you just woke up from a fever breaking, at noon, except it’s dark.Something about cloud cover, and axial tilt, and the moon, and magnets.Madhusudhan Rao Shttp://www.blogger.com/profile/06465461717670321435noreply@blogger.com0tag:blogger.com,1999:blog-405746623872359661.post-9011441106181228692010-09-29T17:28:00.000-07:002010-09-29T17:28:53.077-07:00Frequency with which various adjectives are intensified with obscenities<a href="http://xkcd.com/798/"></a><img src="http://imgs.xkcd.com/comics/adjectives.png" title="'Fucking ineffable' sounds like someone remembering how to do self-censorship halfway through a phrase." alt="'Fucking ineffable' sounds like someone remembering how to do self-censorship halfway through a phrase." />"Madhusudhan Rao Shttp://www.blogger.com/profile/06465461717670321435noreply@blogger.com1tag:blogger.com,1999:blog-405746623872359661.post-90896260490137580262010-03-16T23:27:00.000-07:002010-03-16T23:28:00.883-07:00AdSense now serving multiple ad networksHere is the mail from Adsense announcing this.<br />
<br />
<hr />Hi,<br />
<br />
We have launched a new capability in AdSense allowing Google-certified ad networks compete directly within AdSense, which means that advertisers from these third-party networks will be able to compete with AdWords advertisers to show on the Google Content Network.<br />
<br />
These new capabilities will automatically be enabled for your account, and you'll see a new section in your Ad Review Center where you can allow or block specific ad networks or all networks except AdWords. Please note that we'll gradually be adding new ad networks to AdSense accounts over the next few months, so you won't see any immediate impact on your ads or your earnings.<br />
<br />
To ensure the quality of the ads that appear on AdSense publisher websites, Google will certify all participating ad networks for adherence to our standards for user privacy, ad quality, and speed. Some participating ad networks use targeting methods similar to Google's interest-based advertising to show more relevant ads to users on the sites they visit. These ad networks won't be permitted to collect data from your site for the purpose of subsequent interest-based advertising, but we'll allow networks that comply with user privacy guidelines to show ads using these tools. Publishers can opt out of user interest targeting from these ad networks, and Google has changed our requirements for third-party ad serving to reflect this.<br />
<br />
We are currently only accepting ads from Google-certified ad networks in North America and Europe, but we will make this feature available to ad networks in additional parts of the world in the future.<br />
<br />
To learn more and manage the ad networks appearing on your pages, visit the AdSense Help Center at <a href="https://www.google.com/adsense/support/bin/topic.py?hl=en&topic=13522" target="_blank">https://www.google.com/<wbr></wbr>adsense/support/bin/topic.py?<wbr></wbr>hl=en&topic=13522</a> and visit our blog post at <a href="http://adsense.blogspot.com/2010/03/google-certified-ad-networks-now.html" target="_blank">http://adsense.blogspot.com/<wbr></wbr>2010/03/google-certified-ad-<wbr></wbr>networks-now.html</a>.<br />
<br />
Sincerely,<br />
The Google AdSense TeamMadhusudhan Rao Shttp://www.blogger.com/profile/06465461717670321435noreply@blogger.com1tag:blogger.com,1999:blog-405746623872359661.post-19695680547857440092010-02-03T10:28:00.000-08:002010-02-03T10:28:26.679-08:00[Online Dating Advice] Exactly What To Say In A First Message<h2></h2><span class="lead">From: <a href="http://blog.okcupid.com/index.php/2009/09/14/online-dating-advice-exactly-what-to-say-in-a-first-message/">http://blog.okcupid.com/index.php/2009/09/14/online-dating-advice-exactly-what-to-say-in-a-first-message/</a> </span><br />
<span class="lead">Ok, here’s the experiment.</span> We analyzed over 500,000 first contacts on our dating site, <a href="http://www.okcupid.com/" target="_blank">OkCupid</a>. Our program looked at keywords and phrases, how they affected reply rates, and what trends were statistically significant. The result: a set of rules for what you should and shouldn’t say when introducing yourself online. Let’s go:<br />
<div class="header"> <span class="myth">Rule 1</span><br />
Be literate </div>Netspeak, bad grammar, and bad spelling are huge turn-offs. Our negative correlation list is a fool’s lexicon: <em>ur</em>, <em>u</em>, <em>wat</em>, <em>wont</em>, and so on. These all make a terrible first impression. In fact, if you count <em>hit</em> (and we do!) the worst 6 words you can use in a first message are all stupid slang.<br />
<div class="center"><img alt="" src="http://cdn.okcimg.com/blog/how_to_get_replies_2/netspeak-chart.png" /></div>Language like this is such a strong deal-breaker that correctly written but otherwise workaday words like <em>don’t</em> and <em>won’t</em> have nicely above average response rates (<span class="excel-green">36%</span> and <span class="excel-green">37%</span>, respectively).<br />
Interesting exceptions to the “no netspeak” rule are expressions of amusement. <em>haha</em> (<span class="excel-green">45%</span> reply rate) and <em>lol</em> (<span class="excel-green">41%</span>) both turned out to be quite good for the sender. This makes a certain sense: people like a sense of humor, and you need to be casual to convey genuine laughter. <em>hehe</em> was also a successful word, but much less so (<span class="excel-green">33%</span>). Scientifically, this is because it’s a little evil sounding.<br />
So, in short, it’s okay to laugh, but keep the rest of your message grammatical and punctuated.<br />
<div class="header"> <span class="myth">Rule 2</span><br />
Avoid physical compliments </div>Although the data shows this advice holds true for both sexes, it’s mostly directed at guys, because they are way more likely to talk about looks. You might think that words like <em>gorgeous</em>, <em>beautiful</em>, and <em>sexy</em> are nice things to say to someone, but no one wants to hear them. As we all know, people normally like compliments, but when they’re used as pick-up lines, before you’ve even met in person, they inevitably feel…ew. Besides, when you tell a woman she’s beautiful, chances are you’re not.<br />
On the other hand, more general compliments seem to work well:<br />
<div class="center"><img alt="" src="http://cdn.okcimg.com/blog/how_to_get_replies_2/compliments-chart.png" /></div>The word <em>pretty</em> is a perfect case study for our point. As an adjective, it’s a physical compliment, but as an adverb (as in, “I’m pretty good at sports.”) it’s is just another word.<br />
<div class="center"><img alt="" src="http://cdn.okcimg.com/blog/how_to_get_replies_2/pretty-chart.png" /></div>When used as an adverb it actually does very well (a phenomenon we’ll examine in detail below), but as <em>pretty</em>’s uses become more clearly about looks, reply rates decline sharply. <em>You’re pretty</em> and <em>your pretty</em> are phrases that could go either way (physical or non-). But <em>very pretty</em> is almost always used to describe the way something or someone looks, and you can see how that works out.<br />
<div class="header"> <span class="myth">Rule 3</span><br />
Use an unusual greeting </div>We took a close look at salutations. After all, the way you choose to start your initial message to someone is the “first impression of your first impression.” The results surprised us:<br />
<div class="center"><img alt="" src="http://cdn.okcimg.com/blog/how_to_get_replies_2/salutations-chart.png" /></div>The top three most popular ways to say “hello” were all actually bad beginnings. Even the slangy <em>holla</em> and <em>yo</em> perform better, bucking the general “be literate” rule. In fact, it’s smarter to use no traditional salutation at all (which earns you the reply rate of <span class="excel-green">27%</span>) and just dive into whatever you have to say than to start with <em>hi</em>. I’m not sure why this is: maybe the ubiquity of the most popular openings means people are more likely to just stop reading when they see them.<br />
The more informal standard greetings: <em>how’s it going</em>, <em>what’s up</em>, and <em>howdy</em> all did very well. Maybe they set a more casual tone that people prefer, though I have to say, <strong>You had me at ‘what’s up’</strong> doesn’t quite have the same ring to it.<br />
<div style="display: none;"> <div class="header"> <span class="myth">Rule 4</span><br />
Don’t take it outside </div>Obviously, all successful OkCupid relationships outgrow our in-site messaging feature. But an offer to chat or of an email address right off the bat is a sure turn off. One of the things online dating has going for it is its relative anonymity, and if you start chipping away at that too early, you’ll scare the other person off.<br />
<div class="center"><img alt="" src="http://cdn.okcimg.com/blog/how_to_get_replies_2/outside-chart.png" /></div>Also, don’t ask for or give away a <em>cell</em> number (<span class="red">10%</span>). I thought that was a no-brainer. </div><div class="header"> <span class="myth">Rule 4</span><br />
Bring up specific interests </div>There are many words on the effective end of our list like <em>zombie</em>, <em>band</em>, <em>tattoo</em>, <em>literature</em>, <em>studying</em>, <em>vegetarian</em> (yes!), and <em>metal</em> (double yes!) that are all clearly referencing something important to the sender, the recipient, or, ideally, both. Talking about specific things that interest you or that you might have in common with someone is a time-honored way to make a connection, and we have proof here that it works. We’re presenting just a smattering: in fact every “niche” word that we have significant data on has a positive effect on messaging.<br />
<div class="center"><img alt="" src="http://cdn.okcimg.com/blog/how_to_get_replies_2/interests-chart.png" /></div>Even more effective are phrases that engage the reader’s own interests, or show you’ve read their profile:<br />
<div class="center"><img alt="" src="http://cdn.okcimg.com/blog/how_to_get_replies_2/engage-chart.png" /></div><div class="header"> <span class="myth">Rule 5</span><br />
If you’re a guy, be self-effacing </div><em>Awkward</em>, <em>sorry</em>, <em>apologize</em>, <em>kinda</em>, and <em>probably</em> all made male messages more successful, yet none of them except <em>sorry</em> affects female messages. As we mentioned before, <em>pretty</em>, no doubt because of its adverbial meaning of “to a fair degree; moderately” also helps male messages. A lot of real-world dating advice tells men to be <strong>more</strong> confident, but apparently hemming and hawing a little works well online.<br />
<div class="center"><img alt="" src="http://cdn.okcimg.com/blog/how_to_get_replies_2/efface-chart.png" /></div>It could be that appearing unsure makes the writer seem more vulnerable and less threatening. It could be that women like guys who write mumbly. But either way: men should be careful not to let the appearance of vulnerability become the appearance of sweaty desperation: <em>please</em> is on the negative list (<span class="red">22%</span> reply rate), and in fact it is the <strong>only</strong> word that is actually worse for you than its netspeak equivalent (<em>pls</em>, <span class="red">23%</span>)!<br />
<div class="header"> <span class="myth">Rule 6</span><br />
Consider becoming an atheist </div>Mentioning your religion helps you, but, paradoxically, it helps you most if you have no religion. We know that’s going to piss a lot of people off, and we’re more or less tongue-in-cheek with this advice, but it’s what the numbers say.<br />
<div class="center"><img alt="" src="http://cdn.okcimg.com/blog/how_to_get_replies_2/god-chart.png" /></div>These are the religious terms that appeared a statistically significant number of times. <em>Atheist</em> actually showed up surprisingly often (342 times per 10,000 messages, second only to 552 mentions of <em>christian</em> and ahead of 278 for <em>jewish</em> and 142 for <em>muslim</em>).<br />
Though very few people actually do it, invoking the sky-breaking thunderbolts of <em>zeus</em> does help a person get noticed (reply rate <span class="excel-green">56%</span>), but maybe that shouldn’t be a surprise on a site that is itself named for a member of the Classical pantheon. So if you can’t bring yourself to deny the deity, consider opening yourself up to a whole wacky bunch of them. But ideally you should just disbelieve the whole thing. It can help your love life, and, besides, if there really was a god, wouldn’t first messages <em>always</em> get a reply?Madhusudhan Rao Shttp://www.blogger.com/profile/06465461717670321435noreply@blogger.com3tag:blogger.com,1999:blog-405746623872359661.post-45239350073560352102010-01-31T03:09:00.000-08:002010-01-31T03:09:07.783-08:00Moscow in slow-motionMoscow in slow-motion - Amazing video<br /><object height="505" width="640"><param name="movie" value="http://www.youtube.com/v/2k13-TPmyJM&hl=en_US&fs=1&rel=0"><param name="allowFullScreen" value="true"><param name="allowscriptaccess" value="always"><embed src="http://www.youtube.com/v/2k13-TPmyJM&hl=en_US&fs=1&rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" height="505" width="640"></embed></object>Madhusudhan Rao Shttp://www.blogger.com/profile/06465461717670321435noreply@blogger.com0tag:blogger.com,1999:blog-405746623872359661.post-50100425122435123972010-01-31T02:44:00.000-08:002010-01-31T02:44:51.383-08:00Cosmo's 10 Naughtiest iPad Sex Tips [Multi-touch Experience]Cosmo's 10 Naughtiest <a href="http://www.amazon.com/Apple-iPad-Tablet-16GB-Wifi/dp/B002C7481G?tag=meprints-20">iPad</a> Sex Tips [Multi-touch Experience]<br />
Apple's iPad is supposed to save print media, and <i>Cosmo</i> is a magazine that's just <i>begging</i> to be presented in a vibrating format. Here are some sex tips you can expect to see in the digital pages of the magazine:<br />
<b>10)</b> Play a racing game and crash your car into a tree. When the iPad starts to vibrate, rest his balls on it.<br />
<b>9)</b> Lie naked on the bed with the <a href="http://www.amazon.com/Apple-iPad-Tablet-16GB-Wifi/dp/B002C7481G?tag=meprints-20">iPad resting on your belly</a>. When he comes home, tell him he can surf the web <i>on you</i> tonight.<br />
<b>8)</b> How about some role playing? While wearing a black turtleneck and jeans, say you want to introduce him to a 'magical' new product... in your pants.<br />
<b>7)</b> Write him an e-mail explaining <i>exactly</i> what you want to do to him tonight in 64-point font. Everyone on the train knowing how sexy his girlfriend is will get him even hotter!<br />
<b>6)</b> Load a children's alphabet game and hold the iPad so he can see it during oral sex. Tell him to trace whatever letter pops on the screen.<br />
<br />
<b>5)</b> Keep ice water on your nightstand. Dip your fingers in it, and flick it on his chest. Then tap the end of the iPad's power cord on his nipples for a sexy shock.<br />
<br />
<b>4)</b> Sit facing your man while you're both holding your iPads and tell him to IM what he wants to do to you — no touching allowed. See how long he can resist!<b><br />
</b><br />
<b>3)</b> Check out the latest issue of <i>Cosmo</i> on the iPad... without using your hands. Seeing you pinch and click with your breasts is sure to make <i>something</i> bigger.<br />
<br />
<b>2)</b> Wrap your dirty thong around his iPad in the morning and leave it in his bag. He'll get a big surprise when he takes it out at work!<b></b><br />
<b>1)</b> Try to stick it in his butt.Madhusudhan Rao Shttp://www.blogger.com/profile/06465461717670321435noreply@blogger.com0tag:blogger.com,1999:blog-405746623872359661.post-5640785714414798242010-01-31T02:40:00.000-08:002010-01-31T02:40:16.716-08:00Sex explained with pens<a href="http://www.blameitonthevoices.com/2010/01/sex-explained-with-pens.html">Sex explained with pens</a>:<br /><center><img src="http://pics.blameitonthevoices.com/012010/sex_explained_with_pens.jpg" /></center><a href="http://www.buzzfeed.com/"><br /></a>Madhusudhan Rao Shttp://www.blogger.com/profile/06465461717670321435noreply@blogger.com1tag:blogger.com,1999:blog-405746623872359661.post-80890591551248378642010-01-04T23:45:00.000-08:002010-01-04T23:51:07.308-08:00Amazon Holiday Season 2009 facts * Most remote shipments contained the <a href="http://www.amazon.com/EMU-Australia-Toddler-Little-Chestnut/dp/B0018CDEWA?ie=UTF8&tag=meprints-20&link_code=btl&camp=213689&creative=392969" target="_blank">EMU Australia Toddler Boot</a> and was delivered to Atqasuk, Alaska.<br />
* Amazon customers purchased enough <a href="http://www.amazon.com/s/?ie=UTF8&search-alias=aps&tag=meprints-20&field-keywords=fruitcake">fruit cake</a> to equal the weight of a 1967 Volkswagen Bug.<br />
* Amazon customers bought enough <a href="http://www.amazon.com/Deluxe-Gingerbread-House-All-in-one-Kit/dp/B001EQZ9C8?ie=UTF8&tag=meprints-20&link_code=btl&camp=213689&creative=392969" target="_blank">gingerbread house kits</a> that if stacked on top of each other would be as tall as the Sears Tower.<br />
* If all the <a href="http://www.amazon.com/s/?ie=UTF8&search-alias=aps&tag=meprints-20&field-keywords=computers">computers</a> customers purchased this holiday were stacked one on top of the other, they would be more than twice as high as Mt. Everest.<br />
* Amazon customers bought over 50 times more <a href="http://www.amazon.com/s/?ie=UTF8&search-alias=aps&tag=meprints-20&field-keywords=Light+Therapy">Light Therapy</a> devices this holiday season than there are sunny days in Seattle the entire year.<br />
* For the holiday time period alone, Amazon customers purchased enough shoot-and-share <a href="http://www.amazon.com/s/?ie=UTF8&search-alias=aps&tag=meprints-20&field-keywords=camcorders">camcorders</a> to supply 50 years' worth of non-stop YouTube watching.<br />
* Amazon customers bought enough <a href="http://www.amazon.com/Levis-Mens-Jean-Black-34x32/dp/B001H0FWP0?ie=UTF8&tag=meprints-20&link_code=btl&camp=213689&creative=392969" target="_blank">Levi's jeans</a> to clothe everyone at the opening ceremony of the 2010 Olympics in Vancouver.<br />
* Amazon customers purchased so many <a href="http://www.amazon.com/Sony-BDP-S1-1080p-Blu-ray-Player/dp/B000DZS0G8?ie=UTF8&tag=meprints-20&link_code=btl&camp=213689&creative=392969" target="_blank">Blu-ray disc players</a> that if you lined them up side to side, they would stretch for more than 27 miles.<br />
* During the 2009 holiday season, Amazon customers bought enough <a href="http://www.amazon.com/Apple-touch-Generation-NEWEST-MODEL/dp/B002M3SOBU?ie=UTF8&tag=meprints-20&link_code=btl&camp=213689&creative=392969" target="_blank">8 GB iPod touches</a> to play 442 years of continuous music.<br />
* In 2009, Amazon customers purchased enough <a href="http://www.amazon.com/Reebok-Fitwatch-Strapless-Heart-Monitor/dp/B000G37H0M?ie=UTF8&tag=meprints-20&link_code=btl&camp=213689&creative=392969" target="_blank">heart rate monitor watches</a> to put one on the wrist of everyone who finished the New York City marathons in 2008 and 2009.<br />
* Amazon customers purchased enough Frustration-Free Package items to eliminate over 32,000 pounds of frustrating plastic materials, such as plastic clamshells.<br />
* The last One-Day Prime order that was delivered in time for Christmas, was placed on Dec. 23 at 9:17 p.m. Pacific and shipped to Boca Raton, Florida for delivery on Dec. 24. The item was a pair of <a href="http://www.amazon.com/Yellow-8x8-5mm-Freshwater-Cultured-Earrings/dp/B002DMKS9G?ie=UTF8&tag=meprints-20&link_code=btl&camp=213689&creative=392969" target="_blank">Yellow Gold 8-8.5mm Freshwater Cultured Pearl Stud Earrings</a>.<br />
* The last Local Express Delivery order that was delivered in time for Christmas, was placed by a Prime member and went to Seattle. It was a <a href="http://www.amazon.com/Kindle-Wireless-Reading-Display-Generation/dp/B0015T963C?ie=UTF8&tag=meprints-20&link_code=btl&camp=213689&creative=392969" target="_blank">Kindle</a> that was ordered at 1:43 p.m. on Christmas Eve and delivered at 4:57 p.m. that evening.<br />
<br />
Amazon.com's Hot Holiday Bestsellers (Nov. 15 through Dec. 19, based on units ordered):<br />
* Electronics: <a href="http://www.amazon.com/Kindle-Wireless-Reading-Display-Generation/dp/B0015T963C?ie=UTF8&tag=meprints-20&link_code=btl&camp=213689&creative=392969" target="_blank">Kindle Wireless Reading Device</a> <a href="http://www.amazon.com/Apple-touch-Generation-NEWEST-MODEL/dp/B002M3SOBU?ie=UTF8&tag=meprints-20&link_code=btl&camp=213689&creative=392969" target="_blank">Apple iPod touch 8 GB</a> and <a href="http://www.amazon.com/s/?ie=UTF8&search-alias=aps&tag=meprints-20&field-keywords=Garmin+nuvi+260W">Garmin nuvi 260W 4.3-inch GPS</a><br />
* Toys: <a href="http://www.amazon.com/Scrabble-Slam-Deluxe-Card-Game/dp/B001RNC0G6?ie=UTF8&tag=meprints-20&link_code=btl&camp=213689&creative=392969" target="_blank">Scrabble Slam Cards</a> <a href="http://www.amazon.com/MayFair-Games-4102480-Settlers-Bundle/dp/B000H6YECW?ie=UTF8&tag=meprints-20&link_code=btl&camp=213689&creative=392969" target="_blank">The Settlers of Catan</a> and <a href="http://www.amazon.com/Scene-It-Twilight-Deluxe-Edition/dp/B00263PYE6?ie=UTF8&tag=meprints-20&link_code=btl&camp=213689&creative=392969" target="_blank">Scene It? Twilight Deluxe Edition</a><br />
* Video Games and Hardware: <a href="http://www.amazon.com/Wii-Fit-Plus-Balance-Board/dp/B002BSA3EM?ie=UTF8&tag=meprints-20&link_code=btl&camp=213689&creative=392969" target="_blank">Wii Fit Plus with Balance Board</a> <a href="http://www.amazon.com/Nintendo-RVLPSMNE-Super-Mario-Bros/dp/B002BRZ9G0?ie=UTF8&tag=meprints-20&link_code=btl&camp=213689&creative=392969" target="_blank">New Super Mario Bros</a> and <a href="http://www.amazon.com/Call-Duty-Modern-Warfare-Hardened/dp/B001TOQ8PM?ie=UTF8&tag=meprints-20&link_code=btl&camp=213689&creative=392969" target="_blank">Call of Duty: Modern Warfare 2</a><br />
* Sports & Outdoors: <a href="http://www.amazon.com/Razor-A-Kick-Scooter-Blue/dp/B00008X32C?ie=UTF8&tag=meprints-20&link_code=btl&camp=213689&creative=392969" target="_blank">Razor A Kick Scooter</a> <a href="http://www.amazon.com/Victorinox-Swiss-Champion-Pocket-Knife/dp/B0009KF4GG?ie=UTF8&tag=meprints-20&link_code=btl&camp=213689&creative=392969" target="_blank">Victorinox Swiss Army Champion Plus Pocket Knife</a> and <a href="http://www.amazon.com/P90X-Extreme-Fitness-Workout-Program/dp/B000TG8D6I?ie=UTF8&tag=meprints-20&link_code=btl&camp=213689&creative=392969" target="_blank">P90X Extreme Home Fitness Workout Program</a><br />
* DVD: "<a href="http://www.amazon.com/Potter-Half-Blood-Two-Disc-Limited-Special/dp/B000ZECQ08?ie=UTF8&tag=meprints-20&link_code=btl&camp=213689&creative=392969" target="_blank">Harry Potter and the Half-Blood Prince</a>" "<a href="http://www.amazon.com/s/?ie=UTF8&search-alias=aps&tag=meprints-20&field-keywords=Star+Trek">Star Trek</a>" and "<a href="http://www.amazon.com/Disc-Combo-Pack-Digital-Blu-ray/dp/B001KVZ6G6?ie=UTF8&tag=meprints-20&link_code=btl&camp=213689&creative=392969" target="_blank">Up</a>"<br />
* Books: "<a href="http://www.amazon.com/Going-Rogue-American-Sarah-Palin/dp/0061939897?ie=UTF8&tag=meprints-20&link_code=btl&camp=213689&creative=392969" target="_blank">Going Rogue</a>" by Sarah Palin; "<a href="http://www.amazon.com/Lost-Symbol-Dan-Brown/dp/0385504225?ie=UTF8&tag=meprints-20&link_code=btl&camp=213689&creative=392969" target="_blank">The Lost Symbol</a>" by Dan Brown; and "<a href="http://www.amazon.com/Help-Kathryn-Stockett/dp/0399155341?ie=UTF8&tag=meprints-20&link_code=btl&camp=213689&creative=392969" target="_blank">The Help</a>" by Kathryn Stockett<br />
* Music: "<a href="http://www.amazon.com/I-Dreamed-Dream-Susan-Boyle/dp/B0026P3G12?ie=UTF8&tag=meprints-20&link_code=btl&camp=213689&creative=392969" target="_blank">I Dreamed A Dream</a>" by Susan Boyle; "<a href="http://www.amazon.com/My-Christmas-Deluxe-CD-DVD/dp/B002QCKOOC?ie=UTF8&tag=meprints-20&link_code=btl&camp=213689&creative=392969" target="_blank">My Christmas</a>" by Andrea Bocelli; and "<a href="http://www.amazon.com/Crazy-Love-Michael-Buble/dp/B002KDUDG6?ie=UTF8&tag=meprints-20&link_code=btl&camp=213689&creative=392969" target="_blank">Crazy Love</a>" by Michael Bublé<br />
* Jewelry: <a href="http://www.amazon.com/Sterling-Silver-Marcasite-Garnet-Pendant/dp/B000SMNL2E?ie=UTF8&tag=meprints-20&link_code=btl&camp=213689&creative=392969" target="_blank">Sterling Silver Marcasite & Garnet Glass Heart Pendant</a> <a href="http://www.amazon.com/White-Diamond-3-Stone-Pendant-Clarity/dp/B000O1QM8E?ie=UTF8&tag=meprints-20&link_code=btl&camp=213689&creative=392969" target="_blank">10k White Gold Diamond 3-Stone Heart Pendant</a> and <a href="http://www.amazon.com/Diamond-4-Prong-Earrings-SI1-SI2-Clarity/dp/B000IL7ODW?ie=UTF8&tag=meprints-20&link_code=btl&camp=213689&creative=392969" target="_blank">18k White Gold Round Diamond 4-Prong Stud Earrings</a><br />
* Watches: <a href="http://www.amazon.com/Casio-Waveceptor-Atomic-Dual-Time-WVQ400J-1/dp/B001C1JHPU?ie=UTF8&tag=meprints-20&link_code=btl&camp=213689&creative=392969" target="_blank">Casio Men's Waveceptor Atomic Dual-Time Watch</a> <a href="http://www.amazon.com/Invicta-Collection-Chronograph-Stainless-Steel/dp/B002PAPT22?ie=UTF8&tag=meprints-20&link_code=btl&camp=213689&creative=392969" target="_blank">Invicta Men's II Collection Chronograph Stainless Steel Blue Dial Watch</a> and <a href="http://www.amazon.com/Timex-Camouflage-Digital-Stretch-T71912/dp/B000B5256G?ie=UTF8&tag=meprints-20&link_code=btl&camp=213689&creative=392969" target="_blank">Timex Kids' Camouflage Stretch Band Watch</a><br />
* Beauty: <a href="http://www.amazon.com/s/?ie=UTF8&search-alias=aps&tag=meprints-20&field-keywords=Sephora+Brand+Color+Play+Palette+II">Sephora Brand Color Play Palette II</a> <a href="http://www.amazon.com/Santas-Lump-Coal-Christmas-Soap/dp/B001K6QF5W?ie=UTF8&tag=meprints-20&link_code=btl&camp=213689&creative=392969" target="_blank">Santa's Lump of Coal Christmas Soap</a> and <a href="http://www.amazon.com/Sephora-Brand-Mini-Clear-Brush/dp/B00021CPC8?ie=UTF8&tag=meprints-20&link_code=btl&camp=213689&creative=392969" target="_blank">Sephora Brand Ultimate Blockbuster</a><br />
* Home & Garden: <a href="http://www.amazon.com/Keurig-K-Cup-Reusable-Coffee-Filter/dp/B000DLB2FI?ie=UTF8&tag=meprints-20&link_code=btl&camp=213689&creative=392969" target="_blank">Keurig My K-Cup Reusable Coffee Filter</a> <a href="http://www.amazon.com/Vinturi-6700-Essential-Wine-Aerator/dp/B000UPOJ5W?ie=UTF8&tag=meprints-20&link_code=btl&camp=213689&creative=392969" target="_blank">Vinturi Essential Wine Aerator</a> and <a href="http://www.amazon.com/Oster-4207-Electric-Wine-Bottle-Opener/dp/B000COC5MK?ie=UTF8&tag=meprints-20&link_code=btl&camp=213689&creative=392969" target="_blank">Oster Electric Wine-Bottle Opener</a><br />
* Clothing & Accessories: <a href="http://www.amazon.com/Mountain-Three-Short-Sleeve-Black/dp/B000NZW3KC?ie=UTF8&tag=meprints-20&link_code=btl&camp=213689&creative=392969" target="_blank">The Mountain Three Wolf Moon Short Sleeve Tee</a> <a href="http://www.amazon.com/Levis-Relaxed-Medium-Stonewash-34x32/dp/B0018OKT8U?ie=UTF8&tag=meprints-20&link_code=btl&camp=213689&creative=392969" target="_blank">Levi's Men's 550 Relaxed Fit Jean</a> and <a href="http://www.amazon.com/Levis-Mens-Dimensional-Rigid-34x32/dp/B0018OS00O?ie=UTF8&tag=meprints-20&link_code=btl&camp=213689&creative=392969" target="_blank">Levi's Men's 501 Jean</a><br />
* Shoes and Handbags: <a href="http://www.amazon.com/Steve-Madden-Womens-Bonanza-Shafted/dp/B0018CM2YG?ie=UTF8&tag=meprints-20&link_code=btl&camp=213689&creative=392969" target="_blank">Steve Madden Women's Bonanza Tall Shafted Flat Boot</a> <a href="http://www.amazon.com/Hunter-Original-Welly-Chocolate-Womens/dp/B0019YB9CE?ie=UTF8&tag=meprints-20&link_code=btl&camp=213689&creative=392969" target="_blank">Hunter Original Tall Welly Boot</a> and <a href="http://www.amazon.com/EMU-Australia-Womens-Boot-Charcoal/dp/B0014DVD8K?ie=UTF8&tag=meprints-20&link_code=btl&camp=213689&creative=392969" target="_blank">EMU Australia Women's Hip Boot</a><br />
* Health & Personal Care: <a href="http://www.amazon.com/Omron-HJ-112-Digital-Pocket-Pedometer/dp/B0000U1OCI?ie=UTF8&tag=meprints-20&link_code=btl&camp=213689&creative=392969" target="_blank">Omron HJ-112 Digital Pocket Pedometer</a> <a href="http://www.amazon.com/Philips-Sonicare-Essence-Power-Toothbrush/dp/B000AMRII0?ie=UTF8&tag=meprints-20&link_code=btl&camp=213689&creative=392969" target="_blank">Philips Sonicare Essence 5300 Power Toothbrush</a> and <a href="http://www.amazon.com/Farouk-CHI-Inch-Ceramic-Hairstyling/dp/B0009V1YR8?ie=UTF8&tag=meprints-20&link_code=btl&camp=213689&creative=392969" target="_blank">Farouk CHI 1 Inch Ceramic Flat Hairstyling Iron</a><br />
* Gourmet Food: <a href="http://www.amazon.com/Appetit-Gourmet-Snacks-Gift-Basket/dp/B00066N8RU?ie=UTF8&tag=meprints-20&link_code=btl&camp=213689&creative=392969" target="_blank">Bon Appetit Gift Basket</a> <a href="http://www.amazon.com/Grand-Ghirardelli-Chocolate-Gift-Basket/dp/B000BLNU6E?ie=UTF8&tag=meprints-20&link_code=btl&camp=213689&creative=392969" target="_blank">Grand Ghirardelli Chocolate Gift Basket</a> and <a href="http://www.amazon.com/Retro-Candy-Decade-Birthday-Gift/dp/B000W4IYC0?ie=UTF8&tag=meprints-20&link_code=btl&camp=213689&creative=392969" target="_blank">50's Decade Box Gift Basket</a><br />
* Home Improvement: <a href="http://www.amazon.com/Black-Decker-MSW100-Ready-Wrench/dp/B002I06KIQ?ie=UTF8&tag=meprints-20&link_code=btl&camp=213689&creative=392969" target="_blank">Black & Decker MSW100 Ready Wrench</a> <a href="http://www.amazon.com/Bosch-DLR165K-Distance-Measuring-Device/dp/B000T7LISM?ie=UTF8&tag=meprints-20&link_code=btl&camp=213689&creative=392969" target="_blank">Bosch Laser Distance Measuring Device</a> and <a href="http://www.amazon.com/Joby-Gorillatorch-Adjustable-Flexible-Flashlight/dp/B002IT5DIU?ie=UTF8&tag=meprints-20&link_code=btl&camp=213689&creative=392969" target="_blank">Joby Gorillatorch Adjustable and Flexible Tripod Flashlight</a><br />
* Automotive Parts & Accessories: <a href="http://www.amazon.com/Wagan-12V-Heated-Seat-Cushion/dp/B000ANOUHQ?ie=UTF8&tag=meprints-20&link_code=btl&camp=213689&creative=392969" target="_blank">Wagan 12V Heated Seat Cushion</a> <a href="http://www.amazon.com/3M-Headlight-Lens-Restoration-System/dp/B001AIZ5HY?ie=UTF8&tag=meprints-20&link_code=btl&camp=213689&creative=392969" target="_blank">3M Headlight Lens Restoration System</a> and <a href="http://www.amazon.com/Autel-MaxiScan-MS300-OBD-II-Scan/dp/B001LHVOVK?ie=UTF8&tag=meprints-20&link_code=btl&camp=213689&creative=392969" target="_blank">Autel MaxiScan MS300 CAN OBD-II Scan Tool</a><br />
* Baby: <a href="http://www.amazon.com/Baby-Einstein-30704-Takealong-Tunes/dp/B000YDDF6O?ie=UTF8&tag=meprints-20&link_code=btl&camp=213689&creative=392969" target="_blank">Baby Einstein Takealong Tunes</a> <a href="http://www.amazon.com/Vulli-Sophie-Giraffe-Teether-Brown/dp/B000IDSLOG?ie=UTF8&tag=meprints-20&link_code=btl&camp=213689&creative=392969" target="_blank">Vulli Sophie the Giraffe Teether</a> and <a href="http://www.amazon.com/Baby-Einstein-30974-Bendy-Ball/dp/B001UF8BL4?ie=UTF8&tag=meprints-20&link_code=btl&camp=213689&creative=392969" target="_blank">Baby Einstein Bendy Ball</a><br />
* Software: <a href="http://www.amazon.com/Microsoft-Office-Home-Student-2007/dp/B000HCZ8EO?ie=UTF8&tag=meprints-20&link_code=btl&camp=213689&creative=392969" target="_blank">Microsoft Office Home and Student 2007</a> <a href="http://www.amazon.com/Adobe-65045174-Photoshop-Elements-8/dp/B002ID8R3Y?ie=UTF8&tag=meprints-20&link_code=btl&camp=213689&creative=392969" target="_blank">Adobe Photoshop Elements 8</a> and <a href="http://www.amazon.com/Microsoft-Office-2008-Home-Student/dp/B000X86ZAS?ie=UTF8&tag=meprints-20&link_code=btl&camp=213689&creative=392969" target="_blank">Microsoft Office 2008 for Mac Home & Student Edition</a><br />
* Grocery: <a href="http://www.amazon.com/Coffee-People-Brewers-Frustration-Free-Packaging/dp/B0029XDZIK?ie=UTF8&tag=meprints-20&link_code=btl&camp=213689&creative=392969" target="_blank">Coffee People Donut Shop K-Cups for Keurig Brewers</a> <a href="http://www.amazon.com/Coffee-People-K-Cup-Santas-24-Count/dp/B001GQ220I?ie=UTF8&tag=meprints-20&link_code=btl&camp=213689&creative=392969" target="_blank">Coffee People K-Cup Santa's Buzz</a> and <a href="http://www.amazon.com/Vita-Coco-Coconut-11-2-Ounce-Containers/dp/B000LL0R8I?ie=UTF8&tag=meprints-20&link_code=btl&camp=213689&creative=392969" target="_blank">Vita Coco 100% Pure Coconut Water</a><br />
* Wireless: <a href="http://www.amazon.com/Nokia-XpressMusic-Unlocked-Card-U-S-Warranty/dp/B001SEAOC6?ie=UTF8&tag=meprints-20&link_code=btl&camp=213689&creative=392969" target="_blank">Nokia 5800 XpressMusic Unlocked Phone</a> <a href="http://www.amazon.com/Plantronics-Voyager-510-Bluetooth-Packaging/dp/B0009B0IX4?ie=UTF8&tag=meprints-20&link_code=btl&camp=213689&creative=392969" target="_blank">Plantronics 510 Bluetooth Headset</a> and <a href="http://www.amazon.com/BlackBerry-Bold-9700-Phone-AT/dp/B002XDQHWW?ie=UTF8&tag=meprints-20&link_code=btl&camp=213689&creative=392969" target="_blank">BlackBerry Bold 9700 Phone (AT & T)</a>Madhusudhan Rao Shttp://www.blogger.com/profile/06465461717670321435noreply@blogger.com1tag:blogger.com,1999:blog-405746623872359661.post-36743215458610750472009-11-25T06:25:00.000-08:002009-11-25T06:25:28.753-08:00Sabina Stobrawe: Divorce lift<a href="http://adsoftheworld.com/media/ambient/sabina_stobrawe_divorce_lift"></a><a href="http://adsoftheworld.com/media/ambient/sabina_stobrawe_divorce_lift"><img src="http://adsoftheworld.com/files/images/sabinalift.preview.jpg" alt="Sabina Stobrawe: Divorce lift" title="Sabina Stobrawe: Divorce lift" height="413" width="590" /></a><p>A typical wedding photo was affixed to door lift doors in a law firm. Unfortunately, every time the doors opened, the couple split up. But help was at hand for everyone in the same position as soon as they stepped into the lift: a sign showed the name of the law firm and which floor the office was on.</p>Madhusudhan Rao Shttp://www.blogger.com/profile/06465461717670321435noreply@blogger.com0tag:blogger.com,1999:blog-405746623872359661.post-62609899595487685792009-11-17T04:15:00.000-08:002009-11-17T04:15:57.088-08:00Closure Compiler<a href="http://code.google.com/closure/compiler/">From Closure Compiler - Google Code</a>:<br /><br />"What is the Closure Compiler?<br /><br />The Closure Compiler is a tool for making JavaScript download and run faster. It is a true compiler for JavaScript. Instead of compiling from a source language to machine code, it compiles from JavaScript to better JavaScript. It parses your JavaScript, analyzes it, removes dead code and rewrites and minimizes what's left. It also checks syntax, variable references, and types, and warns about common JavaScript pitfalls.<br /><br />To help you work with your transformed code, you can also install the Closure Inspector, a tool that makes it easy to use the Firebug JavaScript debugger with the Compiler's output.<br /><br />The Closure Compiler has also been integrated with Page Speed, which makes it easier to evaluate the performance gains you can get by using the compiler."Madhusudhan Rao Shttp://www.blogger.com/profile/06465461717670321435noreply@blogger.com0tag:blogger.com,1999:blog-405746623872359661.post-70142044672973990092009-11-16T09:17:00.000-08:002009-11-16T09:17:31.493-08:00NoSQLs ComparedA good <a href="http://www.rackspacecloud.com/blog/2009/11/09/nosql-ecosystem/#">review</a> of the various NoSQLs products for<br />
1) supporting multiple datacenters, <br />
2) the ability to add new machines to a live cluster transparently to the your applications,<br />
3) data model,<br />
4) Query API and <br />
5) Persistence Design.<br />
The systems reviewed are: Cassandra, CouchDB, HBase, MongoDB, Neo4J, Redis, Riak, Scalaris, Tokyo Cabinet and Voldemort.<br />
Article: <a href="http://www.rackspacecloud.com/blog/2009/11/09/nosql-ecosystem/#">http://www.rackspacecloud.com/blog/2009/11/09/nosql-ecosystem/#</a>Madhusudhan Rao Shttp://www.blogger.com/profile/06465461717670321435noreply@blogger.com1tag:blogger.com,1999:blog-405746623872359661.post-52317939249132210022009-11-13T04:51:00.000-08:002009-11-13T04:51:16.310-08:00Funny Facebook Groups (Part 3)<a href="http://www.facebook.com/group.php?gid=2207893888">When I was your age, Pluto was a planet</a><br />
<a href="http://www.facebook.com/group.php?gid=2221197812">People Who Always Have To Spell Their Names For Other People</a><br />
<a href="http://www.facebook.com/group.php?gid=2204624095">I Use my Cell Phone to See in the Dark</a><br />
<a href="http://www.facebook.com/group.php?gid=2241554598">I Flip My Pillow Over to Get To The Cold Side</a><br />
<a href="http://www.facebook.com/group.php?gid=2223261784">Enough with the Poking, Lets Just Have Sex</a><br />
<a href="http://www.facebook.com/group.php?gid=2208738307">If this group reaches 4,294,967,296 it might cause an integer overflow</a><br />
<a href="http://www.facebook.com/group.php?gid=2337047545">Fuck Iraq, We have to catch Voldemort</a><br />
<a href="http://www.facebook.com/group.php?gid=2231217605">I read the group name, I laugh, I join, I never look at it again.</a><br />
<a href="http://www.facebook.com/group.php?gid=2223055911">Honestly, I write "lol" and I’m not Even Laughing</a><br />
<a href="http://www.facebook.com/group.php?gid=2205083234">I Will Go Out of My Way To Step On a Leaf That Looks Particularly Crunchy</a><br />
<a href="http://www.facebook.com/group.php?gid=2204678766">It wasnt awkward until you said "well, this is awkward". now its awkward.</a><br />
<a href="http://www.facebook.com/group.php?gid=2228101786">If I Fail My Exams, Its Facebook’s Fault</a>Madhusudhan Rao Shttp://www.blogger.com/profile/06465461717670321435noreply@blogger.com0tag:blogger.com,1999:blog-405746623872359661.post-81905102536264493082009-11-13T04:44:00.000-08:002009-11-13T04:44:12.439-08:00Funny Facebook Groups (Part 2)<a href="http://www.facebook.com/group.php?gid=2230138537">Bollywood gave me unrealistic expectations about desi women</a><br />
<br />
<a href="http://www.facebook.com/group.php?gid=2205067759">I Thought You Were Hot Until I Clicked on "View More Pictures"</a><br />
<br />
<a href="http://www.facebook.com/group.php?gid=2204643700">Alcohol Improves my Foreign Language!</a><br />
<br />
<a href="http://www.facebook.com/group.php?gid=2213991122">I Wish I Were Your Derivative So I Could Lie Tangent To Your Curves!</a><br />
<br />
<a href="http://www.facebook.com/group.php?gid=2238055741">When I was your age, we had to blow on the video games to make them work...</a><br />
<br />
<a href="http://www.facebook.com/group.php?gid=2216249686">Do you believe in love at first sight, or should I walk by again?</a><br />
<br />
<a href="http://www.facebook.com/group.php?gid=2242871450">For those who have ever pushed a "pull" door</a><br />
<br />
<a href="http://www.facebook.com/group.php?gid=2217646075">Geometry can kiss my Angle-Side-Side</a><br />
<br />
<a href="http://www.facebook.com/group.php?gid=2210864440">If I were an enzyme i would be DNA helicase so i could unzip your genes</a><br />
<br />
<a href="http://www.facebook.com/group.php?gid=2208419959">I Secretly Want To Punch Slow Walking People In The Back Of The Head</a>Madhusudhan Rao Shttp://www.blogger.com/profile/06465461717670321435noreply@blogger.com0tag:blogger.com,1999:blog-405746623872359661.post-80828650393396542982009-11-13T04:23:00.000-08:002009-11-13T04:23:31.455-08:00Funny Facebook Groups (Part 1)<a href="http://hs.facebook.com/group.php?gid=2208199073" target="_blank">Anteater-Mushroom Alliance</a><br />
<br />
<a href="http://hs.facebook.com/group.php?gid=2209982805" target="_blank">Writing Papers Single Spaced First Makes My Double Spaced Result Climactic</a><br />
<br />
<a href="http://hs.facebook.com/group.php?gid=2211268000" target="_blank">Most Replys Inner Scrotum</a>!!!<br />
<br />
<a href="http://www.facebook.com/group.php?gid=2222177132">I Paint My Nails Like a Blind Parkinson's Patient</a><br />
<a href="http://www.facebook.com/home.php#/group.php?gid=2204667614">I Dont care How Comfortable Crocs Are, You Look Like A Dumbass.</a><br />
<br />
<a href="http://www.facebook.com/home.php#/group.php?gid=2204702750">If You're OCD And You Know It Wash Your Hands!</a><br />
<br />
<a href="http://www.facebook.com/groups.php?id=506570399#/group.php?gid=2210922355">Dora the Explorer is soo an Illegal Immigrant...</a><br />
<br />
<a href="http://www.facebook.com/groups.php?id=506570399#/group.php?gid=2224878620">BRB... IM NOT REALLY GOING ANYWHERE, BUT NEITHER IS THIS CONVERSATION</a><br />
<br />
<a href="http://www.facebook.com/groups.php?id=506570399#/group.php?gid=2211128684">DAMM (drunks against mad mothers)</a><br />
<br />
<a href="http://www.facebook.com/groups.php?id=506570399#/group.php?gid=2229439298">When I Was Your Age, Shoes Didn't Have Wheels</a><br />
<br />
<a href="http://www.facebook.com/groups.php?id=506570399#/group.php?gid=2220914349">Worst. Facebook Group. Ever.</a><br />
<br />
<a href="http://www.facebook.com/groups.php?id=506570399#/group.php?gid=2205082699">it's obvi you're just jeal cause I speak in abrevs so whatev</a>Madhusudhan Rao Shttp://www.blogger.com/profile/06465461717670321435noreply@blogger.com0tag:blogger.com,1999:blog-405746623872359661.post-23178055042924364222009-11-09T02:41:00.000-08:002009-11-09T02:41:02.501-08:00Prefix Hash TreeDistributed Hash Tables are scalable, robust, and self-organizing peer-to-peer systems that support exact match lookups. This paper describes the design and implementation of a Prefix Hash Tree - a distributed data structure that enables more sophisticated queries over a DHT. The Prefix Hash Tree uses the lookup interface of a DHT to construct a trie-based structure that is both efficient (updates are doubly logarithmic in the size of the domain being indexed), and resilient (the failure of any given node in the Prefix Hash Tree does not affect the availability of data stored at other nodes).<br />
Paper: <a href="http://berkeley.intel-research.net/sylvia/pht.pdf">http://berkeley.intel-research.net/sylvia/pht.pdf</a>Madhusudhan Rao Shttp://www.blogger.com/profile/06465461717670321435noreply@blogger.com0tag:blogger.com,1999:blog-405746623872359661.post-43538477894466896252009-11-08T08:30:00.000-08:002009-11-08T08:32:21.271-08:00A List of Peoples' Names That Are Dirty SoundingFrom <a href="http://dirtysounding.com/">DirtySounding.com</a> <br />
<ul><li>Alotta Bush</li>
<li>Ben Dover</li>
<li>Dick N. Butts</li>
<li>Dixie Normous</li>
<li>Fonda Cox</li>
<li>Eaton Beaver</li>
<li>Giv M. Head</li>
<li>Harry Balls</li>
<li>Hugh Jorgan </li>
<li>Jack Schitt</li>
<li>Justin Yermouth</li>
<li>Master Bates</li>
<li>Moe Lester</li>
<li>Neil Down</li>
<li>Oliver Bush</li>
<li>Rolinda Joint </li>
<li>Sarah Tonin</li>
<li>Sawyer Crack</li>
<li>Seymour Butts </li>
<li>Willie Layer</li>
</ul>Madhusudhan Rao Shttp://www.blogger.com/profile/06465461717670321435noreply@blogger.com0tag:blogger.com,1999:blog-405746623872359661.post-49775855427332835442009-11-06T01:08:00.000-08:002009-11-06T01:08:58.514-08:00Donkeys hired as zebras<a href="http://www.blameitonthevoices.com/2009/10/donkeys-hired-as-zebras.html"></a><img src="http://pics.blameitonthevoices.com/102009/donkey_as_zebra.jpg" /><br />In Gaza, there's a shortage of zebras. <a href="http://news.yahoo.com/s/nm/20091008/od_nm/us_gaza_zebras">Donkeys get dye-job, take on zebra role</a>:Two white donkeys dyed with black stripes delighted Palestinian kids at a small Gaza zoo on Thursday who had never seen a zebra in the flesh.<br /><br />Nidal Barghouthi, whose father owns the Marah Land zoo, said the two female donkeys were striped using masking tape and women's hair dye, applied with a paint-brush.<br /><br />'The first time we used paint but it didn't look good,' he said. 'The children don't know so they call them zebras and they are happy to see something new.'<br /><br />A genuine zebra would have been too expensive to bring into Israel-blockaded Gaza via smuggling tunnels under the border with Egypt, said owner Mohammed Bargouthi. 'It would have cost me $40,000 to get a real one.'Madhusudhan Rao Shttp://www.blogger.com/profile/06465461717670321435noreply@blogger.com0tag:blogger.com,1999:blog-405746623872359661.post-88626528033024870932009-10-29T04:42:00.000-07:002009-10-29T04:42:48.860-07:00Memcached telnet interfaceMemcached telnet commands<br />
<br />
<table border="1"><tbody>
<tr><th>Command<br />
</th> <th>Description<br />
</th> <th>Example<br />
</th> </tr>
<tr> <td>get<br />
</td> <td>Reads a value<br />
</td> <td>get mykey<br />
</td> </tr>
<tr> <td>set<br />
</td> <td>Set a key unconditionally<br />
</td> <td>set mykey 0 60 5<br />
</td> </tr>
<tr> <td>add<br />
</td> <td>Add a new key<br />
</td> <td>add newkey 0 60 5<br />
</td> </tr>
<tr> <td>replace<br />
</td> <td>Overwrite existing key<br />
</td> <td>replace key 0 60 5<br />
</td> </tr>
<tr> <td>append<br />
</td> <td>Append data to existing key<br />
</td> <td>append key 0 60 15<br />
</td> </tr>
<tr> <td>prepend<br />
</td> <td>Prepend data to existing key<br />
</td> <td>prepend key 0 60 15<br />
</td> </tr>
<tr> <td>incr<br />
</td> <td>Increments numerical key value by given number<br />
</td> <td>incr mykey 2<br />
</td> </tr>
<tr> <td>decr<br />
</td> <td>Decrements numerical key value by given number<br />
</td> <td>decr mykey 5<br />
</td> </tr>
<tr> <td>delete<br />
</td> <td>Deletes an existing key<br />
</td> <td>delete mykey<br />
</td> </tr>
<tr> <td rowspan="2">flush_all<br />
</td> <td>Invalidate specific items immediately<br />
</td> <td>flush_all<br />
</td> </tr>
<tr> <td>Invalidate all items in n seconds<br />
</td> <td>flush_all 900<br />
</td> </tr>
<tr> <td rowspan="7">stats<br />
</td> <td>Prints general statistics<br />
</td> <td>stats<br />
</td> </tr>
<tr> <td>Prints memory statistics<br />
</td> <td>stats slabs<br />
</td> </tr>
<tr> <td>Prints memory statistics<br />
</td> <td>stats malloc<br />
</td> </tr>
<tr> <td>Print higher level allocation statistics<br />
</td> <td>stats items<br />
</td> </tr>
<tr> <td><br />
</td> <td>stats detail<br />
</td> </tr>
<tr> <td><br />
</td> <td>stats sizes<br />
</td> </tr>
<tr> <td>Resets statistics<br />
</td> <td>stats reset<br />
</td> </tr>
<tr> <td>version<br />
</td> <td>Prints server version.<br />
</td> <td>version<br />
</td> </tr>
<tr> <td>verbosity<br />
</td> <td>Increases log level<br />
</td> <td>verbosity<br />
</td> </tr>
<tr> <td>quit<br />
</td> <td>Terminate telnet session<br />
</td> <td>quit<br />
</td></tr>
</tbody></table>Madhusudhan Rao Shttp://www.blogger.com/profile/06465461717670321435noreply@blogger.com0tag:blogger.com,1999:blog-405746623872359661.post-33802495717509594182009-10-28T06:07:00.000-07:002009-10-28T06:07:09.509-07:00Tennis Pros: Hilarious Replies and One-Liers<a href="http://bleacherreport.com/articles/273137-hilarious-replies-and-one-liers"></a><p>Over the years, we have watched great tennis players who have played some beautiful tennis. But they have also given us great replies and one-liners. So, here we take a look at that. </p><p>Andy Roddick will definitely contribute to the list. Go A-Rod.</p><p><strong>Hilarious Questions and Replies</strong></p><p>After Wimbledon win, Roger Federer had this conversation with an interviewer:</p><p>Interviewer: 'After you had won Wimbledon, you were given a cow called Juliette when you returned to Switzerland. Is there another Juliette waiting for you?'</p><p>Federer: 'I hope not. By the way, Juliette is expecting a calf.'</p><p>Interviewer: 'Congratulations!'</p><p>Federer: 'Thanks, but I’m not the father.'</p><p><br /></p><p>Before US open '05, Roddick was asked:</p><p>Interviewer: 'What are your chances in the US Open?</p><p>Roddick: 'As good as anybody not named Roger.'</p><p><br /></p><p>Another Roddick gem:</p><p>Interviewer: 'You have a very fast serve.'</p><p>Roddick: 'It killed a small dog.'<br /> </p><p>After which comment, he claimed he was joking because she was not laughing at all...</p><p>Roddick: 'I'm joking, I am joking...The dog was huge.'</p><p><br /></p><p>The press conference he did after losing to Roger in the Aussie '07 SF...had some interesting transcriptions...<br /><br />Reporter: 'What was it like for you being on the end of that?'<br />Andy: 'It was frustrating. It was miserable. It sucked. It was terrible. Besides that it was fine.'<br /><br />Reporter: 'What did Jimmy (Connors—his coach) say after?'<br />Andy: 'He gave me a beer.'<br /><br />Reporter: 'Take us from 4-4, because up 'til then you were in the match. Then you got broken.'<br />Andy: 'Then I broken three more times. And two more times in the third set, and it was over 26 minutes later. Is that about what you saw too?'<br /><br />Reporter: 'How do you rate Haas's or Gonzalez's chances in the final?'<br />Andy: 'Slim.'<br /><br />Reporter: 'You're performance on here is better than on court.'<br />Andy: 'No shit. If there were rankings for press conferences I wouldn't have to worry about falling out of the top five I hope.'<br /><br />Reporter: 'After a defeat like this do you sleep well?'<br />Andy: 'Depends how much I drink tonight.'<br /><br />Reporter: 'How much would you have paid in order to not have to come to the press conference tonight?'<br />Andy: 'That's about the best question that's been asked. Well, I can't really say an amount because I would have gotten fined $20,000 (for not coming to the press conference). So, it would have to be less than that, right? If we're thinking logically. But it wouldn't be about the money. It would be about running away and not facing it. I would pay a lot of money if people would make stuff up and pretend I said it. But my dad didn't raise me like that, so here I am.'</p><p>The last one of his replies; Roddick was invited to some show, and the conversation with the host was like this:</p><p>Host: 'Do you have any hint for me? Did you bring me present of any sort?'<br />Roddick: 'A present?'<br />Host: 'Yeah'<br />Roddick: 'It's compulsory?'<br />Host: 'Ya, Great Agassi came to the show, and he gave me the racket he won the Davis Cup with.'<br />Roddick: 'Really!!'<br />Host: 'You didn't bring me anything?'<br />Roddick: 'I CAN'T BRING YOU SHIT...'</p><p>Reporter: 'What did Jimmy say? US Open he got on a real roll too. Did you talk about what to do if Roger got on a roll, change strategy, slow it down?'<br />Andy: 'There's a lot of strategy talk. But not if you're down 6-4 6-0 2-0. We didn't really talk about that. Oops.'</p><p><strong>One-Liners</strong></p><p>Now, some good one-liners:</p><p>'It's just unreal, I'm shocked myself. I've played good matches here, but never really almost destroyed somebody. It's a match for him to forget...and for me to remember!'<br />—Roger Federer, after defeating Andy Roddick in the AO '07 SF</p><p>'Hey—you guys with the ladder. If you come here I'll buy you pizza.'<br />—Andy Roddick, calling out to firefighters in the process of rescuing Roddick and other hotel guests from a fire in Rome.</p><p>'I've got to feel good because (Djokovic) has got about 16 injuries'<br />—Andy Roddick on Djovokic's injuries.</p><p><br />Roddick: 'Isn't it both of them? And a back? and a hip? And a cramp... bird flu... anthrax. SARS, common cough, and a cold.'</p><p>'My hobbies include underwater fire extinguishing.'<br />—Andy Roddick</p><p>“If Pete’s child is a girl, my son will like her; if he’s a boy, my son will defeat him.” —Agassi.</p><p>Asked what it feels like to be the World No. 1, Roger jokingly replied:<br /><br />'It's great. Everybody suddenly rates my good strokes as outstanding, and my poorer strokes as almost outstanding.'</p><p>'When I was 40, my doctor advised me that a man in his 40s shouldn't play tennis. I heeded his advice carefully and could hardly wait until I reached 50 to start again.'<br />—Hugo L. Black</p><p>'I did my job, got a beautiful cup and a beautiful cheque. That’s it. I didn’t change the world'<br />—Marat on his Slam wins</p><p>“Yeah, I choked, but shit happens”<br />—Marat Safin</p><p>'I'd like just one time to see you guys step up and do something for us.'<br />—Andy Roddick venting on ATP Supervisor Gayle Bradshaw after getting no love from the chair umpire at the ATP Scottsdale event.</p><p>'I don't go out there to love my enemy. I go out there to squash him.' —Jimmy Connors</p><p>'I am the best tennis player who cannot play tennis.' —Ion Tiriac</p><p>'Winners aren't popular, losers often are.' —Virginia Wade</p><p> 'If you put two monkeys on to play you'd still pack the centre court.' —Neil Fraser, commenting on Wimbledon's popularity<br /><br />'One day when a linesman starts to laugh, I swear I will hit the guy over the head with my racket. I think it will be the end of my career, but I will be happy.' —Ilie Nastase<br /><br />'When I won Wimbledon, I said to God: Just let me win this one tournament and I won't play another match. Maybe God's telling me to go home, but I don't want to go home. We are negotiating at the moment.' —Goran Ivanisevic<br /><br />'If I can't serve on grass, I can maybe help cut the grass, paint the lines, and serve some strawberries.' —Goran Ivanisevic<br /><br />'The best doubles pair in the world is John McEnroe and anyone else.' —Peter Fleming<br /><br />'I can't believe he is dumping me, his buddy for seven years, for a kid he's never seen before.' —Paul Haarhuis complaining about his doubles partner Jacco Eltingh flying home from the US Open for the birth of his son<br /><br />'How to shake hands.' —Bettina Bunge, on what she had learned from a series of rapid defeats to Martina Navratilova<br /><br />'Experience is a great advantage. The problem is that when you get the experience, you're too damned old to do anything about it.' —Jimmy Connors<br /><br />'I love Wimbledon. But why don't they stage it in the summer?' —Vijay Amritraj during the rain-drenched 2007 Championships)<br /><br />'If you want to talk, it's okay with me. I sit and relax.' —Gael Monfils taking a seat while Nicolas Almagro debated with umpire and match referee, Australian Open 2009</p><p>'I'm gonna have to start winning some of the matches to call it a rivalry!' —Andy Roddick on being asked whether he and Roger Federer had a rivalry that would last for years</p><p>'Pete is a step and a half slower.' —Greg Rusedski after losing to Pete Sampras in the US Open)</p><p>'Against him I don't need to be a step and a half quicker.' —Pete Sampras responding to Greg Rusedski's criticism—he went on to win the title!<br /><br />'Umpiring, the only job in the world where you can screw up on a daily basis and still have one!' —Andy Roddick<br /><br />'She doesn't sleep. At night she seems to turn into a vampire.' —Goran Ivanisevic on the joys of fatherhood<br /><br />'Look, Nastase, we used to have a famous cricket match in this country called Gentlemen versus Players. The Gentlemen were put down on the scorecard as 'Mister' because they were gentlemen. By no stretch of the imagination can anybody call you a gentleman.' —Wimbledon umpire, on being told to address Ilie Nastase as 'Mister'<br /><br />'Thanks, but no. I want to be a winner.' —Maria Sharapova on being compared to Anna Kournikova<br /><br />'Going to the dentist. On second thought, I would rather have a root canal than play Santoro.' —Marat Safin, on being asked his biggest fear<br /><br />'If I don't win tonight, I guess the sun will still come up in the morning.' —Arthur Ashe<br /><br />'I had a feeling today that Venus Williams would either win or lose.' —Martina Navratilova <br /><br />'The difference between night and day is, er, night and day.' —Tim Henman</p><p>Andrew Castle: 'Where are all these Serbians from?'<br />Greg Rudseski: 'Serbia?' (during Wimbledon 2007) <br /><br />'There are no excuses. I could blame it on a lack of match practice time, or on playing the world No. 10...I had a sore stomach as well.' —Sania Mirza, Australian Open 2009<br /><br />'I broke all my rackets. I didn't have a racket for the fifth set. I broke four. Now, I hold the record. Now, I go home. No rackets. I really don't like these rackets.' —Nikolay Davydenko, US Open 2008</p><p>'You're on live TV, you know. You look like a real moron right now.'<br />—The lovable Andy Roddick, yelling at a chair umpire at Indianapolis</p><p>'You're an idiot! Stay in school kids, or you'll end up being an umpire.'</p>Madhusudhan Rao Shttp://www.blogger.com/profile/06465461717670321435noreply@blogger.com0tag:blogger.com,1999:blog-405746623872359661.post-21423085297612198012009-10-28T04:40:00.000-07:002009-10-28T04:40:44.191-07:00Xbox 360 GamesCheckout the latest <a href="http://astore.amazon.com/xbox_360_-20">Xbox 360 games</a> here and pre-order the <a href="http://www.amazon.com/gp/redirect.html?ie=UTF8&location=http%3A%2F%2Fwww.amazon.com%2Fs%3Fie%3DUTF8%26field-releasedate%3D28x-2y%26node%3D14220161%26sort%3Drelevancerank%26search-alias%3Dvideogames%26ref%255F%3Dvg%255Fflx%255Fnewarrivals%255Fall%26field-enc-merchantbin%3DATVPDKIKX0DER%26field-availability%3D-1%26size%3D6&tag=xbox_360_-20&linkCode=ur2&camp=1789&creative=390957">upcoming Xbox Games</a><img alt="" border="0" class=" ycsxeddhappksisewhyw ycsxeddhappksisewhyw ycsxeddhappksisewhyw ycsxeddhappksisewhyw ycsxeddhappksisewhyw" height="1" src="https://www.assoc-amazon.com/e/ir?t=xbox_360_-20&l=ur2&o=1" style="border: medium none ! important; margin: 0px ! important;" width="1" /> here<br />
<iframe frameborder="0" height="1000" scrolling="no" src="http://astore.amazon.com/xbox_360_-20" width="90%"></iframe>Madhusudhan Rao Shttp://www.blogger.com/profile/06465461717670321435noreply@blogger.com0