<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-987482770223047643</id><updated>2011-08-05T02:17:26.024-05:00</updated><category term='objc'/><category term='jdbc'/><category term='javascript'/><category term='web'/><category term='free'/><category term='guilt'/><category term='quote'/><category term='1.1.4'/><category term='preference'/><category term='cocoa'/><category term='iphone'/><category term='transactions'/><category term='css'/><category term='copy'/><category term='code coverage'/><category term='leopard'/><category term='plugin'/><category term='downgrade'/><category term='spring'/><category term='journal'/><category term='compare'/><category term='buddhist'/><category term='.net'/><category term='tdd'/><category term='unicode'/><category term='blabber'/><category term='eclipse'/><category term='code'/><category term='persistent'/><category term='file'/><category term='backup'/><category term='xml'/><category term='java'/><category term='mysql'/><category term='timemachine'/><category term='programming'/><category term='aop'/><category term='experience'/><category term='stm'/><category term='monads'/><category term='oop'/><category term='extend'/><category term='unittesting'/><category term='dim background'/><category term='book'/><category term='nas'/><category term='express card'/><category term='queue'/><category term='beta8'/><category term='sql'/><category term='trick'/><category term='2.0'/><category term='html'/><category term='mac'/><category term='esata'/><title type='text'>Alexei Guevara's Blog</title><subtitle type='html'>For now I'm writing tidbits about computer programming, the plan is to actually blog at some point in time.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blog.alexguev.net/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/987482770223047643/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://blog.alexguev.net/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Alexei Guevara</name><uri>http://www.blogger.com/profile/01811335196275083219</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>34</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-987482770223047643.post-5492110396114166910</id><published>2010-03-15T01:17:00.002-05:00</published><updated>2010-03-15T01:27:15.313-05:00</updated><title type='text'>should I create a video downloader ?</title><content type='html'>so ... I've downloaded videos from youtube and then copied  them to my iphone to watch on my  way to the office two times. Even though the process takes approximately 15 minutes, it feels tedious to me. I believe that's the reason is that such process should be a 1 command activity. The command will be "copy this video to my iphone" ...but I can't do that, there are a number of manual steps required to accomplish this 15 minutes activity.&lt;br /&gt;&lt;br /&gt;- download to you computer using http://www.savevid.com/&lt;br /&gt;- convert from mp4 to the iphone compatible format&lt;br /&gt;- synchronize the iphone with you computer to cop the file .&lt;br /&gt;&lt;br /&gt;those are the 3 steps. Mmmm ...I told myself, I could create a software to automate the 3 steps :) and then went on to think about batch processing etc. and then I though, oh come on most probably somebody created an app to do this. And, there is an app, it's here http://www.moviesmac.com/mac-free-video-downloader.  It seems to have all the features I need. And it costs 29 dollars. The question I ask myself is:&lt;br /&gt;&lt;br /&gt;- should I still build the very simple version of the application and do not pay the 29 dollars.&lt;br /&gt;&lt;br /&gt;- or should I just pay for it ...&lt;br /&gt;&lt;br /&gt;I kind of like the first choice, ...I meant ..I am a computer programmer, and such application is not too complex and it should be be too time consuming, and it might be even fun! to write it. And then use it ! ...but it will consume some of my time ... mmm ...isn't that the best use of my time ... !? doing what I like doing, so I can create something that is going to save me and my friends 29dollars... or actually that could save everybody that 29 ... &lt;br /&gt;&lt;br /&gt;...mmm ..if I create this app, I will most certainly make it open source ...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;there goes some blabbering with many many typos ...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/987482770223047643-5492110396114166910?l=blog.alexguev.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.alexguev.net/feeds/5492110396114166910/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=987482770223047643&amp;postID=5492110396114166910' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/987482770223047643/posts/default/5492110396114166910'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/987482770223047643/posts/default/5492110396114166910'/><link rel='alternate' type='text/html' href='http://blog.alexguev.net/2010/03/should-i-create-video-downloader.html' title='should I create a video downloader ?'/><author><name>Alexei Guevara</name><uri>http://www.blogger.com/profile/01811335196275083219</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-987482770223047643.post-4112794832564281327</id><published>2008-12-16T00:09:00.002-05:00</published><updated>2009-01-27T00:30:45.641-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='timemachine'/><category scheme='http://www.blogger.com/atom/ns#' term='backup'/><category scheme='http://www.blogger.com/atom/ns#' term='nas'/><category scheme='http://www.blogger.com/atom/ns#' term='mac'/><title type='text'>I can finally backup to a non-apple afp server</title><content type='html'>With version 10.5.6 of Mac OS X Apple has finally fixed a TimeMachine issue that was preventing me from backing up to a linux NAS.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/987482770223047643-4112794832564281327?l=blog.alexguev.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.alexguev.net/feeds/4112794832564281327/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=987482770223047643&amp;postID=4112794832564281327' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/987482770223047643/posts/default/4112794832564281327'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/987482770223047643/posts/default/4112794832564281327'/><link rel='alternate' type='text/html' href='http://blog.alexguev.net/2008/12/i-can-finally-backup-to-non-apple-afp.html' title='I can finally backup to a non-apple afp server'/><author><name>Alexei Guevara</name><uri>http://www.blogger.com/profile/01811335196275083219</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-987482770223047643.post-7576888754039723394</id><published>2008-07-11T22:40:00.003-05:00</published><updated>2008-12-23T00:09:43.704-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='downgrade'/><category scheme='http://www.blogger.com/atom/ns#' term='beta8'/><category scheme='http://www.blogger.com/atom/ns#' term='1.1.4'/><category scheme='http://www.blogger.com/atom/ns#' term='iphone'/><title type='text'>downgrading 2.0 baseband to 1.1.4</title><content type='html'>if you were andenturous as me and decided the install the iphone firmware 2.0 beta8 or 2.0 final, and were not able to use your iphone because the ended up with the 04.05.04_G baseband, then all you have to do is use &lt;a href="http://iphone-freak.com/en/page1/page1.html"&gt;KiPhone (04.05.04)&lt;/a&gt; to downgrade.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/987482770223047643-7576888754039723394?l=blog.alexguev.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.alexguev.net/feeds/7576888754039723394/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=987482770223047643&amp;postID=7576888754039723394' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/987482770223047643/posts/default/7576888754039723394'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/987482770223047643/posts/default/7576888754039723394'/><link rel='alternate' type='text/html' href='http://blog.alexguev.net/2008/07/downgrading-20-baseband-to-114.html' title='downgrading 2.0 baseband to 1.1.4'/><author><name>Alexei Guevara</name><uri>http://www.blogger.com/profile/01811335196275083219</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-987482770223047643.post-638546711324814342</id><published>2008-05-30T18:50:00.020-05:00</published><updated>2008-06-09T23:20:27.128-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='spring'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><category scheme='http://www.blogger.com/atom/ns#' term='aop'/><title type='text'>just wrote the first batch of code for lego4j</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Would you like to be able to write code like this ?&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;public class Foo {&lt;br /&gt;  @RetryOnException( E.class, 1 )&lt;br /&gt;  public String bar( int arg1 ) throws E {&lt;br /&gt;    return doSomeThingThatMightThrowE( arg1 );&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;instead of having to write something like this:&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;public class Foo {&lt;br /&gt;  public String bar( int arg1 ) throws E {&lt;br /&gt;    int retries = 0;&lt;br /&gt;    while (true) {&lt;br /&gt;      try {&lt;br /&gt;        return doSomeThingThatMightThrowE( arg1 );&lt;br /&gt;      }&lt;br /&gt;      catch (E e) {&lt;br /&gt;        if (retries &amp;lt; 5) {&lt;br /&gt;          continue;&lt;br /&gt;        }&lt;br /&gt;        throw e;&lt;br /&gt;      }&lt;br /&gt;    }    &lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;This is what &lt;a href="http://code.google.com/p/lego4j/"&gt;lego4j&lt;/a&gt; is about, creating a library of lightweight aspects to encapsulate local concerns programmers encounter while writing a generic Java application.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/987482770223047643-638546711324814342?l=blog.alexguev.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.alexguev.net/feeds/638546711324814342/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=987482770223047643&amp;postID=638546711324814342' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/987482770223047643/posts/default/638546711324814342'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/987482770223047643/posts/default/638546711324814342'/><link rel='alternate' type='text/html' href='http://blog.alexguev.net/2008/05/just-wrote-first-batch-of-code-for.html' title='just wrote the first batch of code for lego4j'/><author><name>Alexei Guevara</name><uri>http://www.blogger.com/profile/01811335196275083219</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-987482770223047643.post-3616933457089659512</id><published>2008-04-09T16:08:00.014-05:00</published><updated>2008-04-10T11:58:15.227-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='tdd'/><category scheme='http://www.blogger.com/atom/ns#' term='code coverage'/><title type='text'>TDD and a code coverage tools</title><content type='html'>Arguments about how important is the use of code coverage tools are not scarce. I don't want to participate in any of those. I merely want to show that using a coverage tool while doing TDD will increase the probability of not leaving stones unturned. &lt;br /&gt;&lt;br /&gt;The generally recommended way to do TDD looks like something along these lines:&lt;br /&gt;&lt;br /&gt;1 - write a failing test case&lt;br /&gt;2 - write the simplest code modifications that will make the test pass&lt;br /&gt;3 - we are done if can't think of more test cases to write &lt;br /&gt;4 - go back to (1)&lt;br /&gt;&lt;br /&gt;If we absolutely stick to the recommended way, chances are that our test cases cover the totality of the code we write to make them pass.  Unfortunately I would adventure to say that somehow in step 2 we tend to write more code that we should, and as a result we end up with code that is not tested. &lt;br /&gt;&lt;br /&gt;Ending up with code that is not tested is precisely one of the things TDD tries to make sure we avoid.&lt;br /&gt;&lt;br /&gt;Good thing is that with the help of a code coverage tool it is very easy to make sure we don't have code that is not tested. All we have to do is modify step 3 to look like:&lt;br /&gt;&lt;br /&gt;3 - we are done if can't think of more test cases to write, and the code coverage of the class we are actually writing is 100% when all the test for that class are run.&lt;br /&gt;&lt;br /&gt;---&lt;br /&gt;&lt;a href="http://www.eclemma.org/"&gt;EclEmma, a Java Code Coverage Plugin For Eclipse&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/987482770223047643-3616933457089659512?l=blog.alexguev.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.alexguev.net/feeds/3616933457089659512/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=987482770223047643&amp;postID=3616933457089659512' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/987482770223047643/posts/default/3616933457089659512'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/987482770223047643/posts/default/3616933457089659512'/><link rel='alternate' type='text/html' href='http://blog.alexguev.net/2008/04/tdd-and-code-coverage-tools.html' title='TDD and a code coverage tools'/><author><name>Alexei Guevara</name><uri>http://www.blogger.com/profile/01811335196275083219</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-987482770223047643.post-1638619804567063476</id><published>2008-03-29T08:21:00.002-05:00</published><updated>2008-03-29T08:23:50.451-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='preference'/><category scheme='http://www.blogger.com/atom/ns#' term='mysql'/><category scheme='http://www.blogger.com/atom/ns#' term='leopard'/><title type='text'>Intalling Mysql 5.1 in Leopard</title><content type='html'>if you are having trouble getting the Mysql Preference Pane to stop/start Mysql 5.1 in Leopard, you'll find the solution &lt;a href="http://www.angry-fly.com/index.cfm/2008/1/30/Getting-MySQL-Preference-Pane-To-Work-In-Leopard"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/987482770223047643-1638619804567063476?l=blog.alexguev.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.alexguev.net/feeds/1638619804567063476/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=987482770223047643&amp;postID=1638619804567063476' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/987482770223047643/posts/default/1638619804567063476'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/987482770223047643/posts/default/1638619804567063476'/><link rel='alternate' type='text/html' href='http://blog.alexguev.net/2008/03/intalling-mysql-51-in-leopard.html' title='Intalling Mysql 5.1 in Leopard'/><author><name>Alexei Guevara</name><uri>http://www.blogger.com/profile/01811335196275083219</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-987482770223047643.post-6294647930309017052</id><published>2008-03-27T22:47:00.005-05:00</published><updated>2008-03-31T10:39:20.018-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='esata'/><category scheme='http://www.blogger.com/atom/ns#' term='leopard'/><category scheme='http://www.blogger.com/atom/ns#' term='express card'/><title type='text'>eSATA Express Card / eSATA Ext HD Enclosure and Leopard</title><content type='html'>I just had quite a nightmare after I got connected my new external hard drive enclosure to my macbook pro using an eSATA express card. Leopard kept on making on my macbook pro whenever I attempted to make any serious use of the external HD. Thank god it finally stopped crashing after reading many blogs entries and trying different drivers.&lt;br /&gt;&lt;br /&gt;These are the hardware pieces:&lt;br /&gt;&lt;br /&gt;- &lt;a href="http://www.canadacomputers.com/index.php?do=ShowProduct&amp;cmd=pd&amp;pid=015031&amp;cid=516.700"&gt;eSATA HD Enclosure&lt;/a&gt;&lt;br /&gt;- &lt;a href="http://www.griffintechnology.com/products/esataexpresscard"&gt;Griffin eSATA Express Card&lt;/a&gt; &lt;br /&gt;- &lt;a href="http://www.canadacomputers.com/index.php?do=ShowProduct&amp;cmd=pd&amp;pid=010671&amp;cid=HD.443.877"&gt;Hard Drive&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;And this is the driver I ended up using:&lt;br /&gt;&lt;br /&gt;- &lt;a href="http://www.wiebetech.com/download.php?id=147"&gt;SiI3132_1.1.9u_Sil_Pkg&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;good thing is that the HD is fast fast fast!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/987482770223047643-6294647930309017052?l=blog.alexguev.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.alexguev.net/feeds/6294647930309017052/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=987482770223047643&amp;postID=6294647930309017052' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/987482770223047643/posts/default/6294647930309017052'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/987482770223047643/posts/default/6294647930309017052'/><link rel='alternate' type='text/html' href='http://blog.alexguev.net/2008/03/esata-express-card-esata-ext-hd.html' title='eSATA Express Card / eSATA Ext HD Enclosure and Leopard'/><author><name>Alexei Guevara</name><uri>http://www.blogger.com/profile/01811335196275083219</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-987482770223047643.post-7877214787681667245</id><published>2008-02-08T12:58:00.001-05:00</published><updated>2008-02-08T12:58:40.311-05:00</updated><title type='text'>Monads again, this time in C#</title><content type='html'>http://blogs.msdn.com/wesdyer/archive/2008/01/11/the-marvels-of-monads.aspx&lt;p style="text-align: right; font-size: 8px"&gt;Blogged with &lt;a href="http://www.flock.com/blogged-with-flock" title="Flock" target="_new"&gt;Flock&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/987482770223047643-7877214787681667245?l=blog.alexguev.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.alexguev.net/feeds/7877214787681667245/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=987482770223047643&amp;postID=7877214787681667245' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/987482770223047643/posts/default/7877214787681667245'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/987482770223047643/posts/default/7877214787681667245'/><link rel='alternate' type='text/html' href='http://blog.alexguev.net/2008/02/monads-again-this-time-in-c.html' title='Monads again, this time in C#'/><author><name>Alexei Guevara</name><uri>http://www.blogger.com/profile/01811335196275083219</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-987482770223047643.post-4961411187490194865</id><published>2008-02-07T22:42:00.000-05:00</published><updated>2008-02-07T22:44:52.528-05:00</updated><title type='text'>Introduce new T</title><content type='html'>when there is a compilation error because of a parameter type mismatch, suggest &lt;br /&gt;wrapping the offending expression with new T( expression ), where T has the required type.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/987482770223047643-4961411187490194865?l=blog.alexguev.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.alexguev.net/feeds/4961411187490194865/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=987482770223047643&amp;postID=4961411187490194865' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/987482770223047643/posts/default/4961411187490194865'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/987482770223047643/posts/default/4961411187490194865'/><link rel='alternate' type='text/html' href='http://blog.alexguev.net/2008/02/introduce-new-t.html' title='Introduce new T'/><author><name>Alexei Guevara</name><uri>http://www.blogger.com/profile/01811335196275083219</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-987482770223047643.post-487390228329103980</id><published>2008-02-02T17:14:00.001-05:00</published><updated>2008-11-14T22:15:10.037-05:00</updated><title type='text'>Toronto gets some snow</title><content type='html'>&lt;p class="mobile-photo"&gt;&lt;a href="http://3.bp.blogspot.com/_Od53Kty-TGg/R6TrOZbnf_I/AAAAAAAAAKQ/o0xAjk5579U/s1600-h/photo-757567.jpg"&gt;&lt;img src="http://3.bp.blogspot.com/_Od53Kty-TGg/R6TrOZbnf_I/AAAAAAAAAKQ/o0xAjk5579U/s320/photo-757567.jpg"  border="0" alt="" id="BLOGGER_PHOTO_ID_5162509705450848242" /&gt;&lt;/a&gt;&lt;/p&gt;Walking towards Bloor on Albany.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/987482770223047643-487390228329103980?l=blog.alexguev.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.alexguev.net/feeds/487390228329103980/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=987482770223047643&amp;postID=487390228329103980' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/987482770223047643/posts/default/487390228329103980'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/987482770223047643/posts/default/487390228329103980'/><link rel='alternate' type='text/html' href='http://blog.alexguev.net/2008/02/toronto-gets-some-snow.html' title='Toronto gets some snow'/><author><name>Alexei Guevara</name><uri>http://www.blogger.com/profile/01811335196275083219</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_Od53Kty-TGg/R6TrOZbnf_I/AAAAAAAAAKQ/o0xAjk5579U/s72-c/photo-757567.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-987482770223047643.post-7425793747007818908</id><published>2008-02-02T04:02:00.000-05:00</published><updated>2008-02-02T04:04:58.890-05:00</updated><title type='text'>iTunes 7.4.2 for Mac</title><content type='html'>iPhuc requires the framework packaged with iTunes 7.4.2&lt;br /&gt;&lt;br /&gt;It took a few hours to find this version of iTunes for MacOsX! That's why I'm blogging about it, hopping that other desperate souls can find the link though this post.&lt;br /&gt;&lt;br /&gt;http://mac.oldapps.com/itunes.php&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/987482770223047643-7425793747007818908?l=blog.alexguev.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.alexguev.net/feeds/7425793747007818908/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=987482770223047643&amp;postID=7425793747007818908' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/987482770223047643/posts/default/7425793747007818908'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/987482770223047643/posts/default/7425793747007818908'/><link rel='alternate' type='text/html' href='http://blog.alexguev.net/2008/02/itunes-742-for-mac.html' title='iTunes 7.4.2 for Mac'/><author><name>Alexei Guevara</name><uri>http://www.blogger.com/profile/01811335196275083219</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-987482770223047643.post-969491256465067382</id><published>2008-01-05T15:37:00.000-05:00</published><updated>2008-01-05T15:38:38.453-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='copy'/><category scheme='http://www.blogger.com/atom/ns#' term='file'/><category scheme='http://www.blogger.com/atom/ns#' term='iphone'/><title type='text'>Getting files in and out of the iPhone</title><content type='html'>http://iphone.fiveforty.net/wiki/index.php/IPHUC#Jailbreak&lt;br /&gt;&lt;br /&gt;Don't forget to check the section "Recursive file downloading"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/987482770223047643-969491256465067382?l=blog.alexguev.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.alexguev.net/feeds/969491256465067382/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=987482770223047643&amp;postID=969491256465067382' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/987482770223047643/posts/default/969491256465067382'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/987482770223047643/posts/default/969491256465067382'/><link rel='alternate' type='text/html' href='http://blog.alexguev.net/2008/01/getting-files-in-and-out-of-iphone.html' title='Getting files in and out of the iPhone'/><author><name>Alexei Guevara</name><uri>http://www.blogger.com/profile/01811335196275083219</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-987482770223047643.post-5875111281468001037</id><published>2007-12-17T18:27:00.000-05:00</published><updated>2007-12-20T23:22:26.560-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='monads'/><title type='text'>A link to Yet Another Monads Tutorial</title><content type='html'>A post with a layman's discussion to Monads (it starts as) with a bunch of information and even some comedy. &lt;br /&gt;&lt;br /&gt;&lt;a href="http://programming.reddit.com/info/61ydi/comments/"&gt;Understanding monads in one minute&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Don't forget to check &lt;a href="http://research.microsoft.com/~simonpj/Papers/marktoberdorf/"&gt;Tackling the awkward squad: monadic input/output, concurrency, exceptions, and foreign-language calls in Haskell&lt;/a&gt; as well.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/987482770223047643-5875111281468001037?l=blog.alexguev.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.alexguev.net/feeds/5875111281468001037/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=987482770223047643&amp;postID=5875111281468001037' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/987482770223047643/posts/default/5875111281468001037'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/987482770223047643/posts/default/5875111281468001037'/><link rel='alternate' type='text/html' href='http://blog.alexguev.net/2007/12/link-to-yet-another-monads-tutorial.html' title='A link to Yet Another Monads Tutorial'/><author><name>Alexei Guevara</name><uri>http://www.blogger.com/profile/01811335196275083219</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-987482770223047643.post-8450163854025040591</id><published>2007-12-03T14:32:00.001-05:00</published><updated>2007-12-13T00:12:38.235-05:00</updated><title type='text'>Edsgar W. Dijkstra about Basic ...</title><content type='html'>Edsgar W. Dijkstra once said "It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration." &lt;br /&gt;&lt;br /&gt;Is a Java CS student any better here ?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/987482770223047643-8450163854025040591?l=blog.alexguev.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.alexguev.net/feeds/8450163854025040591/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=987482770223047643&amp;postID=8450163854025040591' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/987482770223047643/posts/default/8450163854025040591'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/987482770223047643/posts/default/8450163854025040591'/><link rel='alternate' type='text/html' href='http://blog.alexguev.net/2007/12/about-basic.html' title='Edsgar W. Dijkstra about Basic ...'/><author><name>Alexei Guevara</name><uri>http://www.blogger.com/profile/01811335196275083219</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-987482770223047643.post-6817699437704865314</id><published>2007-11-21T15:38:00.001-05:00</published><updated>2007-11-21T19:07:23.594-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='objc'/><category scheme='http://www.blogger.com/atom/ns#' term='extend'/><category scheme='http://www.blogger.com/atom/ns#' term='plugin'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><category scheme='http://www.blogger.com/atom/ns#' term='cocoa'/><category scheme='http://www.blogger.com/atom/ns#' term='mac'/><title type='text'>Extend a Cocoa application</title><content type='html'>You can use the &lt;a href="http://www.culater.net/software/SIMBL/SIMBL.php"&gt;SIMBL&lt;/a&gt; InputManager to selectively load other InputManagers (a.k.a. SIMBL Plugins) when an application launches. See the section &lt;a href="http://www.culater.net/wiki/moin.cgi/CocoaReverseEngineering#head-44c10b1f0da64ecad303c947b1823518f2682bae"&gt;Creating A SIMBL Plugin Bundle&lt;/a&gt; of &lt;a href="http://www.culater.net/contact.php"&gt;Mike Solomon's&lt;/a&gt; tutorial on &lt;a href="http://www.culater.net/wiki/moin.cgi/CocoaReverseEngineering"&gt;Cocoa Reverse Engineering&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/987482770223047643-6817699437704865314?l=blog.alexguev.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.alexguev.net/feeds/6817699437704865314/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=987482770223047643&amp;postID=6817699437704865314' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/987482770223047643/posts/default/6817699437704865314'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/987482770223047643/posts/default/6817699437704865314'/><link rel='alternate' type='text/html' href='http://blog.alexguev.net/2007/11/extend-cocoa-application_21.html' title='Extend a Cocoa application'/><author><name>Alexei Guevara</name><uri>http://www.blogger.com/profile/01811335196275083219</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-987482770223047643.post-7162252613527316590</id><published>2007-11-21T15:38:00.000-05:00</published><updated>2007-11-21T15:47:48.126-05:00</updated><title type='text'>Extend a Cocoa application</title><content type='html'>You can use the &lt;a href="http://www.culater.net/software/SIMBL/SIMBL.php"&gt;SIMBL&lt;/a&gt; InputManager to selectively load other InputManagers (a.k.a. SIMBL Plugins) when an application launches. See the section &lt;a href="http://www.culater.net/wiki/moin.cgi/CocoaReverseEngineering#head-44c10b1f0da64ecad303c947b1823518f2682bae"&gt;Creating A SIMBL Plugin Bundle&lt;/a&gt; of &lt;a href="http://www.culater.net/contact.php"&gt;Mike Solomon's&lt;/a&gt; tutorial on &lt;a href="http://www.culater.net/wiki/moin.cgi/CocoaReverseEngineering"&gt;Cocoa Reverse Engineering&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/987482770223047643-7162252613527316590?l=blog.alexguev.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.alexguev.net/feeds/7162252613527316590/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=987482770223047643&amp;postID=7162252613527316590' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/987482770223047643/posts/default/7162252613527316590'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/987482770223047643/posts/default/7162252613527316590'/><link rel='alternate' type='text/html' href='http://blog.alexguev.net/2007/11/extend-cocoa-application.html' title='Extend a Cocoa application'/><author><name>Alexei Guevara</name><uri>http://www.blogger.com/profile/01811335196275083219</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-987482770223047643.post-4506088035317379666</id><published>2007-11-14T11:43:00.001-05:00</published><updated>2007-11-14T12:55:38.005-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='unittesting'/><category scheme='http://www.blogger.com/atom/ns#' term='compare'/><category scheme='http://www.blogger.com/atom/ns#' term='xml'/><category scheme='http://www.blogger.com/atom/ns#' term='html'/><title type='text'>XMLUnit</title><content type='html'>About a month ago a &lt;a href="http://edovale.blogspot.com/"&gt;fellow computer programmer&lt;/a&gt; asked me if I knew of a library to compare xml/html fragments. In a nutshell he needed to be able to know if two xml/html fragments were the same, even if the attributes and/or inner elements were not in the same order. Today while reading the &lt;a href="http://dzone.com"&gt;dzone.com&lt;/a&gt; feed I found there is a library that meets hi needs. It's a not a surprise at all this library is name &lt;a href="http://xmlunit.sourceforge.net/"&gt;XMLUnit&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/987482770223047643-4506088035317379666?l=blog.alexguev.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.alexguev.net/feeds/4506088035317379666/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=987482770223047643&amp;postID=4506088035317379666' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/987482770223047643/posts/default/4506088035317379666'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/987482770223047643/posts/default/4506088035317379666'/><link rel='alternate' type='text/html' href='http://blog.alexguev.net/2007/11/xmlunit.html' title='XMLUnit'/><author><name>Alexei Guevara</name><uri>http://www.blogger.com/profile/01811335196275083219</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-987482770223047643.post-6497312976983189031</id><published>2007-11-12T20:29:00.000-05:00</published><updated>2008-01-14T17:18:54.478-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='leopard'/><title type='text'>Patch for Cmd+Shift+T bug in Eclipse running in Leopard</title><content type='html'>Eclipse kept on crashing on me since I upgraded to Leopard whenever I used Cmd+Shift+T to navigate to a class.  The bug is documented in the Eclipse's Bugzilla &lt;a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=207827"&gt;here&lt;/a&gt;. This bug will be fully fixed in v3.3.2 or a potential v3.3.1.2. For now you can download the latest build for the 3.3.2 stream and replace these plugins:&lt;br /&gt;&lt;br /&gt;-org.eclipse.swt_*.jar &lt;br /&gt;-org.eclipse.swt.carbon.macosx_*.jar&lt;br /&gt;&lt;br /&gt;with the ones taken from the 3.3.2 build.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/987482770223047643-6497312976983189031?l=blog.alexguev.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.alexguev.net/feeds/6497312976983189031/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=987482770223047643&amp;postID=6497312976983189031' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/987482770223047643/posts/default/6497312976983189031'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/987482770223047643/posts/default/6497312976983189031'/><link rel='alternate' type='text/html' href='http://blog.alexguev.net/2007/11/patch-for-cmdshiftt-bug-in-eclipse.html' title='Patch for Cmd+Shift+T bug in Eclipse running in Leopard'/><author><name>Alexei Guevara</name><uri>http://www.blogger.com/profile/01811335196275083219</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-987482770223047643.post-9041071741313410239</id><published>2007-10-30T22:26:00.000-05:00</published><updated>2007-10-30T22:27:36.229-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='journal'/><category scheme='http://www.blogger.com/atom/ns#' term='oop'/><title type='text'>JOT</title><content type='html'>I just discovered (for myself) the &lt;a href="http://www.jot.fm/"&gt;Journal of Object Technology&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/987482770223047643-9041071741313410239?l=blog.alexguev.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.alexguev.net/feeds/9041071741313410239/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=987482770223047643&amp;postID=9041071741313410239' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/987482770223047643/posts/default/9041071741313410239'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/987482770223047643/posts/default/9041071741313410239'/><link rel='alternate' type='text/html' href='http://blog.alexguev.net/2007/10/jot.html' title='JOT'/><author><name>Alexei Guevara</name><uri>http://www.blogger.com/profile/01811335196275083219</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-987482770223047643.post-4111757730969647978</id><published>2007-08-08T15:50:00.000-05:00</published><updated>2007-08-08T15:51:19.206-05:00</updated><title type='text'>Complex Event Processing:  A New Computing Model</title><content type='html'>Complex Event Processing, or CEP, is software technology that enables applications to monitor multiple streams of event data, analyze them in terms of key performance indicators that are expressed in event rules, and act upon opportunities and threats in real time, potentially by creating derived events, or forwarding raw events.  For example, an airline might process event feeds of flight positions and weather, monitoring, constantly analyzing and looking for conditions that provoke action, such as to propose a new flight route or rebook a passenger.&lt;br /&gt;&lt;br /&gt;http://www.eventstreamprocessing.com/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/987482770223047643-4111757730969647978?l=blog.alexguev.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.alexguev.net/feeds/4111757730969647978/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=987482770223047643&amp;postID=4111757730969647978' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/987482770223047643/posts/default/4111757730969647978'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/987482770223047643/posts/default/4111757730969647978'/><link rel='alternate' type='text/html' href='http://blog.alexguev.net/2007/08/complex-event-processing-new-computing.html' title='Complex Event Processing:  A New Computing Model'/><author><name>Alexei Guevara</name><uri>http://www.blogger.com/profile/01811335196275083219</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-987482770223047643.post-7232663817518070480</id><published>2007-08-08T15:35:00.000-05:00</published><updated>2007-08-08T15:36:01.854-05:00</updated><title type='text'>Event Stream Intelligence with Esper</title><content type='html'>Esper is a component for CEP and ESP applications, available for Java as Esper, and for .NET as NEsper.&lt;br /&gt;&lt;br /&gt;Esper and NEsper enable rapid development of applications that process large volumes of incoming messages or events. Esper and NEsper filter and analyze events in various ways, and respond to conditions of interest in real-time.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/987482770223047643-7232663817518070480?l=blog.alexguev.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.alexguev.net/feeds/7232663817518070480/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=987482770223047643&amp;postID=7232663817518070480' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/987482770223047643/posts/default/7232663817518070480'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/987482770223047643/posts/default/7232663817518070480'/><link rel='alternate' type='text/html' href='http://blog.alexguev.net/2007/08/event-stream-intelligence-with-esper.html' title='Event Stream Intelligence with Esper'/><author><name>Alexei Guevara</name><uri>http://www.blogger.com/profile/01811335196275083219</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-987482770223047643.post-6122002924960095521</id><published>2007-06-01T09:14:00.000-05:00</published><updated>2007-06-01T09:16:55.013-05:00</updated><title type='text'>Welcome to Canada ...</title><content type='html'>&lt;a href="http://www.theglobeandmail.com/servlet/story/RTGAM.20070531.wdip0601/PhotoGallery01?slot=9"&gt;image taken from a security camera at the Fredericton, N.B. legislature&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/987482770223047643-6122002924960095521?l=blog.alexguev.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.alexguev.net/feeds/6122002924960095521/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=987482770223047643&amp;postID=6122002924960095521' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/987482770223047643/posts/default/6122002924960095521'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/987482770223047643/posts/default/6122002924960095521'/><link rel='alternate' type='text/html' href='http://blog.alexguev.net/2007/06/welcome-to-canada.html' title='Welcome to Canada ...'/><author><name>Alexei Guevara</name><uri>http://www.blogger.com/profile/01811335196275083219</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-987482770223047643.post-3285380680868791238</id><published>2007-05-30T09:54:00.000-05:00</published><updated>2007-06-01T09:17:33.691-05:00</updated><title type='text'>Grady Booch: “The Promise, the Limits, the Beauty of Software”</title><content type='html'>&lt;a href="http://yuiblog.com/blog/2007/05/28/video-booch/"&gt;video&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/987482770223047643-3285380680868791238?l=blog.alexguev.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.alexguev.net/feeds/3285380680868791238/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=987482770223047643&amp;postID=3285380680868791238' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/987482770223047643/posts/default/3285380680868791238'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/987482770223047643/posts/default/3285380680868791238'/><link rel='alternate' type='text/html' href='http://blog.alexguev.net/2007/05/grady-booch-promise-limits-beauty-of.html' title='Grady Booch: “The Promise, the Limits, the Beauty of Software”'/><author><name>Alexei Guevara</name><uri>http://www.blogger.com/profile/01811335196275083219</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-987482770223047643.post-2389420455286260588</id><published>2007-02-25T13:06:00.000-05:00</published><updated>2007-02-25T13:36:21.830-05:00</updated><title type='text'>Alan Kay's recommends reading these books</title><content type='html'>While watching Alan Kay's talk at OOPSLA 1997 I took note of these books, which were recommended by him.&lt;br /&gt;&lt;br /&gt;The Active Creation (I'm not sure this is the correct title)&lt;br /&gt;&lt;br /&gt;The Art of the MetaObject Protocol, ISBN 0262610744 (Interesting enough this book was written by Gregor Kiczales )&lt;br /&gt;&lt;br /&gt;Smalltalk-80: The Language and its Implementation, ISBN 0201113716&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/987482770223047643-2389420455286260588?l=blog.alexguev.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.alexguev.net/feeds/2389420455286260588/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=987482770223047643&amp;postID=2389420455286260588' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/987482770223047643/posts/default/2389420455286260588'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/987482770223047643/posts/default/2389420455286260588'/><link rel='alternate' type='text/html' href='http://blog.alexguev.net/2007/02/alan-kays-recommends-reading-these.html' title='Alan Kay&apos;s recommends reading these books'/><author><name>Alexei Guevara</name><uri>http://www.blogger.com/profile/01811335196275083219</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-987482770223047643.post-1434661270046248781</id><published>2007-02-04T19:30:00.000-05:00</published><updated>2007-02-04T19:32:32.413-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sql'/><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='transactions'/><category scheme='http://www.blogger.com/atom/ns#' term='persistent'/><category scheme='http://www.blogger.com/atom/ns#' term='queue'/><title type='text'>how to implement a persistent queue on top of a sql db</title><content type='html'>&lt;a href="http://citeseer.ist.psu.edu/steiert98jpmq.html"&gt;JPMQ An Advanced Persistent Message Queuing Service (1998)&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/987482770223047643-1434661270046248781?l=blog.alexguev.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.alexguev.net/feeds/1434661270046248781/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=987482770223047643&amp;postID=1434661270046248781' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/987482770223047643/posts/default/1434661270046248781'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/987482770223047643/posts/default/1434661270046248781'/><link rel='alternate' type='text/html' href='http://blog.alexguev.net/2007/02/how-to-implement-persistent-queue-on.html' title='how to implement a persistent queue on top of a sql db'/><author><name>Alexei Guevara</name><uri>http://www.blogger.com/profile/01811335196275083219</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-987482770223047643.post-6648643366206742906</id><published>2007-02-02T14:53:00.000-05:00</published><updated>2007-02-02T14:54:07.326-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='quote'/><title type='text'>Quote of the day: Antoine de Saint-Exupery</title><content type='html'>Quote of the day:&lt;br /&gt;&lt;br /&gt;If you want to build a ship, don't drum up the men to gather wood, divide the work, and give orders. Instead, teach them to yearn for the vast and endless sea.&lt;br /&gt;&lt;br /&gt;Antoine de Saint-Exupery&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/987482770223047643-6648643366206742906?l=blog.alexguev.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.alexguev.net/feeds/6648643366206742906/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=987482770223047643&amp;postID=6648643366206742906' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/987482770223047643/posts/default/6648643366206742906'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/987482770223047643/posts/default/6648643366206742906'/><link rel='alternate' type='text/html' href='http://blog.alexguev.net/2007/02/quote-of-day-antoine-de-saint-exupery.html' title='Quote of the day: Antoine de Saint-Exupery'/><author><name>Alexei Guevara</name><uri>http://www.blogger.com/profile/01811335196275083219</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-987482770223047643.post-1219921271194147113</id><published>2007-01-28T01:22:00.000-05:00</published><updated>2007-01-28T01:23:20.539-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><category scheme='http://www.blogger.com/atom/ns#' term='stm'/><title type='text'>software transaction memory (STM)</title><content type='html'>links to STM related papers and implementations for Java and .Net&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/987482770223047643-1219921271194147113?l=blog.alexguev.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.alexguev.net/feeds/1219921271194147113/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=987482770223047643&amp;postID=1219921271194147113' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/987482770223047643/posts/default/1219921271194147113'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/987482770223047643/posts/default/1219921271194147113'/><link rel='alternate' type='text/html' href='http://blog.alexguev.net/2007/01/software-transaction-memory-stm.html' title='software transaction memory (STM)'/><author><name>Alexei Guevara</name><uri>http://www.blogger.com/profile/01811335196275083219</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-987482770223047643.post-8507362342010890668</id><published>2007-01-22T09:15:00.000-05:00</published><updated>2007-01-22T09:17:45.190-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='buddhist'/><category scheme='http://www.blogger.com/atom/ns#' term='guilt'/><category scheme='http://www.blogger.com/atom/ns#' term='experience'/><title type='text'>guilt</title><content type='html'>... it's our habit of rejecting our experience. This habit gives rise to guilt. &lt;br /&gt;&lt;br /&gt;~Dzigar Kongtrul Rinpoche&lt;br /&gt;Snow Lion Newsletter, summer 2006&lt;br /&gt;Reprinted in Buddhadharma magazine, winter 2006&lt;br /&gt;&lt;br /&gt;&lt;a href="http://thebuddhistblog.blogspot.com/2007/01/obstacle-of-guilt.html"&gt;found here&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/987482770223047643-8507362342010890668?l=blog.alexguev.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.alexguev.net/feeds/8507362342010890668/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=987482770223047643&amp;postID=8507362342010890668' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/987482770223047643/posts/default/8507362342010890668'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/987482770223047643/posts/default/8507362342010890668'/><link rel='alternate' type='text/html' href='http://blog.alexguev.net/2007/01/guilt.html' title='guilt'/><author><name>Alexei Guevara</name><uri>http://www.blogger.com/profile/01811335196275083219</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-987482770223047643.post-5739336584910099225</id><published>2007-01-02T18:51:00.000-05:00</published><updated>2007-01-02T18:52:59.308-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='mysql'/><category scheme='http://www.blogger.com/atom/ns#' term='unicode'/><category scheme='http://www.blogger.com/atom/ns#' term='jdbc'/><title type='text'>storing unicode characters with mysql/jdbc</title><content type='html'>article describing how to store unicode characters in mysql, and how to ensure they display in html pages.&lt;br /&gt;&lt;br /&gt;http://www.javaworld.com/javaworld/jw-09-2004/jw-0906-unicode.html?page=1&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/987482770223047643-5739336584910099225?l=blog.alexguev.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.alexguev.net/feeds/5739336584910099225/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=987482770223047643&amp;postID=5739336584910099225' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/987482770223047643/posts/default/5739336584910099225'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/987482770223047643/posts/default/5739336584910099225'/><link rel='alternate' type='text/html' href='http://blog.alexguev.net/2007/01/storing-unicode-characters-with.html' title='storing unicode characters with mysql/jdbc'/><author><name>Alexei Guevara</name><uri>http://www.blogger.com/profile/01811335196275083219</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-987482770223047643.post-2628918663199868658</id><published>2006-12-14T16:40:00.000-05:00</published><updated>2006-12-14T16:43:30.265-05:00</updated><title type='text'>c# is getting fancy :)</title><content type='html'>Check the section titled: c# 2.0 and 3.0 overview of the &lt;a href="http://www.ratio.co.uk/ov10.pdf"&gt;ObjectView Magazine #10&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I'm going to start playing with c#! I hope the java community picks up quickly.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/987482770223047643-2628918663199868658?l=blog.alexguev.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.alexguev.net/feeds/2628918663199868658/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=987482770223047643&amp;postID=2628918663199868658' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/987482770223047643/posts/default/2628918663199868658'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/987482770223047643/posts/default/2628918663199868658'/><link rel='alternate' type='text/html' href='http://blog.alexguev.net/2006/12/c-is-getting-fancy.html' title='c# is getting fancy :)'/><author><name>Alexei Guevara</name><uri>http://www.blogger.com/profile/01811335196275083219</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-987482770223047643.post-2654749651587179188</id><published>2006-11-30T10:01:00.000-05:00</published><updated>2006-12-20T19:33:37.847-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='dim background'/><category scheme='http://www.blogger.com/atom/ns#' term='trick'/><category scheme='http://www.blogger.com/atom/ns#' term='css'/><title type='text'>A Cool CSS Effect to Dim the Screen (Dashboard Style)</title><content type='html'>Nice short explanation of how to dim you page background just like Apple's Dashboard.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://dbachrach.com/blog/2006/10/a-cool-css-effect-dashboard/"&gt;link&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I want to use this in GWT ... :D&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/987482770223047643-2654749651587179188?l=blog.alexguev.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.alexguev.net/feeds/2654749651587179188/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=987482770223047643&amp;postID=2654749651587179188' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/987482770223047643/posts/default/2654749651587179188'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/987482770223047643/posts/default/2654749651587179188'/><link rel='alternate' type='text/html' href='http://blog.alexguev.net/2006/11/cool-css-effect-to-dim-screen-dashboard.html' title='A Cool CSS Effect to Dim the Screen (Dashboard Style)'/><author><name>Alexei Guevara</name><uri>http://www.blogger.com/profile/01811335196275083219</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-987482770223047643.post-2429462167698178262</id><published>2006-11-10T13:54:00.000-05:00</published><updated>2006-11-10T14:43:31.480-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><category scheme='http://www.blogger.com/atom/ns#' term='aop'/><title type='text'>timed invocation aspect</title><content type='html'>In the interview &lt;a href="http://www.infoq.com/interviews/joshua-bloch"&gt;Joshua Bloch on Closures, Resource Management, Google&lt;/a&gt;, Joshua Bloch mentions, and praises, a facility a google employee created to timeout method invocations. A couple of years ago I had the need for such utility and ended up creating it. That code is nowhere to be seen now, as my employer has changed a couple of times since then. &lt;br /&gt;&lt;br /&gt;Most certainly this is a very handy facility in everyday programming. It will be very nice if the "method timeout invocation" concern could be easly integrated into the code using aspects! &lt;br /&gt;&lt;pre&gt;&lt;br /&gt;@timeout(millis=1000)&lt;br /&gt;public void foo() {&lt;br /&gt;...&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Where:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;/**&lt;br /&gt; * Times out a method invocation. If any of the methods matched by the pointcut &lt;b&gt;invocationToTimeOut()&lt;/b&gt; has not  &lt;br /&gt; * returned after the specified timeout, the unchecked exception InvocationTimeout will be thrown.&lt;br /&gt; */&lt;br /&gt;aspect TimeoutInvocation {&lt;br /&gt;...&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/987482770223047643-2429462167698178262?l=blog.alexguev.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.alexguev.net/feeds/2429462167698178262/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=987482770223047643&amp;postID=2429462167698178262' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/987482770223047643/posts/default/2429462167698178262'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/987482770223047643/posts/default/2429462167698178262'/><link rel='alternate' type='text/html' href='http://blog.alexguev.net/2006/11/timed-invocation-aspect.html' title='timed invocation aspect'/><author><name>Alexei Guevara</name><uri>http://www.blogger.com/profile/01811335196275083219</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-987482770223047643.post-2161643748477673377</id><published>2006-10-27T11:00:00.000-05:00</published><updated>2006-10-27T11:02:20.127-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='free'/><category scheme='http://www.blogger.com/atom/ns#' term='web'/><category scheme='http://www.blogger.com/atom/ns#' term='book'/><title type='text'>37signals' book "Getting Real" now available for free</title><content type='html'>http://www.theserverside.com/news/thread.tss?thread_id=42798&lt;br /&gt;&lt;br /&gt;A must read for those who want to create a successfull web application.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/987482770223047643-2161643748477673377?l=blog.alexguev.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.alexguev.net/feeds/2161643748477673377/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=987482770223047643&amp;postID=2161643748477673377' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/987482770223047643/posts/default/2161643748477673377'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/987482770223047643/posts/default/2161643748477673377'/><link rel='alternate' type='text/html' href='http://blog.alexguev.net/2006/10/37signals-book-getting-real-now.html' title='37signals&apos; book &quot;Getting Real&quot; now available for free'/><author><name>Alexei Guevara</name><uri>http://www.blogger.com/profile/01811335196275083219</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-987482770223047643.post-1415921358024259078</id><published>2006-10-24T19:07:00.000-05:00</published><updated>2006-10-24T21:31:40.048-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='blabber'/><title type='text'>First Post :)</title><content type='html'>trying to get my first post together, nothing comes  to my mind ... so I'm going to blabber here. I'm watching, or should I say listening to &lt;a href="http://www.imdb.com/title/tt0078788/"&gt;Apocalypse Now&lt;/a&gt;, while I write this post. There is something Martin Sheen says that I really like, it goes like "charging somebody with murder in this place was like handing out speeding tickets at the Indy 500" ... what to do ... avoid wars!&lt;br /&gt;&lt;br /&gt;I changed the color of the blog template as well, sticking to simple ones I hope. As you can see I'm using blak, gray and orange.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/987482770223047643-1415921358024259078?l=blog.alexguev.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.alexguev.net/feeds/1415921358024259078/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=987482770223047643&amp;postID=1415921358024259078' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/987482770223047643/posts/default/1415921358024259078'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/987482770223047643/posts/default/1415921358024259078'/><link rel='alternate' type='text/html' href='http://blog.alexguev.net/2006/10/first-post.html' title='First Post :)'/><author><name>Alexei Guevara</name><uri>http://www.blogger.com/profile/01811335196275083219</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
