<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>YashLabs &#187; Ruby</title>
	<atom:link href="http://www.yashlabs.com/wp/category/technology/open-source/ruby/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.yashlabs.com/wp</link>
	<description>Finance, Technology and the pursuit of Alpha Beauty</description>
	<lastBuildDate>Fri, 16 Jul 2010 20:35:22 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<atom:link rel="hub" href="http://pubsubhubbub.appspot.com"/><atom:link rel="hub" href="http://superfeedr.com/hubbub"/><cloud domain='www.yashlabs.com' port='80' path='/wp/?rsscloud=notify' registerProcedure='' protocol='http-post' />
		<item>
		<title>Deloitte&#8217;s TMT Prediction 2010 and winning the MyTMT Prediction 2010 competition.</title>
		<link>http://www.yashlabs.com/wp/2010/01/20/deloittes-tmt-prediction-2010-and-winning-the-mytmt-prediction-2010-competition/</link>
		<comments>http://www.yashlabs.com/wp/2010/01/20/deloittes-tmt-prediction-2010-and-winning-the-mytmt-prediction-2010-competition/#comments</comments>
		<pubDate>Thu, 21 Jan 2010 00:16:30 +0000</pubDate>
		<dc:creator>Josh</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Finance]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Investments]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[Trading]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[$GOOG]]></category>
		<category><![CDATA[Deloitte TMT Prediction 2010]]></category>
		<category><![CDATA[myTmt]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://www.yashlabs.com/wp/?p=475</guid>
		<description><![CDATA[



Image by Eva Blue via Flickr



I was at Deloitte&#8217;s TMT Prediction 2010 launch event yesterday morning at the Fairmont &#8211; The Queen Elizabeth Hotel. Here is a recap of the event and some thought on the predictions and the discussions we had during the event, including Google and Twitter. I&#8217;ll also write about Twitter and [...]]]></description>
			<content:encoded><![CDATA[<div class="zemanta-img" style="margin:1em;display:block">
<div>
<dl class="wp-caption alignleft" style="width: 250px; ">
<dt class="wp-caption-dt"><a href="http://www.flickr.com/photos/74669477@N00/4287794791" onclick="pageTracker._trackPageview('/outgoing/www.flickr.com/photos/74669477_N00/4287794791?referer=');"><img src="http://farm5.static.flickr.com/4057/4287794791_b50cb55ac3_m.jpg" alt="deloitte TMT predictions 1" title="deloitte TMT predictions 1" width="240" height="169"/></a></dt>
<dd class="wp-caption-dd zemanta-img-attribution" style="font-size:0.8em">Image by <a href="http://www.flickr.com/photos/74669477@N00/4287794791" onclick="pageTracker._trackPageview('/outgoing/www.flickr.com/photos/74669477_N00/4287794791?referer=');">Eva Blue</a> via Flickr</dd>
</dl>
</div>
</div>
<p>I was at Deloitte&#8217;s TMT Prediction 2010 launch event yesterday morning at the Fairmont &#8211; The Queen Elizabeth Hotel. Here is a recap of the event and some thought on the predictions and the discussions we had during the event, including Google and Twitter. I&#8217;ll also write about Twitter and try to convince <a href="http://www.dsam.ca/" onclick="pageTracker._trackPageview('/outgoing/www.dsam.ca/?referer=');">Duncan Stewart</a>, the Director of Deloitte Canada Research: Technology, Media &amp; Telecommunications, Life Sciences and GreenTech of why Twitter is a force to be reckoned with and is here to stay. In fact, by the time I finish this post, I have the intention of convincing any Business, Finance, Technology, Media or Telecommunication person reading it of the high value there is in following me, reading my blog and working with me for Business and Web Strategy, Industry and Business Analysis.</p>
<p><strong>Winning the MyTMT Prediction 2010</strong></p>
<p>This time around, Deloitte actually launched a competition called <a href="http://www.deloitte.com/view/en_CA/ca/industries/tmt/deloitte2010contest/index.htm" onclick="pageTracker._trackPageview('/outgoing/www.deloitte.com/view/en_CA/ca/industries/tmt/deloitte2010contest/index.htm?referer=');">MyTMT prediction</a>, opening it to the public. I was glad to be in the five finalists and also learn during the event that <a href="http://www.deloitte.com/view/en_CA/ca/industries/tmt/deloitte2010contest/article/ec29d18d35246210VgnVCM200000bb42f00aRCRD.htm" onclick="pageTracker._trackPageview('/outgoing/www.deloitte.com/view/en_CA/ca/industries/tmt/deloitte2010contest/article/ec29d18d35246210VgnVCM200000bb42f00aRCRD.htm?referer=');">I won the competition</a> with my prediction that Google is poised to massively disrupt the traditional Telecom Industry, to the applause of approximately 200 Business and Media people during the launch event yesterday, January 19th in Montreal.</p>
<p><strong>Business Strategy</strong></p>
<p>Many people have asked me what the prize was. It was recognition, from the Jury, from a big consulting firm like Deloitte and also many people in the Technology, Media and Telecommunication industries. I also won exposure, mingling with like-minded people, and participating in the conversation about foreseeing and predicting where Technology is bringing us and how it impacts our Businesses and lives. As Deloitte themselves argue, the value of the Predictions event is to </p>
<blockquote><p>explore emerging trends that will have an impact on Canadian businesses in 2010.</p></blockquote>
<p>and to</p>
<blockquote><p>helping their clients evaluate complex issues, develop fresh approaches to problems, and implement practical solutions.</p>
<p>There are dedicated TMT practices in 45 countries in the Americas, EMEA, and Asia Pacific. DTT’s member firms serve 92 percent of the TMT companies in the Fortune Global 500. Clients of Deloitte’s member firms’ TMT practices include some of the world’s top software companies, computer manufacturers, semiconductor foundries, wireless operators, cable companies, advertising agencies, and publishers.</p>
<p><strong>About the research</strong><br />
The 2010 series of Predictions has drawn on internal and external inputs including: conversations with TMT companies, contributions from DTT member firms’ 7,000 partners and senior practitioners specializing in TMT, discussions with financial and industry analysts, and conversations with trade bodies.
</p></blockquote>
<p>Being able to foresee where things are going allows strategizing, planning for the long run. Being able to monitor things allow for swift changing of Business tactics so that the changing environment can have less deleterious effects.</p>
<p>This is why Deloitte&#8217;s TMT Predictions 2010 is essential reading:</p>
<li><a href="http://www.deloitte.com/assets/Dcom-Canada/Local%20Assets/Documents/TMT/ca_en_tmt_tmtpredictions2010Technology_011910.pdf" onclick="pageTracker._trackPageview('/outgoing/www.deloitte.com/assets/Dcom-Canada/Local_20Assets/Documents/TMT/ca_en_tmt_tmtpredictions2010Technology_011910.pdf?referer=');">Technology Predictions 2010</a></li>
<li><a href="http://www.deloitte.com/assets/Dcom-Canada/Local%20Assets/Documents/TMT/ca_en_tmt_tmtpredictions2010Media_011910.pdf" onclick="pageTracker._trackPageview('/outgoing/www.deloitte.com/assets/Dcom-Canada/Local_20Assets/Documents/TMT/ca_en_tmt_tmtpredictions2010Media_011910.pdf?referer=');">Media Predictions 2010</a></li>
<li><a href="http://www.deloitte.com/assets/Dcom-Canada/Local%20Assets/Documents/TMT/ca_en_tmt_tmtpredictions2010Telecoms_011910.pdf" onclick="pageTracker._trackPageview('/outgoing/www.deloitte.com/assets/Dcom-Canada/Local_20Assets/Documents/TMT/ca_en_tmt_tmtpredictions2010Telecoms_011910.pdf?referer=');">Telecommunications 2010</a></li>
<p>Similarly, somebody reading my blog back then <a href="http://www.yashlabs.com/wp/2005/11/08/firefox-the-worlds-best-browser/">in 2005 would have already known the pitfalls of using Microsoft&#8217;s Internet Explorer based on quasi-prophetic words at the time</a>, totally vindicated by the recent huge security debacle involving Microsoft, Google, China, and some other 30-odd U.S. firms this January:</p>
<blockquote><p>
During and after these brushes with Justice, Microsoft officials have repeatedly been heard chanting the mantra “Innovation, Innovation. If Microsoft is broken into smaller pieces, we won’t be able to do our Innovation.”</p>
<p>But see, before all this, by bundling their inferior Internet Explorer with Windows, they still managed to make IE the most used browser on the planet since they also force Windows down the throat of the PC-buying customer.</p>
<p>But once they achieved this, what do you think they did with IE? Do you think they kept on innovating, adding features to it, sorting out the kinks, supporting Internet Standards?</p>
<p>No, they sat on it for 3 years. And since IE is a security hazard, the flaws were rapidly exploited. Last year, there were countless storied of PCs being hijacked by spyware, popups everywhere, people tearing their hair off, going mad.</p>
<p>All of this because Microsoft in intent on dominating a segment but does not really care about the customer, nor about innovation. And once they do, and every time a finger points at them, they will strive to cover everything up in marketing or P.R.<br />
&#8212;<br />
Not only that, but the Mozilla team, true to <a href="http://www.yashlabs.com/gloss_article1.htm">Open Source</a> spirit, regularly updated the browser. More specifically, they patched any flaw very rapidly.</p>
<p>Typically, Microsoft will take weeks before even acknowledging a flaw, and if they patch it, the user is left with a vulnerable system for months.<br />
&#8212;<br />
<strong>Internet Explorer 7 will still be flawed. The problem is Microsoft.</strong></p>
<p>MS&#8217;s IE7 will still be flawed. Microsoft still hasn&#8217;t learned to support open standards and they still haven&#8217;t learned to released a secure software. Instead they are still rushing bug-ridden software and covering it up with P.R. and marketing millions, the latest case being Visual Studio 2005.</p>
<p>Then they also want you to get their Windows Defender anti-spyware software. How come they cannot patch their faulty software first and foremost?</p>
<p>Microsoft hasn&#8217;t learned and won&#8217;t learn from its mistakes. It&#8217;s a monopoly and feels safe enough there. So it will rely on weird tactics for a long time. Like removing all trace of some Linux-bashing articles from the Internet. Like funding pseudo-neutral analysts to tout their software and bash alternatives. Like spreading Fear, Uncertainty and Doubt about alternate products. Like enabling only passport-registered people to post comments on their inane MS-marketing blogs. And who posts there? Well those who have MS passports, that is, MS employees primarily and who will do some mutual back-slapping hoping the community takes it up (astro-turfing &#8211; a fake grass root marketing approach). Like stubbornly not supporting Open Standards. Like pissing off customers, partners, and employees all at once. Like creating an artificial shortage of XBox 360.</p>
<p><strong>The choice is yours. <a href="http://danielneamu.rdscv.ro/?q=Microsoft-Geeks-on-Future-of-MSN-Search" onclick="pageTracker._trackPageview('/outgoing/danielneamu.rdscv.ro/?q=Microsoft-Geeks-on-Future-of-MSN-Search&amp;referer=');">Make the best one</a>.</strong></p>
<p>You have the choice to try an alternative: the best browser in the world.</p></blockquote>
<p>Microsoft has been at it again: trying to minimize the seriousness of the security issues, while bashing other browsers. The Web, however, is quick to point out the flawed reasoning:</p>
<p><a href="http://mashable.com/2010/01/19/microsoft-downplays-ie-hole/" onclick="pageTracker._trackPageview('/outgoing/mashable.com/2010/01/19/microsoft-downplays-ie-hole/?referer=');">Mashable &#8211; Microsoft downplays Internet Explorer security holes</a></p>
<p>It takes years to change an ingrained company culture with blessings of wrongdoing from above, and knowing the software engineering advantages of open-source (&#8220;With enough eyeballs, all bugs are shallow&#8221; &#8211; Eric S. Raymond), I knew there were fundamental problems with the company itself.</p>
<p>My point of view is validated today with <a href="http://www.readwriteweb.com/archives/france_says_non_to_internet_explorer.php" onclick="pageTracker._trackPageview('/outgoing/www.readwriteweb.com/archives/france_says_non_to_internet_explorer.php?referer=');">entire governments like France and Germany saying no to Internet Explorer and urging to do the same</a>, but only with 4 years of delay&#8230;</p>
<p>So, if you would like to know what I think of where the future in Business and Technology lies, here are the essential posts you should read:</p>
<li><a href="http://www.yashlabs.com/wp/2009/12/30/revisiting-past-technology-business-predictions-2009/">Revisiting past predictions &#8211; 2009</a></li>
<li><a href="http://www.yashlabs.com/wp/2007/04/01/the-essence-of-googles-success/">The essence of Google&#8217;s Success</a></li>
<li><a href="http://www.yashlabs.com/wp/2007/07/02/google-telecom-hello/">Google Telecom, Hello!</a></li>
<li><a href="http://www.yashlabs.com/wp/2009/12/20/top-9-reasons-why-the-google-nexus-one-phone-beats-apples-iphone/">Top 9 reasons why the Google Nexus One beats the iPhone</a></li>
<li><a href="http://www.yashlabs.com/wp/2009/12/25/the-apple-tablet-and-other-industry-disruptions-signed-apple/">The Apple tablet and other industry disruptions signed Apple</a></li>
<li><a href="http://www.yashlabs.com/wp/2009/12/30/clash-of-the-titans-google-vs-apple-in-2010-and-beyond/">Clash of the Titans &#8211; Google vs Apple in 2010 and beyond</a>.  That one was a whole two weeks before the nice <a href="http://www.businessweek.com/magazine/content/10_04/b4164028483414.htm?campaign_id=magazine_related" onclick="pageTracker._trackPageview('/outgoing/www.businessweek.com/magazine/content/10_04/b4164028483414.htm?campaign_id=magazine_related&amp;referer=');">BusinessWeek article</a>.</li>
<p>And more predictions from me are here:</p>
<li><a href="http://www.businessweek.com/magazine/content/10_04/b4164028483414.htm?campaign_id=magazine_related" onclick="pageTracker._trackPageview('/outgoing/www.businessweek.com/magazine/content/10_04/b4164028483414.htm?campaign_id=magazine_related&amp;referer=');">Technologies to watch for us 2010 and this decade</a></li>
<li><a href="http://www.yashlabs.com/wp/2009/12/31/10-science-business-technology-predictions-for-the-next-decade-2010-2019/">10 Science, Business and Technology Predictions for the next decade 2010-2019</a></li>
<p><strong>Predictions discussion</strong></p>
<p><strong>a. Google</strong></p>
<p>After the presentation of my prediction, Duncan Stewart said &#8220;You nailed it. I think for everything, you nailed it. But I don&#8217;t agree with one thing&#8221;.</p>
<p>And that was about how in the US, people are very used to a certain level of customer service. He does have a point, especially judging by the flood of questions and complaints regarding an issue with continuous switching between Edge and 3G networks. This got the Google-T-Mobile-HTC trinity passing a hot potato around for a while.</p>
<p>Personally, I think it&#8217;s just growing pains for Google, but the bases of the innovative disruption are already there and the consumer will like that.</p>
<p>Check out this <a href="http://www.yashlabs.com/wp/2010/01/06/more-industry-insights-about-the-google-nexus-one-while-apple-ditches-intel-for-the-iphone/">very insightful text by Jon Stokes on Ars Technica where he describes how selling the handset unlocked and separately from the carrier changes the competitive landscape</a>:</p>
<blockquote><p>Because AT&amp;T has ensnared—and locked in—legions of consumers with the iPhone, the company’s incentive is to minimize their infrastructure spending so that they can maximize per-user profits. AT&amp;T also has a motive to nickel-and-dime you to death, because it has you locked in with that amazing phone and its accompanying ETF.</p></blockquote>
<p><strong>b. Twitter</strong></p>
<p>Asked by <a href="http://www.michelleblanc.com/" onclick="pageTracker._trackPageview('/outgoing/www.michelleblanc.com/?referer=');">Michelle Blanc</a> about what his thoughts on Twitter and its positive role in the aftermath of the Haiti disaster were, Duncan turned out not to be such a big fan of Twitter after all.</p>
<p>Here is what I think Duncan should do to do to get more out of Twitter:</p>
<p>1. Use <a href="http://www.tweetdeck.com/" onclick="pageTracker._trackPageview('/outgoing/www.tweetdeck.com/?referer=');">TweetDeck</a> (my favourite) or Seesmic (using it on Android since TweetDeck is not available and it&#8217;s very good indeed) to separate different streams into columns: &#8220;All Friends&#8221;, &#8220;Direct Messages&#8221;, &#8220;Mentions&#8221;. In TweetDeck, you can also add your Facebook column.</p>
<p>2. If you like Finance, Trading and Investments,<br />
 &#8211; register for <a href="http://stocktwits.com/" onclick="pageTracker._trackPageview('/outgoing/stocktwits.com/?referer=');">StockTwits</a><br />
 &#8211; download the <a href="http://www.nasdaq.com/about/iphone/" onclick="pageTracker._trackPageview('/outgoing/www.nasdaq.com/about/iphone/?referer=');">Nasdaq QFolio</a> app for the iPhone in the App store and follow what people are saying on StockTwits for each ticker.</p>
<p>3. Follow people of interest, those with expertise and breaking news, through search or pre-existing lists on other people&#8217;s profiles or on TweetDeck&#8217;s homepage. e.g. Follow <a href="http://twitter.com/howardlindzon" onclick="pageTracker._trackPageview('/outgoing/twitter.com/howardlindzon?referer=');">@howardlinzon</a>, and <a href="http://twitter.com/fredwilson" onclick="pageTracker._trackPageview('/outgoing/twitter.com/fredwilson?referer=');">@fredwilson</a></p>
<p><strong>Here is why I think Twitter is important:</strong></p>
<p>1. Nasdaq has built an iPhone app which leverages StockTwits, which itself leverages Twitter. I bet this is going to be important for algorithmic trading.</p>
<p>2. <a href="http://www.yashlabs.com/wp/2009/12/22/twitter-profitable-after-google-and-microsoft-deals-its-a-win-for-ruby-on-rails/">Twitter has made deals with Google and Microsoft to the tune of $25M so that their realtime search results appear in the two giants&#8217; traditional search engines</a></p>
<p>3. <a href="http://www.avc.com/a_vc/2010/01/twittercom-vs-the-twitter-ecosystem.html" onclick="pageTracker._trackPageview('/outgoing/www.avc.com/a_vc/2010/01/twittercom-vs-the-twitter-ecosystem.html?referer=');">Twitter has an ecosystem</a> of 50,000 apps, and growing. It has become a platform where people use it for marketing and finance. This is crucial and there area many other details in my criteria for IPO selection in <a href="http://www.yashlabs.com/wp/2009/12/24/two-ipos-to-look-forward-to-in-2010/">Two IPOs to look forward to in 2010</a>.</p>
<p>4. Remember IRC channels during the Iraq war? Twitter plays that role today, and much more. Breakout news happens there first, and much later on other channels.</p>
<p>5. I was spending some night in New York and at one point in time there were insistent traffic of fire-trucks and I thought &#8220;This is not the city that never sleeps &#8211; it&#8217;s rather the city where you can never sleep&#8221;. My first reflex? Checking #NYC on Twitter to see if there was any danger in the vicinity. Similarly, Twitter will become essential for alerting you to any opportunities in your surroundings. That&#8217;s part of <a href="http://www.yashlabs.com/wp/2009/12/31/10-science-business-technology-predictions-for-the-next-decade-2010-2019/">the power of real-time and location-based services</a>.</p>
<p>6. Twitter allows you to do social computing. Your trusted friends and contacts will help when you have a genuine question and if you are helpful too.</p>
<p>7. Last but not least&#8230; <a href="http://www.fastcompany.com/blog/kit-eaton/technomix/twitter-really-works-makes-65-million-sales-dell" onclick="pageTracker._trackPageview('/outgoing/www.fastcompany.com/blog/kit-eaton/technomix/twitter-really-works-makes-65-million-sales-dell?referer=');">Dell made $6.5M through Twitter channels sales in two years</a>.</p>
<p><strong>Solar</strong></p>
<p>I was a bit disappointed to hear that solar would have some difficulties along the 2010 because of a supply glut. However, stumbling blocks can turn into stepping stones &#8211; this may be an opportunity to regularly stock up on the equities, value-averaging along the way until the big break provided the choice is made carefully.</p>
<p><strong>How Deloitte leveraged Social Media for TMT Predictions 2010</strong></p>
<p>Deloitte did very well in leveraging Social Media prior and up to the event. First, they decided to open up submissions from the public, leveraging user-generated content.</p>
<p>They further leveraged several social media applications, services and strategies and <a href="http://kathelinejeanpierre.ca/" onclick="pageTracker._trackPageview('/outgoing/kathelinejeanpierre.ca/?referer=');">Katheline Jean-Pierre</a> has been a driving force behind that, and I actually learned about the MyTMT prediction through her Facebook and Twitter feeds.</p>
<p>Deloitte was present on the Web, on Twitter, and on Facebook, together with UStream, YouTube etc&#8230;</p>
<p>Deloitte called upon <a href="http://www.zelaurent.com/conference/en-direct-des-predictions-technologies-medias-et-telecommunication-2010/" onclick="pageTracker._trackPageview('/outgoing/www.zelaurent.com/conference/en-direct-des-predictions-technologies-medias-et-telecommunication-2010/?referer=');">Laurent Maisonnave of ZeAgence</a> to build upon his social media and video streaming skills &#8211; the event was filmed and streamed to Deloitte&#8217;s UStream channel in realtime over the web.</p>
<p>They leveraged the <a href="http://wildfireapp.com/?variation=1" onclick="pageTracker._trackPageview('/outgoing/wildfireapp.com/?variation=1&amp;referer=');">Wildfire application</a> for Facebook, which allows campaign management. Any participant could upload their videos and then invite their Facebook friends to vote through the Wildfire app embedded in Deloitte&#8217;s MyTMT web page.</p>
<p>Before and during the event, Deloitte had communicated and prominently displayed its hashtag for the event (#TMTPrediction2010 or #TMTPred2010) for others to include in their Tweets.</p>
<p>This morning, I was also flabbergasted to learn that my prediction was shown to 400 Business people at the event in Toronto.</p>
<p>Actually, it will also be shown throughout Canada during Deloitte&#8217;s stops in major cities during their TMT Prediction events. I believe they are:<br />
Winnipeg, Quebec, Ottawa, Calgary, Halifax and Vancouver.</p>
<p>Thanks Deloitte for this opportunity and kudos to the team, Duncan, Robert, Peter, Katheline, Laurent and the <a href="http://www.deloitte.com/view/en_CA/ca/industries/tmt/deloitte2010contest/article/056df0c1d0235210VgnVCM100000ba42f00aRCRD.htm" onclick="pageTracker._trackPageview('/outgoing/www.deloitte.com/view/en_CA/ca/industries/tmt/deloitte2010contest/article/056df0c1d0235210VgnVCM100000ba42f00aRCRD.htm?referer=');">Jury members</a>.</p>
<div class="zemanta-pixie" style="margin-top:10px;height:15px"><a class="zemanta-pixie-a" href="http://reblog.zemanta.com/zemified/c9e37e6e-abac-4797-bcea-a7f44027cf91/" title="Reblog this post [with Zemanta]" onclick="pageTracker._trackPageview('/outgoing/reblog.zemanta.com/zemified/c9e37e6e-abac-4797-bcea-a7f44027cf91/?referer=');"><img class="zemanta-pixie-img" src="http://img.zemanta.com/reblog_b.png?x-id=c9e37e6e-abac-4797-bcea-a7f44027cf91" alt="Reblog this post [with Zemanta]" style="border:none;float:right"/></a><span class="zem-script more-related pretty-attribution"><script type="text/javascript" src="http://static.zemanta.com/readside/loader.js" defer="defer"></script></span></div>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.yashlabs.com%2Fwp%2F2010%2F01%2F20%2Fdeloittes-tmt-prediction-2010-and-winning-the-mytmt-prediction-2010-competition%2F&amp;linkname=Deloitte%26%238217%3Bs%20TMT%20Prediction%202010%20and%20winning%20the%20MyTMT%20Prediction%202010%20competition." onclick="pageTracker._trackPageview('/outgoing/www.addtoany.com/share_save?linkurl=http_3A_2F_2Fwww.yashlabs.com_2Fwp_2F2010_2F01_2F20_2Fdeloittes-tmt-prediction-2010-and-winning-the-mytmt-prediction-2010-competition_2F_amp_linkname=Deloitte_26_238217_3Bs_20TMT_20Prediction_202010_20and_20winning_20the_20MyTMT_20Prediction_202010_20competition.&amp;referer=');"><img src="http://www.yashlabs.com/wp/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.yashlabs.com/wp/2010/01/20/deloittes-tmt-prediction-2010-and-winning-the-mytmt-prediction-2010-competition/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Revisiting past Technology &amp; Business predictions &#8211; 2009</title>
		<link>http://www.yashlabs.com/wp/2009/12/30/revisiting-past-technology-business-predictions-2009/</link>
		<comments>http://www.yashlabs.com/wp/2009/12/30/revisiting-past-technology-business-predictions-2009/#comments</comments>
		<pubDate>Wed, 30 Dec 2009 17:49:34 +0000</pubDate>
		<dc:creator>Josh</dc:creator>
				<category><![CDATA[AJAX]]></category>
		<category><![CDATA[Business]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Masters at work]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Web 2.0]]></category>
		<category><![CDATA[Web O.S.]]></category>
		<category><![CDATA[$GOOG]]></category>
		<category><![CDATA[AAPL]]></category>
		<category><![CDATA[Apple]]></category>

		<guid isPermaLink="false">http://www.yashlabs.com/wp/?p=386</guid>
		<description><![CDATA[At the close of 2009, it is time to revisit my past predictions and see how I fared. I find that with time, my blog has become more self-referential as things I have envisioned years ago &#8211;  sometimes up to 4 years ago &#8211; become validated or progress in the general direction I foretold.
1. [...]]]></description>
			<content:encoded><![CDATA[<p>At the close of 2009, it is time to revisit my past predictions and see how I fared. I find that with time, my blog has become more self-referential as things I have envisioned years ago &#8211;  sometimes up to 4 years ago &#8211; become validated or progress in the general direction I foretold.</p>
<p><strong>1. <a href="http://www.yashlabs.com/wp/2007/07/02/google-telecom-hello/">Google Telecom, Hello!</a> &#8211; July 2nd, 2007</strong></p>
<div id="attachment_402" class="wp-caption alignleft" style="width: 310px"><a href="http://www.yashlabs.com/wp/wp-content/uploads/2009/12/Screen-shot-2009-12-30-at-12.34.41-PM1.png"><img class="size-medium wp-image-402" title="Google" src="http://www.yashlabs.com/wp/wp-content/uploads/2009/12/Screen-shot-2009-12-30-at-12.34.41-PM1-300x108.png" alt="Google" width="300" height="108" /></a><p class="wp-caption-text">Google</p></div>
<p>I envisioned then as TechCrunch had featured a rumour that Google was going to buy GrandCentral, that Google was bent on becoming a Telco or ISP themselves.</p>
<blockquote><p><strong>The acquisition of GrandCentral and mobile ambitions – The Google phone?</strong></p>
<p>GrandCentral provides you with one phone number linked to all your existing phone numbers, and many other features (thanks to Techcrunch for this great overview) through its website and also through your mobile.</p>
<p>There have been rumors of the Google phone before, and such a device with the mobile Google applications, linked to all the Google integrated goodies mentioned above would be pure bliss for managing and sharing data and event information with contacts when either online or offline thanks to Google Gears.</p></blockquote>
<blockquote><p><strong>Google’s killer move</strong></p>
<p>Here is what I predict will happen with Google Telecom. Based on the current state of Telecom, i.e. VOIP disrupting the industry with the old Telcos still charging too much while there are cheaper VOIP offers like the Gizmo Project, Skype, VBuzzer and Jajah, Google will adopt a similar strategy to Google Apps. With Google Apps, Google has a tiered access: free access for users and paid access for businesses.</p>
<p><strong>I believe Google Telecom will offer free calls locally and worldwide to fixed telephone lines and mobiles to individual users and basic paid access for businesses and bring a more severe disruption of the Telecom industry as it will rely on getting more advertising through these channels.</strong> Alternately, Google could use the Google Web infrastructure to position itself as an ISP and offer free Internet access to all too.</p>
<p>That’s a killer strategy, and they can pull it off. Beautifully at that.</p></blockquote>
<p><strong>2. <a href="http://www.yashlabs.com/wp/2007/03/11/how-apple-will-revolutionize-music-making/">How Apple will revolutionize music-making</a> &#8211; March 11th, 2007</strong></p>
<div id="attachment_403" class="wp-caption alignright" style="width: 150px"><a href="http://www.yashlabs.com/wp/wp-content/uploads/2009/12/Screen-shot-2009-12-30-at-12.35.14-PM1.png"><img class="size-full wp-image-403" title="Apple" src="http://www.yashlabs.com/wp/wp-content/uploads/2009/12/Screen-shot-2009-12-30-at-12.35.14-PM1-e1262195541756.png" alt="Apple" width="140" height="165" /></a><p class="wp-caption-text">Apple</p></div>
<p>Months before the launch of the iPhone, I foresaw how the multi-touch device will change the way we make music, essentially because multi-touch is organic and enables the use of the device as Midi controllers.</p>
<p>However, the iPhone and the iPod Touch are a little too small for a big revolution. The forthcoming tablet will be different. Being bigger, we can expect many more practical uses  like playing virtual instruments live, using the tablet as a virtual mixer and sequencer and so on.</p>
<blockquote><p><strong>Conclusion</strong></p>
<p>The whole experience of how you make music within a sequencer with virtual instruments is about to be revolutionized by Apple with a forthcoming combination of multi-touch hardware and software based on Logic and running on at least Leopard.</p>
<p>The very act of recording, manipulating and producing music on a computer will become an organic performance in itself.</p>
<p>I don’t know when it’s coming, but I do know it’s soon, probably this year, and it’s going to be Apple and Leopard+.</p></blockquote>
<p>The Next three ones come from a long post called <a href="http://www.yashlabs.com/wp/2005/10/10/the-web-os-web-20-yubnub-and-yashnub/">The Web O.S., Web 2.0, yubnub and YashNub</a> dated October 10th, 2005.</p>
<blockquote><p>A revolution is under way. It is one of those times when technologies developed separately converge and congeal. From this emerges a new system that is better than the sum of its parts.</p></blockquote>
<p><strong>3. The Web O.S. / The Cloud &#8211; October 10th, 2005</strong></p>
<blockquote><p>This begs the question of how to propagate technical requirements to an underlying platform to enhance the end-user’s experience with Web 2.0.</p>
<p>The first point of contact is the user’s browser.<br />
&#8230;</p>
<p><strong>My view of the Web OS is that it must be a combination of the computer’s OS and the browser.</strong> &#8230;</p>
<p><strong>Given Firefox and AJAX and great web services, there will be an increasing migration of desktop applications to remotely hosted locations on the web.</strong> Of course, not all applications can be hosted this way yet – desktop installed apps will still be around for a long time.</p>
<p>But assuming increased hosted services, <strong>it is a simple and logical step to envision that the computer OS can itself be tweaked for Web 2.0 usage. In other words, you could enhance existing Web support, but in addition, you could also strip an existing computer OS from any superfluous capabilities and code. You would then obtain a low-cost alternative to the bloated (and sometimes expensive) OSes currently available.</strong></p>
<p><strong>These WebOS 2.0 PC’s, being cheaper, could be used to power schools, especially in developing and third world countries and businesses alike.</strong></p>
<p><strong>Businesses would also benefit of broadband connections to leverage hosted services.</strong></p>
<p><strong>Although schools in poor areas may have broadband, they would still benefit of the network architecture: imagine just one server providing the necessary web services to a class of pupils. They could all be writing their assignment with a software like Writely.</strong></p>
<p><strong> </strong><strong>The whole of the software service maintenance is outsourced – this is less costly in time and money for anyone using a PC with Web OS.</strong></p>
<p>Of note recently is the announcement of the partnership between Google and Sun for cross-marketing of their services. This fuelled a lot of speculation about whether a Web version of StarOffice would be in the works. In addition, people have been talking about a possible Google browser and GoogleOS.</p>
<p><strong>I envision the future Web O.S. to be a stripped down Linux distribution with subsequent enhancements. And the single distribution which is poised as the best contender has to be Mark Shuttleworth’s forever free Ubuntu Linux.</strong></p>
<p><strong> </strong><strong>Based on the above, I don’t think Google is preparing a browser or O.S. Because both the browser (Firefox) and the Computer OS (Ubuntu Linux) already exist, it doesn’t seem to be a good strategy to me.</strong></p></blockquote>
<p><strong>4. Firefox &#8211; October 20th, 2005</strong></p>
<p><a href="http://gs.statcounter.com/#browser_version-ww-weekly-200827-200951" target="_blank" onclick="pageTracker._trackPageview('/outgoing/gs.statcounter.com/_browser_version-ww-weekly-200827-200951?referer=');">In December 2009, Firefox overtakes IE 7 to become the Word&#8217;s most popular browser.</a></p>
<blockquote>
<div id="attachment_397" class="wp-caption alignleft" style="width: 134px"><a href="http://www.yashlabs.com/wp/wp-content/uploads/2009/12/Screen-shot-2009-12-30-at-12.36.57-PM.png"><img class="size-full wp-image-397" title="Firefox" src="http://www.yashlabs.com/wp/wp-content/uploads/2009/12/Screen-shot-2009-12-30-at-12.36.57-PM.png" alt="Firefox" width="124" height="119" /></a><p class="wp-caption-text">Firefox</p></div>
<p>&#8230;<br />
My weapon of choice in this area is Firefox and it should be yours too. Mozilla’s awesome open-source browser is highly customizable through a variety of extensions. A personal favourite is GreaseMonkey which allows you to install scripts that personalize the browsing experience of some sites, removing annoyances in some cases or enhancing functionality in others.</p>
<p><strong>My view of the Web OS is that it must be a combination of the computer’s OS and the browser. The advantage with a browser like Firefox is that it is already cross-platform and standards-based. It is therefore a candidate of choice for basing any development of the Web 2.0 services.</strong></p></blockquote>
<p>I also praised Firefox in this other post in <a href="http://www.yashlabs.com/wp/2005/11/08/firefox-the-worlds-best-browser/">November 2005 &#8211; Firefox, the world best browser</a>.</p>
<blockquote><p>Not only that, but the Mozilla team, true to Open Source spirit, regularly updated the browser. More specifically, they patched any flaw very rapidly.</p></blockquote>
<p><strong>5. Ruby on Rails &#8211; October 10th, 2005</strong></p>
<div id="attachment_404" class="wp-caption alignright" style="width: 310px"><a href="http://www.yashlabs.com/wp/wp-content/uploads/2009/12/Screen-shot-2009-12-30-at-12.35.37-PM1.png"><img class="size-medium wp-image-404" title="Twitter" src="http://www.yashlabs.com/wp/wp-content/uploads/2009/12/Screen-shot-2009-12-30-at-12.35.37-PM1-300x72.png" alt="Twitter" width="300" height="72" /></a><p class="wp-caption-text">Twitter</p></div>
<p><a href="http://www.yashlabs.com/wp/2009/12/22/twitter-profitable-after-google-and-microsoft-deals-its-a-win-for-ruby-on-rails/" target="_blank">Thanks to launching with Ruby on Rails, Twitter has managed to raise $25M at the end of this year.</a></p>
<div id="attachment_399" class="wp-caption alignright" style="width: 160px"><a href="http://www.yashlabs.com/wp/wp-content/uploads/2009/12/Screen-shot-2009-12-30-at-12.37.15-PM.png"><img class="size-thumbnail wp-image-399 " title="Ruby on Rails" src="http://www.yashlabs.com/wp/wp-content/uploads/2009/12/Screen-shot-2009-12-30-at-12.37.15-PM-150x150.png" alt="Ruby on Rails" width="150" height="150" /></a><p class="wp-caption-text">Ruby on Rails</p></div>
<p><a href="http://rubyonrails.org/" target="_blank" onclick="pageTracker._trackPageview('/outgoing/rubyonrails.org/?referer=');">Ruby on Rails</a> is a Rapid Web Development framework built using <a href="http://www.ruby-lang.org/en/" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.ruby-lang.org/en/?referer=');">Ruby</a>, an open-source and truly object-oriented programming language.</p>
<div id="attachment_400" class="wp-caption alignright" style="width: 160px"><a href="http://www.yashlabs.com/wp/wp-content/uploads/2009/12/Screen-shot-2009-12-30-at-12.37.59-PM.png"><img class="size-thumbnail wp-image-400" title="Ruby" src="http://www.yashlabs.com/wp/wp-content/uploads/2009/12/Screen-shot-2009-12-30-at-12.37.59-PM-e1262195298493.png" alt="Ruby" width="150" height="48" /></a><p class="wp-caption-text">Ruby</p></div>
<blockquote><p>I am quite fond of Matsumoto-san’s Ruby language and hence I founded a local Ruby user Group.</p>
<p>Ruby on Rails has made the development of new web services a disarmingly simple thing to do. The very implementation of the Rails framework enables you not to have to repeat yourself in your code. Actually, a lot of the code is automatically generated.</p>
<p>Thanks to David Heinemeier Hansson and thousand of other contributors, RoR is and will continue to be a driving force for evolving Web 2.0 because it’s now easy and fast to build new applications. It’s also worth mentioning that RoR now incorporates AJAX functionality by default.</p></blockquote>
<p><strong>6. Open-source</strong></p>
<p>I have been involved in Linux User Groups and the open-source community for more than a decade and I use and recommend open-source software for that much to enterprises and individuals alike.</p>
<p>Open-source continues to grow as an influential way of building technology and businesses.  Sometimes, the open-source product is better engineered than the commercial product, since:</p>
<li>Companies usually operate in an economy of resources mode and management often have no clue what development is about.</li>
<li>In the open-source world, &#8220;with sufficient eyeballs, all bugs are shallow&#8221;,  meaning that someone, somewhere in the world is an expert in solving exactly the problem or bug that the software has and can do so in a small period of time.</li>
<p>Therefore, building proprietary solutions from scratch is an increasingly losing battle. It is much better to build around open-source software and open standards, ensuring interoperability and robustness.</p>
<p><a href="http://www.facebook.com/" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.facebook.com/?referer=');">Facebook</a>, <a href="http://twitter.com/" target="_blank" onclick="pageTracker._trackPageview('/outgoing/twitter.com/?referer=');">Twitter</a>,  <a href="http://wordpress.com/" target="_blank" onclick="pageTracker._trackPageview('/outgoing/wordpress.com/?referer=');">WordPress</a>, <a href="http://www.ubuntu.com/" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.ubuntu.com/?referer=');">Ubuntu</a>, <a href="http://www.google.com" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.google.com?referer=');">Google</a>, Apple <a href="http://store.apple.com/us/product/MC223Z/A?fnode=MTY1NDAzOA&amp;mco=MTA4MjgwNDE" target="_blank" onclick="pageTracker._trackPageview('/outgoing/store.apple.com/us/product/MC223Z/A?fnode=MTY1NDAzOA_amp_mco=MTA4MjgwNDE&amp;referer=');">Mac OS X</a> are all built with or around open-source software.</p>
<p>By the way, Eric Raymond, the term &#8216;open source&#8217; won &#8211; we rarely hear of Free Software anymore. However, let&#8217;s not forget the seminal work of Richard Stallman.</p>
<p>At the close of 2009, one of the most impressive companies of the decade relies heavily on Open-source software, contributes heavily to the Open-Source community and has evolved into a major player in several industries by building a hybrid business model:</p>
<blockquote><p><code>Proprietary or closed-sourced core algorithms and technology<br />
+<br />
Heavily leverage open-source technology and contribute back to the community</code></p></blockquote>
<p>That company is Google and is a great model for merging technology and business and succeeding in the digital age and the knowledge economy. Note that to replicate Google&#8217;s success, you also have to rely heavily on Engineers and Engineering in Computer Science.</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.yashlabs.com%2Fwp%2F2009%2F12%2F30%2Frevisiting-past-technology-business-predictions-2009%2F&amp;linkname=Revisiting%20past%20Technology%20%26%23038%3B%20Business%20predictions%20%26%238211%3B%202009" onclick="pageTracker._trackPageview('/outgoing/www.addtoany.com/share_save?linkurl=http_3A_2F_2Fwww.yashlabs.com_2Fwp_2F2009_2F12_2F30_2Frevisiting-past-technology-business-predictions-2009_2F_amp_linkname=Revisiting_20past_20Technology_20_26_23038_3B_20Business_20predictions_20_26_238211_3B_202009&amp;referer=');"><img src="http://www.yashlabs.com/wp/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.yashlabs.com/wp/2009/12/30/revisiting-past-technology-business-predictions-2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Twitter profitable after Google and Microsoft deals &#8211; it&#8217;s a win for Ruby on Rails</title>
		<link>http://www.yashlabs.com/wp/2009/12/22/twitter-profitable-after-google-and-microsoft-deals-its-a-win-for-ruby-on-rails/</link>
		<comments>http://www.yashlabs.com/wp/2009/12/22/twitter-profitable-after-google-and-microsoft-deals-its-a-win-for-ruby-on-rails/#comments</comments>
		<pubDate>Wed, 23 Dec 2009 03:24:06 +0000</pubDate>
		<dc:creator>Josh</dc:creator>
				<category><![CDATA[AI]]></category>
		<category><![CDATA[Algorithmic Trading]]></category>
		<category><![CDATA[Finance]]></category>
		<category><![CDATA[Hedge Funds]]></category>
		<category><![CDATA[Investments]]></category>
		<category><![CDATA[Masters at work]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Quantitative Analysis]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[High-Frequency Trading]]></category>
		<category><![CDATA[Howard Linzon]]></category>
		<category><![CDATA[IPO]]></category>
		<category><![CDATA[NASDAQ]]></category>
		<category><![CDATA[StockTwits]]></category>
		<category><![CDATA[Trading Strategy]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://www.yashlabs.com/wp/?p=335</guid>
		<description><![CDATA[Bloomberg reported that Twitter inked two deals for a total of 25M USD with Google and Microsoft so that tweets can be inserted in their search results page.
This shows how essential real-time has become on the Web.
For me it&#8217;s a big win for the underlying open source technology framework for Rapid Web Development, Ruby on Rails, [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.bloomberg.com" onclick="pageTracker._trackPageview('/outgoing/www.bloomberg.com?referer=');">Bloomberg</a> reported that <a href="http://www.bloomberg.com/apps/news?pid=20601109&amp;sid=a1jwVtGQmErk&amp;pos=13" onclick="pageTracker._trackPageview('/outgoing/www.bloomberg.com/apps/news?pid=20601109_amp_sid=a1jwVtGQmErk_amp_pos=13&amp;referer=');">Twitter inked two deals for a total of 25M USD with Google and Microsoft</a> so that tweets can be inserted in their search results page.</p>
<p>This shows how essential real-time has become on the Web.</p>
<p>For me it&#8217;s a big win for the underlying open source technology framework for Rapid Web Development, Ruby on Rails, which I have been recommending to enterprises <a href="http://www.yashlabs.com/wp/2005/10/10/the-web-os-web-20-yubnub-and-yashnub/" target="_blank">since about 4 years ago.</a></p>
<p>Where are you on the <a href="http://en.wikipedia.org/wiki/Crossing_the_Chasm" onclick="pageTracker._trackPageview('/outgoing/en.wikipedia.org/wiki/Crossing_the_Chasm?referer=');">Technology Adoption Lifecycle</a> below regarding <a href="http://www.ruby-lang.org/en/" onclick="pageTracker._trackPageview('/outgoing/www.ruby-lang.org/en/?referer=');">Ruby</a> and <a href="http://rubyonrails.org/" onclick="pageTracker._trackPageview('/outgoing/rubyonrails.org/?referer=');">Ruby on Rails</a>? Have you innovated? Are you an early adopter because you understand the business implications, or will you be at the other end of the spectrum, a laggard?</p>
<p style="text-align: center;">
<div class="wp-caption aligncenter" style="width: 407px"><a href="http://en.wikipedia.org/wiki/Crossing_the_Chasm" onclick="pageTracker._trackPageview('/outgoing/en.wikipedia.org/wiki/Crossing_the_Chasm?referer=');"><img class="      " title="Technology Adoption Lifecycle" src="http://upload.wikimedia.org/wikipedia/commons/d/d3/Technology-Adoption-Lifecycle.png" alt="Technology Adoption Lifecycle" width="397" height="159" /></a><p class="wp-caption-text">Technology Adoption Lifecycle</p></div>
<p>The news is, however, huge for <a href="http://twitter.com/" onclick="pageTracker._trackPageview('/outgoing/twitter.com/?referer=');">Twitter</a>, which is said by Bloomberg to be profitable now.</p>
<p>Twitter has become a platform essential to the Web in Marketing/Advertising, Customer Care (though less as people understand this less) but also in Finance. Witness <a href="http://twitter.com/howardlindzon" target="_blank" onclick="pageTracker._trackPageview('/outgoing/twitter.com/howardlindzon?referer=');">Howard Linzon</a>&#8217;s <a href="http://stocktwits.com/" onclick="pageTracker._trackPageview('/outgoing/stocktwits.com/?referer=');">StockTwits</a>, itself leveraged by <a href="http://www.nasdaq.com/about/iphone/" onclick="pageTracker._trackPageview('/outgoing/www.nasdaq.com/about/iphone/?referer=');">NASDAQ&#8217;s Portfolio Manager application for the iPhone</a>.</p>
<p>It&#8217;s huge news because the real-time web can be input signals into high-frequency trading strategies.</p>
<p>If Twitter does an IPO, I won&#8217;t miss it.</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.yashlabs.com%2Fwp%2F2009%2F12%2F22%2Ftwitter-profitable-after-google-and-microsoft-deals-its-a-win-for-ruby-on-rails%2F&amp;linkname=Twitter%20profitable%20after%20Google%20and%20Microsoft%20deals%20%26%238211%3B%20it%26%238217%3Bs%20a%20win%20for%20Ruby%20on%20Rails" onclick="pageTracker._trackPageview('/outgoing/www.addtoany.com/share_save?linkurl=http_3A_2F_2Fwww.yashlabs.com_2Fwp_2F2009_2F12_2F22_2Ftwitter-profitable-after-google-and-microsoft-deals-its-a-win-for-ruby-on-rails_2F_amp_linkname=Twitter_20profitable_20after_20Google_20and_20Microsoft_20deals_20_26_238211_3B_20it_26_238217_3Bs_20a_20win_20for_20Ruby_20on_20Rails&amp;referer=');"><img src="http://www.yashlabs.com/wp/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.yashlabs.com/wp/2009/12/22/twitter-profitable-after-google-and-microsoft-deals-its-a-win-for-ruby-on-rails/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Extending the e Text Editor for Ruby Programming</title>
		<link>http://www.yashlabs.com/wp/2007/09/03/extending-the-e-text-editor-for-ruby-programming/</link>
		<comments>http://www.yashlabs.com/wp/2007/09/03/extending-the-e-text-editor-for-ruby-programming/#comments</comments>
		<pubDate>Mon, 03 Sep 2007 05:34:03 +0000</pubDate>
		<dc:creator>Yash</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Productivity]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Tutorials]]></category>

		<guid isPermaLink="false">http://www.yashlabs.com/wp/?p=153</guid>
		<description><![CDATA[

At DemoCampMontreal4, I showed the results of time spent programming Ruby and RubyOnRails within the excellent e Text Editor for Windows. You can read about the presentation in my DemoCampMontreal4 report here at YashLabs, MTW and Marc-AndrÃ© Cournoyer&#8217;s blog.
e Text Editor and the extensible Bundle system
e is compatible with (the Mac OS X-only) TextMate bundles [...]]]></description>
			<content:encoded><![CDATA[<p><img align="left" hspace=10 vspace=10 src="http://www.yashlabs.com/wp/wp-content/logoheader.png" width="314" height="74" alt="e Logo" title="e Logo" /><script type="text/javascript"><!--
google_ad_client = "pub-4038366765312585";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text";
google_ad_channel ="";
google_color_border = "FFFFFF";
google_color_bg = "FFFFFF";
google_color_link = "0066CC";
google_color_url = "0066CC";
google_color_text = "333333";
//--></script>
<script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>At DemoCampMontreal4, I showed the results of time spent programming Ruby and RubyOnRails within the excellent <a href="http://e-texteditor.com/blog/2007/e_v10_released" onclick="pageTracker._trackPageview('/outgoing/e-texteditor.com/blog/2007/e_v10_released?referer=');">e Text Editor</a> for Windows. You can read about the presentation in my <a href="http://www.yashlabs.com/wp/?p=151">DemoCampMontreal4 report</a> here at YashLabs, <a href="http://montrealtechwatch.com/2007/08/18/democampmontreal4/" onclick="pageTracker._trackPageview('/outgoing/montrealtechwatch.com/2007/08/18/democampmontreal4/?referer=');">MTW</a> and <a href="http://macournoyer.wordpress.com/2007/08/17/democampmontreal4-follow-up/" onclick="pageTracker._trackPageview('/outgoing/macournoyer.wordpress.com/2007/08/17/democampmontreal4-follow-up/?referer=');">Marc-AndrÃ© Cournoyer</a>&#8217;s blog.</p>
<p><strong>e Text Editor and the extensible Bundle system</strong></p>
<p><a href="http://www.e-texteditor.com/index.html" onclick="pageTracker._trackPageview('/outgoing/www.e-texteditor.com/index.html?referer=');">e</a> is compatible with (the Mac OS X-only) TextMate bundles and can load in its snippets for faster Ruby and Rails programming. However, I also wanted to have quick access to all the methods associated to the common Ruby data structures:</p>
<li>String</li>
<li>Array</li>
<li>Hash</li>
<li>Fixnum</li>
<p><strong>The Design</strong></p>
<li>A keyboard shortcut for launching the menu</li>
<li>A menu displaying all methods is displayed</li>
<li>From the menu, the user can scroll and select the method or jump to it with a keypress for the first letter of the method</li>
<li>On selection, the menu disappears and the appropriate method name is inserted at the current cursor position</li>
<p><strong>Ruby&#8217;s reflection capabilities</strong></p>
<p><img align="right" hspace=10 vspace=10 src="http://upload.wikimedia.org/wikipedia/commons/thumb/f/f1/Ruby_logo.png/100px-Ruby_logo.png" alt="Ruby logo" /><a href="http://www.yashlabs.com/wp/?p=151">Ruby</a> is a great object-oriented language. In Ruby, everything is an object and hence all the object-oriented principles I learnt are implemented in Ruby quite well and simply, which is more than can be said for C++ and Java. For instance, in Ruby, you can do this:</p>
<p><code lang="php">10.times</code></p>
<p>or</p>
<p><code lang="php">"Hello".length</code></p>
<p>Ruby is great for introspection as it has good reflection capacities &#8211; an object can provide information about its internals. The inbuilt <em>.methods</em> method gives all the methods associated with a data structure. e.g.</p>
<p><code lang="php">puts Array.methods.sort.inspect</code></p>
<p>gives</p>
<p><code lang="php"><br />
["< ", "<=", "<=>", "==", "===", "=~", ">", ">=", "[]", "__id__", "__send__", "allocate", "ancestors", "autoload", "autoload?", "class", "class_eval", "class_variable_defined?", "class_variables", "clone", "const_defined?", "const_get", "const_missing", "const_set", "constants", "display", "dup", "eql?", "equal?", "extend", "freeze", "frozen?", "hash", "id", "include?", "included_modules", "inspect", "instance_eval", "instance_method", "instance_methods", "instance_of?", "instance_variable_defined?", "instance_variable_get", "instance_variable_set", "instance_variables", "is_a?", "kind_of?", "method", "method_defined?", "methods", "module_eval", "name", "new", "nil?", "object_id", "private_class_method", "private_instance_methods", "private_method_defined?", "private_methods", "protected_instance_methods", "protected_method_defined?", "protected_methods", "public_class_method", "public_instance_methods", "public_method_defined?", "public_methods", "respond_to?", "send", "singleton_methods", "superclass", "taint", "tainted?", "to_a", "to_s", "type", "untaint"]</code></p>
<p>However, [].methods.sort contains additional methods not contained within Array as shown by:</p>
<p><code lang="php"><br />
res= [].methods - Array.methods<br />
puts res.inspect</code></p>
<p>This gives the additional methods of []:</p>
<p><code lang="php">["select", "[]=", "transpose", "< <", "&#038;", "indexes", "partition", "map!", "uniq", "empty?", "fetch", "values_at", "*", "grep", "+", "shift", "clear", "-", "reject", "insert", "reverse!", "indices", "delete", "first", "concat", "member?", "flatten!", "|", "find", "join", "delete_at", "each_with_index", "nitems", "unshift", "index", "collect", "fill", "all?", "uniq!", "slice", "length", "entries", "compact", "last", "detect", "delete_if", "zip", "each_index", "map", "sort!", "assoc", "rindex", "any?", "to_ary", "size", "sort", "min", "push", "find_all", "each", "slice!", "pack", "reverse_each", "replace", "inject", "collect!", "rassoc", "at", "reverse", "compact!", "sort_by", "max", "reject!", "flatten", "pop"]</code></code></p>
<p>Therefore, instead of Array.methods, I&#8217;d rather get [].methods.</p>
<p><strong>Cygwin</strong></p>
<p><img align = "left" hspace=10 vspace=10 src="http://cygwin.com/cygwin-icon.gif" alt="Cygwin logo" />Cygwin&#8217;s great UNIX-like programming environment is used by e for the bundle system. This is interesting because from there you can run Ruby code within the e Bundle system and communicate with Cygwin through to the Operating System.</p>
<p>There&#8217;s a great post by Ben Kittrell describing how he made <a href="http://garbageburrito.com/blog/entry/391/a-macesque-rails-development-environment-on-windows" onclick="pageTracker._trackPageview('/outgoing/garbageburrito.com/blog/entry/391/a-macesque-rails-development-environment-on-windows?referer=');">a great Mac-like environment for Rails development on Windows</a> using Cygwin.</p>
<p><strong>wxCocoaDialog</strong></p>
<p><img align="right" hspace=10 vspace=10 src="http://upload.wikimedia.org/wikipedia/commons/thumb/b/bb/WxWidgets.svg/128px-WxWidgets.svg.png" alt="wxWidgets logo" /><a href="http://cocoadialog.sourceforge.net/index.html" onclick="pageTracker._trackPageview('/outgoing/cocoadialog.sourceforge.net/index.html?referer=');">CocoaDialog</a> is a lightweight <a href="http://en.wikipedia.org/wiki/Objective-C" onclick="pageTracker._trackPageview('/outgoing/en.wikipedia.org/wiki/Objective-C?referer=');">Objective-C</a> application for Mac OS X to provide easy access to common GUI widgets and is particularly suitable for object-oriented scripting languages.</p>
<p>Fortunately, some kind soul ported <a href="http://cocoadialog.sourceforge.net/" onclick="pageTracker._trackPageview('/outgoing/cocoadialog.sourceforge.net/?referer=');">CocoaDialog</a> to use the cross-platform and open-source <a href="http://en.wikipedia.org/wiki/WxWidgets" onclick="pageTracker._trackPageview('/outgoing/en.wikipedia.org/wiki/WxWidgets?referer=');">wxWidgets</a> toolkit. Actually, it is e Text Editor and its TextMate-compatible bundle system that gave rise to <a href="http://code.google.com/p/wxcocoadialog/" onclick="pageTracker._trackPageview('/outgoing/code.google.com/p/wxcocoadialog/?referer=');">wxCocoaDialog</a>.</p>
<p>And in this wxCocoaDialog port, we have <a href="http://code.google.com/p/wxcocoadialog/wiki/Runmodes" onclick="pageTracker._trackPageview('/outgoing/code.google.com/p/wxcocoadialog/wiki/Runmodes?referer=');">three additional runmode items</a> not present in CocoaDialog on Mac OS X, including&#8230;menu!</p>
<p><strong>Putting it all together</strong></p>
<p>Provided you have e installed (wxCocoaDialog comes with it) as well as Cygwin and Ruby for Cygwin, here is how to proceed.</p>
<ol>
<li>In e, press <strong>CTRL-SHIFT-B</strong> to open the Bundle Editor</li>
<li>On the left tree-view pane, select Ruby</li>
<li>Click on the big <strong>+</strong> button lower down and choose <strong>New Command</strong></li>
<li>Name the command RubyMethodsString (or anything suitable for you)</li>
<li>Paste in the following code I wrote which connects Ruby, Cygwin, wxCocoaDialog and e. <em>Be careful when pasting as currently the code formatting plugin does weird things with quotes &#8211; all the quotes are straight except after <strong>index=</strong> &#8211; the outermost ones really are backticks to access the system</em></li>
<p><code lang="php"><br />
#!/usr/bin/env ruby</p>
<p>#Access Ruby Methods for strings<br />
#August 2007 - Josh Nursing - josh.nursing AT gmail.com</p>
<p>SUPPORT = ENV['TM_SUPPORT_PATH']<br />
DIALOG = SUPPORT + '/bin/CocoaDialog.exe'<br />
sel = ENV['TM_CURRENT_WORD']<br />
x = "--xpos #{ENV['TM_CARET_XPOS']} "<br />
y = "--ypos #{ENV['TM_CARET_YPOS']} "</p>
<p>am="".methods.sort </p>
<p>menu=[]</p>
<p>#Populate menu with formatted entries<br />
am.each do |w|<br />
    menu.push "'" + w.to_s + "' "<br />
end</p>
<p>#CocoaDialog menu<br />
index =`"#{DIALOG}" menu --items #{menu} #{x} #{y}`.to_i - 1</p>
<p>#Insert the selected method text at caret position<br />
print '.' + am[index]</code></p>
<li>In the upper right corner, as Environment, select <strong>Cygwin</strong></li>
<li>Lower down, select as Input: <strong>Selected Text</strong> or <strong>Word</strong></li>
<li>As Output, select <strong>Insert as Text</strong></li>
<li>As Activation, select <strong>Key Trigger</strong> and press a key combination. I used <strong>CTRL-SHIFT-Y</strong></li>
<li>Close the bundle editor and in your Ruby file within e, after a string variable name or string, press the key shortcut</li>
<p><img src="http://www.yashlabs.com/wp/wp-content/e%20menu.jpg" width="331" height="514" alt="e menu extension for Ruby Programming" title="e menu extension for Ruby Programming" /></p>
<li>Navigate the menu either with the <strong>Up</strong> or <strong>Down</strong> Arrows or jump straight to a method by pressing its first letter</li>
<p><img src="http://www.yashlabs.com/wp/wp-content/e%20menu2.jpg" width="353" height="264" alt="e menu extension for Ruby Programming 2" title="e menu extension for Ruby Programming 2" />
</ol>
<p>The selected method including the dot is inserted within your code in e.</p>
<p>From here you can derive the very similar codes for the other data structures and add them with new shortcuts. My shortcuts are in a row on the keyboard (CTRL-SHIFT-Y, -U, -I, -O).</p>
<p>This menu extension can be accessed when you&#8217;re developing a Ruby on Rails application as well.</p>
<p>This shows how e can be usefully extended to work better with your favorite programming language.</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.yashlabs.com%2Fwp%2F2007%2F09%2F03%2Fextending-the-e-text-editor-for-ruby-programming%2F&amp;linkname=Extending%20the%20e%20Text%20Editor%20for%20Ruby%20Programming" onclick="pageTracker._trackPageview('/outgoing/www.addtoany.com/share_save?linkurl=http_3A_2F_2Fwww.yashlabs.com_2Fwp_2F2007_2F09_2F03_2Fextending-the-e-text-editor-for-ruby-programming_2F_amp_linkname=Extending_20the_20e_20Text_20Editor_20for_20Ruby_20Programming&amp;referer=');"><img src="http://www.yashlabs.com/wp/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.yashlabs.com/wp/2007/09/03/extending-the-e-text-editor-for-ruby-programming/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>IronRuby source code by Microsoft on RubyForge</title>
		<link>http://www.yashlabs.com/wp/2007/09/01/ironruby-source-code-on-rubyforge-by-microsoft/</link>
		<comments>http://www.yashlabs.com/wp/2007/09/01/ironruby-source-code-on-rubyforge-by-microsoft/#comments</comments>
		<pubDate>Sun, 02 Sep 2007 02:40:43 +0000</pubDate>
		<dc:creator>Yash</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.yashlabs.com/wp/?p=152</guid>
		<description><![CDATA[Last night, as I had announced in my presentation at DemoCampMontreal4,John Lam of Microsoft released IronRuby on RubyForge. This implementation of Ruby for Microsoft&#8217;s DLR is written in C#. 
The IronRuby team managed to add enhancements since the first sharing of the source code about a month ago, including:

    * Comparable
  [...]]]></description>
			<content:encoded><![CDATA[<p><img align="left" border=0 hspace=10 vspace=10 src="http://www.yashlabs.com/wp/wp-content/IronRuby%20image.png" width="266" height="82" alt="IronRuby" title="IronRuby" />Last night, as I had announced in my <a href="http://www.yashlabs.com/wp/?p=151">presentation at DemoCampMontreal4</a>,<a href="http://www.iunknown.com/" onclick="pageTracker._trackPageview('/outgoing/www.iunknown.com/?referer=');">John Lam</a> of Microsoft released <a href="http://www.iunknown.com/2007/08/ironruby-on-rub.html" onclick="pageTracker._trackPageview('/outgoing/www.iunknown.com/2007/08/ironruby-on-rub.html?referer=');">IronRuby on RubyForge</a>. This implementation of Ruby for Microsoft&#8217;s DLR is written in C#. </p>
<p>The IronRuby team managed to add enhancements since the first sharing of the source code about a month ago, including:</p>
<blockquote><p>
    * Comparable<br />
    * Enumerable<br />
    * Array<br />
    * Hash<br />
    * String (not quite complete yet)<br />
    * Dir</p></blockquote>
<p>To get the source code, I had to go down to the SCM icon and then get the Subversion url:</p>
<blockquote><p>svn checkout svn://rubyforge.org/var/svn/ironruby<br />
svn checkout http://ironruby.rubyforge.org/svn/trunk/
</p></blockquote>
<p>I am using <a href="http://tortoisesvn.tigris.org/" onclick="pageTracker._trackPageview('/outgoing/tortoisesvn.tigris.org/?referer=');">TortoiseSVN</a> on WindowsXP and it works very well.</p>
<p>My previous post on <a href="http://www.yashlabs.com/wp/?p=145">Hacking IronRuby</a> can come in handy. For more thoughts on IronRuby, check out my <a href="http://www.yashlabs.com/wp/?p=151">presentation report about DemoCampMontreal4</a>.</p>
<p>Congratulations to John and the team for reaching the deadline of the end of August for this release.</p>
<p><strong>Update</strong></p>
<p>John has just released <a href="http://www.iunknown.com/2007/09/new-ironruby-bu.html" onclick="pageTracker._trackPageview('/outgoing/www.iunknown.com/2007/09/new-ironruby-bu.html?referer=');">new instructions</a> and a short and sweet <a href="http://ironruby.rubyforge.org/getting_started/getting_started.htm" onclick="pageTracker._trackPageview('/outgoing/ironruby.rubyforge.org/getting_started/getting_started.htm?referer=');">screencast</a> to show how to checkout and build IronRuby.</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.yashlabs.com%2Fwp%2F2007%2F09%2F01%2Fironruby-source-code-on-rubyforge-by-microsoft%2F&amp;linkname=IronRuby%20source%20code%20by%20Microsoft%20on%20RubyForge" onclick="pageTracker._trackPageview('/outgoing/www.addtoany.com/share_save?linkurl=http_3A_2F_2Fwww.yashlabs.com_2Fwp_2F2007_2F09_2F01_2Fironruby-source-code-on-rubyforge-by-microsoft_2F_amp_linkname=IronRuby_20source_20code_20by_20Microsoft_20on_20RubyForge&amp;referer=');"><img src="http://www.yashlabs.com/wp/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.yashlabs.com/wp/2007/09/01/ironruby-source-code-on-rubyforge-by-microsoft/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>DemoCampMontreal4 Report</title>
		<link>http://www.yashlabs.com/wp/2007/08/18/democampmontreal4-report/</link>
		<comments>http://www.yashlabs.com/wp/2007/08/18/democampmontreal4-report/#comments</comments>
		<pubDate>Sat, 18 Aug 2007 21:24:23 +0000</pubDate>
		<dc:creator>Yash</dc:creator>
				<category><![CDATA[BarCamp]]></category>
		<category><![CDATA[BarCampMontreal]]></category>
		<category><![CDATA[DemoCampMontreal]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.yashlabs.com/wp/?p=151</guid>
		<description><![CDATA[Maybe it was because yesterday was Friday, but on announcing DemoCampMontreal4 yesterday on my blogs, I saw that there were only 4 demos instead of the usual 5. And so I added myself to the wiki in the 5th remaining slot thereby contributing as a presenter to the event this time around.
Initially, I couldn&#8217;t have [...]]]></description>
			<content:encoded><![CDATA[<p>Maybe it was because yesterday was Friday, but on announcing DemoCampMontreal4 yesterday on my blogs, I saw that there were only 4 demos instead of the usual 5. And so I added myself to the wiki in the 5th remaining slot thereby contributing as a presenter to the event this time around.</p>
<p>Initially, I couldn&#8217;t have any output from my laptop to the projector. It might have been a cable problem. Before the event start, I had chatted with Gary, Daniel, Tamu and <a href="http://www.instigatorblog.com/" onclick="pageTracker._trackPageview('/outgoing/www.instigatorblog.com/?referer=');">Ben</a>. <a href="http://sfllaw.livejournal.com/" onclick="pageTracker._trackPageview('/outgoing/sfllaw.livejournal.com/?referer=');">Simon</a> had a large digital clock readout on his laptop to countdown the 15 minutes per presentation, and Tamu was assigned the clock-keeping duties. Simon really <a href="http://www.yashlabs.com/wp/?p=144">is into these time-reversal devices</a>, isn&#8217;t he?</p>
<p>Daniel wasn&#8217;t completely ready with his presentation, and so we just rotated the schedule. I informed Philippe, who was MC&#8217;ing, of the change. So, out-of-the-blue, I was now 4th presenter at DemoCampMontreal4.</p>
<p><strong>1. Braincuts by <a href="http://categoricaldesign.com/cds/" onclick="pageTracker._trackPageview('/outgoing/categoricaldesign.com/cds/?referer=');">Categorical Design Solutions</a></strong></p>
<p>FranÃ§ois Magnan, along with two colleagues, demonstrated their online software, Braincuts, which relies on semantic searches and freely available information from Creative Commons licensed sources. The multimedia information culled from these different sources can then be very easily combined through the Braincuts web interface. More precisely, the GUI enables the positioning of the various multimedia elements on a visual timeline by drag and drop.</p>
<p>Effectively, this means that you could position an audio track in parallel to a video or slideshow, and this way you could edit a whole presentation, documentary or educational multimedia package by arranging various multimedia elements. Finally, the whole presentation can be published and shared with other people.</p>
<p><object width="320" height="240"><param name="movie" value="http://www.youtube.com/v/Rr_11-oFnQk"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/Rr_11-oFnQk" type="application/x-shockwave-flash" wmode="transparent" width="320" height="240"></embed></object></p>
<p>I found this really interesting, because, this is the kind of information aggregation that we are doing when researching and writing an extensive article for our blogs these days. Except, the blog &#8216;timeline&#8217; is just how people scroll from top to bottom, reading text, and maybe watching a picture or a video along the way.</p>
<p>Now, if Braincuts could be reused to produce new multimedia blog posts, that would be extremely helpful. And to me, automatic discovery of semantically-related multimedia information based on keywords I specify would really earn it a Web 3.0 moniker.</p>
<p>The team has built an accessible and useful interface using only open standards and protocols, and for the GUI, they rely on JQuery, with additional components developed in-house. An impressive demo with lots of potential, especially in the educational realm.</p>
<p><strong>2. David Xu &#8211; <a href="http://www.podbeans.com/" onclick="pageTracker._trackPageview('/outgoing/www.podbeans.com/?referer=');">PodBeans.com</a></strong></p>
<p>PodBeans (Podcast hosting, Social subscribing) is actually a well thought-out platform with two aspects, one for podcast publishers and one for podcast subscribers.</p>
<p>For publishers, there is a variety of services integrated into PodBeans to make it simple to start your own podcast and benefit from it. The publishing tool is built on WordPress, and makes it easy to upload your files. PodBeans provides the hosting and the bandwidth and both are unlimited. Moreover, PodBeans also contains tool for promoting your podcast, and there are at least two possible income streams &#8211; either through ads or paid subscriptions to your podcast if you want to set up premium content.</p>
<p>If you host your podcast and whole site on PodBeans, you can of course customize the look of it through WordPress themes. However, should you decide to include the content on your own site or blog, despite PodBeans hosting your podcast, then you can also do so by simply embedding automatically generated code into your site.</p>
<p>For podcast listeners or viewers (as PodBeans also does videos), it is possible to collect all your podcasts in one place, tag and organize them, and create a new personal feed from them. In addition, you can also discover what your peers on PodBeans have subscribed to. This part of PodBeans resembles <a href="http://collectik.net/" onclick="pageTracker._trackPageview('/outgoing/collectik.net/?referer=');">Collectik</a> quite a lot.</p>
<p><object width="320" height="240"><param name="movie" value="http://www.youtube.com/v/ImnJVzPMKyA"></param> <embed src="http://www.youtube.com/v/ImnJVzPMKyA" type="application/x-shockwave-flash" width="320" height="240"></embed></object></p>
<p>Overall, there is a good deal of integration of various services and technologies into PodBeans: open-source technologies, open standards and freely available tools have all been put to great use for this website.</p>
<p><strong>3. Mitch Cohen &#8211; <a href="http://www.clixconnect.com/" onclick="pageTracker._trackPageview('/outgoing/www.clixconnect.com/?referer=');">ClixConnect</a></strong></p>
<p>Mitch demonstrated ClixConnect, which has a tagline of 24/7 Live-Chat Sales and Support Service. When a visitor connects to your ClixConnect-enabled website, a small popup window opens with either a representative from your own company or else a person from ClixConnect.</p>
<p>This allows the visitor or prospective customer to asks questions in real-time about the website or the products and services you offer through an unobtrusive and movable chat window. In addition, the system, can provide the visitor with automated recommendations on products based on the products being viewed.</p>
<p>The technology used as back-end is proprietary, but at the client site, all you need to do is sing up to ClixConnect and include a small HTML code in your website. In fact, ClixConnect can even do the integration for you for free if you send them your HTML page.</p>
<p><object width="320" height="240"><param name="movie" value="http://www.youtube.com/v/cL78TjsJRVQ"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/cL78TjsJRVQ" type="application/x-shockwave-flash" wmode="transparent" width="320" height="240"></embed></object></p>
<p>This is clearly interesting for sales and support, as it accompanies the prospective customer from the point of landing through browsing the product catalog until the close of the sale. I think it could also be used to diagnose website usability. If statistics were kept about frequently asked questions on website navigation for instance, then the benefits for tweaking the web design through direct consumer feedback would be obvious.</p>
<p><strong>4. <a href="http://www.yashlabs.com/wp/">Josh Nursing</a> &#8211; <a href="http://www.yashlabs.com/wp/?p=145">Hacking</a> <a href="http://rubyforge.org/projects/ironruby/" onclick="pageTracker._trackPageview('/outgoing/rubyforge.org/projects/ironruby/?referer=');">IronRuby</a>, extending the <a href="http://www.e-texteditor.com/" onclick="pageTracker._trackPageview('/outgoing/www.e-texteditor.com/?referer=');">e Text editor</a> with <a href="http://www.ruby-lang.org/en/" onclick="pageTracker._trackPageview('/outgoing/www.ruby-lang.org/en/?referer=');">Ruby</a>, <a href="http://www.cygwin.com/" onclick="pageTracker._trackPageview('/outgoing/www.cygwin.com/?referer=');">Cygwin</a> and <a href="http://code.google.com/p/wxcocoadialog/" onclick="pageTracker._trackPageview('/outgoing/code.google.com/p/wxcocoadialog/?referer=');">wxCocoaDialog</a></strong></p>
<p><a href="http://www.yashlabs.com/wp/wp-content/Josh_Nursing_IronRuby_e_Text_Editor_Extensions_for_Ruby_DemoCampMontreal4.jpg"><img align="left" hspace=10 vspace=10 src="http://www.yashlabs.com/wp/wp-content/_Josh_Nursing_IronRuby_e_Text_Editor_Extensions_for_Ruby_DemoCampMontreal4.jpg" width="250" height="224" alt="Josh - Hacking IronRuby - Extensions for the e TextEditor for Ruby" title="Josh - Hacking IronRuby - Extensions for the e TextEditor for Ruby"  /></a>I had no presentation per se, as I hadn&#8217;t prepared any, thinking that the 5 slots for presenting were already taken until just 3 hours before the start of DemoCamoMontreal4. But I wanted to show what I had been hacking with around Ruby/<a href="http://rubyonrails.com/" onclick="pageTracker._trackPageview('/outgoing/rubyonrails.com/?referer=');">Ruby on Rails</a> on Windows so I stepped up to the mike when Mitch had finished.</p>
<p>First, I talked about Microsoft&#8217;s just-released <a href="http://www.iunknown.com/2007/07/a-first-look-at.html" onclick="pageTracker._trackPageview('/outgoing/www.iunknown.com/2007/07/a-first-look-at.html?referer=');">IronRuby (pre-Alpha)</a> which will run on top of the <a href="http://blogs.msdn.com/hugunin/archive/2007/04/30/a-dynamic-language-runtime-dlr.aspx" onclick="pageTracker._trackPageview('/outgoing/blogs.msdn.com/hugunin/archive/2007/04/30/a-dynamic-language-runtime-dlr.aspx?referer=');">DLR</a> (Dynamic Language Runtime) for .Net and about my tutorial on how to Hack IronRuby, in which I showed how I fixed a bug and also extended IronRuby. It&#8217;s easy to do as the source code (C#) and whole project structure is really clean. </p>
<p>IronRuby will run together with other dynamic languages targeting the DLR, namely <a href="http://www.codeplex.com/Wiki/View.aspx?ProjectName=IronPython" onclick="pageTracker._trackPageview('/outgoing/www.codeplex.com/Wiki/View.aspx?ProjectName=IronPython&amp;referer=');">IronPython</a>, C# and VBx, a dynamic version of Visual Basic. This will enable you to reuse all the libraries from all the DLR languages from your language of choice. I will be able, for instance, to reuse all the IronPython, VBx and C# libraries from IronRuby.</p>
<p>IronRuby is significant to me for many reasons, the first of which is I am really fond of Ruby as a programming language. </p>
<p>Secondly, I mentioned that, to me, Microsoft have some of the best IDEs to develop in. The possibilities for Rapid Application Development of software including database access within Visual Basic are astounding when you know how to use the tool properly. Now imagine how great it would be to have IronRuby integrated with a Visual IDE and target Windows and other platforms. </p>
<p>Thirdly, Microsoft has decided to make IronRuby open-source (using the Microsoft Permissive License), and that means they&#8217;ll be accepting outside contributions to enhance and extend IronRuby. Besides, Microsoft will be hosting the source code on <a href="http://rubyforge.org/" onclick="pageTracker._trackPageview('/outgoing/rubyforge.org/?referer=');">Rubyforge</a> rather than Microsoft&#8217;s own <a href="http://www.codeplex.com/" onclick="pageTracker._trackPageview('/outgoing/www.codeplex.com/?referer=');">Codeplex</a>.</p>
<p>And finally, an avowed goal of <a href="http://www.iunknown.com/" onclick="pageTracker._trackPageview('/outgoing/www.iunknown.com/?referer=');">John Lam</a> is to be able to run the whole Rails framework on IronRuby to test its completeness. Therefore, there is a strong possibility that there will be amazing Ruby on Rails development tools for Windows.</p>
<p>I wanted to show more IDEs for Ruby and Ruby on Rails, but time was limited, and so I showed how to extend the e text editor. e is designed to be compatible with the Mac-only <a href="http://macromates.com/" onclick="pageTracker._trackPageview('/outgoing/macromates.com/?referer=');">TextMate</a>&#8217;s Bundle system. So, with some porting, the TextMate bundles can be reused within e. The latter contains several in-built ones which enabled easy insertion of code snippets, just like TextMate.<br />
<a href="http://www.yashlabs.com/wp/wp-content/Josh_Nursing_IronRuby_e_Text_Editor_Extensions_for_Ruby_DemoCampMontreal4_2.jpg"><img align="right" hspace=10 vspace=10 src="http://www.yashlabs.com/wp/wp-content/_Josh_Nursing_IronRuby_e_Text_Editor_Extensions_for_Ruby_DemoCampMontreal4_2.jpg" width="250" height="166" alt="Josh Nursing - Hacking IronRuby - Extensions to the e Text Editor for Ruby" title="Josh Nursing - Hacking IronRuby - Extensions to the e Text Editor for Ruby"  /></a>What I wanted to do was to access all Ruby methods for the most used data structures, like Strings, Arrays, Hashes and FixNums from e while typing Ruby code &#8211; a type of IntelliSense in Microsoft/Windows terminology. Ruby already has great reflection capabilities, and hence, a simple object_name.methods gives you a list of all the internal methods.</p>
<p>The way I did it was to use Cygwin, Ruby and wxCocoaDialog, the latter being a port to <a href="http://www.wxwidgets.org/" onclick="pageTracker._trackPageview('/outgoing/www.wxwidgets.org/?referer=');">wxWidgets</a> of <a href="http://www.apple.com/macosx/leopard/" onclick="pageTracker._trackPageview('/outgoing/www.apple.com/macosx/leopard/?referer=');">Mac OS X</a> <a href="http://cocoadialog.sourceforge.net/" onclick="pageTracker._trackPageview('/outgoing/cocoadialog.sourceforge.net/?referer=');">CocoaDialog</a>. That was the technical part of my &#8216;presentation&#8217; as there was a short but quite complex piece of code there, which I&#8217;ll leave for another tutorial post here on <a href="http://www.yashlabs.com/wp">YashLabs</a> soon, but suffices to say that this is how it works:</p>
<blockquote><p>1. A keyboard shortcut triggers a Bundle command.</p>
<p>2. The bundle command is a ruby script in which I referenced the wxCocoaDialog path, as well as the x and y position of the cursor at trigger time.</p>
<p>3. This Ruby script executes and gets all the methods for Strings, and builds a specially formatted array of entries (otherwise some symbols can&#8217;t be included in the menu)</p>
<p>4. The Ruby script taps into the system execution (through Cygwin) of wxCocoaDialog which populates a GUI menu with all the methods</p>
<p>5. The menu pops up in the editor, and you can browse through all the entries via the arrow keys or jump straight to an entry by clicking on the starting letter.</p>
<p>I demonstrated this with a string and from the menu, I pressed &#8220;u&#8221; to reach the .upcase method.</p>
<p>6. On selection of a menu entry, Ruby executes and prints a dot followed by the selected method name within the editor.</p></blockquote>
<p>Because of time constraints, I didn&#8217;t show the other shortcuts for Array, Hash and Fixnum, but they work just the same and as well, and are easy to implement.</p>
<p>What&#8217;s also great about this is that the commands are accessible within your Rails code in e too. Because of the compatibility between e and TextMate, something similar can easily be done with TextMate and CocoaDialog on Mac OS X.</p>
<p>I also mentioned <a href="http://www.microsoft.com/opensource/default.mspx" onclick="pageTracker._trackPageview('/outgoing/www.microsoft.com/opensource/default.mspx?referer=');">Microsoft&#8217;s Open-Source</a> moniker adoption.</p>
<p><strong><a href="http://danielharan.com/" onclick="pageTracker._trackPageview('/outgoing/danielharan.com/?referer=');">Daniel Haran</a> &#8211; <a href="http://www.danielharan.com/2007/08/18/url_pipe/" onclick="pageTracker._trackPageview('/outgoing/www.danielharan.com/2007/08/18/url_pipe/?referer=');">url_pipe</a></strong></p>
<p>Daniel showed a partial version of his idea of piping urls and feeds through a RESTful implementation.</p>
<p>In his demonstration, he filtered feeds through Google Maps by proceeding the following way:</p>
<blockquote><p>
1. Feeds were geotagged through the piping mechanism</p>
<p>2. In Google Maps, he defined a polygon to restrain his domain of search to a region on the map (imagine for instance an area around Montreal)</p>
<p>3. By pasting the geotagged feed within Google Maps, and with a calculation of inclusion, he was able to further filter the feed he had based on the region defined.</p></blockquote>
<p>Daniel used Ruby and Rails to prototype url_pipe and is looking for contributions to the source code. The overall functioning is similar to <a href="http://pipes.yahoo.com/pipes/" onclick="pageTracker._trackPageview('/outgoing/pipes.yahoo.com/pipes/?referer=');">Yahoo Pipes</a> but without the GUI and to <a href="http://yubnub.org/" onclick="pageTracker._trackPageview('/outgoing/yubnub.org/?referer=');">YubNub</a> which <a href="http://www.yashlabs.com/wp/?p=32">I have covered before</a>. A more complete url_pipe could come in real handy for local searches, targeted advertising as well as automated discovery and filtering.</p>
<p><object width="320" height="240"><param name="movie" value="http://www.youtube.com/v/usKnhoCCn7Q"></param> <embed src="http://www.youtube.com/v/usKnhoCCn7Q" type="application/x-shockwave-flash" width="320" height="240"></embed></object></p>
<p>Finally, Simon wrapped up by thanking our sponsors and by reminding us of the upcoming &#8216;camp&#8217; events, including FaceBookCamp for the end of this month.</p>
<p>I was joined by Philippe Chrun, founder and CEO of MyCarpoolStation and we discussed strategy a bit over a beer. I also caught up with <a href="http://blog.jeromeparadis.com/" onclick="pageTracker._trackPageview('/outgoing/blog.jeromeparadis.com/?referer=');">JÃ©rÃ´me Paradis</a> of ParadiVision and we spoke about .Net and where it&#8217;s all going. Alok Mohindra and I chatted about what lies ahead in the Rails world especially concerning Windows and .Net.  <a href="http://billionswithzeroknowledge.com/" onclick="pageTracker._trackPageview('/outgoing/billionswithzeroknowledge.com/?referer=');">Austin Hill</a> was there and gave me some positive feedback about my impromptu hacking &#8216;presentation&#8217;, as did Simon and Roberto Rocha. Thanks guys, much appreciated. Well done Pierre, for co-presenting with Simon. </p>
<p>After some last minute conversations with Tamu, Gary (&#8216;Use OS X&#8217;), Daniel and Simon (expect a Perl 6 demo soon), we parted ways.</p>
<p>It was great to present for a change, and to catch up with other people of the Montreal Tech community.</p>
<p><em>Thanks to JÃ©rÃ´me Paradis for the pics.</em></p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.yashlabs.com%2Fwp%2F2007%2F08%2F18%2Fdemocampmontreal4-report%2F&amp;linkname=DemoCampMontreal4%20Report" onclick="pageTracker._trackPageview('/outgoing/www.addtoany.com/share_save?linkurl=http_3A_2F_2Fwww.yashlabs.com_2Fwp_2F2007_2F08_2F18_2Fdemocampmontreal4-report_2F_amp_linkname=DemoCampMontreal4_20Report&amp;referer=');"><img src="http://www.yashlabs.com/wp/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.yashlabs.com/wp/2007/08/18/democampmontreal4-report/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>DemoCampMontreal4</title>
		<link>http://www.yashlabs.com/wp/2007/08/17/democampmontreal4/</link>
		<comments>http://www.yashlabs.com/wp/2007/08/17/democampmontreal4/#comments</comments>
		<pubDate>Fri, 17 Aug 2007 19:27:21 +0000</pubDate>
		<dc:creator>Yash</dc:creator>
				<category><![CDATA[BarCamp]]></category>
		<category><![CDATA[BarCampMontreal]]></category>
		<category><![CDATA[DemoCampMontreal]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.yashlabs.com/wp/?p=150</guid>
		<description><![CDATA[DemoCampMontreal4  is today at the S.A.T. There are 5 demonstrations scheduled by the members of the Montreal Tech Community. It&#8217;s free to attend.
Will be presenting at DemoCampMontreal4:
1. Daniel Haran &#8211; url_pipe
2. Francois Magnan &#8211;  BrainCuts by Categorical Design Solutions
3. David Xu &#124;  Podbean &#8211; a Podcast Social Subscribing Site
4. Mitch Cohen &#8211; [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://barcamp.org/f/barcamp_montreal_orange.gif" alt="BarCampMontrealLogo" class = 'centered'/>DemoCampMontreal4  is today at the S.A.T. There are 5 demonstrations scheduled by the members of the Montreal Tech Community. It&#8217;s free to attend.</p>
<p>Will be presenting at DemoCampMontreal4:</p>
<p>1. Daniel Haran &#8211; url_pipe<br />
2. Francois Magnan &#8211;  BrainCuts by Categorical Design Solutions<br />
3. David Xu |  Podbean &#8211; a Podcast Social Subscribing Site<br />
4. Mitch Cohen &#8211; ClixConnect<br />
5. Josh Nursing &#8211; I will speak about IronRuby and Ruby/Ruby on Rails IDEs. I also plan to show how to extend the e Text Editor with Cygwin, Ruby and wxCocoaDialog so as to make programming Ruby with e more comfortable.</p>
<p><strong>MAP:</strong>: <a href="http://maps.google.ca/maps?f=q&#038;hl=en&#038;q=1195+Boulevard+St-Laurent,+Montr%C3%A9al,+QC&#038;ie=UTF8&#038;om=1&#038;z=15&#038;iwloc=addr" onclick="pageTracker._trackPageview('/outgoing/maps.google.ca/maps?f=q_038_hl=en_038_q=1195+Boulevard+St-Laurent_+Montr_C3_A9al_+QC_038_ie=UTF8_038_om=1_038_z=15_038_iwloc=addr&amp;referer=');">Society for Arts and Technology (SAT), 1195 Boul. St. Laurent</a></p>
<div class="vevent"> <a class="url" href="http://www.barcamp.org/DemoCampMontreal3" onclick="pageTracker._trackPageview('/outgoing/www.barcamp.org/DemoCampMontreal3?referer=');"> <abbr class="dtstart" title="20070817T1830-0500">August 17th 6:30pm</abbr>, <abbr class="dtend" title="20070817T2030-0500"> 8:30pm 2007</abbr> &mdash; <span class="summary">DemoCampMontreal4</span>&mdash; at <span class="location">Society for Arts and Technology (SAT), 1195 Boul. St. Laurent</span> </a></div>
<p><em>Don&#8217;t forget to add yourself to the list of registrants on the wiki below, and prepare to participate in this gathering of Montreal&#8217;s Tech Scene. If you are not presenting (and the five slots are taken already), prepare to help out there or at least later report on it on your blog or some other way.</em></p>
<p>For more information:<br />
<a href="http://barcamp.org/DemoCampMontreal3" onclick="pageTracker._trackPageview('/outgoing/barcamp.org/DemoCampMontreal3?referer=');">DemoCampMontreal4</a><br />
<a href="http://barcamp.org/DemoCampMontreal3" onclick="pageTracker._trackPageview('/outgoing/barcamp.org/DemoCampMontreal3?referer=');">DemoCampMontreal4-en</a></p>
<p>I will see you there.</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.yashlabs.com%2Fwp%2F2007%2F08%2F17%2Fdemocampmontreal4%2F&amp;linkname=DemoCampMontreal4" onclick="pageTracker._trackPageview('/outgoing/www.addtoany.com/share_save?linkurl=http_3A_2F_2Fwww.yashlabs.com_2Fwp_2F2007_2F08_2F17_2Fdemocampmontreal4_2F_amp_linkname=DemoCampMontreal4&amp;referer=');"><img src="http://www.yashlabs.com/wp/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.yashlabs.com/wp/2007/08/17/democampmontreal4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Montreal on Rails &#8211; 1st event</title>
		<link>http://www.yashlabs.com/wp/2007/08/09/montreal-on-rails-1st-event/</link>
		<comments>http://www.yashlabs.com/wp/2007/08/09/montreal-on-rails-1st-event/#comments</comments>
		<pubDate>Thu, 09 Aug 2007 18:31:19 +0000</pubDate>
		<dc:creator>Yash</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.yashlabs.com/wp/?p=148</guid>
		<description><![CDATA[

Ruby on Rails enthusiasts in Montreal met at the MAAS Chemistry building at McGill university this Tuesday for the first edition of Montreal on Rails. The event, organized by Carl Mercier and Mat Balez of Karabunga, was packed and featured one advanced presentation and an easier one. And fresh donuts.
 
Marc-AndrÃ© Cournoyer &#8211; Making API [...]]]></description>
			<content:encoded><![CDATA[<p><script type="text/javascript"><!--
google_ad_client = "pub-4038366765312585";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text";
google_ad_channel ="";
google_color_border = "FFFFFF";
google_color_bg = "FFFFFF";
google_color_link = "0066CC";
google_color_url = "0066CC";
google_color_text = "333333";
//--></script>
<script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script><a href="http://www.rubyonrails.org/" onclick="pageTracker._trackPageview('/outgoing/www.rubyonrails.org/?referer=');">Ruby on Rails</a> enthusiasts in Montreal met at the MAAS Chemistry building at McGill university this Tuesday for the first edition of <a href="http://www.montrealonrails.com/" onclick="pageTracker._trackPageview('/outgoing/www.montrealonrails.com/?referer=');">Montreal on Rails</a>. The event, organized by <a href="http://blog.carlmercier.com/" onclick="pageTracker._trackPageview('/outgoing/blog.carlmercier.com/?referer=');">Carl Mercier</a> and <a href="http://web1979.wordpress.com/" onclick="pageTracker._trackPageview('/outgoing/web1979.wordpress.com/?referer=');">Mat Balez</a> of <a href="http://karabunga.com/" onclick="pageTracker._trackPageview('/outgoing/karabunga.com/?referer=');">Karabunga</a>, was packed and featured one advanced presentation and an easier one. And fresh donuts.</p>
<p><object width="320" height="240"><param name="movie" value="http://www.youtube.com/v/SH-4Yv9I_aM"></param> <embed src="http://www.youtube.com/v/SH-4Yv9I_aM" type="application/x-shockwave-flash" width="320" height="240"></embed></object></p>
<p><strong><a href="http://macournoyer.wordpress.com/" onclick="pageTracker._trackPageview('/outgoing/macournoyer.wordpress.com/?referer=');">Marc-AndrÃ© Cournoyer</a> &#8211; Making API testing more efficient. InActiveRecord</strong></p>
<p>First, Marc-AndrÃ© Cournoyer, from StandoutJobs delivered a high-pace presentation about how to make API-testing with Ruby and Ruby on Rails more efficient. The introduction was hilarious, with choice illustrations accompanying Marc-AndrÃ©&#8217;s quick and witty delivery in sync.</p>
<p>MA showed explained how testing can last too long when you are accessing APIs through the net, especially with many different tests. So as to ease development and testing, MA proposed that fixtures and tests\mocks within the Rails project could be used to get a local cache of the results of API queries and from then on, the tests could be edited so that the local file could be accessed instead based on the setting of an environment variable (REAL_REQUEST in his example).</p>
<p>MA showed re-building using <a href="http://rake.rubyforge.org/" onclick="pageTracker._trackPageview('/outgoing/rake.rubyforge.org/?referer=');">Rake</a> and <a href="http://cruisecontrolrb.thoughtworks.com/" onclick="pageTracker._trackPageview('/outgoing/cruisecontrolrb.thoughtworks.com/?referer=');">CruiseControl</a> to specify the special build with the REAL_REQUEST variable.</p>
<p>His demonstrations concerned the Twitter API, and the results before and after the implementation of the mock tests using the cache file were:</p>
<p>Before:  3.73 seconds for all tests<br />
After:    0.06 seconds</p>
<p>This is extremely useful, and combined with, say an RSS feed on the API blog to be aware of any API change (in which case you&#8217;d need to refresh your cache file once), makes for efficient testing.</p>
<p><object width="320" height="240"><param name="movie" value="http://www.youtube.com/v/hfn-bZnesv4"></param> <embed src="http://www.youtube.com/v/hfn-bZnesv4" type="application/x-shockwave-flash" width="320" height="240"></embed></object></p>
<p>In the second part of his presentation, MA showed InActiveRecord, a DSL for ActiveRecord, which is built on top of mockups so as to enable caching of data instead of database access and thus make testing faster in these cases too.</p>
<p>In true open-source spirit, MA has put his <a href="http://code.macournoyer.com/svn/mtl_on_rails/trunk/" onclick="pageTracker._trackPageview('/outgoing/code.macournoyer.com/svn/mtl_on_rails/trunk/?referer=');">code online</a>. His presentation is available too.</p>
<p>During the presentation, MA performed some on-the-spot refactoring through the code. He evidently has great chops programming Ruby and RubyonRails, and the Standout Jobs team did well to get him on board.</p>
<p><strong>Carl Mercier &#8211; HAML</strong></p>
<p><object width="320" height="240"><param name="movie" value="http://www.youtube.com/v/oEAM9mGzZf4"></param> <embed src="http://www.youtube.com/v/oEAM9mGzZf4" type="application/x-shockwave-flash" width="320" height="240"></embed></object></p>
<p>Carl did a short and informative presentation about <a href="http://haml.hamptoncatlin.com/" onclick="pageTracker._trackPageview('/outgoing/haml.hamptoncatlin.com/?referer=');">HAML</a>, a markup language by Hampton Catlin which produces other markup languages. HAML exists as a plugin to Rails (you can also use it from Ruby) and enables you to replace the .rhtml files. </p>
<p>Why would you do that? Because HAML is much more compact and easy to read and write and therefore using it speeds up your Rails development when specifying your views. HAML does not need closing tags, and relies on 2-space indentation for block definition &#8211; very reminiscent of Python. In addition, HAML intelligently relies on &#8216;convention over configuration&#8217; by defaulting to a div tag.</p>
<p>Example: these two are identical in HAML:<br />
%small{:class=>&#8217;code&#8217;, :id=>&#8217;message&#8217;}<br />
%small.code#message</p>
<p>Ruby code can run directly in HAML too.</p>
<p>Another example Carl showed was:</p>
<p><code lang="php"><br />
%head = {:name=> 'dochead'}</p>
<p>%ul<br />
  - @users.each do |user|<br />
  %li[user]=user.name<br />
  - end<br />
</code></p>
<p>As an aid to speed up development, HAML is very useful. However, Carl mentioned that current performance  is 30% slower than ERB (dynamic ruby inline of HTML).</p>
<p>After this there were talks of SASS, which is the equivalent of HAML but for CSS.</p>
<p>Derek: &#8220;Can you define your own tags?&#8221;<br />
Carl (hacking up some HAML):<br />
<code lang="php"><br />
<derek_mahar><br />
</derek_mahar><br />
</code><br />
Audience member: &#8220;But&#8230;what does it <strong><em>do</em></strong>?&#8221;<br />
Carl:&#8221;I don&#8217;t know&#8230; It eats donuts.&#8221;</p>
<p>Montreal on Rails, 1st edition, was great. Introductory presentation of Rails for businesses would be interesting too in next editions. The event is planned to be a monthly one. TextMate on Mac really rocks as a development tool.</p>
<p>- MA has his own <a href="http://macournoyer.wordpress.com/2007/08/08/how-was-montreal-on-rails/" onclick="pageTracker._trackPageview('/outgoing/macournoyer.wordpress.com/2007/08/08/how-was-montreal-on-rails/?referer=');">account of the event</a> online.<br />
- The <a href="http://www.montrealonrails.com/2007/08/07/debrief-first-meeting/" onclick="pageTracker._trackPageview('/outgoing/www.montrealonrails.com/2007/08/07/debrief-first-meeting/?referer=');">event debrief</a> is at the Montreal on Rails site.</p>
<p>And thanks for the donuts.</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.yashlabs.com%2Fwp%2F2007%2F08%2F09%2Fmontreal-on-rails-1st-event%2F&amp;linkname=Montreal%20on%20Rails%20%26%238211%3B%201st%20event" onclick="pageTracker._trackPageview('/outgoing/www.addtoany.com/share_save?linkurl=http_3A_2F_2Fwww.yashlabs.com_2Fwp_2F2007_2F08_2F09_2Fmontreal-on-rails-1st-event_2F_amp_linkname=Montreal_20on_20Rails_20_26_238211_3B_201st_20event&amp;referer=');"><img src="http://www.yashlabs.com/wp/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.yashlabs.com/wp/2007/08/09/montreal-on-rails-1st-event/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Hacking IronRuby</title>
		<link>http://www.yashlabs.com/wp/2007/07/27/hacking-ironruby/</link>
		<comments>http://www.yashlabs.com/wp/2007/07/27/hacking-ironruby/#comments</comments>
		<pubDate>Fri, 27 Jul 2007 21:29:43 +0000</pubDate>
		<dc:creator>Yash</dc:creator>
				<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Tutorials]]></category>

		<guid isPermaLink="false">http://www.yashlabs.com/wp/?p=145</guid>
		<description><![CDATA[John Lam of Microsoft released IronRuby this July 23rd. IronRuby is destined to enable the use of Ruby with .Net to build Windows applications. It targets the Dynamic Language Runtime, which Microsoft plans for IronRuby, IronPython and VBx, a dynamic version of Visual Basic. This post is a tutorial for hacking IronRuby.
In this tutorial I&#8217;ll [...]]]></description>
			<content:encoded><![CDATA[<p><!--adsense--><img hspace=10 vspace=10 border=0 align="left" src="http://www.yashlabs.com/wp/wp-content/IronRuby%20image.png" width="266" height="82" alt="IronRuby image" title="IronRuby image" /><a href="http://www.iunknown.com/" onclick="pageTracker._trackPageview('/outgoing/www.iunknown.com/?referer=');">John Lam</a> of Microsoft <a href="http://www.iunknown.com/2007/07/a-first-look-at.html" onclick="pageTracker._trackPageview('/outgoing/www.iunknown.com/2007/07/a-first-look-at.html?referer=');">released IronRuby</a> this July 23rd. IronRuby is destined to enable the use of Ruby with .Net to build Windows applications. It targets the Dynamic Language Runtime, which Microsoft plans for IronRuby, IronPython and VBx, a dynamic version of Visual Basic. This post is a tutorial for hacking IronRuby.</p>
<p>In this tutorial I&#8217;ll show:</p>
<li>How to build IronRuby and test it, including a simple .Net interop test</li>
<li>How to set up a Visual environment to hack IronRuby</li>
<li>How I hacked the IronRuby C# source code to fix a bug about string concatenation in Ruby</li>
<li>How I extended IronRuby with a new method implementation with the Visual environment</li>
<p>A few months ago, I emailed John about the possibility of using his RubyCLR, the precursor to IronRuby, to integrate with open-source IDEs. John was quite open to the idea. This new project renews my interest as already, IronPython has been integrated within the Visual Studio environment, and it would be great to tackle the VS integration of IronRuby in the future.</p>
<p>I checked out the source code to IronRuby in its really early pre-Alpha stage (so you should expect incompleteness and bugs). <a href="http://antoniocangiano.com" onclick="pageTracker._trackPageview('/outgoing/antoniocangiano.com?referer=');">Antonio Cangiano</a> wrote a <a href="http://antoniocangiano.com/2007/07/26/is-ironruby-mathematically-challenged/" onclick="pageTracker._trackPageview('/outgoing/antoniocangiano.com/2007/07/26/is-ironruby-mathematically-challenged/?referer=');">long post about this</a>, but this first release is under Microsoft&#8217;s Permissive License, so that anyone can look at the code and modify it.</p>
<p><strong>1. Building IronRuby</strong></p>
<p>1. Make sure you have the <a href="http://iunknown.typepad.com/IronRuby-Pre-Alpha1.zip" onclick="pageTracker._trackPageview('/outgoing/iunknown.typepad.com/IronRuby-Pre-Alpha1.zip?referer=');">IronRuby source code</a> and that you have extracted it, and also the <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=0856EACB-4362-4B0D-8EDD-AAB15C5E04F5&#038;displaylang=en" onclick="pageTracker._trackPageview('/outgoing/www.microsoft.com/downloads/details.aspx?FamilyID=0856EACB-4362-4B0D-8EDD-AAB15C5E04F5_038_displaylang=en&amp;referer=');">.Net framework</a> installed.</p>
<p>2. Because of a bug in Microsoft&#8217;s <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=0856EACB-4362-4B0D-8EDD-AAB15C5E04F5&#038;displaylang=en" onclick="pageTracker._trackPageview('/outgoing/www.microsoft.com/downloads/details.aspx?FamilyID=0856EACB-4362-4B0D-8EDD-AAB15C5E04F5_038_displaylang=en&amp;referer=');">.Net framework</a> installation, paths to the framework or the corresponding system environment variables are not set correctly. Check the <strong>path to your latest version of .Net framework</strong> by looking in the <strong>Windows\Microsoft.Net</strong> directory.</p>
<p>Mine is: C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727</p>
<p>3. In IronRuby&#8217;s installed directory, <strong>edit Build.cmd</strong> and <strong>replace<br />
%frameworkdir%\%frameworkversion% by your full path to your .Net framework dir</strong>.</p>
<p>4. Save Build.cmd.</p>
<p>Mine contains<br />
<code>C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\msbuild.exe /p:Configuration=Release /t:Rebuild IronRuby.sln</code></p>
<p>5. Launch Build.cmd from the command line. </p>
<p>IronRuby should now build successfully.</p>
<p><strong>2. Testing IronRuby</strong></p>
<p>1. Launch <strong>rbx.exe</strong> in the <strong>Bin\Release</strong> subdirectory and try a simple Ruby command like 3+5 or puts &#8216;Hello!&#8217;</p>
<p>2. A simple .Net interop test:<br />
<code lang="php"><br />
require 'System.Windows.Forms'<br />
f=System::Windows::Forms<br />
f::MessageBox.show "Hello from .Net!"</code></p>
<p><img src="http://www.yashlabs.com/wp/wp-content/IronRuby.JPG" width="428" height="195" alt="IronRuby test" title="IronRuby test" /></p>
<p>3. A string test which fails:</p>
<div class = 'centered'>
<img src="http://www.yashlabs.com/wp/wp-content/IronRuby%20bug.JPG" width="272" height="116" alt="IronRuby bug" title="IronRuby bug" />
</div>
<p>Here, we can see that string concatenation unfortunately modifies the first argument. We&#8217;ll see how to fix this in IronRuby&#8217;s source code in a short while, but first we&#8217;ll set up a nice Visual environment to code in.</p>
<p><strong>3. Setting up Visual C# Express 2005 to hack IronRuby</strong></p>
<p>1. Download <a href="http://msdn.microsoft.com/vstudio/express/visualcsharp/" onclick="pageTracker._trackPageview('/outgoing/msdn.microsoft.com/vstudio/express/visualcsharp/?referer=');">Visual C# Express 2005</a> and install it. Do register the software.</p>
<p>2. Load the IronRuby solution file, <strong>IronRuby.sln</strong>, in the Visual C# Express 2005 IDE.</p>
<p>3. You can then build IronRuby straight from the IDE and also modify it which we will now see by going through fixing the bug encountered above.</p>
<p><strong>4. Hacking IronRuby to fix the string addition operation bug</strong></p>
<p>After grasping the overall source-code structure, I narrowed down the bug to the <strong>Ruby\Builtins\MutableStrings.cs</strong> file and the <strong>Concatenate(MutableString self, MutableString other)</strong> implementation of <strong>RubyMethodAttribute &#8220;+&#8221;</strong>:<br />
<code lang="php"><br />
[RubyMethodAttribute("+", RubyMethodAttributes.PublicInstance)]<br />
        public static MutableString Concatenate(MutableString self, MutableString other) {<br />
            return self.Append(other);<br />
        }<br />
</code></p>
<p>self.Append(other) was obviously effecting the concatenation but modifying self (as that&#8217;s what Append should do) and returning the result.</p>
<p>To fix this in C#, I needed to instantiate a new temporary MutableString object to which I could in turn append self and other and return this instead:</p>
<p><code lang="php"><br />
MutableString result = new MutableString();<br />
return result.Append(self).Append(other);<br />
</code></p>
<p><a href="http://www.yashlabs.com/wp/wp-content/Hacking%20IronRuby1.JPG"><img src="http://www.yashlabs.com/wp/wp-content/_Hacking%20IronRuby1.JPG" width="250" height="190" alt="Hacking IronRuby" title="Hacking IronRuby"  /></a></p>
<p>Once you&#8217;ve modified an existing IronRuby implementation, you can Build the solution within the Visual C# IDE (F6).</p>
<p>After a successful build, you can browse to the IronRuby <strong>Bin\Debug</strong> directory (or Bin\Release if you set it up this way within Visual C#) and check whether <strong>rbx.exe</strong> is recently timestamped. </p>
<p>Just double-click on <strong>rbx.exe</strong> to launch it and to check the bug fix:</p>
<div class = 'centered'>
<img src="http://www.yashlabs.com/wp/wp-content/IronRuby%20patched.JPG" width="361" height="222" alt="IronRuby patched" title="IronRuby patched" />
</div>
<p><em>Don&#8217;t forget to exit the debug version of rbx if you&#8217;re doing other modifications or you won&#8217;t be able to build it.<br />
</em><br />
<strong>5. Extending IronRuby with new Ruby methods implementations using Visual C#</strong></p>
<p>Here, we&#8217;ll be adding a new Ruby method implementation to the Ruby Builtins classes, so a simple Build of the code would not work, as there is intermediate C# code which has to be generated automatically thanks to a small program named ClassInitGenerator.</p>
<p>There&#8217;s a bad path setting in one of the files we&#8217;ll need, so we have to fix this first:</p>
<p>1. Browse to the <strong>Src\Ruby\Builtins</strong> directory</p>
<p>2. Right-click the <strong>GenerateInitializers.cmd</strong> file and select Properties.</p>
<p>3. Uncheck the Read-Only attribute and click Apply, then OK.</p>
<p>4. Right-click the same file again and select Edit.</p>
<p>5. Remove the initial &#8216;..\&#8217;</p>
<p>Your new file should contain:</p>
<p><code>..\..\..\Bin\Debug\ClassInitGenerator > Initializer.Generated.cs</code></p>
<p>6. Save the file.</p>
<p>As Antonio Cangiano of IBM Toronto&#8217;s Software Labs and others rightly pointed out, a simple float division will throw IronRuby astray:</p>
<div class = 'centered'>
<a href="http://www.yashlabs.com/wp/wp-content/IronRuby%20Float%20divide%20missing.JPG"><img src="http://www.yashlabs.com/wp/wp-content/_IronRuby%20Float%20divide%20missing.JPG" width="250" height="113" alt="IronRuby Float Divide missing" title="IronRuby Float Divide missing"  /></a>
</div>
<p>That&#8217;s because the Ruby &#8220;/&#8221; method for floats within the <strong>Builtins\FloatOps.cs</strong> file is not implemented yet.</p>
<p>Here&#8217;s my simple code for the IronRuby implementation of the Ruby &#8220;/&#8221; operation:</p>
<p><code lang="php"><br />
[RubyMethodAttribute("/", RubyMethodAttributes.PublicInstance)]<br />
        public static double Divide(double self, double other)<br />
        {<br />
            return (self / other);<br />
        }<br />
</code></p>
<p>Here are the steps to recreate an extended IronRuby with the IDE:</p>
<p>1. Save the FloatOps.cs file (or the project)</p>
<p>2. Right-click <strong>ClassInitGenerator</strong> in the solution tree-view and select <strong>Build</strong></p>
<p>3. Browse to <strong>Src\Ruby\Builtins</strong> and launch <strong>GenerateInitializers.cmd</strong>. A new Initializer.Generated.cs file will be generated. If the Visual C# IDE asks for it to be reloaded, click &#8220;Yes&#8221;.</p>
<p>4. Select the Solution and Build it (F6)</p>
<p>5. Browse to the <strong>\Bin\Debug</strong> directory and launch <strong>rbx.exe</strong> to test it:</p>
<div class = 'centered'>
<img src="http://www.yashlabs.com/wp/wp-content/IronRuby%20Float%20extended.JPG" width="401" height="92" alt="IronRuby Float extended" title="IronRuby Float extended" />
</div>
<p>You can now hack away at IronRuby with the Visual C# IDE. Microsoft will be accepting outside contributions to the source code which is expected to be on <a href="http://rubyforge.org/" onclick="pageTracker._trackPageview('/outgoing/rubyforge.org/?referer=');">RubyForge</a> by the end of August.</p>
<p>Other interesting posts about IronRuby:</p>
<li> <a href="http://weblogs.asp.net/scottgu/default.aspx" onclick="pageTracker._trackPageview('/outgoing/weblogs.asp.net/scottgu/default.aspx?referer=');">Scott Guthrie</a>&#8217;s demonstration of <a href="http://weblogs.asp.net/scottgu/archive/2007/07/23/first-look-at-ironruby.aspx" onclick="pageTracker._trackPageview('/outgoing/weblogs.asp.net/scottgu/archive/2007/07/23/first-look-at-ironruby.aspx?referer=');">IronRuby with .Net 3.x and Windows Presentation Foundation (WPF)</a></li>
<li><a href="http://www.hanselman.com/blog/" onclick="pageTracker._trackPageview('/outgoing/www.hanselman.com/blog/?referer=');">Scott Hanselman</a>&#8217;s <a href="http://www.hanselman.com/blog/WPFSampleInIronRubyTalkingViaCToWesabe.aspx" onclick="pageTracker._trackPageview('/outgoing/www.hanselman.com/blog/WPFSampleInIronRubyTalkingViaCToWesabe.aspx?referer=');">post on IronRuby and WPF with a C# client.</a></li>
<li><a href="http://antoniocangiano.com/" onclick="pageTracker._trackPageview('/outgoing/antoniocangiano.com/?referer=');">Antonio Cangiano</a>&#8217;s post &#8220;<a href="http://antoniocangiano.com/2007/07/26/is-ironruby-mathematically-challenged/" onclick="pageTracker._trackPageview('/outgoing/antoniocangiano.com/2007/07/26/is-ironruby-mathematically-challenged/?referer=');">Is IronRuby mathematically challenged?</a>&#8220;</li>
<li>Seo Sanghyeon has <a href="http://fepy.blogspot.com/2007/07/teaching-ironruby-math-tricks.html" onclick="pageTracker._trackPageview('/outgoing/fepy.blogspot.com/2007/07/teaching-ironruby-math-tricks.html?referer=');">additional ideas about extending IronRuby</a></li>
<li>Miguel de Icaza&#8217;s <a href="http://www.tirania.org/blog/archive/2007/Jul-23-1.html" onclick="pageTracker._trackPageview('/outgoing/www.tirania.org/blog/archive/2007/Jul-23-1.html?referer=');">post</a></li>
<li>Josh Holmes &#8211; <a href="http://www.joshholmes.com/2007/07/28/IronRubyRubyNET.aspx" onclick="pageTracker._trackPageview('/outgoing/www.joshholmes.com/2007/07/28/IronRubyRubyNET.aspx?referer=');">IronRuby = (Ruby + .Net)!</a></li>
<li>Ola Bini &#8211; <a href="http://ola-bini.blogspot.com/2007/07/ironruby-scoop.html" onclick="pageTracker._trackPageview('/outgoing/ola-bini.blogspot.com/2007/07/ironruby-scoop.html?referer=');">The IronRuby scoop</a></li>
<li>Ryan Stewart <a href="http://blogs.zdnet.com/Stewart/?p=464" onclick="pageTracker._trackPageview('/outgoing/blogs.zdnet.com/Stewart/?p=464&amp;referer=');">at ZDNet blogs</a></li>
<p><strong>Additional thoughts</strong></p>
<p>This is a great milestone achieved by John and the team and I would love to see Ruby used to produce full-fledged Windows apps. Given Microsoft&#8217;s horrendous track record at supporting standards, and habit of &#8216;extending&#8217; technologies to extinguish them later on, I want to see where this will go and I am also watching Microsoft&#8217;s sudden embracing of the terms &#8216;Open Source&#8217;.</p>
<p>However, for successful people and teams, history is not a perfect image of the future as they can transcend that. </p>
<p>John&#8217;s work on RubyCLR previously and IronRuby for the DLR today is testament to his great hacking skills and success at integrating Ruby and the .Net framework.</p>
<p>Well done, John.</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.yashlabs.com%2Fwp%2F2007%2F07%2F27%2Fhacking-ironruby%2F&amp;linkname=Hacking%20IronRuby" onclick="pageTracker._trackPageview('/outgoing/www.addtoany.com/share_save?linkurl=http_3A_2F_2Fwww.yashlabs.com_2Fwp_2F2007_2F07_2F27_2Fhacking-ironruby_2F_amp_linkname=Hacking_20IronRuby&amp;referer=');"><img src="http://www.yashlabs.com/wp/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.yashlabs.com/wp/2007/07/27/hacking-ironruby/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>DemoCampMontreal3 Report</title>
		<link>http://www.yashlabs.com/wp/2007/07/25/democampmontreal3-report/</link>
		<comments>http://www.yashlabs.com/wp/2007/07/25/democampmontreal3-report/#comments</comments>
		<pubDate>Thu, 26 Jul 2007 03:08:58 +0000</pubDate>
		<dc:creator>Yash</dc:creator>
				<category><![CDATA[BarCamp]]></category>
		<category><![CDATA[DemoCampMontreal]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Web 2.0]]></category>

		<guid isPermaLink="false">http://www.yashlabs.com/wp/?p=144</guid>
		<description><![CDATA[Rule-violation edition
It was a fun DemoCampMontreal3. Without further ado, here is what happened at the event.
1. Evan Prodromou, Nicolas Ritoux &#8211; Vinismo
Evan and Nicolas presented a new website, a guide for Wine connoisseurs, based on MediaWiki. Evan described how his experience with WikiTravel allowed him to build upon the core engine used there for Vinismo. [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Rule-violation edition</strong></p>
<p>It was a fun DemoCampMontreal3. Without further ado, here is what happened at the event.</p>
<p><strong>1. <a href="http://evan.prodromou.name/" onclick="pageTracker._trackPageview('/outgoing/evan.prodromou.name/?referer=');">Evan Prodromou</a>, <a href="http://www.vulusu.ca/" onclick="pageTracker._trackPageview('/outgoing/www.vulusu.ca/?referer=');">Nicolas Ritoux</a> &#8211; <a href="http://vinismo.com/en/Wine_Guide" onclick="pageTracker._trackPageview('/outgoing/vinismo.com/en/Wine_Guide?referer=');">Vinismo</a></strong></p>
<p><a href="http://www.flickr.com/photos/yashn/900636828/" title="Photo Sharing" onclick="pageTracker._trackPageview('/outgoing/www.flickr.com/photos/yashn/900636828/?referer=');"><img hspace=10 vspace=10 border=0 align="left" src="http://farm2.static.flickr.com/1308/900636828_2ca507af49_m.jpg" width="240" height="180" alt="Evan_Prodromou_Nicolas_Ritoux_Vinismo_DemoCampMontreal3.jpg" /></a>Evan and Nicolas presented a new website, a guide for Wine connoisseurs, based on <a href="http://www.mediawiki.org/" onclick="pageTracker._trackPageview('/outgoing/www.mediawiki.org/?referer=');">MediaWiki</a>. Evan described how his experience with WikiTravel allowed him to build upon the core engine used there for Vinismo. The latter&#8217;s MediaWiki site is customized heavily. There is an integrated open-id extension among others, and the site also outputs semantic data through RDF. You could see that a lot of thought had gone into the underlying architecture of the system.</p>
<p>Nicolas also took a turn at presenting, this time in French, and spoke about how the site had been structured. The logo and the site design were made here in Montreal. The Vinismo team came to DemoCampMontreal3 with a powerful argument about the subject as no less than nine bottles of the finest wines were available freely (&#8216;free&#8217; as in &#8216;free wine&#8217;) at the SAT bar.</p>
<p>Update: Evan wrote in to mention they paid the SAQ retail for the wines.</p>
<p><object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/c8xPQTf3tzs"></param> <embed src="http://www.youtube.com/v/c8xPQTf3tzs" type="application/x-shockwave-flash" width="425" height="350"></embed></object></p>
<p>Dedicated to accurate reporting, I duly sacrificed myself to sample some of the wines in between demonstrations.</p>
<p>Simon and some other people were convinced I was next to present. They confused me with Heri somehow. It could have been the wine.</p>
<p><strong>2. <a href="http://heri.madmedia.ca/" onclick="pageTracker._trackPageview('/outgoing/heri.madmedia.ca/?referer=');">Heri Rakotomalala</a> &#8211; <a href="http://workcruncher.net/" onclick="pageTracker._trackPageview('/outgoing/workcruncher.net/?referer=');">WorkCruncher</a></strong></p>
<p><a href="http://www.flickr.com/photos/yashn/899781545/" title="Photo Sharing" onclick="pageTracker._trackPageview('/outgoing/www.flickr.com/photos/yashn/899781545/?referer=');"><img hspace=10 vspace=10 border=0 align="right" src="http://farm2.static.flickr.com/1264/899781545_d4753477f5_m.jpg" width="240" height="180" alt="Heri_Rakotomalala_WorkCruncher_DemoCampMontreal3.jpg" /></a>Heri demonstrated his online application for daily tasks. It&#8217;s a simple application with tasks that gets reinitialized each day. This means there&#8217;s some pressure involved for you to actually finish those tasks the same day. Heri emphasized that it wasn&#8217;t a feature-packed application, but a simple tool for personal productivity. Workcruncher would be available later as private beta.</p>
<p>Workcruncher allows teams to work together as you can assign tasks to a team member. There are also &#8216;followers&#8217; who are people who can have a look at the tasks and the advancement, but to whom tasks cannot be assigned.</p>
<p><object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/3vCmCgSZ2Vg"></param> <embed src="http://www.youtube.com/v/3vCmCgSZ2Vg" type="application/x-shockwave-flash" width="425" height="350"></embed></object></p>
<p>It&#8217;s a simple, even simplistic application which is easily built with Ruby on Rails and I&#8217;m sure Heri used RoR.</p>
<p><strong>3. <a href="http://web1979.wordpress.com/" onclick="pageTracker._trackPageview('/outgoing/web1979.wordpress.com/?referer=');">Mat Balez</a>, <a href="http://blog.carlmercier.com/" onclick="pageTracker._trackPageview('/outgoing/blog.carlmercier.com/?referer=');">Carl Mercier</a> &#8211; <a href="http://defensio.com/" onclick="pageTracker._trackPageview('/outgoing/defensio.com/?referer=');">Defensio</a></strong></p>
<p><a href="http://www.flickr.com/photos/yashn/899782575/" title="Photo Sharing" onclick="pageTracker._trackPageview('/outgoing/www.flickr.com/photos/yashn/899782575/?referer=');"><img hspace=10 vspace=10 border=0 align="left" src="http://farm2.static.flickr.com/1396/899782575_1e22f75f8e_m.jpg" width="240" height="180" alt="Mat_Balez_Carl_Mercier_Defensio_DemoCampMontreal3.jpg" /></a>Mat started the presentation while Carl demonstrated an incarnation of Defensio, their learning spam-fighting software, as a WordPress plugin. Mat compared Defensio to Wordpress&#8217;s standard spam-filter, Akismet. Defensio has a &#8217;spaminess&#8217; level, which enables one to specify a threshold above which the spam entries are hidden on your administrative page. This helps identify false-positives and thus letting your genuine comments through. There&#8217;s also the option of hiding the spam content, which helps.</p>
<p><object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/DN2YJnQskRg"></param> <embed src="http://www.youtube.com/v/DN2YJnQskRg" type="application/x-shockwave-flash" width="425" height="350"></embed></object></p>
<p>At this point, to me these were only additional features that could be implemented anytime within the Akismet source code. however, when Carl described Defensio in more detail, I realized there are additional advantages to the system. For instance, they have gone further with their API than Akismet&#8217;s. In addition, Defensio can run as a web service and protect anytime there&#8217;s an input of data on a web-form somewhere.</p>
<p><object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/lbuQmVkX4DQ"></param> <embed src="http://www.youtube.com/v/lbuQmVkX4DQ" type="application/x-shockwave-flash" width="425" height="350"></embed></object></p>
<p>Technology used: Ruby on Rails.</p>
<p>To the absolute and audible horror of the audience, the Defensio team presented a few slides! Gasp! This means that they&#8217;ll have to pay some beers around to atone for their sins (the &#8216;no-slide&#8217; rule of DemoCamp is a definite no-no). Simon was aghast, but had to regain composure quickly as he was presenting next, spurred on and introduced by Tamu, in a ravishing red summer dress.</p>
<p><object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/8KBEFNzjHaA"></param> <embed src="http://www.youtube.com/v/8KBEFNzjHaA" type="application/x-shockwave-flash" width="425" height="350"></embed></object></p>
<p><strong>4. <a href="http://sfllaw.livejournal.com/" onclick="pageTracker._trackPageview('/outgoing/sfllaw.livejournal.com/?referer=');">Simon Law</a> &#8211; Building a Revolutionary Magnet-Based Anti-Aging Device using a Cheap Wall Clock (Made in China)</strong></p>
<p><a href="http://www.flickr.com/photos/yashn/899782893/" title="Photo Sharing" onclick="pageTracker._trackPageview('/outgoing/www.flickr.com/photos/yashn/899782893/?referer=');"><img hspace=10 vspace=10 border=0 align="right" src="http://farm2.static.flickr.com/1311/899782893_b70ac087a0_m.jpg" width="240" height="206" alt="Simon_Law_Revolutionary_Anti-Aging_Device_DemoCampMontreal3.jpg" /></a>The internet was abuzz with the possibility of Simon Law&#8217;s extremely controversial demo because of the totally ludicrous claims that it violated some well-established laws of science and provided a clean, free, means of reversing aging by drawing energy from the ether. </p>
<p>We scientists are known to cry &#8220;hogwash&#8221; to such claims as we dutifully follow our own laws. Anything else would be too high a cognitive dissonance for us to continue to function properly in this world. Understandably, the scientific community was skeptical of the claims about the magnet-based device.</p>
<p>Undaunted, Simon had built up a select panel of PhD-level scientists to explore the device&#8217;s capabilities under NDA and try to contradict his outrageous claims.</p>
<p>Besides, to demonstrate his seriousness, Simon had stopped taking investments from interested investors, and lately had stopped eating altogether until he could demonstrate in a foolproof manner the mythical device at work. Maybe that&#8217;s why he confused me with Heri earlier &#8211; everything&#8217;s a blur on an empty stomach.</p>
<p>To put a final nail in the coffin of skepticism, Simon had scheduled a highly-conspicuous televised and webcasted demonstration of how to build the device at the SAT, replete with real-time video cameras and onlookers in the flesh, knowing perfectly well that there would be reports of DemoCampMontreal3 all around the net in a jiffy.</p>
<p>Well, who knows? <a href="http://en.wikipedia.org/wiki/Nikola_Tesla" onclick="pageTracker._trackPageview('/outgoing/en.wikipedia.org/wiki/Nikola_Tesla?referer=');">Tesla</a> did something similar I gather, so he might be onto something.</p>
<blockquote><p>Skeptic: &#8220;But it violates the Second Law of Ther&#8230;:&#8221;<br />
Simon: &#8220;My NAME is Law!&#8221;
</p></blockquote>
<p>And besides, people do the <a href="http://www.yashlabs.com/wp/?p=141">strangest of things</a> <a href="http://www.yashlabs.com/wp/?p=142">with magnets</a>.</p>
<p>Simon dived right into the presentation, and my friend Philippe Chrun could hear me laughing all the time because it was reminiscent of Simon&#8217;s previous Omelette-Engineering presentation at <a href="http://www.yashlabs.com/wp/?p=57">DemoCampCUSEC1</a>, and I was asking myself &#8220;Now what??!!&#8221;.</p>
<p><object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/b0wXc9249Sk"></param> <embed src="http://www.youtube.com/v/b0wXc9249Sk" type="application/x-shockwave-flash" width="425" height="350"></embed></object></p>
<p>At one point in time though, Simon had his notepad filmed with the device&#8217;s structure drawn in pen on paper. This caused further outraged in the already weary (and wine-induced ethanol torpor) audience.</p>
<p><strong>&#8220;Isn&#8217;t that a similar thing as a Powerpoint slide?!!!!&#8221;</strong></p>
<p>Some boos ensued. They were friendly boos though, we&#8217;re a small community here. Simon will have to pay some beer next time. I mean he has to show the good example and be the first to be punished for infringing the rules he probably set himself. How else are we going to convince Mat to pay his beer otherwise?</p>
<p>Simon proceeded, but the final test before completely reassembling the device failed.</p>
<p>Phew! We would have been in for a big surprise with a demonstrated violation of the arrow of time, but&#8230; </p>
<p>But&#8230; were we really safe? Strange things were happening in the SAT, as a wall clock behind the bar was turning backwards while Simon reassured the audience that he would get the demo unit working at the end of DemoCampMontreal3!</p>
<p><object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/vZmzvSEobzo"></param> <embed src="http://www.youtube.com/v/vZmzvSEobzo" type="application/x-shockwave-flash" width="425" height="350"></embed></object></p>
<p>Still, at the end of his presentation, there was applause (with airs of &#8220;I told you so&#8221; and &#8220;let&#8217;s taste some other wine&#8221;), despite the failure.</p>
<p>Quizzed as to what could be the cause of failure of the demo of the polemical technology, Simon had this to say:</p>
<blockquote><p>&#8220;Er, I think it could be the searing heat of the S.A.T. spotlights reflecting on my glasses which damaged the clock&#8217;s delicate mechanism. It&#8217;s delicate you know&#8230;like&#8230; CLOCKWORK! HAHAHAHAHA!!&#8221;</p></blockquote>
<p>Fellow member of the Montreal Tech community, <a href="http://hughmcguire.net/" onclick="pageTracker._trackPageview('/outgoing/hughmcguire.net/?referer=');">Hugh McGuire</a>, a stalwart believer of the prevailing laws, shared this observation through a Twitter post:</p>
<blockquote><p>&#8220;I believe Simon really saw what he says he saw, but I&#8217;m afraid this might be a case of prolonged self-delusion.&#8221;</p></blockquote>
<p>Subsequently, Simon suffered some backlash from Engadget which had previously blogged enthusiastically about his demonstration. Fear not, insider sources have just revealed that a full-blown interview with Simon is also under way.</p>
<p><strong>5. <a href="http://blog.jeromeparadis.com/" onclick="pageTracker._trackPageview('/outgoing/blog.jeromeparadis.com/?referer=');">JÃ©rÃ´me Paradis</a> &#8211; CharterWeb</strong></p>
<p><a href="http://www.flickr.com/photos/yashn/900637600/" title="Photo Sharing" onclick="pageTracker._trackPageview('/outgoing/www.flickr.com/photos/yashn/900637600/?referer=');"><img hspace=10 vspace=10 border=0 align="left" src="http://farm2.static.flickr.com/1429/900637600_250020335a_m.jpg" width="240" height="197" alt="Jerome_Paradis_CharterWeb-DemoCampMontreal3.jpg" /></a>JÃ©rÃ´me, whom I had the pleasure of meeting at YULbiz (the meeting of business bloggers in Montreal), was at his first attendance of DemoCampMontreal, and he was presenting. That&#8217;s quite a feat! He presented a project codenamed CharterWeb, which he built in collaboration with FranÃ§ois Aubin, of Cognitive Group, who couldn&#8217;t attend.</p>
<p>CharterWeb is a Web 2.0 application built for V1 Jets to enable the discovery and reservation of Jets. The application relies on Google Maps to display the maps as well as the draggable routes for each Jet. In addition, the app. can show the relevant details about each Jet and flight. There is a possibility of browsing through different available flights on different days so that should you be unsatisfied with the actual routes and schedules, you can find a similar one easily.</p>
<p>CharterWeb also incorporates the capacity to detect important information within emails through a recognition algorithm, and then interface that with the online application.</p>
<p><object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/Ia7T7hdfw68"></param> <embed src="http://www.youtube.com/v/Ia7T7hdfw68" type="application/x-shockwave-flash" width="425" height="350"></embed></object></p>
<p>Having talked extensively with JÃ©rÃ´me last time, I guess he used Microsoft .Net to build part of the application.</p>
<p><strong>Thanks to Sponsors</strong></p>
<p>Simon took some time to thanks the sponsors of the event: Akoha, Standout Jobs, Garage Technology Ventures Canada, and the S.A.T., our hosts.</p>
<p>Thanks for the wine as well, Vinismo team.</p>
<p>As a grand finale, Simon demonstrated the cheap wall-clock running backwards! The arrow of time was successfully reversed and therefore, all of the DemoCampMontreal3 attendants were youthful again. Or maybe it was the <a href="http://en.wikipedia.org/wiki/Resveratrol" onclick="pageTracker._trackPageview('/outgoing/en.wikipedia.org/wiki/Resveratrol?referer=');">resveratrol</a>.</p>
<p><object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/KZqw89VT8Yg"></param> <embed src="http://www.youtube.com/v/KZqw89VT8Yg" type="application/x-shockwave-flash" width="425" height="350"></embed></object></p>
<p>It was great to meet with Mat Balez, Adrien, Chris Scott and Pierre Phaneuf (the power of Facebook!), Carl Mercier, Kim VallÃ©e, AmÃ©lie Racine, Mark, Philippe Chrun, Angelo, Fred, Julie, Simon, Tamu, Roberto Rocha, Alok Mohindra, Martin Dufort, SÃ©bastien Paquet, and others.</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.yashlabs.com%2Fwp%2F2007%2F07%2F25%2Fdemocampmontreal3-report%2F&amp;linkname=DemoCampMontreal3%20Report" onclick="pageTracker._trackPageview('/outgoing/www.addtoany.com/share_save?linkurl=http_3A_2F_2Fwww.yashlabs.com_2Fwp_2F2007_2F07_2F25_2Fdemocampmontreal3-report_2F_amp_linkname=DemoCampMontreal3_20Report&amp;referer=');"><img src="http://www.yashlabs.com/wp/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.yashlabs.com/wp/2007/07/25/democampmontreal3-report/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 1.191 seconds -->
