tag:blogger.com,1999:blog-53532323876472313752009-03-14T15:49:06.362-04:00Alexander's Blog - The Making of LetMeGo.comAlexander Torrenegrahttp://www.blogger.com/profile/15816485964217369562noreply@blogger.comBlogger71125tag:blogger.com,1999:blog-5353232387647231375.post-58165323109697032712009-03-13T01:32:00.003-04:002009-03-13T01:35:17.697-04:00The First Public Photo of Our Team. Guess Who Is Who!<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_ZES34T8bQco/SbnwHm7SKlI/AAAAAAAABXQ/HUH5w41rprY/s1600-h/P3123878.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="http://4.bp.blogspot.com/_ZES34T8bQco/SbnwHm7SKlI/AAAAAAAABXQ/HUH5w41rprY/s400/P3123878.jpg" alt="" id="BLOGGER_PHOTO_ID_5312541248959162962" border="0" /></a>Okay... this is a "virtual" picture, but a picture nonetheless. It is the snapshot of our Wii Fit welcome screen. Most of us are investing around 30 minutes per day exercising on it while working on the <a href="http://alexander.letmego.com/2009/02/letmego-immersion-is-effort-to-release.html">LetMeGo Immersion</a>. Some of us are gaining weight, some of us are losing. <span style="font-weight: bold;">Can you guess who is who?</span><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5353232387647231375-5816532310969703271?l=www.letmego.com'/></div>Alexander Torrenegrahttp://www.blogger.com/profile/17218711933202453134noreply@blogger.com2tag:blogger.com,1999:blog-5353232387647231375.post-86750366236189822942009-03-12T00:47:00.000-04:002009-03-12T02:17:25.717-04:00Best Tests I Received for the LetMeGo ImmersionHi there! Several weeks ago we announced that we were <a href="http://alexander.letmego.com/2009/01/very-special-90-day-job-opportunity.html">looking for people</a> for the <a href="http://alexander.letmego.com/2009/02/letmego-immersion-is-effort-to-release.html">LetMeGo Immersion</a>. Almost immediately we started getting applications that included the required tests. Applying was not easy and working on these tests could take a full day, easily.<br /><br />Although we are already fully immersed, some people asked me to show them some of the tests that we had received. Well, these are the two tests that I liked the most:<br /><br /><span style="font-weight: bold;"><a href="http://www.linkedin.com/in/arielpatino">Ariel Patiño</a>:</span><ul><li>Web app: <a href="http://www.ficticio.com/twitter/">http://www.ficticio.com/twitter/</a></li><li>Unit tests: <a href="http://www.ficticio.com/twitter/app/webroot/test.php?case=controllers/accounts_controller.test.php&app=true&show_passes=1">http://www.ficticio.com/twitter/app/webroot/test.php?case=controllers/accounts_controller.test.php&app=true&show_passes=1</a></li><li>Selenium test: <a href="http://www.ficticio.com/twitter/files/twittertestsuit.zip">http://www.ficticio.com/twitter/files/twittertestsuit.zip</a><br /></li></ul><span style="font-weight: bold;"><a href="http://www.linkedin.com/in/draka">Juan Carlos Martinez</a>:</span><br /><ul><li>Web App: <a href="http://draka.fronetserver.com/twitter/">http://draka.fronetserver.com/twitter/</a></li><li>Unit tests: <a href="http://draka.fronetserver.com/twitter/app/webroot/test.php?show=cases&app=true">http://draka.fronetserver.com/twitter/app/webroot/test.php?show=cases&app=true</a> (not working, though)</li><li>Selenium test: <a href="http://draka.fronetserver.com/twitter/test.rar">http://draka.fronetserver.com/twitter/test.rar</a></li></ul>When the deadline for the applications was reached, we had received a few dozen tests. This post is also a public "thank you" to all the applicants.<br /><br />Alexander Torrenegra<br /><br />P.S. I have posted this information with Ariel's and Juan's permission.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5353232387647231375-8675036623618982294?l=www.letmego.com'/></div>Alexander Torrenegrahttp://www.blogger.com/profile/17218711933202453134noreply@blogger.com0tag:blogger.com,1999:blog-5353232387647231375.post-65159411234228200752009-03-06T00:13:00.002-05:002009-03-06T00:16:41.415-05:00The Requirements of LetMeGo Have Been Written DownI started documenting the requirements for the <a href="http://about.letmego.com/letmego/content/our_software_engine">Merrcury Engine</a> (the software behind the upcoming <a href="http://letmego.com">LetMeGo.com</a>) back in January of 2008. We finished it yesterday, after having invested around 2,000 hours of work on it. Most of these hours were mine, but I received help from the entire team.<br /><br />These requirements are being used to code our beta-version. They are composed of 178 <a href="http://en.wikipedia.org/wiki/Use_case">use cases</a> and 908 user interfaces. The character count adds up to 1,903,145. That is equivalent, more or less, to a novel of 1,000 pages. A very booooooring novel, though.<br /><br />A few months ago, and just for fun, we came up with a graph, visualizing the requirements. I just upgraded it. Each node is a use case or user interface. Each orange line is a link to a use case, while each black line is a link to a user interface. The version of the graph that we are publishing here is small, on purpose, so that you can't read the names of the use cases or the user interfaces. The original size of the graph is around 25k x 20k pixels. It was rendered using the radial method of <a href="http://www.graphviz.org/">Graphviz</a>.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://oblivion.torrenegra.com/cms/var/oblivion_admin/storage/images/letmego/content/our_software_engine/merrcury_engine/8943-1-eng-US/merrcury_engine.gif"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 700px; height: 593px;" src="http://oblivion.torrenegra.com/cms/var/oblivion_admin/storage/images/letmego/content/our_software_engine/merrcury_engine/8943-1-eng-US/merrcury_engine.gif" alt="" border="0" /></a><br />... and now... I am going to join the rest of the team in writing code.<br /><br />Alexander Torrenegra<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5353232387647231375-6515941123422820075?l=www.letmego.com'/></div>Alexander Torrenegrahttp://www.blogger.com/profile/17218711933202453134noreply@blogger.com0tag:blogger.com,1999:blog-5353232387647231375.post-14932359163653563402009-03-03T01:29:00.007-05:002009-03-03T08:42:59.708-05:00Let Me Go @ High SpeedsThis is a quick post. <a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_ZES34T8bQco/SazSINjA1jI/AAAAAAAABXA/F9j-QVzGrCY/s1600-h/Picture+1.png"><img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 400px; height: 215px;" src="http://4.bp.blogspot.com/_ZES34T8bQco/SazSIP8x0KI/AAAAAAAABXI/R2X0mMaxv6E/s400/Picture+2.png" alt="" id="BLOGGER_PHOTO_ID_5308849099925213346" border="0" /></a><br /><br /><span style="font-weight: bold;">The problem:</span><br /><br />The code that we had already developed for the <a href="http://about.letmego.com/letmego/content/our_software_engine">Merrcury Engine</a> (the software behind the future <a href="http://www.letmego.com/">LetMeGo.com</a>) was responding to requests at a very slow rate. The fastest pages were taking more than four seconds to render. The most complex one's were timing out! That is too slow. Google can respond to queries in less than 0.1 seconds.<br /><br />Given our <a href="http://alexander.letmego.com/2008/10/letmego-architecture.html">unusual architectural bet</a>, we had major concerns with the performance we were experiencing. As a matter of fact, some of us were thinking that a major architectural overhaul was required.<br /><br /><span style="font-weight: bold;">The solution:</span><br /><br /><a href="http://about.letmego.com/letmego/content/team_members/german_gonzalez">German</a> and <a href="http://about.letmego.com/letmego/content/team_members/luis_molina">Lucho</a>, with <a href="http://about.letmego.com/letmego/content/team_members/andres_herrera">Andres</a>' help, worked on this issue during the first few days of the <a href="http://alexander.letmego.com/2009/02/letmego-immersion-is-effort-to-release.html">LetMeGo Immersion</a>. They tried many things. Among the following:<br /><ul><li>They installed <a href="http://jakarta.apache.org/jmeter/">performance logging tools</a></li><li>They activated the <a href="http://gettingeek.com/translation-with-poedit-internationalize-localize-wp-themes-guide-part-3-74.html">use of .mo files</a> (instead of .po) for the internationalization logic</li><li>They activated cache at several levels</li><li>The fixed a couple of bugs with CakePHP</li><li>They improved the way web services are called</li><li>They replaced a sub-system with a <a href="http://book.cakephp.org/view/319/Plugins">CakePHP plug-in</a>.</li></ul><span style="font-weight: bold;">The result:</span><br /><br />We improved from 4 seconds down to 0.4 secs!!! (and that is via an encrypted connection). We are very happy with the performance for now, but we will work on a second performance review later on to see how low we can go. :)<br /><br />Thank you German, Lucho, and Andres!<br /><br />Alexander Torrenegra<br /><br />P.S. Sorry for the lack of details, but I'm very tired. Good night!<br /><br />P.P.S. The screenshot is from the performance tests being run in German's machine. That is why they are well below the 0.4 secs that our development server (in AWS) takes to respond.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5353232387647231375-1493235916365356340?l=www.letmego.com'/></div>Alexander Torrenegrahttp://www.blogger.com/profile/17218711933202453134noreply@blogger.com1tag:blogger.com,1999:blog-5353232387647231375.post-63067441452338963412009-02-27T09:25:00.008-05:002009-02-27T09:51:10.542-05:00The LetMeGo Business Plan... Revealed!<div style="text-align: center;"><img style="margin: 0px auto 10px; text-align: center;" src="http://img18.imageshack.us/img18/166/bizplan.jpg" border="0" /><br /></div><div style="text-align: center;">Easy as pie!<br /></div><br />Okay... this is not our business plan :P - It is a collection of random thoughts we had while <a href="http://about.letmego.com/letmego/content/team_members/german_gonzalez">German</a> and I were discussing the best methods and algorithms we could use to predict the prices that a lodging could charge for any given itinerary.<br /><br />If you are interested in the topic, here are some interesting resources:<br /><br />* <a href="http://www.duke.edu/%7Ernau/Decision411CoursePage.htm">Forecasting</a> (an MBA Class from Duke University)<br />* <a href="http://www.sciencedirect.com/science?_ob=ArticleURL&_udi=B6V9R-4V0VBRY-1&_user=10&_rdoc=1&_fmt=&_orig=search&_sort=d&view=c&_acct=C000050221&_version=1&_urlVersion=0&_userid=10&md5=9d7c750768668baf560ddff366f27701">Forecasting tourism demand with ARMA-based methods</a><br />* <a href="http://en.wikipedia.org/wiki/ARIMA">Autoregressive integrated moving average</a><br />* <a href="http://en.wikipedia.org/wiki/Spline_interpolation">Spline interpolation </a><br />* <a href="http://www.cs.mtu.edu/%7Eshene/COURSES/cs3621/NOTES/">Introduction to Computing with Geometry Notes </a><br /><br />We are not sure which method we will end up using, but it is likely that we will use a combination of some of the above.<br /><br />By the way, this picture was taken by <a href="http://about.letmego.com/letmego/content/team_members/luis_molina">Lucho</a> while we were having dinner at the LetMeGo Immersion. You can see his Flickr photostream <a href="http://flickr.com/photos/aku-ma/">here</a>.<br /><br />Alexander Torrenegra<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5353232387647231375-6306744145233896341?l=www.letmego.com'/></div>Alexander Torrenegrahttp://www.blogger.com/profile/17218711933202453134noreply@blogger.com0tag:blogger.com,1999:blog-5353232387647231375.post-85107866595874151412009-02-26T20:27:00.000-05:002009-02-26T20:27:00.730-05:00We Just Upgraded to CakePHP 1.2.1<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_ZES34T8bQco/SadAyWtadCI/AAAAAAAABWA/sQ4RGsLgyo0/s1600-h/Picture+1.png"><img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 256px; height: 257px;" src="http://1.bp.blogspot.com/_ZES34T8bQco/SadAyWtadCI/AAAAAAAABWA/sQ4RGsLgyo0/s320/Picture+1.png" alt="" id="BLOGGER_PHOTO_ID_5307281919713113122" border="0" /></a>The <a href="http://about.letmego.com/letmego/content/our_software_engine">Merrcury Engine</a>, the software that will be behind LetMeGo.com, is based on the <a href="http://cakephp.org/">CakePHP</a> framework. When we started work in the LetMeGo Project a year ago we used <span style="font-style: italic;">CakePHP 1.2 beta</span>. A few months ago <a href="http://about.letmego.com/letmego/content/team_members/german_gonzalez">German</a> upgraded the Merrcury Engine to <span style="font-style: italic;">CakePHP 1.2 RC2</span> (release candidate 2). On January 16th of this year <span style="font-style: italic;">CakePHP 1.2.1.8004 Stable</span> was released. Last week, once again, German started the upgrading process of the Merrcury Engine. He just finished the upgrade. There were many changes in the CakePHP framework that we had to pay attention to. Fortuntally, we could easily pinpoint most of the issues as we are close to having 100% <a href="http://en.wikipedia.org/wiki/Code_coverage">code coverage</a>.<br /><br />It was a long shot, but I think we made a good call when we started using <span style="font-style: italic;">CakePHP 1.2 beta</span> instead of <span style="font-style: italic;">Cake PHP 1.1.x Stable</span>. We were hoping that a stable version of CakePHP 1.2 was going to be ready before LetMeGo went live and, in fact, it happened that way.<br /><br />Thank you German!<br /><br />Alexander Torrenegra<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5353232387647231375-8510786659587415141?l=www.letmego.com'/></div>Alexander Torrenegrahttp://www.blogger.com/profile/17218711933202453134noreply@blogger.com0tag:blogger.com,1999:blog-5353232387647231375.post-82046032666618201142009-02-23T09:30:00.002-05:002009-02-23T09:37:50.358-05:00The LetMeGo Immersion Has Started!!! The Webcam Is Now Live<span style="font-weight: bold;">The <a href="http://alexander.letmego.com/2009/02/letmego-immersion-is-effort-to-release.html">LetMeGo Immersion</a> has started!!!</span> You will be able to check us out live, all the time, via the webcam player embedded below. It will also be embedded in the home page of my blog at <a href="http://alexander.letmego.com/">http://alexander.letmego.com</a><br /><br />I will continue providing updates here in <a href="http://alexander.letmego.com/">my blog</a> and via twitter <a href="http://twitter.com/torrenegra">@torrenegra</a>.<br /><br /><center><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="utv957306" height="320" width="400"><param name="flashvars" value="viewcount=false&autoplay=false&brand=embed"><param name="allowfullscreen" value="true"><param name="allowscriptaccess" value="always"><param name="movie" value="http://www.ustream.tv/flash/live/1/526384"><embed flashvars="viewcount=false&autoplay=false&brand=embed" allowfullscreen="true" allowscriptaccess="always" id="utv957306" name="utv_n_739432" src="http://www.ustream.tv/flash/live/1/526384" type="application/x-shockwave-flash" height="320" width="400"></embed></object></center><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5353232387647231375-8204603266661820114?l=www.letmego.com'/></div>Alexander Torrenegrahttp://www.blogger.com/profile/17218711933202453134noreply@blogger.com1tag:blogger.com,1999:blog-5353232387647231375.post-67751387198206663422009-02-18T17:48:00.002-05:002009-02-19T09:16:02.896-05:00The LetMeGo Immersion<div>The LetMeGo Immersion is an effort to release LetMeGo on time. Six developers will be coding 24x7 (minus sleeping time) for over three months. They will be living together in an undisclosed location in or near Bogota, Colombia.<br /><br />Why are we doing such a crazy thing? Primarily because of timing, but also because of fun and passion. I recently wrote an article about this type of "development immersion". <a href="http://alexander.letmego.com/2009/01/really-fast-development-and-i-seriously.html">You can read it here</a>.<br /></div><br /><div> <b>This is the spec sheet of this effort:</b><b><br /></b><ul><li><b>The People: </b><a href="http://about.letmego.com/letmego/content/team_members/henry_canastero">Henry Canastero</a>, <a href="http://about.letmego.com/letmego/content/team_members/german_gonzalez">German Gonzalez</a>, <a href="http://about.letmego.com/letmego/content/team_members/andres_herrera">Andres Herrera</a>, <a href="http://vidanp.wordpress.com/">Nicolas Bohorquez</a>, <a href="http://about.letmego.com/letmego/content/team_members/luis_molina">Luis "Lucho" Molina</a>, and me, <a href="http://about.letmego.com/letmego/content/team_members/alexander_torrenegra">Alexander Torrenegra</a>.</li><li><b>The Time: </b>90 days from February 23rd through June 6th with six weekend breaks in between.</li><li><b>The Logistics: </b>Outsourrce It, lead by <a href="http://about.letmego.com/letmego/content/team_members/leonardo_suarez">Leonardo Suarez</a> and <a href="http://about.letmego.com/letmego/content/team_members/jorge_rubio">Jorge Rubio</a>, is taking care of the logistics (from finding the place, to buying towels, to keeping the place clean).</li> <li><b>The Methodology: </b><a href="http://torrenegralabs.com/group/content/rrapido_methodology"><span style="font-weight: normal;">RRápido Methodology</span></a></li><li><b>The Input: </b>Balanced, cooked food five times per day, every day.</li><li><b>The Energy: </b>Unlimited Juan Valdez coffee, caffeinated sodas, caffeinated bubble gum, and Red Bull.</li><li><b>The Good Life: </b>Massages, manicures, and pedicures every two weeks.</li><li><b>The Limitations: </b>No visitors, no going out, no TV, no radio, no cellphones... maybe not even Facebook and chat.</li><li><b>The Challenge: </b>Completing the beta version of LetMeGo before the immersion finishes (while surviving it).</li><li><b>The Reward: </b>Changing the way the lodging industry works... seriously.<br /></li> </ul></div><b>How You Can Stay Up to Date</b> <div><ul><li>We will have a webcam broadcasting 24x7 (sorry, but the bedrooms and<br />bathrooms will be off view!)</li><li>I will be providing live updates via twitter <a href="http://twitter.com/torrenegra">@torrenegra</a><br /></li><li> I will also post periodic updates on <a href="http://alexander.letmego.com/">my blog</a></li> </ul><b>Questions? Ideas?</b><br /></div><br />Please feel free to post them. It is the first time that I will be leading an effort like this. Your support for me and the team is welcomed!<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5353232387647231375-6775138719820666342?l=www.letmego.com'/></div>Alexander Torrenegrahttp://www.blogger.com/profile/17218711933202453134noreply@blogger.com4tag:blogger.com,1999:blog-5353232387647231375.post-63506517637494302532009-02-17T08:49:00.004-05:002009-02-18T17:48:00.349-05:00Cockerr, Our Ticketing System, Reaches Alpha... AgainBack in August I had an <a href="http://alexander.letmego.com/2008/08/from-ticketing-system-to-crm-and-back.html">"aha" moment about our CRM strategy</a>. As a consequence, we decided to update the Cockerr Scope (the sub-system in charge of tickets and interaction with human reps of LetMeGo). I decided to develop the update myself as it wasn't very complex. This would allow me to code while I continued doing product development and project management simultaneously.<br /><br />Very well, after six calendar months (but only 150 hours of coding) I have completed the updates in Cockerr. Among others, Cockerr is now integrated with <a href="http://otrs.org/">OTRS</a> and our internationalization schema (easy translation to any language). As such, Cockerr has reached alpha stage once again... Cockerr is now, officially, in version 0.2.<br /><br />By the way, the experience of coding once again, after so many years of not having done it, was great! I look forward to continue coding while we are in the <a href="http://alexander.letmego.com/2009/01/very-special-90-day-job-opportunity.html">LetMeGo Immersion</a>.<br /><br />Alexander Torrenegra<br /><br />P.S. Here is the current status of all the subsystems required for our beta launch:<br /><br /><center><table border="0" cellpadding="5"><tbody><tr style="font-weight: bold;" align="center"><td colspan="2"><center>Scope Progress</center></td></tr><tr><td><b><center>Scope</center></b></td><td><center><b>Status</b></center></td></tr><tr><td style="text-align: center;">Web Scope</td><td style="text-align: center;">Alpha <img src="http://2.bp.blogspot.com/_Pzf3Px9mmx4/SW-CFH4sV8I/AAAAAAAAAFM/48vLIGs1LNE/s400/check_16x16.gif" /></td></tr><tr><td style="text-align: center;">Morrison Scope</td><td style="text-align: center;">Alpha <img src="http://2.bp.blogspot.com/_Pzf3Px9mmx4/SW-CFH4sV8I/AAAAAAAAAFM/48vLIGs1LNE/s400/check_16x16.gif" /></td></tr><tr><td style="text-align: center;">Cockerr Scope</td><td style="text-align: center;">Alpha <img src="http://2.bp.blogspot.com/_Pzf3Px9mmx4/SW-CFH4sV8I/AAAAAAAAAFM/48vLIGs1LNE/s400/check_16x16.gif" /></td></tr><tr><td style="text-align: center;">Hendrrix Scope</td><td style="text-align: center;">10% of Coding for Beta<br /></td></tr><tr><td style="text-align: center;">Sinatrra Scope</td><td style="text-align: center;">50% of Coding for Alpha<br /></td></tr><tr><td style="text-align: center;">Rrose Scope</td><td style="text-align: center;">100% of Requirements</td></tr><tr><td style="text-align: center;">Charrlie Scope</td><td style="text-align: center;">100% of Requirements<br /></td></tr><tr><td style="text-align: center;">Mozarrt Scope</td><td style="text-align: center;">Alpha <img src="http://2.bp.blogspot.com/_Pzf3Px9mmx4/SW-CFH4sV8I/AAAAAAAAAFM/48vLIGs1LNE/s400/check_16x16.gif" /></td></tr><tr><td style="text-align: center;">Arrmstrong Scope</td><td style="text-align: center;">Alpha <img src="http://2.bp.blogspot.com/_Pzf3Px9mmx4/SW-CFH4sV8I/AAAAAAAAAFM/48vLIGs1LNE/s400/check_16x16.gif" /></td></tr><tr><td style="text-align: center;">Mastrropiero Scope</td><td style="text-align: center;">100% of UI Design for Alpha<br /></td></tr><tr><td style="text-align: center;">Kubrrick Scope</td><td style="text-align: center;">20% of Coding for Alpha<br /></td></tr><tr><td style="text-align: center;">Brrown Scope</td><td style="text-align: center;">100% of UI Design</td></tr><tr><td style="text-align: center;">Marrley Scope</td><td style="text-align: center;">100% of UI Design</td></tr><tr><td style="text-align: center;">Waterrs Scope</td><td style="text-align: center;">100% of Requirements<br /></td></tr></tbody></table></center><br />Alexander Torrenegra<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5353232387647231375-6350651763749430253?l=www.letmego.com'/></div>Alexander Torrenegrahttp://www.blogger.com/profile/17218711933202453134noreply@blogger.com0tag:blogger.com,1999:blog-5353232387647231375.post-36416947226952598882009-02-12T10:00:00.006-05:002009-02-12T11:56:37.984-05:00LetMeGo Has 146 Documented Use Cases. Here Is One.During the past few weeks, I have had several dialogues about user stories and use cases with other people involved in web development (coders, product developers, project managers, etc.) The conversation tends to be controversial as many people adore <a href="http://en.wikipedia.org/wiki/Agile_software_development">Agile Development</a> and, as it is, Agile Development promotes user stories over use cases. My argument is that user stories are good for small apps, but use cases are much better for large web apps that will be improved over and over again for years to come. Furthermore, I think that use cases and Agile Development are compatible (see <a href="http://torrenegralabs.com/group/content/rrapido_methodology">Rrápido Methodology</a>). My objective in this post is not to find who is right or wrong, but just to show you an example of how I write use cases.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_ZES34T8bQco/SZQ_2o-mVuI/AAAAAAAABVY/jblx3VNtE0s/s1600-h/Picture+1.png"><img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 248px; height: 320px;" src="http://3.bp.blogspot.com/_ZES34T8bQco/SZQ_2o-mVuI/AAAAAAAABVY/jblx3VNtE0s/s320/Picture+1.png" alt="" id="BLOGGER_PHOTO_ID_5301932869267379938" border="0" /></a>So, as I promised to some of you, here is an example of one of the 146 use cases we have for LetMeGo. It was written following the methodologies recommended in the book <a href="http://www.amazon.com/Writing-Effective-Cases-Software-Development/dp/0201702258"><span style="font-style: italic;">Writing Effective Use Cases</span></a> from Alistair Cockburn. If you find it difficult to read, don't be concerned. It takes time to get used to read use cases and even more time to get used to writing them. I will never go back to user stories, though. For me, <span style="font-weight: bold;">use cases are to user stories what object oriented programming is to spaghetti code.</span><br /><ul><li> <b>Use Case ID: </b>1001<br /> </li><li><b>Use Case Name:</b> Process Email Bounces<br /> </li><li> <b>Level</b>: Blue</li><li><b>Primary Actor:</b> LetMeGo User</li><li><b>Context of Use:</b> LetMeGo needs to track whether its users are getting their email messages or not. If not, it should try to correct the issue.<br /> </li><li><b>Usage Narrative:</b> Ermenegildo, a LetMeGo user, changes his email account. LetMeGo sends him an email message and gets a bounce (not an autoresponder). LetMeGo sends him another message, from a different email address, asking him to check the issue. Ermenegildo doesn't get that message either. Ermenegildo then uses LetMeGo the next day. On all screens of LetMeGo he sees a warning message advising him that we got a bounce from one of the emails we sent him. He closes the warning message. He goes ahead and changes his email address. All emails are properly sent thereafter. Two months after, LetMeGo gets two soft bounces because his email quota is full. LetMeGo sends him, right away, an email from another email address asking him to check the issue. He gets the message, acknowledges it, and cleans his inbox. Next day, LetMeGo starts getting soft bounces once again. After the fifth soft bounce, (not taking into account the soft bounces before his acknowledgment) LetMeGo stops sending him messages for one month. After the month LetMeGo tries to send him messages again. After five new bounces LetMeGo blocks his email address once again. The process is then repeated indefinitely even though Ermenegildo never comes back to LetMeGo.<br /> </li><li><b>Stakeholders and Interests</b><br /> </li><ul><li>LetMeGo Users:<br /> </li></ul><ul><ul><li>To receive all messages from LetMeGo and be notified whenever it encounters a problem sending a message to them.<br /> </li></ul><li>LetMeGo:<br /> </li><ul><li>To make sure that the least amount of emails is sent to email address that may not exist or may be full, so that the chances of being flagged as spammers is reduced.<br /> </li><li> To comply with some of the white listing requirements given by companies like AOL.<br /> </li><li> To maximize the chances of users receiving messages from LetMeGo.<br /> </li></ul></ul><li><b>Minimal Guarantees:</b><br /> </li><ul><li>Email messages are sent if the email address of a user is not marked as "bouncing".<br /> </li><li>Other auto-responders (as vacation messages) should not be treated as bounces ( <a href="http://en.wikipedia.org/wiki/Bounce_message">http://en.wikipedia.org/wiki/Bounce_message</a> ).<br /> </li> </ul><li><b>Success Guarantees: </b><span style="font-weight: normal;">Minimal guarantees plus:</span><br /> </li><ul><li>SuD (System under Design) doesn't send email messages to email addresses that are marked as "bouncing".<br /> </li><li> If a message is sent to multiple users and one or more of them are marked as "bouncing", all the other users should receive the message anyway.<br /> </li></ul><li><b>Preconditions:</b><br /> </li><ul><li>The user should be a LetMeGo registered user.<br /> </li> </ul><li> <b>Triggers:</b><br /> </li><ul><li>0100 - A bounce message is received from an external server to the return-path address.<br /> </li><li> 0200 - A bounce message is triggered by the LetMeGo email server to the return-path address.<br /> </li></ul><li><b>Main Scenario:</b><br /> </li><ul><li>0100 - SuD (System under Design) receives a bounce message.<br /> </li><li> 0200 - SuD marks the email address of the user as bouncing and stores the full content of the bouncing message replacing any previous bouncing message for said email address that was stored.<br /> </li><li> 0300 - SuD sends a message to the user's email address notifying him/her of the error. SuD uses a different return-path for the notification to avoid receiving a new bounce from it.<br /> </li><li> 0350 - Empty.<br /> </li><li>0400 - The user visits any page of LetMeGo.<br /> </li><li> 0500 - SuD displays a message for user notifying him/her of the last bounce received by the system.<br /> </li><li> 0600 - User acknowledges the message.<br /> </li><li> 0700 - SuD removes the message and resets the bounce count to zero.<br /> </li><li> 0750 - Empty.<br /> </li></ul><li><b>Extensions:</b><br /> </li><ul><li>Extension 0350a: If the user is the owner of an active lodging listing:<br /> </li><ul><li>0100 - For each lodging listing {<br /> </li><ul><li>0100.0100 - SuD deactivates the lodging (see use case "Deactivate Lodging").<br /> </li><li> 0100.0200 - SuD sends an email message to all the owners of the lodging listing.<br /> </li><li> 0100.0300 - SuD creates a ticket asking an admin to contact the lodging staff.<br /> </li></ul><li>}<br /> </li><li> 0200 - UC continues at MS 0350.<br /> </li></ul><li>Extension 0350e: If a visitor requests to see the details of a user (that the visitor has authorization to view):<br /> </li><ul><li>0100 - SuD displays a warning message informing about the email bouncing issue. UC continues at MS 0350.<br /> </li></ul><li>Extension 0500a: If the bounce count reaches five before the user acknowledges the message:<br /> </li><ul><li>0100 - SuD stops the delivery of messages to the email address of the user by marking him/her as "bouncing". If the user has more than one email addresses, the other address may still continue receiving email messages from LetMeGo.<br /> </li><li> 0200 - 30 days later: SuD resets the bounce counter to zero, thus SuD restarts the delivery of email messages to the email address of the user.<br /> </li></ul><li>Extension 0750e: If a visitor request to see the details of a user (that the visitor has authorization to view):<br /> </li><ul><li>0100 - SuD doesn't display the warning message any longer. UC continues at MS 0350.<br /> </li></ul></ul> <li><b>Frequency of Occurrence: </b><span style="font-weight: normal;">A</span><span style="font-weight: normal;">nytime</span><br /> </li><li><b>Open Issues: </b><span style="font-weight: normal;">None</span><br /> </li></ul><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5353232387647231375-3641694722695259888?l=www.letmego.com'/></div>Alexander Torrenegrahttp://www.blogger.com/profile/17218711933202453134noreply@blogger.com1tag:blogger.com,1999:blog-5353232387647231375.post-27579529532589403982009-02-11T09:21:00.003-05:002009-02-11T09:27:26.266-05:00Musica Maestro!This message <span style="font-weight: bold;">is not</span> about the lodging industry, or technology, or anything else that I usually write about. This message is about the <span style="font-weight: bold;">new music album </span>that <span style="font-weight: bold;">Maestro</span>, our awesome web designer, just released. Please excuse me if you don't find this post useful, but Maestro's music is so good and his passion so great, that I just couldn't avoid sharing it with you. I want to celebrate his achievement.<br /><br />Art and dedication are in the veins of our team, but none has more than Maestro. Maestro is a graphic designer, web designer, programmer, bass player, band director, and audio engineer... and he practices them all every week! Maestro is originally from Pasto, Colombia. His band, named Tulia, recently released an album called by the same name. The music offers a combination of jazz and Andean folklore. Lyrics are in Spanish, but you don't need to understand it in order to enjoy "la musica de Maestro".<br /><br />These are my two favorite songs:<br /><ul><li><a href="http://www.amazon.com/gp/product/B001EUT9FM/ref=dm_dp_trk1?ie=UTF8&qid=1227220242&sr=103-1">Pa' Rato</a></li><li><a href="http://www.amazon.com/gp/product/B001EUUTHO/ref=dm_dp_trk9?ie=UTF8&qid=1227220242&sr=103-1">Papo</a><br /></li></ul>You can buy them from <a href="http://www.amazon.com/Tulia/dp/B001EUUT7E/ref=sr_f3_1?ie=UTF8&s=dmusic&qid=1227220242&sr=103-1">Amazon</a>, <a href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewAlbum?id=288636663&s=143441">Itunes</a>, and <a href="http://cdbaby.com/cd/tulia">CD Baby</a>. Tulia's website is <a href="http://tuliagroove.com">here</a>.<br /><br />Alexander Torrenegra<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5353232387647231375-2757952953258940398?l=www.letmego.com'/></div>Alexander Torrenegrahttp://www.blogger.com/profile/17218711933202453134noreply@blogger.com2tag:blogger.com,1999:blog-5353232387647231375.post-63193978473500717482009-02-09T10:00:00.003-05:002009-02-09T10:09:00.957-05:00Expedia.com, Priceline.com, and Orbitz.com... All Wrong.com'sSimply put... All of the above mentioned sites (and many others) have their lodgings pre-arranged in geographical areas. Travelers are forced to browse through these categories. It shouldn't be that way.<br /><br />Why?<br /><ul><li>I hate imaginary boundaries ("<a href="http://en.wikipedia.org/wiki/Imagine_%28song%29">Imagine</a> there's no countries - It isn't hard to do" ♫)</li><li>The itinerary of each traveler is different</li></ul>Here is an example: Suppose you are a vacationing traveler that wants to come to New York. If you mention that to large online travel agencies, such as Expedia.com, Priceline.com, or Orbitz.com, they all will show you a few options to stay in <a href="http://en.wikipedia.org/wiki/Manhattan">Manhattan</a> and, maybe, <a href="http://en.wikipedia.org/wiki/Jersey_City,_New_Jersey">Jersey City</a>. There are, however, hundreds of additional alternatives that they will never show you...<br /><br />I just happen to live in <a href="http://en.wikipedia.org/wiki/Secaucus,_New_Jersey">Secaucus</a>, New Jersey, 20 minutes away from Times Square via public transportation. Hotel rates in Secaucus are just a fraction (between 30% to 50%) of the hotel rates found in Manhattan. Hotels in Secaucus are also roomier and offer free parking. A lot of people would rather stay here and take the bus or train to the city, yet, the large online travel agencies do not offer these options.<br /><br />Why is that? Because of the way the major online travel agencies catalog their lodgings geographically <sigh><br /><br />Fortunately, that won't be an issue for LetMeGo. We will NOT limit the choices of our travelers with pre-arranged geographical areas or imaginary borders. How? The answer is simpler that you can imagine, but it is a secret for now. All I can tell you is that the scope of LetMeGo that will take care of the solutions has reached alpha stage; the Arrmstrong Scope. This goal has been reached thanks to the hard work of <span style="font-weight: bold;">Maestro</span> and, primarily, <span style="font-weight: bold;">German</span>. Thank you guys!<br /><br />FYI, this is the current status of LetMeGo:<br /><br /><center><table border="0" cellpadding="5"><tbody><tr style="font-weight: bold;" align="center"><td colspan="2"><center>Scope Progress</center></td></tr><tr><td><b><center>Scope</center></b></td><td><center><b>Alpha Version Ready</b></center></td></tr><tr><td style="text-align: center;">Web Scope</td><td style="text-align: center;"><img src="http://2.bp.blogspot.com/_Pzf3Px9mmx4/SW-CFH4sV8I/AAAAAAAAAFM/48vLIGs1LNE/s400/check_16x16.gif" /></td></tr><tr><td style="text-align: center;">Morrison Scope</td><td style="text-align: center;"><img src="http://2.bp.blogspot.com/_Pzf3Px9mmx4/SW-CFH4sV8I/AAAAAAAAAFM/48vLIGs1LNE/s400/check_16x16.gif" /></td></tr><tr><td style="text-align: center;">Cockerr Scope</td><td style="text-align: center;">90% of Testing<br /></td></tr><tr><td style="text-align: center;">Hendrrix Scope</td><td style="text-align: center;"><img src="http://2.bp.blogspot.com/_Pzf3Px9mmx4/SW-CFH4sV8I/AAAAAAAAAFM/48vLIGs1LNE/s400/check_16x16.gif" /></td></tr><tr><td style="text-align: center;">Sinatrra Scope</td><td style="text-align: center;">50% of Coding<br /></td></tr><tr><td style="text-align: center;">Mozarrt Scope</td><td style="text-align: center;"><img src="http://2.bp.blogspot.com/_Pzf3Px9mmx4/SW-CFH4sV8I/AAAAAAAAAFM/48vLIGs1LNE/s400/check_16x16.gif" /></td></tr><tr><td style="text-align: center;">Arrmstrong Scope</td><td style="text-align: center;"><img src="http://2.bp.blogspot.com/_Pzf3Px9mmx4/SW-CFH4sV8I/AAAAAAAAAFM/48vLIGs1LNE/s400/check_16x16.gif" /></td></tr><tr><td style="text-align: center;">Mastrropiero Scope</td><td style="text-align: center;">100% of UI Design<br /></td></tr><tr><td style="text-align: center;">Kubrrick Scope</td><td style="text-align: center;">20% of Coding<br /></td></tr><tr><td style="text-align: center;">Brrown Scope</td><td style="text-align: center;">100% of UI Design</td></tr><tr><td style="text-align: center;">Marrley Scope</td><td style="text-align: center;">100% of UI Design</td></tr><tr><td style="text-align: center;">Waterrs Scope</td><td style="text-align: center;">100% of Requirements<br /></td></tr><tr><td style="text-align: center;">Rrose Scope</td><td style="text-align: center;">100% of Requirements</td></tr></tbody></table></center></sigh><br />Alexander Torrenegra<br /><br />P.S. By the way, the Arrmstrong Scope heavily depends on a project that I greatly admire: <a href="http://www.geonames.org/">GeoNames.org</a>.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5353232387647231375-6319397847350071748?l=www.letmego.com'/></div>Alexander Torrenegrahttp://www.blogger.com/profile/17218711933202453134noreply@blogger.com0tag:blogger.com,1999:blog-5353232387647231375.post-61985343441859370682009-02-03T09:22:00.006-05:002009-02-16T10:52:36.688-05:00When It Comes to Innovation, Less People Is MoreToday <a href="http://voice123.com/">Voice123</a> is saying 'good-bye' to its most senior developer, Javier Acuña. Voice123 is another <a href="http://torrenegralabs.com">Torrenegra Labs</a> venture I preside over. Javier is one of the best software architects, developers, and loyal professional I have ever met. I am going to miss him, but I am also happy in knowing that he will have new challenges in his life.<br /><br />Javier's case is not unique. A few years ago I was in direct charge of 25 developers and designers. Now, I am only in charge of five. When people leave one of my teams I frequently get asked and listen to rumors about the future of the companies funded by Torrenegra Ventures. People wonder about their jobs and the well-being and future of the businesses. Sometimes they worry... unnecessarily.<br /><br />In this post I explain why I think that, as an innovator, that lesser projects and smaller teams actually mean more innovation and more fun, and why I have let my teams decrease in size.<br /><br /><span style="font-weight: bold;">Why I Prefer Handling Less Projects</span><br /><br />I have been part of several projects that are now profitable: <a href="http://torrenegrais.com/">Torrenegra Internet Solutions</a> (founded in 2000), Rentalo.com V1.0 (created in 2001), and Voice123 (founded in 2003). They all have something in common: During their first few years of existence I was able to invest most of my time on each one of them. I had the availability to pay attention to details and to become obsessed with each one of them, one at a time.<br /><br />At the end of 2004, I started to believe that I could handle several companies simultaneously. As such, in 2005, I was already leading more than ten companies at the same time. Some of these companies had their own general managers, but they directly reported to me. In total, more than 60 people saw me as their "president". Unfortunately, it didn't work. Not one of the companies we founded that year became profitable. Some of them even had to be shut down, such as Casting123.com.<br /><br />Why did that happen? I could blame the team of people I hired, but I must really blame myself. I spread myself too thin. I wasn't able to pay attention to the details that successful innovation really requires. I figured that out in 2006. Since then, I have been focusing on one project at a time. First in the Version 2.0 of Voice123, which just broke its monthly sales record last month, and now in LetMeGo.<br /><br /><span style="font-weight: bold;">Why I Prefer Smaller Teams</span><br /><br />The first profitable version of Rentalo was coded by me in just three months. Voice123, profitable since its third month, was originally coded by <a href="http://torrenegrais.com/internet_solutions/members/andres_herrera">Andres</a>, Milton, and myself, in five months. We grew the development teams as those businesses became successful. We were hoping that larger teams would increase our innovation and development capabilities. We even got to have teams with more than ten developers in them.<br /><br />It didn't work as expected, either. We found out that the productivity per capita in large teams was just a fraction when compared to the productivity per capita of small teams. In some cases it was so much smaller that the productivity of a whole small team of four people was better than the whole productivity of another team, twice the size. I have learned many lessons in terms of team sizing and productivity:<br /><ul><li>The percentage of time invested in communication grows with the size of the team. A team of one requires no communication. A team of two requires a few minutes of communication per day. A team of eight will require several hours of communication per day plus one person dedicated most of the time to communication coordination: A project manager.</li><li>The feeling of belonging to something decreases as the size of the teams grows. Most people feel more important in small teams. As a consequence, people in smaller teams work with more passion and more dedication to their teammates.</li><li>As a team grows, its need for mid-level management arises. When a team is small, the product developer can interact directly with each person of the development team. In larger teams, the product developer will talk to mid-level management (usually a project manager) that will then transfer the ideas to the development team. A lot of ideas and plenty of time gets lost in there no matter how good the team may be.</li></ul>Because of the reasons above, I have chosen to limit the size of my team. Today only four people see me as their direct leader and two others as their partner. I also get some other added benefits:<br /><ul><li>Once again I am able to code myself, something I love.</li><li>I feel I can make smarter business decisions as I know, in depth, our software architecture.</li><li>I have a closer relationship with all the members of my team.</li><li>I am now experiencing the same excitement that I felt years ago when I was innovating first hand and not only on paper.</li></ul>All in all, I am happier now, with my small team, than I ever was before.<br /><br /><span style="font-weight: bold;">Why I Prefer Experienced Pros vs. Young Geniuses</span><br /><br />Hiring experienced people costs more than hiring recently graduated professionals. In fact, the average salaries of our senior developers today are around three times what we used to pay junior developers just a few years ago. Most of them now also get stock options. So, why do I hire one experienced person instead of three genius grads? Here is why:<br /><ul><li>Predictability: Experienced people usually know what they want out of life. They are willing to take long term commitments, as the ones required by LetMeGo.</li><li>Need for speed: Obviously, experienced developers are much quicker at coding than inexperienced one's.</li><li>It is just fun: Although I like to teach people stuff, I like to learn as well. I learn more from experienced pros than from others.</li></ul>A few years ago I was proud in leading a large team of tech geniuses that we had discovered before any other company had the chance. Today, I feel more comfortable leading a smaller team of recognized, proven professionals.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_Pzf3Px9mmx4/SYhUbIvuHoI/AAAAAAAAAFU/MsiUgui_YfM/s1600-h/Picture+2.png"><img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 362px; height: 287px;" src="http://1.bp.blogspot.com/_Pzf3Px9mmx4/SYhUbIvuHoI/AAAAAAAAAFU/MsiUgui_YfM/s400/Picture+2.png" alt="" id="BLOGGER_PHOTO_ID_5298577786782228098" border="0" /></a><span style="font-weight: bold;">And Back to Javier...</span><br /><br />I am sad. I will miss "Javi" a lot. I even got to invite Javi to stay in our home while visiting New York. He is the only person I know who is willing to take as many risks eating weird food as I do! For that, and many other things, I will miss him as you miss your friends when you graduate from high school. But I am also happy for him. He will be experiencing many new things. Among others, he will be working for a company that will allow him to fully explore his Java skills, which is something he wasn't able to do in Perl-based Voice123. Hopefully, in the future, we will be able to work together once again. Both of use will have new knowledge and experiences to share to each other.<br /><br />Am I masochistic or trying to hide my real feelings? No way! I consider that companies are simply tools to achieve the goals of the people that work at them. I don't expect anybody to be loyal to a company. Instead, people should be loyal to other people. Javi may be leaving Voice123, but I am sure both of us will stay loyal to each other. In fact, if you are loyal to me, the only thing I ask you is to constantly purse your happiness with passion, no matter what the obstacle.<br /><br />Next week, as Javier leaves, the development team of Voice123 will be an even smaller fraction of what it used to be. <a href="http://about.voice123.com/voice/members/juan_salcedo">Juan Salcedo</a>, Voice123's General Manager, will have to determine if a replacement for Javier needs to be hired and, if so, when. Whatever decision he makes, I won't judge them right or wrong. Juan's success will only be measured in how profitable Voice123 is in the long term and how happy are the people working at it.<br /><br />Alexander Torrenegra.<span style="font-weight: bold;"><br /><br />P.S.</span> I don't like to retain people just by offering very high salaries. A good salary isn't the only ingredient required by my team members to be happy. They will need many other things as well. I will be able to offer some of those ingredients, but not others. When a person quits I try to retain him/her only if I will be able to give him the tools to grow economically, professionally, and as a human being.<span style="font-weight: bold;"><br /><br />P.P.S.</span> Thanks a lot to Steven, who always helps me proofread and improve my writings on these blog posts. These posts would be twice as boring as they may already be if it wasn't because of him :P<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5353232387647231375-6198534344185937068?l=www.letmego.com'/></div>Alexander Torrenegrahttp://www.blogger.com/profile/15816485964217369562noreply@blogger.com0tag:blogger.com,1999:blog-5353232387647231375.post-46858190379819892152009-01-29T14:00:00.010-05:002009-02-16T10:50:09.908-05:00Very Special 90-Day Job OpportunityAre you really good at coding? Do you want to be part of the world-wide Internet revolution? Do you want to earn COP$30,000,000 for 90 days of hard work, plus stock options?<br /><br /><span style="font-weight: bold;">Summary</span><br /><br /><a href="http://www.letmego.com/">LetMeGo</a> is an Internet startup that will offer travelers a new way of booking lodgings. The project is being lead by me, <a href="http://torrenegralabs.com/group/content/team_members/alexander_torrenegra">Alex Torrenegra</a>, from New York City. I have co-founded four other Internet companies, including the highly successful and profitable <a href="http://voice123.com/">Voice123.com</a> and <a href="http://torrenegralabs.com">Torrenegra Labs</a>. We are looking for VERY good developers in Bogota, Colombia to help us complete the coding of LetMeGo.com and DejameIr.com. You would be part of our "Development Immersion" effort. This means that the development team, including you and me, will live together and code from the moment we wake up to the moment we fall sleep in sessions of 12 days and for a total of 90 days. In exchange, you will get COP$30,000,000, <a href="http://en.wikipedia.org/wiki/Employee_stock_option">stock options</a> that will allow you to be owner of a share of LetMeGo... oh... and free unlimited food and Red Bull.<br /><br />If interested, please keep on reading. Here we describe the job, schedule, why we are doing such a crazy thing, payment, benefits, requirements, how to apply, and more info about LetMeGo and the Torrenegra Group.<br /><br /><span style="font-weight: bold;">Job Description</span><br /><ul><li>You would be responsible for developing part of LetMeGo.com.</li><li>You would be part of a development team that will consist of five to seven people.</li><li>Coding is being done using the CakePHP framework.</li><li>We will use the <a href="http://torrenegralabs.com/group/content/rrapido_methodology">Rrapido Methodology</a> (a custom version of agile development).</li><li>You will have to code using test-driven development techniques (heavy use of unit testing).</li><li>LetMeGo is being developed using a rich service oriented architecture.</li><li>Everything you code has been already documented using detailed use cases and wireframes. This will reduce your anxiety level.</li><li>You will be lead directly by me, Alex Torrenegra, one of the founders of the project.</li></ul><span style="font-weight: bold;">Schedule</span><br /><ul><li>Coding will be done from the moment we wake up, until the moment we fall sleep.</li><li>This effort will start February 23, 2009 and will finish June 6th, 2009.</li><li>90 days of work.</li><li>Each two weeks there will be a weekend of rest when you can leave on Friday night (7 PM). and come back on Monday (7 AM).</li><li>There will be special long break for Holy Week (Semana Santa) starting on Wednesday, April 8th (at 7PM) and finishing four days and half later on Monday, April 11th (at 7 AM).</li></ul><span style="font-weight: bold;">Why Are We Doing Such a Crazy Thing?</span><br /><br />Because of timing, fun, and passion. I recently wrote an article about this type of "development in residence". <a href="http://www.letmego.com/2009/01/really-fast-development-and-i-seriously.html">You can </a><read><a href="http://www.letmego.com/2009/01/really-fast-development-and-i-seriously.html">read it here</a>.<br /><br /><span style="font-weight: bold;">Payment</span><br /><br />Payment Details for people that <span style="font-weight: bold;">do not</span> currently work at the Torrenegra Group:<br /></read><ul><li><read>COP$30,000,000 + stock option bonus equivalent to 0.2% of LetMeGo + benefits described below.</read></li><li><read>You will get paid as a contractor.</read></li><li><read>COP$6,000,000 on day 30 of coding.</read></li><li><read>COP$6,000,000 on day 60 of coding.</read></li><li><read>COP$18,000,000 on day 90 of coding.</read></li><li><read>There is no partial payment plan for those who quit or get fired before day 90 of coding is reached.</read></li></ul><read>Payment Details for People that <span style="font-weight: bold;">do</span> currently work at the Torrenegra Group:<br /></read><ul><li><read>Your current salary + COP$20,000,000 + 10 days of extra vacation time + stock option bonus equivalent to 0.2% of LetMeGo + benefits described below.</read></li><li><read>You will get paid your current salary as usual.</read></li><li><read>COP$20,000,000 on day 90.</read></li><li><read>If you quit or get fired before day 90 of coding is reached, you won't get paid the COP$20,000,000.</read></li><li><read>If you already have a stock option agreement with LetMeGo, the time requirement will be reduced by six months :)</read></li></ul><read><span style="font-weight: bold;">Stock Option Details:</span><br /></read><ul><li><read>The stock option bonus will be effective if LetMeGo.com reaches beta before June 6th.</read></li><li><read>Your gain out of the stock options will depend on the value of LetMeGo as a business. If we are highly successful and one day become as large as Expedia currently is, your stock options will be making you approximately USD 4 million before taxes. Of course, this is a big 'IF'. Most Internet startups will fail. We have a good success record, though.</read></li></ul><read><span style="font-weight: bold;">Benefits</span><br /></read><ul><li><read>The work environment (probably a three bedroom apartment) will be comfortable. The sleeping area will be separate from the working and eating area.</read></li><li><read>Unlimited food and beverages, including of course Red Bull and coffee.</read></li><li><read>If interested, we will offer you healthy and balanced food.</read></li><li><read>We will wash your clothes.</read></li><li><read>The work and living environment will be kept clean for you.</read></li><li><read>Massages, pedicure, and manicure on the weekends.</read></li><li><read>You will work alongside some of the best developers you have ever met.</read></li></ul><read><torrenegra><span style="font-weight: bold;">Requirements</span><br /></torrenegra></read><ul><li><read><torrenegra>You need to be a very good coder. Seriously.</torrenegra></read></li><li><read><torrenegra>Obviously, your English skills should be very good.</torrenegra></read></li><li><read><torrenegra>You must be willing to live and cope with other developers during those 90 days. I know this is not going to be easy, but some of us already know each other for years. We know how to have fun (legally).</torrenegra></read></li><li><read><torrenegra>You need to be able to focus in full on this project. You won't be able to work in any other project during those 90 days.</torrenegra></read></li><li><read><torrenegra>We may limit, and in some cases don't allow, certain types of communication with the outside world. For example, we may opt to block Facebook, chats, and cellphone use.</torrenegra></read></li><li>Be open and flexible to rules that may be set while the project is happening. Any rule, of course, will respect your integrity as human and professional.<br /></li><li><read><torrenegra>You must take a shower every day!</torrenegra></read></li></ul><read><torrenegra><span style="font-weight: bold;">How to Apply</span><br /><br />We have designed an application process, so that even if you don't get the job, you will be have plenty of fun applying. Here is what you have to do:<br /><br />Using CakePHP, jQuery and unit testing, create a web app for the following "semi" use case:<br /><br />Main Scenario:<br />1. System asks user to provide the id's of the three twitter accounts.<br />2. User provides the three twitter IDs.<br />3. System pulls the recent twitter updates from twitter for the three accounts (using the twitter API).<br />4. System displays to the user a list of the updates order chronologically.<br />5. User asks system to refresh the updates.<br />6. Use case continues at step 3.<br /><br />Note: The page should never be refreshed in full. All the information should be updated on the screen using jQuery (AJAX).<br /><br />Once you complete this web app, please send an email message to jobs [at] letmego [dot] com with the following information:<br /></torrenegra></read><ul><li><read><torrenegra>Your name</torrenegra></read></li><li>Phone number<br /><read><torrenegra></torrenegra></read></li><li><read><torrenegra>Link to the web app</torrenegra></read></li><li><read><torrenegra>Link to the page that shows the unit tests running</torrenegra></read></li><li><read><torrenegra>Link to your resume in <a href="http://www.linkedin.com/">LinkedIn.com</a></torrenegra></read></li></ul><read><torrenegra>If you want to get some extra points, you can also create selenium tests (using the Firefox plugin) that automatically test your web app. If so, please also include a link to the page where the selenium tests can be downloaded.<br /><br />The deadline for submitting your application is February 8th, 2009.<br /><br /><span style="font-weight: bold;">About LetMeGo</span><br /><br />LetMeGo is an Internet startup that will offer travelers a new way of booking lodgings. The actual business plan is a secret for now. LetMeGo is being funded by the Torrenegra Group and lead by me, Alexander Torrenegra. I am based out of New York City. I keep a blog where I am documenting the making of LetMeGo. You can read it at <a href="http://www.letmego.com/">http://www.letmego.com/</a> - The development team is based in Bogota, Colombia.<br /><br /><span style="font-weight: bold;">About Torrenegra Labs</span><br />Torrenegra Labs</torrenegra></read> creates and invests in driven, enthusiastic and people-oriented companies that develop ground-breaking online technologies and leading-edge business models. We are motivated by our expertise, imaginations and hard work ethic to ensure dreams come true in a creative and sustainable way. Our business is to make others lives easier through technology.<read><torrenegra>. Learn more at <a href="http://torrenegralabs.com/">http://torrenegralabs.com/</a><br /><br />Alexander Torrenegra<br /></torrenegra></read><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5353232387647231375-4685819037981989215?l=www.letmego.com'/></div>Alexander Torrenegrahttp://www.blogger.com/profile/15816485964217369562noreply@blogger.com6tag:blogger.com,1999:blog-5353232387647231375.post-87978266649776945942009-01-28T12:21:00.006-05:002009-02-16T10:47:04.423-05:00Shut Up and Let Me Go... To Work. A Leadership Lesson.Last week, I was reminded of a great leadership lesson: 'Why and how to shut up and trust your team.' Here is the story, the why, and the how: <div><br /></div> <div>LetMeGo will allow lodging staffs to update their lodging listing information. Among many of other things, they will be able to upload pictures. As the perfectionist and web-development-control-freak that I am, I documented many detailed requirements and ideas for this feature. This technique tends to work pretty well as it reduces the level of anxiety of the designer and developer, it helps with estimates, etc.</div><div><br /></div><div><a href="http://about.letmego.com/letmego/members/luis_molina">Lucho</a> had the responsibility of implementing and coding the requirements and screens that I had envisioned. As he started to work on it, he told me that he didn't like some of the ideas that I had proposed. He thought that we could do better. We started discussing the issue right away. My ideas were already documented and crystal clear. Lucho's ideas, based on the <a href="http://www.flickr.com/">Flickr</a> interfaces he has experienced as a photographer, were still vague. I was sure that I had enough arguments for my ideas to be considered as the best alternative.</div><div><br /></div><div>What did I do, then? I gave up on the argument. I told to Lucho: "Okay. Go ahead and implement your ideas. Work with <a href="http://about.letmego.com/letmego/members/javier_mesa">Maestro</a>" (LetMeGo's designer) "and come up with the interface to upload pictures by yourself. Do your best. Surprise me". Lucho took on the challenge right on the spot.</div><div><br /></div><div>A few days after, Lucho and Maestro sent me the result of their work. I was, in fact, surprised. The picture management picture they developed is, by far, the best that the lodging industry has ever seen. It is easy to use, quick, and candy to the eye. Those of you that use LetMeGo in the future as lodging staff members will be able to experience it first hand. I am sure you will agree with me.</div><div><br /></div><div><b>What was my lesson from here, then? </b>Some people may think that the lesson is simple: "<b>Learn to trust your team</b>". They are right, but there is more... I was reminded of a quote from the main character in the movie "<a href="http://en.wikipedia.org/wiki/Thank_You_for_Smoking">Thank You for Smoking</a>" (the plot evolves around a lobbyist that tries to convince lawmakers that smoking is nothing worst than eating cheese). He says "<b>That's the beauty of an argument, if you argue correctly, you're never wrong</b>." I think he is right. Knowing how to argue is good, but it can become a negative weapon in some cases. Why? Think of my argument with Lucho; It was very difficult, if not impossible, for him to win the argument. First, I am very good at arguing. Second, I had time to be prepared for the argument while he didn't. Third, I had more motivation than him to win the argument, and finally, I am the boss. I could have gone away with my way of thought if I wanted to. Instead, I decided to lower my weapons and remember that he was at a disadvantage in the argument. It wasn't easy for me, but I am happy now that I see the results. Thus, my lesson out of this was that <b>sometimes we, </b><b>as leaders, need to learn to shut the f*** up and let control go.</b></div><div><br /></div><div>Thank you Lucho! Thank you Maestro! Both for the feature and the lesson.</div><div><br /></div><div>Alexander Torrenegra</div><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5353232387647231375-8797826664977694594?l=www.letmego.com'/></div>Alexander Torrenegrahttp://www.blogger.com/profile/15816485964217369562noreply@blogger.com1tag:blogger.com,1999:blog-5353232387647231375.post-39572942561222646082009-01-26T11:22:00.006-05:002009-02-16T10:45:03.519-05:00Really. Fast. Development (and I seriously mean "fast")As technology innovators we all are conscious of the importance of 'timing'. Thomas Edison got the patent for the telephone by submitting it just a few hours before Elisha Gray. The same happens today, and every day. For example: <a href="http://www.yammer.com/">Yammer</a> went live at <a href="http://www.techcrunch50.com/">TechCrunch 50</a> last year beating its competitor, <a href="https://www.presentlyapp.com/">Present.ly</a>, by just three days. Present.ly had delayed their launch so that they could do it at Web 2.0 Expo in NYC. I talked to them. They regretted their decision big time. Those three days gave Yammer a huge advantage. Yammer got more than 50,000 early adopters during that short period of time. Most of those users (including the entire <a href="http://torrenegralabs.com/">Torrenegra Labs</a>) never gave a chance to Present.ly, when it went live three days later. They were happy with Yammer. Today, Yammer is the leader in that front. If Present.ly had gone live three days before Yammer, it is very likely that it would be the leader today.<br /><br />Some times, as it is the case of online marketplaces, innovation requires dozens of thousands of lines of code. LetMeGo, for example, is estimated to have taken more than 24,000 hours of development. Projects like these could take months (or even years) to go live. It is very important to try hard to get the first version of the software out as soon as possible. But how is this done? Is it done with agile development, extreme programing, test-driven development, automated user testing, pre-existing dynamic and detailed documentation, etc.? All those are the most important techniques that we have available... or so I thought...<br /><br />Last Friday, I attended the networking lunch at <a href="http://sparkspaceny.com/">The Incubator</a> organized by <a href="http://innonate.com/">Nate</a>. The guest was <a href="http://en.wikipedia.org/wiki/Eric_Litman">Eric Litman</a>, founder of Medialets (and a successful serial entrepreneur having sold companies for more than 100m+). <a href="http://www.crunchbase.com/company/medialets">Medialets</a> is a creative advertising network (marketplace) for native mobile applications.<br /><br />I asked Eric how long it took them to work on the initial version of their software. I was shocked with his answer. Eric hired seven full time developers and seven part-time developers. They all moved into an apartment in NYC. On June 1, 2008 they started coding 24 hours a day. Sleep? Eric said that most of them were able to get away with only 20 minute naps. They had plenty of caffeine (even caffeinated chips) and delivery menus. The challenge was not to leave the apartment until the first version of the software was live. The result? On July 11, 2008 (40 days later) the 1st version of their software was live. It was the same day that the iPhone 3G and the iPhone Application Store became available to the public. They got the momentum they wanted. They are now the largest ad network for the iPhone.<br /><br />Impressive, eh? Well, let's do some math: First, let's assume that all the developers slept a total of seven hours per day (I honestly think that sleeping several hours per day is much healthier than just having 20 minute naps) and they used another hour for personal matters. Each of the seven developers coded around 640 hours each (at 16 hours per day for 40 days). What if instead they were working on regulars office hours? It would have taken them almost five months (140 calendar days) to achieve the same goal. In other words, using Eric's technique (which for the lack of a better name, I am calling it "<span style="font-weight: bold;">Development </span><span style="font-weight: bold;">Immersion</span>") they were able to code 3.5 times faster than usual. Okay, you got me: I am making another significant assumption in here, that each hour of coding is equally productive in both scenarios. I know what you are thinking, "Is it even possible to maintain high levels of productivity under such intense conditions?" Keep on reading...<br /><br />Back in 1997 <a href="http://torrenegralabs.com/group/content/team_members/andres_herrera">Andres Herrera</a> and I took 15 or so days off towards the end of the year. We set a small <a href="http://en.wikipedia.org/wiki/LAN_party">LAN party</a> in my home. During all that time we only played computer games. We never got out of my home, we seldom took a shower, and we barely ate. We would sleep just three to five hours per day (at whatever time we were tired). We would wake up and go back to our games right away. We ate in front of the computer with one hand while we played with the other. Our only pause was when my mom, mad at us, switched the electricity off so that we would go downstairs, to the dinning room, to eat with them. We didn't get sick or go crazy. We had plenty of fun and lost any traces of sun-tanning that we had ever gotten. Looking back at it, I am amazed in what the human mind could do when it is really, really focused.<br /><br />What about the personal sacrifices that Eric's team had to do? We all have agreements and responsibilities that drive our routines. Every week we invest time (around two thirds of the time we are awake) going through our personal (non-work related) stuff. We take time to be with our friends, partners, and family, we sit down to eat, we read the news, we carefully pick what to dress, we update our Facebook profile, we go to the movies, we watch TV, and we go to the beach. We do all these things because we enjoy then. We enjoy them so much that every now and then we take a vacation from work to completely focus on these activities and enjoy them even more. So I ask, "Do you enjoy your work?". I do. If you do, what if we take a vacation from our personal routine and immerse ourselves, for a couple of months, in our professional passion? That is what Eric and his team did. Work hard. Play hard. Live life to the fullest.<br /><br />I listened to Eric three days ago. It is now Monday and I haven't stopped thinking about this. I wonder if I have what it takes to do this. I wonder if I know the people. Do I even have to do this? Would I enjoy it? If I don't do it, would it mean that I am not passionate enough? Would it mean that I am not as competitive as I once thought I was? I still don't have answers for these questions, but I am starting to figure out that what really scares me is that I may never get to know the answers.<sigh><br /><br />Alexander Torrenegra</sigh><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5353232387647231375-3957294256122264608?l=www.letmego.com'/></div>Alexander Torrenegrahttp://www.blogger.com/profile/15816485964217369562noreply@blogger.com9tag:blogger.com,1999:blog-5353232387647231375.post-15419128846438534302009-01-21T17:53:00.001-05:002009-01-21T17:54:22.547-05:00Osbourrne Gets a Piece of LetMeGoBack in December, in its second week, I began documenting the requirements and user interface of the Osbourrne Scope. This scope will take care of our affiliate program. We named in it honor of <a href="http://en.wikipedia.org/wiki/Ozzy_Osbourne">Ozzy</a>.<br /><br />Although, I originally thought it was going to take me three weeks to document it, it actually took me almost six. It ended up having 13 use cases and 81 individual user interface screens and components. I also ended up being an expert on international tax law :P (this scope needs to understand how to withhold tax from payments made to affiliates residing outside the United States).<br /><br />This scope will be coded only after we have reached version 1.0. In other words, it is not likely to see the light of the day until sometime in 2010. I worked on it now as I am sure I won't be able to focus on documentation too much, after we reach alpha and open our doors to the general public. I am sure I will be very busy then...<br /><br />Alexander Torrenegra<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5353232387647231375-1541912884643853430?l=www.letmego.com'/></div>Alexander Torrenegrahttp://www.blogger.com/profile/15816485964217369562noreply@blogger.com0tag:blogger.com,1999:blog-5353232387647231375.post-53407385127979854732009-01-15T13:22:00.010-05:002009-02-16T10:43:32.384-05:00The Mozarrt Scope Reaches Alpha<center><div style="text-align: left;">After 734 hours of architectural design, coding, and recording of Selenium tests by <a href="http://about.letmego.com/letmego/members/henry_canastero">Henry</a>, the Mozarrt Scope has reached its alpha state! Congratulations Henry :)<br /><br />The Mozarrt Scope is responsible for allowing all users to exchange messages and manage message threads in the Merrcury Engine (the software behind LetMeGo). It is very powerful and flexible, and it is the first scope reaching alpha that heavily used <a href="http://jquery.com/">jQuery</a>.<br /><br />We are now one step closer of reaching beta; the moment when our doors will be open to the public.<br /><br />This table shows the current progress of all the scopes required to reach the beta milestone.<br /></div><br /><table border="0" cellpadding="5"><tbody><tr style="font-weight: bold;" align="center"><td colspan="2"><center>Scope Progress</center></td></tr><tr><td><b><center>Scope</center></b></td><td><center><b>Alpha Version Ready</b></center></td></tr><tr><td style="text-align: center;">Web Scope</td><td style="text-align: center;"><img src="http://2.bp.blogspot.com/_Pzf3Px9mmx4/SW-CFH4sV8I/AAAAAAAAAFM/48vLIGs1LNE/s400/check_16x16.gif" /></td></tr><tr><td style="text-align: center;">Morrison Scope</td><td style="text-align: center;"><img src="http://2.bp.blogspot.com/_Pzf3Px9mmx4/SW-CFH4sV8I/AAAAAAAAAFM/48vLIGs1LNE/s400/check_16x16.gif" /></td></tr><tr><td style="text-align: center;">Cockerr Scope</td><td style="text-align: center;">80% of Coding<br /></td></tr><tr><td style="text-align: center;">Hendrrix Scope</td><td style="text-align: center;"><img src="http://2.bp.blogspot.com/_Pzf3Px9mmx4/SW-CFH4sV8I/AAAAAAAAAFM/48vLIGs1LNE/s400/check_16x16.gif" /></td></tr><tr><td style="text-align: center;">Sinatrra Scope</td><td style="text-align: center;">40% of Coding<br /></td></tr><tr><td style="text-align: center;">Mozarrt Scope</td><td style="text-align: center;"><img src="http://2.bp.blogspot.com/_Pzf3Px9mmx4/SW-CFH4sV8I/AAAAAAAAAFM/48vLIGs1LNE/s400/check_16x16.gif" /></td></tr><tr><td style="text-align: center;">Arrmstrong Scope</td><td style="text-align: center;">95% of Testing<br /></td></tr><tr><td style="text-align: center;">Mastrropiero Scope</td><td style="text-align: center;">100% of UI Design<br /></td></tr><tr><td style="text-align: center;">Kubrrick Scope</td><td style="text-align: center;">20% of Coding<br /></td></tr><tr><td style="text-align: center;">Brrown Scope</td><td style="text-align: center;">100% of UI Design</td></tr><tr><td style="text-align: center;">Marrley Scope</td><td style="text-align: center;">100% of UI Design</td></tr><tr><td style="text-align: center;">Waterrs Scope</td><td style="text-align: center;">100% of Requirements<br /></td></tr><tr><td style="text-align: center;">Rrose Scope</td><td style="text-align: center;">100% of Requirements</td></tr></tbody></table></center><br />Alexander Torrenegra<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5353232387647231375-5340738512797985473?l=www.letmego.com'/></div>Alexander Torrenegrahttp://www.blogger.com/profile/15816485964217369562noreply@blogger.com0tag:blogger.com,1999:blog-5353232387647231375.post-80474730547815775332008-12-30T15:53:00.009-05:002009-02-16T10:39:27.239-05:00I Don't Forget The Old Year"I don't forget the old year" is the literal translation of a Spanish-language song commonly played at this time of the year. (The) lyrics express what a grateful farmer or farmhand has to say about the ending year. It goes something like this:<br /><br />"Yo no olvido el año viejo,<br />Porque me ha dejado cosas muy buenas!<br />Me dejo una chiva, una burra negra,<br />Una yegua blanca y una buena suegra."<br /><br />(Translation):<br /><br />"I don't forget the old year,<br />Because it gave me with great things!<br />It gave me a goat, a black donkey,<br />A white horse, and a good mother-in-law."<br /><br />I am also thankful for this year. I am happier than I have ever been. Here is why:<br /><br />I am happy because the <span style="font-weight: bold;">United States of America</span> elected a president, proving that any paradigm can be changed. I wanted Obama to be elected president since 2006, and my wishes became a reality. As many others, I cried out in happiness on election day.<br /><br />I am kind of happy because we are in a <span style="font-weight: bold;">recession</span>. Of course, I wish for no one to experience any hardship, but recessions are inevitable and it is important to see the positive side of them. Recessions are the result of mistakes made by society and economics. Mistakes are also part of our learning process. Somebody once said "If you don't make mistakes, you are not taking enough risks." Somebody else said "Being ready to be wrong is a requirement for innovation". As such, I find this recession an opportunity for learning and for innovation and I am happy to be living in a society where we like to push the envelope.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_Pzf3Px9mmx4/SVqOcpBnhmI/AAAAAAAAAE0/JfelC9bK_1I/s1600-h/PA133723.JPG.jpg"><img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 400px; height: 300px;" src="http://2.bp.blogspot.com/_Pzf3Px9mmx4/SVqOcpBnhmI/AAAAAAAAAE0/JfelC9bK_1I/s400/PA133723.JPG.jpg" alt="" id="BLOGGER_PHOTO_ID_5285693735372818018" border="0" /></a>I am very happy because<span style="font-weight: bold;"> </span><a style="font-weight: bold;" href="http://torrenegralabs.com/group/content/team_members/tania_zapata">Tania</a>, my wife and lover, has put more passion than ever in everything she is doing. Among many other things, she was able to secure, through donations from good people, a trip to Kenya to shot a documentary next month. She loves film and she always wanted to see Africa. She is fulfilling two of her most important life dreams.<br /><br />I am happy because my sister <span style="font-weight: bold;">Katia</span> moved to Mexico to stay close to her boyfriend. Living in a new country is a life-changing experience that everybody should try to do once in their lives. My <span style="font-weight: bold;">mom</span> misses her, but my mom is also very happy with her boyfriend. It is the first holiday season that my mom, my sister, and my nieces aren't together. This may be sad for now, but it will make for an awesome Christmas next year. I am also happy because I have not had a place to stay in Mexico, a country I haven't been able to explore yet.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_Pzf3Px9mmx4/SVqP3OoAiFI/AAAAAAAAAE8/S1bJgX6hzpY/s1600-h/P8030260.jpg"><img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 400px; height: 326px;" src="http://1.bp.blogspot.com/_Pzf3Px9mmx4/SVqP3OoAiFI/AAAAAAAAAE8/S1bJgX6hzpY/s400/P8030260.jpg" alt="" id="BLOGGER_PHOTO_ID_5285695291654178898" border="0" /></a>I am happy because my sister <span style="font-weight: bold;">Alicia</span>, a fighter, a lover, a justice seeker, and a brain, won a scholarship to Harvard this year. I am happy because my brother <span style="font-weight: bold;">Luigi</span>, overcame many visa and budget issues, and was able to stay close to his sweetheart and is now becoming a teacher. I am happy because both of them are here, sharing this holiday season with me in the Big Apple.<br /><br />I am happy because my friends <span style="font-weight: bold;">William</span> and <span style="font-weight: bold;">Liliana</span>, also overcame visa issues, earned great jobs here in New York doing what each one of them loves to do.<br /><br />I am happy because <a href="http://torrenegralabs.com/group/content/team_members/leonardo_suarez"><span style="font-weight: bold;">Leo</span></a>, the best business partner I have ever had, keeps showing the commitment, consistency, and organization required to get very far in life. I hope now that I can live up to his expectations! His passion challenges me and that makes me very happy.<br /><br />I am happy because <a href="http://voice123.com/"><span style="font-weight: bold;">Voice123</span></a> is doing great. <span style="font-weight: bold;"><a href="http://about.voice123.com/voice/members/juan_salcedo">Juan</a>, <a href="http://about.voice123.com/voice/members/steven_lowell">Steven</a>, and the rest of the Voice123 team</span> are working full steam ahead with very exciting plans for the company. They did a great job in 2008. So great, that Voice123 has been able to cope with the recession without a single scratch.<br /><br />I am happy because <a href="http://torrenegralabs.com/group/content/team_members/gisella_borja"><span style="font-weight: bold;">Gigi</span></a> and her team over at <a href="http://torrenegrais.com/"><span style="font-weight: bold;">Torrenegra Internet Solutions</span></a> did much better in 2008 than I had expected. I am even happier when I remember that Gigi is the youngest business manager I have ever trusted with such great responsibilities.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_Pzf3Px9mmx4/SVqQHudxCiI/AAAAAAAAAFE/k4WoWIuHzlg/s1600-h/Luis+moving+the+clouds+over+the+Fitz+Roy.jpg"><img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 400px; height: 294px;" src="http://4.bp.blogspot.com/_Pzf3Px9mmx4/SVqQHudxCiI/AAAAAAAAAFE/k4WoWIuHzlg/s400/Luis+moving+the+clouds+over+the+Fitz+Roy.jpg" alt="" id="BLOGGER_PHOTO_ID_5285695575079062050" border="0" /></a>I am happy because my main hobby, traveling, I received an overdose of this year. In January, I explored Patagonia with my old friend <a style="font-weight: bold;" href="http://torrenegralabs.com/group/content/team_members/andres_herrera">Andres</a>. In June, I discovered Hawaii while shooting pictures at the wedding of our best friends Liliana and Maurizio. And finally, in November, I fulfilled my dream of experiencing China first hand.<br /><br />I am happy because I have been able to work, and work very hard, with the best web development team I have ever seen. <a href="http://about.letmego.com/letmego/members/henry_canastero"><span style="font-weight: bold;">Henry</span></a>, <a href="http://about.letmego.com/letmego/members/javier_mesa"><span style="font-weight: bold;">Maestro</span></a>, <a href="http://about.letmego.com/letmego/members/german_gonzalez"><span style="font-weight: bold;">German</span></a>, and <a style="font-weight: bold;" href="http://about.letmego.com/letmego/members/luis_molina">Lucho</a> are the best at what they do. But not only that, they are great people, they have great hearts, and they are believers of change and innovation.<br /><br />I am happy because LetMeGo, a project that I dreamed of more many years, is becoming an awesome reality.<br /><br />I am happy because I am in good health.<br /><br />I could happily die tomorrow knowing that my friends and family are so great, that their energy and passion would be more than enough not only for one, but for many lives to come. I also know that there is no letter 'I' in the word 'team', but I feel like the luckiest man alive, to be head of the best team in the world, the <a href="http://torrenegralabs.com/">Torrenegra Labs</a>.<br /><br />To all of you, from the heart, I THANK YOU!<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5353232387647231375-8047473054781577533?l=www.letmego.com'/></div>Alexander Torrenegrahttp://www.blogger.com/profile/15816485964217369562noreply@blogger.com1tag:blogger.com,1999:blog-5353232387647231375.post-47791214461480705612008-12-17T10:19:00.003-05:002009-02-16T10:33:37.310-05:00Maestro is Flying!It was originally planned to take him three weeks, but in practice it only took him two weeks. What was it? The wireframes and HTML of the Marrley Scope. Thanks a lot <a href="http://about.letmego.com/letmego/members/javier_mesa">Maestro</a>! The Marrley scope is in charge of allowing travelers to book a lodging. It has many cool features that, as many others, you will be able to experience in a few months.<br /><br />What is the rest of the team doing?<br /><br /><a href="http://about.letmego.com/letmego/members/henry_canastero">Henry</a> is close to finishing the alpha version of the Mozarrt Scope, which is in charge of the exchange of messages among the users of LetMeGo.<br /><br /><a href="http://about.letmego.com/letmego/members/german_gonzalez">German</a> is also close to completing the alpha version of Arrmstrong. This scope will allow us to properly organize the destinations that LetMeGo will feature.<br /><br /><a href="http://about.letmego.com/letmego/members/luis_molina">Lucho</a> is half way through the Sinatrra Scope. This is the most complex and feature-rich scope, as it is in charge of allowing lodging staff members to update their listings in LetMeGo. There is a lot, and I really mean a lot, of AJAX in here.<br /><br />Omar started working on the Kubrrick Scope a few weeks ago and it will take him a few more months to complete it. This is one of the secret scopes that contain features that we don't want to make public just yet.<br /><br />Maestro will now invest a few weeks creating a new concept for the overall look and feel of LetMeGo. Although we already have a look and feel, we want to continue exploring until we are 100% happy with the results.<br /><br />I just finished documenting the use cases and user interfaces of the Rrose and Charrly scopes. Rrose (named in honor of <a href="http://en.wikipedia.org/wiki/Axl_Rose">Axl Rose</a>) is, yet again, one of those secret scopes. Charrly (named in honor of <a href="http://en.wikipedia.org/wiki/Charly_Garc%C3%ADa">Charly Garcia</a>) will allow us to send email campaigns to our future users. I am now documenting the Osbourrne Scope, which is going to be our affiliate and referral program.<br /><br />Felices Fiestas!<br /><br />Alexander Torrenegra<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5353232387647231375-4779121446148070561?l=www.letmego.com'/></div>Alexander Torrenegrahttp://www.blogger.com/profile/15816485964217369562noreply@blogger.com0tag:blogger.com,1999:blog-5353232387647231375.post-77723353332737570452008-12-15T13:21:00.004-05:002008-12-15T15:54:01.735-05:00"Community Based"? Yeah Right!I follow the blog of <a href="http://www.webintravel.com/">Web In Travel</a>. A few days ago they posted an infomercial (masking it as an interview) <a href="http://www.webintravel.com/index.php/component/content/article/39-news/316-technology-will-prevail-in-difficult-times.html">promoting Amadeus</a>. Amadeus is a veteran company known for its <a href="http://en.wikipedia.org/wiki/Computer_reservations_system">GDS system</a>.<br /><br />Amadeus is "trying hard" to evolve its business model and technology so that it keeps up with recent innovation. Unfortunately, for them (and fortunately for us), they seem to be... hmmmm... confused in terms of Web 2.0. Would you like to see proof? Look at their hilarious definition of "community based": "[our] solution is a community-based model, which means that airlines can share the cost of the technology investment, greatly decreasing what an individual airline would pay for a unique IT platform or developing their own in-house system."<br /><br />Granted, their solution may not even use the Internet, but since when did partnering with another company to hire a vendor became a "community effort"!? It seems to me that Amadeus, being a technology company, is pushing the definition of <a href="http://en.wikipedia.org/wiki/Community">community</a> a little <span style="font-weight: bold;">too far</span>.<br /><br />I wonder if they consider "Web 2.0" using Firefox 2.0 or something.<br /><br />Alexander Torrenegra<br /><br />P.S. I did not study with a major in business, so maybe, this is how "community effort" is taught these days. I may be wrong. If so, please let me know! :)<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5353232387647231375-7772335333273757045?l=www.letmego.com'/></div>Alexander Torrenegrahttp://www.blogger.com/profile/15816485964217369562noreply@blogger.com1tag:blogger.com,1999:blog-5353232387647231375.post-53068604626328911782008-12-01T09:32:00.005-05:002009-02-16T10:30:58.847-05:00Some Technical Stats About LetMeGo.comHi!<br /><br />The details of LetMeGo.com, its business model, and its Merrcury Engine are a secret we are not sharing just yet, but today I am sharing some stats of our project with you. I am not sure if they are useful or not, but they are definitely cool.<br /><br /><span style="font-weight: bold;">Use cases documented<br /></span><ul><li>128 use cases so far (15 white level use cases)</li><li>160 use cases (total) estimated for beta</li></ul><span style="font-weight: bold;">User interfaces documented<br /></span><ul><li><span>707 interfaces so far</span></li><li><span>1000 estimated for beta</span></li></ul><span style="font-weight: bold;">Test cases recorded </span>(most of them recorded via Selenium)<br /><ul><li>42 test cases so far</li><li>600 test cases estimated for beta</li></ul><span style="font-weight: bold;">Unit tests coded<br /></span><ul><li>194 "passes" so far</li><li>480 "passes" estimated for beta</li></ul><span style="font-weight: bold;">Man hours invested in documenting, designing, and coding the Merrcury Engine:</span><br /><ul><li>12,000 hours so far</li><li>21,000 hours estimated for beta<br /><br /></li></ul>Just for fun, I created the graph below. It is a visualization of the requirements of the Merrcury Engine. It renders the pages and links in our wiki where we document the use cases and user interfaces. Each node is a use case or user interface. Each orange line is a link to a use case, while each black line is a link to a user interface. The version of the graph that we are publishing here is small, on purpose, so that you can't read the names of the use cases or the user interfaces. The original size of the graph is around 25k x 20k pixels. It was rendered using the radial method of <a href="http://www.graphviz.org/">Graphviz</a>.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_Pzf3Px9mmx4/STP3QewzU-I/AAAAAAAAAEs/la14ALRsIUA/s1600-h/Merrcury+Wiki.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 339px;" src="http://2.bp.blogspot.com/_Pzf3Px9mmx4/STP3QewzU-I/AAAAAAAAAEs/la14ALRsIUA/s400/Merrcury+Wiki.png" alt="" id="BLOGGER_PHOTO_ID_5274831451088704482" border="0" /></a><br />Alexander Torrenegra<br /><br />P.S. In case you are wondering, we use <a href="http://torrenegralabs.com/group/content/rrapido_methodology">Rrápido</a> as our developing methodology.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5353232387647231375-5306860462632891178?l=www.letmego.com'/></div>Alexander Torrenegrahttp://www.blogger.com/profile/15816485964217369562noreply@blogger.com1tag:blogger.com,1999:blog-5353232387647231375.post-19971682083585771782008-11-20T16:26:00.005-05:002009-02-16T19:22:33.388-05:00Some Updates for the RecordLast week, on Friday, I signed off the first task that I assigned to Omar as part of the development team of LetMeGo. He developed (and set the testing environment) of the use case name "Assure Lodging Quality". The objective of this use case is to allow members of the future team of LetMeGo to manually approve most of the updates that are done to the lodging listings. The updates will be done by staff members of the lodgings, of course. Omar got his sign off on my third quality assurance round. Getting a sign on the first QA round is almost impossible. Getting it on the second QA round is unheard off. Getting it on the third QA round is a great. Only pros do it. Having done it on his first tasks as part of the LetMeGo team is, simply put, impressive.<br /><br />This week <a href="http://about.letmego.com/letmego/members/javier_mesa">Maestro</a> completed applying his magic while creating the wireframes of user interfaces of the Brrown scope. This scope is named after James Brown. What will Brrown do for us? That is a secret for now, as it is for some other scopes. It took Maestro longer than expected to accomplish this goal, though, as we had to revise some of the form templates that we had already come up with. The end results, as usual, are beautiful. You'll see...<br /><br />Finally, on my side, I completed the documentation of the Echeverri scope. The Echeverri scope is meant to measure how profitable each lodging is for LetMeGo. Although it sounds simple, I had to come up with some crazy algorithms to determine the exposure-to-booking ratio of each lodging. Said ratio will then be used by other areas of LetMeGo to determine what lodgings should receive more exposure than others. By the way, this scope is named after Andrea Echeverri, lead singer of the Colombian rock band <a href="http://en.wikipedia.org/wiki/Aterciopelados">Aterciopelados</a>.<br /><br />As my friend in the airline industry says, "<a href="http://www.zippyvideos.com/8809485514770666/snl-total_bastard_airline/">Buh Bye!</a>"<br /><br />Alexander Torrenegra<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5353232387647231375-1997168208358577178?l=www.letmego.com'/></div>Alexander Torrenegrahttp://www.blogger.com/profile/15816485964217369562noreply@blogger.com0tag:blogger.com,1999:blog-5353232387647231375.post-81975493094844681532008-11-14T14:53:00.000-05:002008-11-14T14:44:54.768-05:00The State of the Online Presence of the Chinese Lodging IndustryThe main objective of my recent <a href="http://www.letmego.com/2008/11/let-me-go-to-china.html">trip to China</a> was to learn about the Chinese lodging industry first hand. I decided to do this now and not later for two reasons: a) Once LetMeGo.com goes live, I will have little time to travel, and b) if you could graph in a chart the different e-commerce business practices from around the world, China and the US would be extreme opposites. We want to make the Merrcury Engine (the software behind LetMeGo) flexible enough to work in both the US and Chinese market. If we achieve this, it will probably work everywhere else in the world with little or no tweaking. This article will focus on my findings and opinions about the lodging market in China and its online presence. I will write about the size of the Chinese lodging market, Chinese hotel ratings, independent hotels, getting the best price when booking a hotel, Ctrip's leadership, and LetMeGo's potential in China.<br /><br /><span style="font-weight: bold;">Size of the Chinese Lodging Market</span><br /><br />Huge... and getting bigger. The lodging market in China is big, and it is growing very quickly. Most of the demand is internal: Chinese traveling to other destinations within China. Online bookings are also growing very quickly both because of the growth of the Chinese economy and because of the Internet connectivity growth in China. Prices per night tend to be lower than in the US. I stayed in five different hotels in my trip. I paid around 30 to 50% less than what I would have paid, if I were traveling in the US.<br /><br />Okay, the numbers I gave you are not very specific, so here are some actual, realistic values that offer a more specific perspective: <a href="http://www.expedia.com/Default.asp">Expedia.com</a> (<a href="http://finance.google.com/finance?client=ob&q=NASDAQ:EXPE">EXPE</a>) <http: com="" client="ob&q=NASDAQ:EXPE"> is the largest travel portal in the United States. <a href="http://www.ctrip.com/">Ctrip.com</a> (<a href="http://finance.google.com/finance?q=NASDAQ:CTRP">CTRP</a><http: com="" q="NASDAQ:CTRP">) is the largest in China. Expedia's <a href="http://en.wikipedia.org/wiki/Market_capitalization">market cap</a> <http: org="" wiki="" market_capitalization=""> (value) is USD 2.47 billion, while Ctrip's is 1.89 billion. In other words: The Chinese travel industry is not as large as the US, but it is getting closer.<br /><br /><span style="font-weight: bold;">Hotel Ratings</span><br /><br /></http:></http:></http:><http: com="" client="ob&q=NASDAQ:EXPE"><http: com="" q="NASDAQ:CTRP"><http: org="" wiki="" market_capitalization="">This is not a big deal, but it is something to keep in mind. Hotels in China of similar characteristics to hotels in the US usually have one additional start in their rating. For example: a three-star hotel in the US would be listed as a four-star hotel in China. This, of course, can be very confusing for international travelers that are used to a different standard. Fortunately for LetMeGo, we will have this problem covered.<br /><br /></http:></http:></http:><http: com="" client="ob&q=NASDAQ:EXPE"><http: com="" q="NASDAQ:CTRP"><http: org="" wiki="" market_capitalization="">On a side note, I couldn't resist taking this picture when I saw this sign inside the <a href="http://en.wikipedia.org/wiki/Forbidden_City">Forbidden City</a> in Beijing:<br /><br /></http:></http:></http:><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_Pzf3Px9mmx4/SRjMBB7Hy3I/AAAAAAAAAEc/mvk3RDetWR4/s1600-h/PA291170.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="http://2.bp.blogspot.com/_Pzf3Px9mmx4/SRjMBB7Hy3I/AAAAAAAAAEc/mvk3RDetWR4/s400/PA291170.jpg" alt="" id="BLOGGER_PHOTO_ID_5267184082278140786" border="0" /></a><http: com="" client="ob&q=NASDAQ:EXPE"><http: com="" q="NASDAQ:CTRP"><http: org="" wiki="" market_capitalization=""><br />I actually came across one rated bathroom in China, but I am still trying to figure out the usefulness of having a rating system for public bathrooms that do not charge a fee. By the way, this bathroom didn't smell very good. I don't want to imagine how of a one-star bathroom would smell!<br /><br /><span style="font-weight: bold;">Independent Hotels Rule</span><br /><br />In the US most hotels belong to large chains or franchises. In China, around 80% of the hotels are independent. Most travel portals in the United States and GDS networks have been designed, primarily, by and for large hotels chains. This is one of the reasons that it has been difficult for them to get into the Chinese market.<br /><br /><span style="font-weight: bold;">Face to Face, Last-Minute Negotiation, Gets You the Best Price</span><br /><br />This is a little counter-intuitive for most Americans, but based on my experience and readings, it seems to be true. In the US, the best prices for booking a hotel are usually obtained when you book online and well ahead of time. This is not the case in China, at least for now. In China, the best prices are usually achieved if you go to the front desk right when you want to check-in and negotiate the price with the hotel representative.<br /><br />There could be several reasons for this. One reason is likely to be the bargaining culture in China. Whether it is for a product or service, when you ask for a price in China, chances are that you will first get a price that is higher than the actual price that the seller is willing to sell for it. After several cycles of bargaining, you may get a good deal and both you and the seller are happy. Unfortunately, bargaining the price is not an option when booking online. Publishing low prices online may not be in the best interest of hotels as it would limit their negotiation power with buyers that go through the regular bargaining process.<br /><br /><span style="font-weight: bold;">Ctrip.com Is the [Offline] Leader</span><br /><br />Ctrip.com is the leading travel portal in China with more than 50% of online bookings. Most of Ctrip's bookings, however, are made offline via their call center. It seems that most Chinese buyers still like the idea of talking to a person over the phone instead of booking a hotel or flight online.<br /><br />Ctrip's leadership surely comes from understanding the Chinese market better than anyone else:<br /></http:></http:></http:><ul><li><http: com="" client="ob&q=NASDAQ:EXPE"><http: com="" q="NASDAQ:CTRP"><http: org="" wiki="" market_capitalization="">Their system is friendly with independent hotels.</http:></http:></http:></li><li><http: com="" client="ob&q=NASDAQ:EXPE"><http: com="" q="NASDAQ:CTRP"><http: org="" wiki="" market_capitalization="">They know how to market to the Chinese consumer: There were representatives and pushy promoters of Ctrip in every single airport terminal that I passed by while in China.</http:></http:></http:></li><li><http: com="" client="ob&q=NASDAQ:EXPE"><http: com="" q="NASDAQ:CTRP"><http: org="" wiki="" market_capitalization="">They seem to know very well how to get their commissions paid. Not getting paid seems to be a common issue in China.</http:></http:></http:></li><li><http: com="" client="ob&q=NASDAQ:EXPE"><http: com="" q="NASDAQ:CTRP"><http: org="" wiki="" market_capitalization="">Forget about credit cards. Welcome to the era of cash-on-delivery: You order your plane ticket on Ctrip.com, a delivery person then goes to your place, gives you a physical ticket, and you give him/her the cash. Crazy? Well, less than 2% of Chinese own a pin-free (credit or debit) card.</http:></http:></http:></li></ul><http: com="" client="ob&q=NASDAQ:EXPE"><http: com="" q="NASDAQ:CTRP"><http: org="" wiki="" market_capitalization="">Another big player in China is <a href="http://www.elong.net/">Elong.net</a>. They are Expedia's investment in China. Elong.net has less than 10% of the Chinese market, though. Although I did not know the reasons at first, I didn't have to wonder for too long: I sent them around five different email messages (to different people) trying to set up a business development meeting. None of them were answered. I wouldn't want to do business with a company that doesn't answer emails!<br /><br /><span style="font-weight: bold;">What about LetMeGo China?</span><br /><br />First of all, it won't be called LetMeGo.cn - Maybe it will contain numbers. Chinese love web addresses with numbers, as it is easier for them to remember a number than to remember a word composed by Latin characters.<br /><br />Secondly, and more important, it seems that the Merrcury Engine of LetMeGo will need little tweaking in order to work in China. As a matter of fact, given the state-of-the-art technology in China, it may be easier for LetMeGo to become a leader in China than in the United States. The business model for LetMeGo (which is still a secret that we haven't published) is likely to work pretty well in China as long as we can find a good, local partner, to manage it.<br /><br />Our main focus continues to be our US release. Nevertheless, the lessons learned on this trip are leading me to believe that the release of LetMeGo China will follow the US release very closely. Whether we partner with Ctrip or go head-to-head against them is something that only time will tell. We'll see...<br /><br />Alexander Torrenegra<br /><br />P.S. If you want to learn more about the [huge] Internet market in China, I strongly recommend you to see the presentation "Google in China" by <a href="http://en.wikipedia.org/wiki/Kai-Fu_Lee">Kai-Fu Lee</a> (in English). You can download it for free from iTunes at <a href="http://deimos3.apple.com/WebObjects/Core.woa/Browse/cmu.edu.1493991494?i=1587417220">http://deimos3.apple.com/WebObjects/Core.woa/Browse/cmu.edu.1493991494?i=1587417220</a><br /><br />P.S.S. Yes, it is true! Toilets in China flush the other way around. Well, at least some of them :P<br /></http:></http:></http:><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5353232387647231375-8197549309484468153?l=www.letmego.com'/></div>Alexander Torrenegrahttp://www.blogger.com/profile/15816485964217369562noreply@blogger.com0tag:blogger.com,1999:blog-5353232387647231375.post-80632894899410505052008-11-11T06:43:00.002-05:002008-11-11T06:46:18.084-05:00Great news for us from one of our competitorsHomeAway, one of our potential competitors, just got an additional investment of USD 250 million. This is great news for us, as it shows how valuable our business will [hopefully] be.<br /><br />More info at TechCrunch: <a href="http://www.techcrunch.com/2008/11/10/monster-round-for-homeaway-250-million/">Monster Round For HomeAway: $250 Million, At An Absurd Valuation</a><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5353232387647231375-8063289489941050505?l=www.letmego.com'/></div>Alexander Torrenegrahttp://www.blogger.com/profile/15816485964217369562noreply@blogger.com0