<?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:blogger='http://schemas.google.com/blogger/2008' 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-3326630118570774111</id><updated>2024-02-19T08:32:28.890+02:00</updated><category term="photo"/><category term="mining"/><category term="ruby"/><category term="lisp"/><category term="book"/><category term="clojure"/><category term="life"/><category term="Ideas"/><category term="R"/><category term="emacs"/><category term="javascript"/><category term="mac"/><category term="sicp"/><category term="textmate"/><category term="a.saxeo"/><category term="ai"/><category term="estonia"/><category term="fp"/><category term="guitar"/><category term="incanter"/><category term="ebay"/><category term="hacker"/><category term="photoloop"/><category term="rant"/><category term="skype"/><category term="google"/><category term="graham"/><category term="health"/><category term="iCal"/><category term="jquery"/><category term="math"/><category term="org-mode"/><category term="processing"/><category term="quicksilver"/><title type='text'>Alexandre&#39;s Notebook</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://alexandrenotebook.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3326630118570774111/posts/default'/><link rel='alternate' type='text/html' href='http://alexandrenotebook.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/3326630118570774111/posts/default?start-index=26&amp;max-results=25'/><author><name>Alexandre Martins</name><uri>http://www.blogger.com/profile/01500150233692518266</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxgqqpMl803v8_0QAGaEVis4CNrXagPivY8MjHcs6rGJBthixru76jZGtCjNXx6jLvCEl-SblEy4IfD8KUkF_up6-fyD-wGXTD7mG-zG_GjGWZyJ9sLaw0UdmRGOwEcMo/s220/alex5.png'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>182</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3326630118570774111.post-6571402500361342620</id><published>2010-04-15T12:30:00.001+03:00</published><updated>2012-06-04T09:17:36.390+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="emacs"/><title type='text'>Github Blog</title><content type='html'>&amp;nbsp;&lt;a href=&quot;http://al3xandr3.github.com/&quot;&gt;http://al3xandr3.github.com/&lt;/a&gt;&amp;nbsp;is a better platform for&amp;nbsp;writing&amp;nbsp;longer texts,&amp;nbsp;minimalist&amp;nbsp;design,&amp;nbsp;focused on my original content and not to be updated frequently. Is hosted on github.com pages, using jekkyl site generator and git for version control.&lt;br /&gt;
&lt;br /&gt;
Have now improved workflow: I write in (aqua)emacs using orgmode, do orgmode-export-project and git commit the changes that updates the site directly.&amp;nbsp;Also have full control over the site html, so i can make it in whatever layout i feel like(even if is ugly :P ).&lt;br /&gt;
&lt;br /&gt;
source code is here:&amp;nbsp;&lt;a href=&quot;http://github.com/al3xandr3/al3xandr3.github.com&quot;&gt;http://github.com/al3xandr3/al3xandr3.github.com&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;Note&lt;/i&gt;: I&#39;m still keeping the&amp;nbsp;&lt;a href=&quot;http://alexandrenotebook.blogspot.com/&quot;&gt;http://alexandrenotebook.blogspot.com/&lt;/a&gt;&amp;nbsp;for re-posting, re-linking, and other shorter content.</content><link rel='replies' type='application/atom+xml' href='http://alexandrenotebook.blogspot.com/feeds/6571402500361342620/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/3326630118570774111/6571402500361342620' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3326630118570774111/posts/default/6571402500361342620'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3326630118570774111/posts/default/6571402500361342620'/><link rel='alternate' type='text/html' href='http://alexandrenotebook.blogspot.com/2010/04/new-blog.html' title='Github Blog'/><author><name>Alexandre Martins</name><uri>http://www.blogger.com/profile/01500150233692518266</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxgqqpMl803v8_0QAGaEVis4CNrXagPivY8MjHcs6rGJBthixru76jZGtCjNXx6jLvCEl-SblEy4IfD8KUkF_up6-fyD-wGXTD7mG-zG_GjGWZyJ9sLaw0UdmRGOwEcMo/s220/alex5.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3326630118570774111.post-2337177560263139768</id><published>2010-04-10T17:44:00.010+03:00</published><updated>2010-04-11T00:33:06.057+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="javascript"/><category scheme="http://www.blogger.com/atom/ns#" term="jquery"/><title type='text'>jQuery Twitter &#39;mini&#39; plugin</title><content type='html'>&lt;p&gt;Here&#39;s a little jQuery plugin for displaying a twitter feed into
a web page.
The goal was to put my latest &#39;tweets&#39; on my blog, and also learn
jQuery. 
Ended up making a &#39;mini&#39; jQuery plugin that can easily be added into
any web page.
&lt;/p&gt;

&lt;div id=&quot;outline-container-1&quot; class=&quot;outline-3&quot;&gt;
&lt;h3 id=&quot;sec-1&quot;&gt;Demo: &lt;/h3&gt;
&lt;div class=&quot;outline-text-3&quot; id=&quot;text-1&quot;&gt;


&lt;p&gt;
For the code:
&lt;/p&gt;


&lt;pre class=&quot;src src-Javascript&quot;&gt;$(function() {
  $(&#39;#tw&#39;).click(function() {
    $(&#39;#tw&#39;).twitter({&#39;user&#39;:&#39;al3xandr3&#39;,&#39;count&#39;:2});
  });
});
&lt;/pre&gt;





 &lt;script type=&quot;text/javascript&quot;
 src=&quot;http://code.jquery.com/jquery-latest.pack.js&quot;&gt;&lt;/script&gt;
 &lt;script type=&quot;text/javascript&quot;
 src=&quot;http://github.com/al3xandr3/jquery-twitter-plugin/raw/master/twitter.js&quot;&gt;&lt;/script&gt;
 
 &lt;div id=&quot;tw&quot;&gt;&lt;b&gt;click me&lt;/b&gt;&lt;/div&gt;
 &lt;script type=&quot;text/javascript&quot;&gt;
 $(function() {
   $(&#39;#tw&#39;).click(function() {
     $(&#39;#tw&#39;).twitter({&#39;user&#39;:&#39;al3xandr3&#39;,&#39;count&#39;:2});
   });
 });
 &lt;/script&gt;

&lt;p&gt;
The plugin is running on the sidebar of this blog under the
&#39;ON TWITTER&#39; title.
&lt;/p&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;div id=&quot;outline-container-2&quot; class=&quot;outline-3&quot;&gt;
&lt;h3 id=&quot;sec-2&quot;&gt;How It Works &lt;/h3&gt;
&lt;div class=&quot;outline-text-3&quot; id=&quot;text-2&quot;&gt;


&lt;p&gt;
It makes an Ajax request to twitter that returns json data of the
feed. That data is then read and injected into the selected html
element(s).
&lt;/p&gt;
&lt;p&gt;
See in: 
&lt;/p&gt;


&lt;pre class=&quot;src src-Javascript&quot;&gt;$.ajax({
  url: &lt;span style=&quot;color: #8b2252;&quot;&gt;&quot;http://twitter.com/status/user_timeline/&quot;&lt;/span&gt; + settings.user + 
       &lt;span style=&quot;color: #8b2252;&quot;&gt;&quot;.json?count=&quot;&lt;/span&gt;+ (settings.count+1) +&lt;span style=&quot;color: #8b2252;&quot;&gt;&quot;&amp;amp;callback=?&quot;&lt;/span&gt;,
  dataType: &#39;json&#39;,
  success: function (data) {
  $.each(data, function (i, item) {
            
    //text
    $this.hide().append(&lt;span style=&quot;color: #8b2252;&quot;&gt;&quot;&amp;lt;p id=&quot;&lt;/span&gt; + item.id + &lt;span style=&quot;color: #8b2252;&quot;&gt;&quot;&amp;gt;&quot;&lt;/span&gt; + 
                        replaceURLWithHTMLLinks(item.text) + 
                        &lt;span style=&quot;color: #8b2252;&quot;&gt;&quot;&amp;amp;nbsp&amp;amp;nbsp&amp;lt;/p&amp;gt;&quot;&lt;/span&gt;).fadeIn(&#39;slow&#39;);
            
    //date
    if (typeof prettyDate(item.created_at) !== &lt;span style=&quot;color: #8b2252;&quot;&gt;&quot;undefined&quot;&lt;/span&gt;) {
      $(&lt;span style=&quot;color: #8b2252;&quot;&gt;&quot;&amp;lt;br&amp;gt;&quot;&lt;/span&gt;).appendTo(&lt;span style=&quot;color: #8b2252;&quot;&gt;&quot;#&quot;&lt;/span&gt; + item.id); //line break
      $(&lt;span style=&quot;color: #8b2252;&quot;&gt;&quot;&amp;lt;a&amp;gt;&quot;&lt;/span&gt; + prettyDate(item.created_at) + &lt;span style=&quot;color: #8b2252;&quot;&gt;&quot;&amp;lt;/a&amp;gt;&quot;&lt;/span&gt;).attr( {
        &#39;href&#39;:   (&#39;http://twitter.com/&#39; + settings.user + 
                      &#39;/status/&#39; + item.id),
        &#39;target&#39;: &#39;_blank&#39;
      }).css(&lt;span style=&quot;color: #8b2252;&quot;&gt;&quot;font-size&quot;&lt;/span&gt;, &lt;span style=&quot;color: #8b2252;&quot;&gt;&quot;75%&quot;&lt;/span&gt;).appendTo(&lt;span style=&quot;color: #8b2252;&quot;&gt;&quot;#&quot;&lt;/span&gt; + item.id);
    }
  });}
});
&lt;/pre&gt;



&lt;p&gt;
jQuery is a very nice designed lib, simple and powerfull. Some say &lt;a href=&quot;http://importantshock.wordpress.com/2009/01/18/jquery-is-a-monad/&quot;&gt;its just like a functional programming Monad&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
Full source code is available in github:
&lt;a href=&quot;http://github.com/al3xandr3/jquery-twitter-plugin&quot;&gt;http://github.com/al3xandr3/jquery-twitter-plugin&lt;/a&gt;
&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alexandrenotebook.blogspot.com/feeds/2337177560263139768/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/3326630118570774111/2337177560263139768' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3326630118570774111/posts/default/2337177560263139768'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3326630118570774111/posts/default/2337177560263139768'/><link rel='alternate' type='text/html' href='http://alexandrenotebook.blogspot.com/2010/04/jquery-twitter-mini-plugin.html' title='jQuery Twitter &#39;mini&#39; plugin'/><author><name>Alexandre Martins</name><uri>http://www.blogger.com/profile/01500150233692518266</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxgqqpMl803v8_0QAGaEVis4CNrXagPivY8MjHcs6rGJBthixru76jZGtCjNXx6jLvCEl-SblEy4IfD8KUkF_up6-fyD-wGXTD7mG-zG_GjGWZyJ9sLaw0UdmRGOwEcMo/s220/alex5.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3326630118570774111.post-6716179172497848970</id><published>2010-04-03T22:56:00.003+03:00</published><updated>2010-04-06T12:29:58.306+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="life"/><title type='text'>I&#39;m now a ...</title><content type='html'>&lt;b&gt;Papa, Issi, Daddy&lt;/b&gt;&amp;nbsp;of a&amp;nbsp;beautiful&amp;nbsp;baby boy, born on the 2nd April at 4am with 3.5kg and 51cm.</content><link rel='replies' type='application/atom+xml' href='http://alexandrenotebook.blogspot.com/feeds/6716179172497848970/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/3326630118570774111/6716179172497848970' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3326630118570774111/posts/default/6716179172497848970'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3326630118570774111/posts/default/6716179172497848970'/><link rel='alternate' type='text/html' href='http://alexandrenotebook.blogspot.com/2010/04/im-now.html' title='I&#39;m now a ...'/><author><name>Alexandre Martins</name><uri>http://www.blogger.com/profile/01500150233692518266</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxgqqpMl803v8_0QAGaEVis4CNrXagPivY8MjHcs6rGJBthixru76jZGtCjNXx6jLvCEl-SblEy4IfD8KUkF_up6-fyD-wGXTD7mG-zG_GjGWZyJ9sLaw0UdmRGOwEcMo/s220/alex5.png'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3326630118570774111.post-8136223445120756783</id><published>2010-03-16T22:49:00.010+02:00</published><updated>2010-04-07T11:35:26.129+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Ideas"/><category scheme="http://www.blogger.com/atom/ns#" term="mining"/><title type='text'>UI Optimization(AB testing) Tools, the Future?</title><content type='html'>&lt;h2 id=&quot;sec-2&quot;&gt;






How it works:&lt;/h2&gt;
&lt;div class=&quot;outline-text-2&quot; id=&quot;text-2&quot;&gt;
&lt;ol&gt;
&lt;li&gt;You plugin the AB testing tool to your application and say: optimize page A, on the measurable goal X (for example downloads).&lt;/li&gt;
&lt;li&gt;The Tool by itself: creates new UI variation -&amp;gt; tests it -&amp;gt; analyses results -&amp;gt; picks best one -&amp;gt; creates new UI variation -&amp;gt; tests it -&amp;gt; etc… This goes ad eternum… Much like natural evolution, keeps experimenting/mutating, until it finds the best combinations.&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;
&lt;h2 id=&quot;sec-3&quot;&gt;






Details:&lt;/h2&gt;
&lt;div class=&quot;outline-text-2&quot; id=&quot;text-3&quot;&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;New UI variations&lt;/b&gt; do not need(shouldn&#39;t even) be 100% random, they should use smarter techniques like: genetic(and other search/optimization) algorithms + tried out design heuristics + branding guidelines(avoid color A, use font B, etc..) + (sampled)user filtering + some amount of randomness + etc..&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Knowledge Base&lt;/b&gt;: Build a Database with the test results, that collects knowledge of what worked and what didn&#39;t (for a given context). Just as Pandora collects user input for building its recomendation system, this accumulated knowledge would serve as input for the task of generating the new UI variations. &amp;nbsp; &amp;nbsp;&lt;i&gt;Note:&lt;/i&gt; The amount of data is key; the bigger the amount of test results, the closer to all possible variations thus the closer to all the best optimizations. With a large amount of test and tried out results quicky we would get the perfect UI rules.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Page Flow&lt;/b&gt;: Tool should optimize not only the page itself, but also navigation along pages, customizing content depending on the flow For example, forward the user to a different page, depending on the keyword used in a search engine when arriving at the website.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Personalized UI&lt;/b&gt;: What works for user A might not work for B. A 16 years old likes different things than a 50 years old. Even for a unique user, his tastes changes over over time: winter vs summer, week vs weekend, working hours vs non-working hours etc… So the perfect interface might need to be changing over time(?) Don&#39;t assume, experiment and see if it works…&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alexandrenotebook.blogspot.com/feeds/8136223445120756783/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/3326630118570774111/8136223445120756783' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3326630118570774111/posts/default/8136223445120756783'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3326630118570774111/posts/default/8136223445120756783'/><link rel='alternate' type='text/html' href='http://alexandrenotebook.blogspot.com/2010/03/ui-optimizationab-testing-tools-future_16.html' title='UI Optimization(AB testing) Tools, the Future?'/><author><name>Alexandre Martins</name><uri>http://www.blogger.com/profile/01500150233692518266</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxgqqpMl803v8_0QAGaEVis4CNrXagPivY8MjHcs6rGJBthixru76jZGtCjNXx6jLvCEl-SblEy4IfD8KUkF_up6-fyD-wGXTD7mG-zG_GjGWZyJ9sLaw0UdmRGOwEcMo/s220/alex5.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3326630118570774111.post-8736078568778736365</id><published>2010-03-08T09:12:00.009+02:00</published><updated>2010-03-08T09:43:43.336+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="emacs"/><category scheme="http://www.blogger.com/atom/ns#" term="org-mode"/><title type='text'>Automating todo tasks lists reports</title><content type='html'>&lt;p&gt;Here&#39;s the geek automation of the week, its for helping creating reports from my TODO tasks list when using the amazing emacs org-mode(&lt;a href=&quot;http://orgmode.org/&quot;&gt;see here whats org-mode all about&lt;/a&gt;).&lt;/p&gt;&lt;div id=&quot;simplified-work-flow&quot;&gt;&lt;h2&gt;(simplified) Work Flow&lt;/h2&gt;&lt;ol style=&quot;list-style-type: decimal;&quot;&gt;&lt;li&gt;I get a request, add it into my todo list queue, marking it as a TODO item.&lt;/li&gt;&lt;li&gt;Work, work, work, guided by the todo listed tasks, balancing priority and effort and (..add your own reason here..).&lt;/li&gt;&lt;li&gt;When finished, mark an item DONE.&lt;/li&gt;&lt;li&gt;Generate a report every week with the done tasks.&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div id=&quot;generating-the-report&quot;&gt;&lt;h2&gt;Generating the Report&lt;/h2&gt;&lt;p&gt;(I use this setup on Mac, with some adaptations should also on Linux and Windows)&lt;/p&gt;&lt;p&gt;Every week i then generate a report of the DONE Tasks, by running:&lt;/p&gt;&lt;pre class=&quot;sourceCode bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;Comment&quot;&gt;# file: get-work-done.sh &lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Comment&quot;&gt;# run: sh get-work-done.sh&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;Comment&quot;&gt;# Uses emacs to extract the DONE items from work.org, generating a work-done.csv&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Normal Path&quot;&gt;/Applications/Aquamacs.app/Contents/MacOS/Aquamacs&lt;/span&gt;&lt;span class=&quot;Normal NormalText&quot;&gt; &lt;/span&gt;&lt;span class=&quot;Normal Option&quot;&gt;-batch&lt;/span&gt;&lt;span class=&quot;Normal NormalText&quot;&gt; &lt;/span&gt;&lt;span class=&quot;Normal Option&quot;&gt;-l&lt;/span&gt;&lt;span class=&quot;Normal NormalText&quot;&gt; &lt;/span&gt;&lt;span class=&quot;Normal Path&quot;&gt;~/.emacs&lt;/span&gt;&lt;span class=&quot;Normal NormalText&quot;&gt; &lt;/span&gt;&lt;span class=&quot;Normal Option&quot;&gt;-eval&lt;/span&gt;&lt;span class=&quot;Normal NormalText&quot;&gt; &lt;/span&gt;&lt;span class=&quot;String StringSingleQ&quot;&gt;&#39;(org-batch-agenda-csv &quot;+TODO=\&quot;DONE\&quot;&quot; org-agenda-files (quote (&quot;/.../work.org&quot;)))&#39;&lt;/span&gt;&lt;span class=&quot;Normal NormalText&quot;&gt; &lt;/span&gt;&lt;span class=&quot;Keyword Redirection&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;Normal NormalText&quot;&gt; work&lt;/span&gt;&lt;span class=&quot;Normal Option&quot;&gt;-done&lt;/span&gt;&lt;span class=&quot;Normal NormalText&quot;&gt;.csv&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;Comment&quot;&gt;# Applies desired report formatting to the exported work-done.csv, generating work.csv&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Normal NormalText&quot;&gt;ruby format&lt;/span&gt;&lt;span class=&quot;Normal Option&quot;&gt;-report&lt;/span&gt;&lt;span class=&quot;Normal NormalText&quot;&gt;.rb work&lt;/span&gt;&lt;span class=&quot;Normal Option&quot;&gt;-done&lt;/span&gt;&lt;span class=&quot;Normal NormalText&quot;&gt;.csv&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;Comment&quot;&gt;# Clean up the originally exported file&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Keyword Command&quot;&gt;rm&lt;/span&gt;&lt;span class=&quot;Normal NormalText&quot;&gt; work&lt;/span&gt;&lt;span class=&quot;Normal Option&quot;&gt;-done&lt;/span&gt;&lt;span class=&quot;Normal NormalText&quot;&gt;.csv&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;Comment&quot;&gt;# Opens the final file in the default .csv handler, typically Excel.&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Normal NormalText&quot;&gt;open work.csv&lt;/span&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;(see the comments &quot;#&quot; to understand what it does in each step)&lt;/p&gt;&lt;p&gt;Then I use the format-report.rb bellow to apply formatting to the report, for example: add my own header, add/remove columns, Dates, change names, calculate values, etc, etc... see example:&lt;/p&gt;&lt;pre class=&quot;sourceCode ruby&quot;&gt;&lt;code&gt;&lt;span class=&quot;Comment&quot;&gt;# file: format-report.rb&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;Normal NormalText&quot;&gt;flines &lt;/span&gt;&lt;span class=&quot;Char Operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;Normal NormalText&quot;&gt; &lt;/span&gt;&lt;span class=&quot;DataType Constant&quot;&gt;File&lt;/span&gt;&lt;span class=&quot;Normal Message&quot;&gt;.open&lt;/span&gt;&lt;span class=&quot;Normal NormalText&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;DataType GlobalConstant&quot;&gt;ARGV&lt;/span&gt;&lt;span class=&quot;Char Delimiter&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;DecVal Dec&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;Char Delimiter&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;Normal NormalText&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;Normal Message&quot;&gt;.readlines&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;Normal NormalText&quot;&gt;column_map &lt;/span&gt;&lt;span class=&quot;Char Operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;Normal NormalText&quot;&gt; &lt;/span&gt;&lt;span class=&quot;Char Operator&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;Normal NormalText&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Normal NormalText&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;String&quot;&gt;&quot;friendly_name_i_use1&quot;&lt;/span&gt;&lt;span class=&quot;Normal NormalText&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;Char Operator&quot;&gt;=&amp;gt;&lt;/span&gt;&lt;span class=&quot;Normal NormalText&quot;&gt; &lt;/span&gt;&lt;span class=&quot;String&quot;&gt;&quot;required_final_report_name1&quot;&lt;/span&gt;&lt;span class=&quot;Normal NormalText&quot;&gt;, &lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Normal NormalText&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;String&quot;&gt;&quot;friendly_name_i_use2&quot;&lt;/span&gt;&lt;span class=&quot;Normal NormalText&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;Char Operator&quot;&gt;=&amp;gt;&lt;/span&gt;&lt;span class=&quot;Normal NormalText&quot;&gt; &lt;/span&gt;&lt;span class=&quot;String&quot;&gt;&quot;required_final_report_name2&quot;&lt;/span&gt;&lt;span class=&quot;Normal NormalText&quot;&gt;,  &lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Normal NormalText&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;String&quot;&gt;&quot;friendly_name_i_use3&quot;&lt;/span&gt;&lt;span class=&quot;Normal NormalText&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;Char Operator&quot;&gt;=&amp;gt;&lt;/span&gt;&lt;span class=&quot;Normal NormalText&quot;&gt; &lt;/span&gt;&lt;span class=&quot;String&quot;&gt;&quot;required_final_report_name3&quot;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Char Operator&quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;DataType Constant&quot;&gt;File&lt;/span&gt;&lt;span class=&quot;Normal Message&quot;&gt;.open&lt;/span&gt;&lt;span class=&quot;Normal NormalText&quot;&gt;( &lt;/span&gt;&lt;span class=&quot;String&quot;&gt;&quot;work.csv&quot;&lt;/span&gt;&lt;span class=&quot;Normal NormalText&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;String&quot;&gt;&quot;w+&quot;&lt;/span&gt;&lt;span class=&quot;Normal NormalText&quot;&gt;) &lt;/span&gt;&lt;span class=&quot;Keyword&quot;&gt;do&lt;/span&gt;&lt;span class=&quot;Normal NormalText&quot;&gt; &lt;/span&gt;&lt;span class=&quot;Char Operator&quot;&gt;|&lt;/span&gt;&lt;span class=&quot;Normal NormalText&quot;&gt;fl&lt;/span&gt;&lt;span class=&quot;Char Operator&quot;&gt;|&lt;/span&gt;&lt;span class=&quot;Normal NormalText&quot;&gt;  &lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Normal NormalText&quot;&gt;  fl&lt;/span&gt;&lt;span class=&quot;Normal Message&quot;&gt;.puts&lt;/span&gt;&lt;span class=&quot;Normal NormalText&quot;&gt; &lt;/span&gt;&lt;span class=&quot;String&quot;&gt;&quot;header1,header2,header3,header4&quot;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Normal NormalText&quot;&gt;  flines&lt;/span&gt;&lt;span class=&quot;Normal Message&quot;&gt;.each&lt;/span&gt;&lt;span class=&quot;Normal NormalText&quot;&gt; &lt;/span&gt;&lt;span class=&quot;Keyword&quot;&gt;do&lt;/span&gt;&lt;span class=&quot;Normal NormalText&quot;&gt; &lt;/span&gt;&lt;span class=&quot;Char Operator&quot;&gt;|&lt;/span&gt;&lt;span class=&quot;Normal NormalText&quot;&gt;l&lt;/span&gt;&lt;span class=&quot;Char Operator&quot;&gt;|&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Normal NormalText&quot;&gt;    a &lt;/span&gt;&lt;span class=&quot;Char Operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;Normal NormalText&quot;&gt; l&lt;/span&gt;&lt;span class=&quot;Normal Message&quot;&gt;.split&lt;/span&gt;&lt;span class=&quot;Normal NormalText&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;String&quot;&gt;&quot;,&quot;&lt;/span&gt;&lt;span class=&quot;Normal NormalText&quot;&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;Normal NormalText&quot;&gt;   &lt;/span&gt;&lt;span class=&quot;Comment&quot;&gt; # Time, mapping-defined-in-column_map, original-column-2, original-column-3&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Normal NormalText&quot;&gt;    fl&lt;/span&gt;&lt;span class=&quot;Normal Message&quot;&gt;.puts&lt;/span&gt;&lt;span class=&quot;Normal NormalText&quot;&gt; &lt;/span&gt;&lt;span class=&quot;DataType Constant&quot;&gt;Time&lt;/span&gt;&lt;span class=&quot;Normal Message&quot;&gt;.now.strftime&lt;/span&gt;&lt;span class=&quot;Normal NormalText&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;String&quot;&gt;&quot;%m/%d/%Y&quot;&lt;/span&gt;&lt;span class=&quot;Normal NormalText&quot;&gt;) &lt;/span&gt;&lt;span class=&quot;Char Operator&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;Normal NormalText&quot;&gt; &lt;/span&gt;&lt;span class=&quot;String&quot;&gt;&quot;,&quot;&lt;/span&gt;&lt;span class=&quot;Normal NormalText&quot;&gt; &lt;/span&gt;&lt;span class=&quot;Char Operator&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;Normal NormalText&quot;&gt; (column_map&lt;/span&gt;&lt;span class=&quot;Char Delimiter&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;Normal NormalText&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;Char Delimiter&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;DecVal Dec&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;Char Delimiter&quot;&gt;]]&lt;/span&gt;&lt;span class=&quot;Normal NormalText&quot;&gt; &lt;/span&gt;&lt;span class=&quot;Char Operator&quot;&gt;||&lt;/span&gt;&lt;span class=&quot;Normal NormalText&quot;&gt; a&lt;/span&gt;&lt;span class=&quot;Char Delimiter&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;DecVal Dec&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;Char Delimiter&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;Normal NormalText&quot;&gt;) &lt;/span&gt;&lt;span class=&quot;Char Operator&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;Normal NormalText&quot;&gt; &lt;/span&gt;&lt;span class=&quot;String&quot;&gt;&quot;,&quot;&lt;/span&gt;&lt;span class=&quot;Normal NormalText&quot;&gt; &lt;/span&gt;&lt;span class=&quot;Char Operator&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;Normal NormalText&quot;&gt; a&lt;/span&gt;&lt;span class=&quot;Char Delimiter&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;DecVal Dec&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;Char Delimiter&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;Normal NormalText&quot;&gt; &lt;/span&gt;&lt;span class=&quot;String&quot;&gt;&quot;,&quot;&lt;/span&gt;&lt;span class=&quot;Normal NormalText&quot;&gt; &lt;/span&gt;&lt;span class=&quot;Char Operator&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;Normal NormalText&quot;&gt; a&lt;/span&gt;&lt;span class=&quot;Char Delimiter&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;DecVal Dec&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;Char Delimiter&quot;&gt;]&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Normal NormalText&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;Keyword&quot;&gt;end&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Keyword&quot;&gt;end&lt;/span&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;And voila, i run this and an excel sheet opens up with the report of the week.&lt;/p&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alexandrenotebook.blogspot.com/feeds/8736078568778736365/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/3326630118570774111/8736078568778736365' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3326630118570774111/posts/default/8736078568778736365'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3326630118570774111/posts/default/8736078568778736365'/><link rel='alternate' type='text/html' href='http://alexandrenotebook.blogspot.com/2010/03/automating-todo-tasks-lists-reports.html' title='Automating todo tasks lists reports'/><author><name>Alexandre Martins</name><uri>http://www.blogger.com/profile/01500150233692518266</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxgqqpMl803v8_0QAGaEVis4CNrXagPivY8MjHcs6rGJBthixru76jZGtCjNXx6jLvCEl-SblEy4IfD8KUkF_up6-fyD-wGXTD7mG-zG_GjGWZyJ9sLaw0UdmRGOwEcMo/s220/alex5.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3326630118570774111.post-4615511681997339720</id><published>2010-03-05T09:03:00.002+02:00</published><updated>2010-03-05T09:03:00.299+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="mining"/><title type='text'>Guardian Data Blog</title><content type='html'>A nice concept from www.guardian.co.uk, Data Blog shares official good data free with the world, for your own plotting entertainment. Hosted in the nice and easy google docs. With things like:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://www.guardian.co.uk/news/datablog/2010/feb/28/deadliest-earthquakes-strongest-data&quot;&gt;All the deadliest and strongest earthquakes since 1900, including coordinates&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.guardian.co.uk/business/datablog/2010/feb/22/tesco-asda-price-cuts-rises-christmas-supermarket&quot;&gt;The one penny supermarket price cuts&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.guardian.co.uk/news/datablog/2009/nov/20/children-unicef-report-2009-afghanistan&quot;&gt;Unicef&#39;s state of the world&#39;s children report 2009: Where is the worst place in the world to grow up?&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;a href=&quot;http://www.guardian.co.uk/news/datablog&quot;&gt;here&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://alexandrenotebook.blogspot.com/feeds/4615511681997339720/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/3326630118570774111/4615511681997339720' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3326630118570774111/posts/default/4615511681997339720'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3326630118570774111/posts/default/4615511681997339720'/><link rel='alternate' type='text/html' href='http://alexandrenotebook.blogspot.com/2010/03/guardian-data-blog.html' title='Guardian Data Blog'/><author><name>Alexandre Martins</name><uri>http://www.blogger.com/profile/01500150233692518266</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxgqqpMl803v8_0QAGaEVis4CNrXagPivY8MjHcs6rGJBthixru76jZGtCjNXx6jLvCEl-SblEy4IfD8KUkF_up6-fyD-wGXTD7mG-zG_GjGWZyJ9sLaw0UdmRGOwEcMo/s220/alex5.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3326630118570774111.post-7971888361269163632</id><published>2010-03-02T09:02:00.003+02:00</published><updated>2010-04-06T13:11:17.570+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="book"/><title type='text'>book: The Undercover Economist</title><content type='html'>&lt;a href=&quot;http://www.blogger.com/post-edit.g?blogID=3326630118570774111&amp;amp;postID=7971888361269163632&quot; onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5443581497173471394&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJiW2KGLptmrLgsdMsXLOEpl5aVVdwfJzxVWiiMeL8_y54LBP9bFnkgsWyBCVootMAYED-azZgBl5A8wMHg1uya2ieJzzKIUwFI63zh7hzxwZzPAvYp4q1BpH7CnuK1D4c1luFL2JaXgzj/s320/ue-uk-paperback1.jpeg&quot; style=&quot;cursor: hand; cursor: pointer; display: block; height: 320px; margin: 0px auto 10px; text-align: center; width: 205px;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Has (economic)ideas that are useful for everyone to be aware of, as for example an explanation of the pricing of coffee shops, but same ideas apply to all goods. Maybe a bit more &quot;traditional economics&quot; oriented than the Freakonomics book, but in similar fashion.</content><link rel='replies' type='application/atom+xml' href='http://alexandrenotebook.blogspot.com/feeds/7971888361269163632/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/3326630118570774111/7971888361269163632' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3326630118570774111/posts/default/7971888361269163632'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3326630118570774111/posts/default/7971888361269163632'/><link rel='alternate' type='text/html' href='http://alexandrenotebook.blogspot.com/2010/03/book-undercover-economist.html' title='book: The Undercover Economist'/><author><name>Alexandre Martins</name><uri>http://www.blogger.com/profile/01500150233692518266</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxgqqpMl803v8_0QAGaEVis4CNrXagPivY8MjHcs6rGJBthixru76jZGtCjNXx6jLvCEl-SblEy4IfD8KUkF_up6-fyD-wGXTD7mG-zG_GjGWZyJ9sLaw0UdmRGOwEcMo/s220/alex5.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJiW2KGLptmrLgsdMsXLOEpl5aVVdwfJzxVWiiMeL8_y54LBP9bFnkgsWyBCVootMAYED-azZgBl5A8wMHg1uya2ieJzzKIUwFI63zh7hzxwZzPAvYp4q1BpH7CnuK1D4c1luFL2JaXgzj/s72-c/ue-uk-paperback1.jpeg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3326630118570774111.post-7192662869962697070</id><published>2009-12-21T13:38:00.007+02:00</published><updated>2010-03-01T11:19:54.949+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="mining"/><title type='text'>How Randomness Rules Our Lives</title><content type='html'>&lt;object width=&quot;425&quot; height=&quot;344&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/F0sLuRsu1Do&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;rel=0&quot;&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;&gt;&lt;param name=&quot;allowscriptaccess&quot; value=&quot;always&quot;&gt;&lt;embed src=&quot;http://www.youtube.com/v/F0sLuRsu1Do&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;rel=0&quot; type=&quot;application/x-shockwave-flash&quot; allowscriptaccess=&quot;always&quot; allowfullscreen=&quot;true&quot; width=&quot;425&quot; height=&quot;344&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Authors @ Google talk with Leonard Mlodinow about his book, &quot;The Drunkard&#39;s Walk: How Randomness Rules Our Lives&quot;.&lt;br /&gt;&lt;br /&gt;I haven&#39;t read the book, but very much enjoyed the talk.</content><link rel='replies' type='application/atom+xml' href='http://alexandrenotebook.blogspot.com/feeds/7192662869962697070/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/3326630118570774111/7192662869962697070' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3326630118570774111/posts/default/7192662869962697070'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3326630118570774111/posts/default/7192662869962697070'/><link rel='alternate' type='text/html' href='http://alexandrenotebook.blogspot.com/2009/12/how-randomness-rules-our-lives.html' title='How Randomness Rules Our Lives'/><author><name>Alexandre Martins</name><uri>http://www.blogger.com/profile/01500150233692518266</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxgqqpMl803v8_0QAGaEVis4CNrXagPivY8MjHcs6rGJBthixru76jZGtCjNXx6jLvCEl-SblEy4IfD8KUkF_up6-fyD-wGXTD7mG-zG_GjGWZyJ9sLaw0UdmRGOwEcMo/s220/alex5.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3326630118570774111.post-8582986719873842106</id><published>2009-12-07T09:30:00.016+02:00</published><updated>2010-03-01T11:19:37.498+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="math"/><title type='text'>Euclid&#39;s Elements</title><content type='html'>&lt;div&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div&gt;Written by the Greek mathematician Euclid in Alexandria circa 300 BC, Euclid&#39;s Elements is a collection of mathematical definitions, axioms, theorems and proofs about geometry.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;Is the most successful and influential textbook ever written, one of the most influential works in the history of mathematics and is estimated to be second only to the Bible in the number of editions published.&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Euclid%27s_Elements&quot;&gt;- wikipedia&lt;/a&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Euclid%27s_Elements&quot;&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;A proof, from Euclid&#39;s Elements:&lt;div&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://upload.wikimedia.org/wikipedia/commons/5/5e/Euclid-proof.jpg&quot; style=&quot;text-decoration: none;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: rgb(0, 0, 0);&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;img style=&quot;margin: 0px auto 10px; text-decoration: underline; display: block; text-align: center; cursor: pointer; width: 391px; height: 399px;&quot; src=&quot;http://upload.wikimedia.org/wikipedia/commons/5/5e/Euclid-proof.jpg&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href=&quot;http://aleph0.clarku.edu/~djoyce/java/elements/toc.html&quot;&gt;And there&#39;s of course an (English)online version with interactive demonstrations&lt;/a&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alexandrenotebook.blogspot.com/feeds/8582986719873842106/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/3326630118570774111/8582986719873842106' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3326630118570774111/posts/default/8582986719873842106'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3326630118570774111/posts/default/8582986719873842106'/><link rel='alternate' type='text/html' href='http://alexandrenotebook.blogspot.com/2009/12/euclids-elements.html' title='Euclid&#39;s Elements'/><author><name>Alexandre Martins</name><uri>http://www.blogger.com/profile/01500150233692518266</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxgqqpMl803v8_0QAGaEVis4CNrXagPivY8MjHcs6rGJBthixru76jZGtCjNXx6jLvCEl-SblEy4IfD8KUkF_up6-fyD-wGXTD7mG-zG_GjGWZyJ9sLaw0UdmRGOwEcMo/s220/alex5.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3326630118570774111.post-1474890152980971020</id><published>2009-11-26T08:52:00.007+02:00</published><updated>2010-03-01T11:20:25.873+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="fp"/><title type='text'>Functional Programming - Erik Meijer</title><content type='html'>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://channel9.msdn.com/Search/Default.aspx?Term=%22C9%20Lectures%3A%20Dr.%20Erik%20Meijer%20-%20Functional%20Programming%20Fundamentals%2C%20Chapter%22&amp;amp;Type=site&quot;&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 228px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKDPrRdbYqIvg3BC_0AudUO8i42bWBgGilWeXoNw5ua43iu1ICR_EByqkhmJyAZLGTpHL56EYMeqHlwMb1xDzaroQkina9RkcyA4KJ1VQjkiPPT57RndX2reuIOqXXAWWbMvokQHqLHg8g/s400/Picture+1.png&quot; border=&quot;0&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5408302748221927298&quot; /&gt;&lt;/a&gt;&lt;div&gt;&lt;div&gt;Enjoying these lectures:&lt;/div&gt;&lt;div&gt;&lt;blockquote&gt;A journey into the world of Functional Programming with functional language purist and high priest of the lambda calculus, Dr. Erik Meijer.&lt;/blockquote&gt;&lt;/div&gt;&lt;/div&gt;&lt;a href=&quot;http://channel9.msdn.com/Search/Default.aspx?Term=%22C9%20Lectures%3A%20Dr.%20Erik%20Meijer%20-%20Functional%20Programming%20Fundamentals%2C%20Chapter%22&amp;amp;Type=site&quot;&gt;lectures here&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://alexandrenotebook.blogspot.com/feeds/1474890152980971020/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/3326630118570774111/1474890152980971020' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3326630118570774111/posts/default/1474890152980971020'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3326630118570774111/posts/default/1474890152980971020'/><link rel='alternate' type='text/html' href='http://alexandrenotebook.blogspot.com/2009/11/functional-programming-fundamentals.html' title='Functional Programming - Erik Meijer'/><author><name>Alexandre Martins</name><uri>http://www.blogger.com/profile/01500150233692518266</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxgqqpMl803v8_0QAGaEVis4CNrXagPivY8MjHcs6rGJBthixru76jZGtCjNXx6jLvCEl-SblEy4IfD8KUkF_up6-fyD-wGXTD7mG-zG_GjGWZyJ9sLaw0UdmRGOwEcMo/s220/alex5.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKDPrRdbYqIvg3BC_0AudUO8i42bWBgGilWeXoNw5ua43iu1ICR_EByqkhmJyAZLGTpHL56EYMeqHlwMb1xDzaroQkina9RkcyA4KJ1VQjkiPPT57RndX2reuIOqXXAWWbMvokQHqLHg8g/s72-c/Picture+1.png" height="72" width="72"/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3326630118570774111.post-1231469733912272203</id><published>2009-11-19T09:31:00.011+02:00</published><updated>2009-11-19T11:07:50.993+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="lisp"/><title type='text'>3rd European Lisp Symposium in Portugal</title><content type='html'>&lt;div&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div&gt;The purpose of the European Lisp Symposium is to provide a forum for the discussion and dissemination of all aspects of design, implementation and application of any of the Lisp dialects. We encourage everyone interested in Lisp to participate.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Call for Contributions: &lt;/b&gt;we would welcome both papers describing original work, not published elsewhere, and submissions for tutorial sessions.&lt;/div&gt;&lt;/blockquote&gt;&lt;a href=&quot;http://www.advogato.org/person/crhodes/diary/135.html&quot;&gt;Details here...&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://alexandrenotebook.blogspot.com/feeds/1231469733912272203/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/3326630118570774111/1231469733912272203' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3326630118570774111/posts/default/1231469733912272203'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3326630118570774111/posts/default/1231469733912272203'/><link rel='alternate' type='text/html' href='http://alexandrenotebook.blogspot.com/2009/11/3rd-european-lisp-symposium-in-portugal.html' title='3rd European Lisp Symposium in Portugal'/><author><name>Alexandre Martins</name><uri>http://www.blogger.com/profile/01500150233692518266</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxgqqpMl803v8_0QAGaEVis4CNrXagPivY8MjHcs6rGJBthixru76jZGtCjNXx6jLvCEl-SblEy4IfD8KUkF_up6-fyD-wGXTD7mG-zG_GjGWZyJ9sLaw0UdmRGOwEcMo/s220/alex5.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3326630118570774111.post-1579235321498609486</id><published>2009-11-13T10:24:00.009+02:00</published><updated>2009-11-19T09:42:40.153+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="fp"/><category scheme="http://www.blogger.com/atom/ns#" term="lisp"/><title type='text'>Functional</title><content type='html'>Here&#39;s a few articles from Slava Akhmechet (on www.defmacro.org) that i enjoyed reading:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://www.defmacro.org/ramblings/fp.html&quot;&gt;Functional Programming For The Rest of Us&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.defmacro.org/ramblings/lisp.html&quot;&gt;The Nature of Lisp&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.defmacro.org/ramblings/relational.html&quot;&gt;Databases - A New Frontier&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;And &lt;a href=&quot;http://www.defmacro.org/&quot;&gt;there&#39;s more&lt;/a&gt;.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alexandrenotebook.blogspot.com/feeds/1579235321498609486/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/3326630118570774111/1579235321498609486' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3326630118570774111/posts/default/1579235321498609486'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3326630118570774111/posts/default/1579235321498609486'/><link rel='alternate' type='text/html' href='http://alexandrenotebook.blogspot.com/2009/11/functional.html' title='Functional'/><author><name>Alexandre Martins</name><uri>http://www.blogger.com/profile/01500150233692518266</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxgqqpMl803v8_0QAGaEVis4CNrXagPivY8MjHcs6rGJBthixru76jZGtCjNXx6jLvCEl-SblEy4IfD8KUkF_up6-fyD-wGXTD7mG-zG_GjGWZyJ9sLaw0UdmRGOwEcMo/s220/alex5.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3326630118570774111.post-5082023210010474991</id><published>2009-11-10T09:08:00.016+02:00</published><updated>2009-11-13T10:42:17.712+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="mining"/><title type='text'>YQL</title><content type='html'>The Yahoo! Query Language (YQL) web service allows to query web data in an SQL-like syntax, so you can do things like:&lt;br /&gt;&lt;br /&gt;Get all cat pictures from flickr:&lt;pre&gt;&lt;span class=&quot;keyword&quot;&gt;select&lt;/span&gt; * &lt;span class=&quot;keyword&quot;&gt;from&lt;/span&gt; flickr.photos.search &lt;span class=&quot;keyword&quot;&gt;where&lt;/span&gt; text=&lt;span class=&quot;string&quot;&gt;&#39;cat&#39;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;Get pictures from flickr that have interestingness starting with word Chinese:&lt;br /&gt;&lt;pre&gt;&lt;span class=&quot;keyword&quot;&gt;select&lt;/span&gt; * &lt;span class=&quot;keyword&quot;&gt;from&lt;/span&gt; flickr.photos.interestingness &lt;span class=&quot;keyword&quot;&gt;where&lt;/span&gt; title &lt;span class=&quot;keyword&quot;&gt;like&lt;/span&gt; &lt;span class=&quot;string&quot;&gt;&#39;Chinese%&#39;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;Get sushi places in San Francisco that have a rating bigger than 4:&lt;pre&gt;&lt;span class=&quot;keyword&quot;&gt;select&lt;/span&gt; * &lt;span class=&quot;keyword&quot;&gt;from&lt;/span&gt; local.search &lt;span class=&quot;keyword&quot;&gt;where&lt;/span&gt; query=&lt;span class=&quot;string&quot;&gt;&#39;sushi&#39;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;keyword&quot;&gt;and&lt;/span&gt; location=&lt;span class=&quot;string&quot;&gt;&#39;san francisco, ca&#39;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;keyword&quot;&gt;and&lt;/span&gt; Rating.AverageRating &amp;gt; 4.0&lt;/pre&gt;&lt;i&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-style: normal;&quot;&gt;Get the profile of all my friends(my social connections):&lt;/span&gt;&lt;/i&gt;&lt;pre&gt;&lt;span class=&quot;keyword&quot;&gt;select&lt;/span&gt; * &lt;span class=&quot;keyword&quot;&gt;from&lt;/span&gt; social.profile &lt;span class=&quot;keyword&quot;&gt;where&lt;/span&gt; guid &lt;span class=&quot;keyword&quot;&gt;IN&lt;/span&gt;&lt;br /&gt;(&lt;span class=&quot;keyword&quot;&gt;select&lt;/span&gt; guid &lt;span class=&quot;keyword&quot;&gt;from&lt;/span&gt; social.connections &lt;span class=&quot;keyword&quot;&gt;where&lt;/span&gt; owner_guid=me)&lt;/pre&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;It allows to combine several different sources in the same query, just like a SQL query that uses several tables, is possible to join results of  GEOIP services with restaurant rating services, rss feeds, financial information, weather service, etc etc... &lt;div&gt;&lt;br /&gt;&lt;div&gt;Nice one Yahoo!&lt;div&gt;&lt;br /&gt;&lt;a href=&quot;http://developer.yahoo.com/yos/screencasts/yql_screencast.html&quot;&gt;Screencast: Introducing YQL&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.datatables.org/&quot;&gt;YQL site&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alexandrenotebook.blogspot.com/feeds/5082023210010474991/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/3326630118570774111/5082023210010474991' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3326630118570774111/posts/default/5082023210010474991'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3326630118570774111/posts/default/5082023210010474991'/><link rel='alternate' type='text/html' href='http://alexandrenotebook.blogspot.com/2009/11/yql.html' title='YQL'/><author><name>Alexandre Martins</name><uri>http://www.blogger.com/profile/01500150233692518266</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxgqqpMl803v8_0QAGaEVis4CNrXagPivY8MjHcs6rGJBthixru76jZGtCjNXx6jLvCEl-SblEy4IfD8KUkF_up6-fyD-wGXTD7mG-zG_GjGWZyJ9sLaw0UdmRGOwEcMo/s220/alex5.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3326630118570774111.post-3794117893785494181</id><published>2009-10-22T11:55:00.005+03:00</published><updated>2009-10-23T14:08:56.714+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="mining"/><title type='text'>The book of Odds</title><content type='html'>Collection of Odds about everything &lt;a href=&quot;http://outlier.bookofodds.com/&quot;&gt;here&lt;/a&gt; (on US population).&lt;br /&gt;&lt;ul&gt;&lt;li&gt;The odds a man does not own a pair of blue jeans are 1 in 10 (US, 2001).&lt;/li&gt;&lt;li&gt;The odds a man using a public restroom was observed not washing his hands are 1 in 2.99 (US, 2007).&lt;/li&gt;&lt;li&gt;The odds a woman owns a pair of high heels are 1 in 1.64 (US, 2001).&lt;/li&gt;&lt;li&gt;The odds a person 25 or older with a master&#39;s degree has an income of $100,000 or more are 1 in 5.43 (US, 3/2007).&lt;/li&gt;&lt;li&gt;The odds a female 25 or older with a master&#39;s degree has an income of $100,000 or more are 1 in 10.98 (US, 3/2007).&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://outlier.bookofodds.com/&quot;&gt;more...&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;</content><link rel='replies' type='application/atom+xml' href='http://alexandrenotebook.blogspot.com/feeds/3794117893785494181/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/3326630118570774111/3794117893785494181' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3326630118570774111/posts/default/3794117893785494181'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3326630118570774111/posts/default/3794117893785494181'/><link rel='alternate' type='text/html' href='http://alexandrenotebook.blogspot.com/2009/10/site-book-of-odds.html' title='The book of Odds'/><author><name>Alexandre Martins</name><uri>http://www.blogger.com/profile/01500150233692518266</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxgqqpMl803v8_0QAGaEVis4CNrXagPivY8MjHcs6rGJBthixru76jZGtCjNXx6jLvCEl-SblEy4IfD8KUkF_up6-fyD-wGXTD7mG-zG_GjGWZyJ9sLaw0UdmRGOwEcMo/s220/alex5.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3326630118570774111.post-1380515046365003162</id><published>2009-10-18T22:27:00.004+03:00</published><updated>2009-10-18T22:35:54.660+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="a.saxeo"/><title type='text'>Hermosa y Horrible- a.sáxeo</title><content type='html'>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://asaxeo.blogspot.com/2009/10/hermosa-y-horrible-asaxeo.html&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 217px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgl7ivttcJ12UfRqb2wEjuszUgZLfKyQLpdZkK80tFT4ype0toxOqk_gxYwLzOxveXNf7X6y0S-mUaDX8kFeZJsseAy0IasHImquaKCnrveZxOb678UzMmpmegfO9JlZFNleBeFohWFyNpN/s400/asaxeo.jpg&quot; border=&quot;0&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5394024763263522498&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://asaxeo.blogspot.com/2009/10/hermosa-y-horrible-asaxeo.html&quot;&gt;a.sáxeo in a Spanish art gallery&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://alexandrenotebook.blogspot.com/feeds/1380515046365003162/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/3326630118570774111/1380515046365003162' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3326630118570774111/posts/default/1380515046365003162'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3326630118570774111/posts/default/1380515046365003162'/><link rel='alternate' type='text/html' href='http://alexandrenotebook.blogspot.com/2009/10/hermosa-y-horrible-asaxeo.html' title='Hermosa y Horrible- a.sáxeo'/><author><name>Alexandre Martins</name><uri>http://www.blogger.com/profile/01500150233692518266</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxgqqpMl803v8_0QAGaEVis4CNrXagPivY8MjHcs6rGJBthixru76jZGtCjNXx6jLvCEl-SblEy4IfD8KUkF_up6-fyD-wGXTD7mG-zG_GjGWZyJ9sLaw0UdmRGOwEcMo/s220/alex5.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgl7ivttcJ12UfRqb2wEjuszUgZLfKyQLpdZkK80tFT4ype0toxOqk_gxYwLzOxveXNf7X6y0S-mUaDX8kFeZJsseAy0IasHImquaKCnrveZxOb678UzMmpmegfO9JlZFNleBeFohWFyNpN/s72-c/asaxeo.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3326630118570774111.post-3376064086440599121</id><published>2009-10-12T09:12:00.015+03:00</published><updated>2010-04-06T13:13:06.033+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="emacs"/><category scheme="http://www.blogger.com/atom/ns#" term="javascript"/><title type='text'>Javascript validator on Emacs (v2)</title><content type='html'>A Javascript validator that I use frequently, &lt;a href=&quot;http://alexandrenotebook.blogspot.com/2009/05/on-javascript.html&quot;&gt;mentioned here for Textmate&lt;/a&gt;, now on Emacs:&lt;br /&gt;
&lt;pre&gt;(&lt;span class=&quot;keyword&quot;&gt;defun&lt;/span&gt; &lt;span class=&quot;function-name&quot;&gt;my-js-validate&lt;/span&gt; ()
  (interactive)
  (&lt;span class=&quot;keyword&quot;&gt;if&lt;/span&gt; (string-match &lt;span class=&quot;string&quot;&gt;&quot;\\.js$&quot;&lt;/span&gt; (buffer-file-name))
      (shell-command
       (concat
        &lt;span class=&quot;string&quot;&gt;&quot;java -jar /Bins/Javascript/rhino1_7R2/js.jar /Bins/Javascript/lint/rhino_jslint.js &quot;&lt;/span&gt;
        (buffer-file-name (current-buffer))))))

(&lt;span class=&quot;keyword&quot;&gt;defun&lt;/span&gt; &lt;span class=&quot;function-name&quot;&gt;my-js-hooks&lt;/span&gt; ()
  (&lt;span class=&quot;keyword&quot;&gt;progn&lt;/span&gt;
    (message &lt;span class=&quot;string&quot;&gt;&quot;Entered Javascript Mode&quot;&lt;/span&gt;)
    (add-hook &#39;after-save-hook &#39;my-js-validate)))

(add-hook &#39;javascript-mode-hook &#39;my-js-hooks)&lt;/pre&gt;
&lt;br /&gt;
To force to run:  M-x my-js-validate&lt;br /&gt;
&lt;br /&gt;
With the hooks setup, whenever a javascript file is saved then my-js-validate is executed.&lt;br /&gt;
&lt;br /&gt;
(if you use js2-mode or espresso-mode, then you need to change &#39;javascript-mode-hook accordingly, for example to &#39;espresso-mode-hook)</content><link rel='replies' type='application/atom+xml' href='http://alexandrenotebook.blogspot.com/feeds/3376064086440599121/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/3326630118570774111/3376064086440599121' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3326630118570774111/posts/default/3376064086440599121'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3326630118570774111/posts/default/3376064086440599121'/><link rel='alternate' type='text/html' href='http://alexandrenotebook.blogspot.com/2009/10/javascript-validator-on-emacs.html' title='Javascript validator on Emacs (v2)'/><author><name>Alexandre Martins</name><uri>http://www.blogger.com/profile/01500150233692518266</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxgqqpMl803v8_0QAGaEVis4CNrXagPivY8MjHcs6rGJBthixru76jZGtCjNXx6jLvCEl-SblEy4IfD8KUkF_up6-fyD-wGXTD7mG-zG_GjGWZyJ9sLaw0UdmRGOwEcMo/s220/alex5.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3326630118570774111.post-6739128865737001252</id><published>2009-10-10T09:10:00.001+03:00</published><updated>2009-10-10T09:10:00.692+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="mining"/><title type='text'>less calculus, more probabilities</title><content type='html'>&lt;object width=&quot;446&quot; height=&quot;326&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://video.ted.com/assets/player/swf/EmbedPlayer.swf&quot;&gt;&lt;/param&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot; /&gt;&lt;param name=&quot;wmode&quot; value=&quot;transparent&quot;&gt;&lt;/param&gt;&lt;param name=&quot;bgColor&quot; value=&quot;#ffffff&quot;&gt;&lt;/param&gt; &lt;param name=&quot;flashvars&quot; value=&quot;vu=http://video.ted.com/talks/dynamic/ArthurBenjamin_2009-medium.flv&amp;su=http://images.ted.com/images/ted/tedindex/embed-posters/ArthurBenjamin-2009.embed_thumbnail.jpg&amp;vw=432&amp;vh=240&amp;ap=0&amp;ti=587&amp;introDuration=16500&amp;adDuration=4000&amp;postAdDuration=2000&amp;adKeys=talk=arthur_benjamin_s_formula_for_changing_math_education;year=2009;theme=ted_in_3_minutes;theme=bold_predictions_stern_warnings;theme=how_we_learn;theme=numbers_at_play;event=TED2009;&amp;preAdTag=tconf.ted/embed;tile=1;sz=512x288;&quot; /&gt;&lt;embed src=&quot;http://video.ted.com/assets/player/swf/EmbedPlayer.swf&quot; pluginspace=&quot;http://www.macromedia.com/go/getflashplayer&quot; type=&quot;application/x-shockwave-flash&quot; wmode=&quot;transparent&quot; bgColor=&quot;#ffffff&quot; width=&quot;446&quot; height=&quot;326&quot; allowFullScreen=&quot;true&quot; flashvars=&quot;vu=http://video.ted.com/talks/dynamic/ArthurBenjamin_2009-medium.flv&amp;su=http://images.ted.com/images/ted/tedindex/embed-posters/ArthurBenjamin-2009.embed_thumbnail.jpg&amp;vw=432&amp;vh=240&amp;ap=0&amp;ti=587&amp;introDuration=16500&amp;adDuration=4000&amp;postAdDuration=2000&amp;adKeys=talk=arthur_benjamin_s_formula_for_changing_math_education;year=2009;theme=ted_in_3_minutes;theme=bold_predictions_stern_warnings;theme=how_we_learn;theme=numbers_at_play;event=TED2009;&quot;&gt;&lt;/embed&gt;&lt;/object&gt;</content><link rel='replies' type='application/atom+xml' href='http://alexandrenotebook.blogspot.com/feeds/6739128865737001252/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/3326630118570774111/6739128865737001252' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3326630118570774111/posts/default/6739128865737001252'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3326630118570774111/posts/default/6739128865737001252'/><link rel='alternate' type='text/html' href='http://alexandrenotebook.blogspot.com/2009/10/less-calculus-more-probabilities.html' title='less calculus, more probabilities'/><author><name>Alexandre Martins</name><uri>http://www.blogger.com/profile/01500150233692518266</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxgqqpMl803v8_0QAGaEVis4CNrXagPivY8MjHcs6rGJBthixru76jZGtCjNXx6jLvCEl-SblEy4IfD8KUkF_up6-fyD-wGXTD7mG-zG_GjGWZyJ9sLaw0UdmRGOwEcMo/s220/alex5.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3326630118570774111.post-6049408952234062793</id><published>2009-10-05T10:16:00.000+03:00</published><updated>2009-10-05T10:16:00.229+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="photo"/><title type='text'>PT - 2009</title><content type='html'>&lt;a href=&quot;&quot;&gt;&lt;img src=&quot;http://lh4.ggpht.com/_UXikbBSJkX8/SqoIQYI4FJI/AAAAAAAAFzo/VMsSKZplIaM/s400/PICT0094.JPG&quot; /&gt;&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://alexandrenotebook.blogspot.com/feeds/6049408952234062793/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/3326630118570774111/6049408952234062793' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3326630118570774111/posts/default/6049408952234062793'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3326630118570774111/posts/default/6049408952234062793'/><link rel='alternate' type='text/html' href='http://alexandrenotebook.blogspot.com/2009/10/pt-2009_05.html' title='PT - 2009'/><author><name>Alexandre Martins</name><uri>http://www.blogger.com/profile/01500150233692518266</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxgqqpMl803v8_0QAGaEVis4CNrXagPivY8MjHcs6rGJBthixru76jZGtCjNXx6jLvCEl-SblEy4IfD8KUkF_up6-fyD-wGXTD7mG-zG_GjGWZyJ9sLaw0UdmRGOwEcMo/s220/alex5.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh4.ggpht.com/_UXikbBSJkX8/SqoIQYI4FJI/AAAAAAAAFzo/VMsSKZplIaM/s72-c/PICT0094.JPG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3326630118570774111.post-7875346982462743768</id><published>2009-10-03T10:11:00.001+03:00</published><updated>2009-10-03T10:13:01.071+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="photo"/><title type='text'>PT - 2009</title><content type='html'>&lt;a href=&quot;&quot;&gt;&lt;img src=&quot;http://lh4.ggpht.com/_UXikbBSJkX8/SqoVOK1pqZI/AAAAAAAAF5c/W-Uzg8S9Acg/s400/IMG_6485.JPG&quot; /&gt;&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://alexandrenotebook.blogspot.com/feeds/7875346982462743768/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/3326630118570774111/7875346982462743768' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3326630118570774111/posts/default/7875346982462743768'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3326630118570774111/posts/default/7875346982462743768'/><link rel='alternate' type='text/html' href='http://alexandrenotebook.blogspot.com/2009/10/pt-2009.html' title='PT - 2009'/><author><name>Alexandre Martins</name><uri>http://www.blogger.com/profile/01500150233692518266</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxgqqpMl803v8_0QAGaEVis4CNrXagPivY8MjHcs6rGJBthixru76jZGtCjNXx6jLvCEl-SblEy4IfD8KUkF_up6-fyD-wGXTD7mG-zG_GjGWZyJ9sLaw0UdmRGOwEcMo/s220/alex5.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh4.ggpht.com/_UXikbBSJkX8/SqoVOK1pqZI/AAAAAAAAF5c/W-Uzg8S9Acg/s72-c/IMG_6485.JPG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3326630118570774111.post-2320778221689942142</id><published>2009-09-24T12:20:00.006+03:00</published><updated>2009-09-24T12:31:01.168+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="mining"/><title type='text'>re-post: Standard Deviation explained</title><content type='html'>Why use the &lt;span style=&quot;font-weight:bold;&quot;&gt;standard deviation&lt;/span&gt; instead of the more intuitive&lt;span style=&quot;font-weight:bold;&quot;&gt; mean deviation&lt;/span&gt;? Found a &lt;a href=&quot;http://amarsagoo.blogspot.com/2007/09/making-sense-of-standard-deviation.html&quot;&gt;nice explanation here&lt;/a&gt;.</content><link rel='replies' type='application/atom+xml' href='http://alexandrenotebook.blogspot.com/feeds/2320778221689942142/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/3326630118570774111/2320778221689942142' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3326630118570774111/posts/default/2320778221689942142'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3326630118570774111/posts/default/2320778221689942142'/><link rel='alternate' type='text/html' href='http://alexandrenotebook.blogspot.com/2009/09/re-post-standard-deviation-explained.html' title='re-post: Standard Deviation explained'/><author><name>Alexandre Martins</name><uri>http://www.blogger.com/profile/01500150233692518266</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxgqqpMl803v8_0QAGaEVis4CNrXagPivY8MjHcs6rGJBthixru76jZGtCjNXx6jLvCEl-SblEy4IfD8KUkF_up6-fyD-wGXTD7mG-zG_GjGWZyJ9sLaw0UdmRGOwEcMo/s220/alex5.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3326630118570774111.post-2095209270501980177</id><published>2009-09-15T09:12:00.003+03:00</published><updated>2009-09-15T09:28:37.637+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="photo"/><title type='text'>PT bedroom bookshelf</title><content type='html'>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 319px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhfxSnzbDWisy1dfF4PjQ_t6EzuCmT4LxQwCLM3iDnyRSSN7w-T44yJFGfIzg9cn-1YMONwncLIOdyN42WyHaydyO6PFXxdnA9s_SFr1nKaoBhDHq3XighKwdB_L0LD58lKVBaSWgE3nm6/s400/bookshelf.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5381057160869480466&quot; /&gt;&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://alexandrenotebook.blogspot.com/feeds/2095209270501980177/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/3326630118570774111/2095209270501980177' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3326630118570774111/posts/default/2095209270501980177'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3326630118570774111/posts/default/2095209270501980177'/><link rel='alternate' type='text/html' href='http://alexandrenotebook.blogspot.com/2009/09/pt-bedroom-bookshelf.html' title='PT bedroom bookshelf'/><author><name>Alexandre Martins</name><uri>http://www.blogger.com/profile/01500150233692518266</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxgqqpMl803v8_0QAGaEVis4CNrXagPivY8MjHcs6rGJBthixru76jZGtCjNXx6jLvCEl-SblEy4IfD8KUkF_up6-fyD-wGXTD7mG-zG_GjGWZyJ9sLaw0UdmRGOwEcMo/s220/alex5.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhfxSnzbDWisy1dfF4PjQ_t6EzuCmT4LxQwCLM3iDnyRSSN7w-T44yJFGfIzg9cn-1YMONwncLIOdyN42WyHaydyO6PFXxdnA9s_SFr1nKaoBhDHq3XighKwdB_L0LD58lKVBaSWgE3nm6/s72-c/bookshelf.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3326630118570774111.post-2383239090862572183</id><published>2009-09-13T20:24:00.007+03:00</published><updated>2009-09-24T11:06:12.386+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="book"/><title type='text'>book: Career 2.0</title><content type='html'>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjc-1ktzd-Dh1LkPEpZv57D55ihf-23xAXsOgPy23IYz-Oa_19fFFYKWhtOqqiXeXdOOFonyZcSFAhkc5TLyBUzJJDe8wLtYYrgTgld-e-TVmhBB2Xpz7hnjAU1MntBa0m-1sde1uZymm51/s1600-h/career2.png&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 263px; height: 400px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjc-1ktzd-Dh1LkPEpZv57D55ihf-23xAXsOgPy23IYz-Oa_19fFFYKWhtOqqiXeXdOOFonyZcSFAhkc5TLyBUzJJDe8wLtYYrgTgld-e-TVmhBB2Xpz7hnjAU1MntBa0m-1sde1uZymm51/s400/career2.png&quot; border=&quot;0&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5381005072454002674&quot; /&gt;&lt;/a&gt;&lt;br /&gt;Good career advice.&lt;br /&gt;&lt;br /&gt;My Takeaways:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Ultimately the responsibility for your career and your life rests with one and only one person. You.&lt;/li&gt;&lt;li&gt;Be passioned about your work.&lt;/li&gt;&lt;li&gt;Keep on learning, keep on building your intellectual portfolio.&lt;/li&gt;&lt;li&gt;Select your goals and remind them frequently.&lt;/li&gt;&lt;li&gt;Breakdown your goals into weekly and even daily actions.&lt;/li&gt;&lt;li&gt;Sharing knowledge, by writing and speaking publicly, deepens your grasp of the knowledge.&lt;/li&gt;&lt;/ul&gt;This book is also good reference of public speaking techniques.&lt;div&gt;&lt;br /&gt;&lt;div&gt;Thanks Erki, for the suggestion.&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alexandrenotebook.blogspot.com/feeds/2383239090862572183/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/3326630118570774111/2383239090862572183' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3326630118570774111/posts/default/2383239090862572183'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3326630118570774111/posts/default/2383239090862572183'/><link rel='alternate' type='text/html' href='http://alexandrenotebook.blogspot.com/2009/09/book-career-20.html' title='book: Career 2.0'/><author><name>Alexandre Martins</name><uri>http://www.blogger.com/profile/01500150233692518266</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxgqqpMl803v8_0QAGaEVis4CNrXagPivY8MjHcs6rGJBthixru76jZGtCjNXx6jLvCEl-SblEy4IfD8KUkF_up6-fyD-wGXTD7mG-zG_GjGWZyJ9sLaw0UdmRGOwEcMo/s220/alex5.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjc-1ktzd-Dh1LkPEpZv57D55ihf-23xAXsOgPy23IYz-Oa_19fFFYKWhtOqqiXeXdOOFonyZcSFAhkc5TLyBUzJJDe8wLtYYrgTgld-e-TVmhBB2Xpz7hnjAU1MntBa0m-1sde1uZymm51/s72-c/career2.png" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3326630118570774111.post-6183863833002179407</id><published>2009-09-03T09:54:00.003+03:00</published><updated>2009-09-13T23:33:34.757+03:00</updated><title type='text'>Michael Jackson Dance Tribute - Tallinn</title><content type='html'>&lt;span class=&quot;Apple-style-span&quot;   style=&quot;  white-space: pre; font-family:Arial, sans-serif;font-size:10px;&quot;&gt;&lt;object width=&quot;425&quot; height=&quot;344&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/geIw8h5b_qQ&amp;amp;hl=en&amp;amp;fs=1&amp;amp;&quot;&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;&gt;&lt;param name=&quot;allowscriptaccess&quot; value=&quot;always&quot;&gt;&lt;embed src=&quot;http://www.youtube.com/v/geIw8h5b_qQ&amp;amp;hl=en&amp;amp;fs=1&amp;amp;&quot; type=&quot;application/x-shockwave-flash&quot; allowscriptaccess=&quot;always&quot; allowfullscreen=&quot;true&quot; width=&quot;425&quot; height=&quot;344&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Awesome dancing in one of the most busiest streets of Tallinn.</content><link rel='replies' type='application/atom+xml' href='http://alexandrenotebook.blogspot.com/feeds/6183863833002179407/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/3326630118570774111/6183863833002179407' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3326630118570774111/posts/default/6183863833002179407'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3326630118570774111/posts/default/6183863833002179407'/><link rel='alternate' type='text/html' href='http://alexandrenotebook.blogspot.com/2009/09/michael-jackson-dance-tribute-tallinn.html' title='Michael Jackson Dance Tribute - Tallinn'/><author><name>Alexandre Martins</name><uri>http://www.blogger.com/profile/01500150233692518266</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxgqqpMl803v8_0QAGaEVis4CNrXagPivY8MjHcs6rGJBthixru76jZGtCjNXx6jLvCEl-SblEy4IfD8KUkF_up6-fyD-wGXTD7mG-zG_GjGWZyJ9sLaw0UdmRGOwEcMo/s220/alex5.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3326630118570774111.post-4876832609115264725</id><published>2009-09-01T10:03:00.002+03:00</published><updated>2009-09-01T10:13:48.091+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="clojure"/><title type='text'>FlightCaster</title><content type='html'>&lt;blockquote&gt;“FlightCaster predicts flight delays. We use an advanced algorithm that scours data on every domestic flight for the past 10-years and matches it to real-time conditions. We help you evaluate alternative options and help connect you to the right person to make the change.”   &lt;a href=&quot;http://flightcaster.com/&quot;&gt;check it out&lt;/a&gt;&lt;/blockquote&gt;&lt;br /&gt;Its a very interesting mix of Clojure, Rails, Hadoop, Amazon EC2 and YCombinator.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://www.infoq.com/articles/flightcaster-clojure-rails&quot;&gt;InfoQ article&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.datawrangling.com/how-flightcaster-squeezes-predictions-from-flight-dataa&quot;&gt;Interview with developer Bradford Cross&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;</content><link rel='replies' type='application/atom+xml' href='http://alexandrenotebook.blogspot.com/feeds/4876832609115264725/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/3326630118570774111/4876832609115264725' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3326630118570774111/posts/default/4876832609115264725'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3326630118570774111/posts/default/4876832609115264725'/><link rel='alternate' type='text/html' href='http://alexandrenotebook.blogspot.com/2009/09/flightcaster.html' title='FlightCaster'/><author><name>Alexandre Martins</name><uri>http://www.blogger.com/profile/01500150233692518266</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxgqqpMl803v8_0QAGaEVis4CNrXagPivY8MjHcs6rGJBthixru76jZGtCjNXx6jLvCEl-SblEy4IfD8KUkF_up6-fyD-wGXTD7mG-zG_GjGWZyJ9sLaw0UdmRGOwEcMo/s220/alex5.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3326630118570774111.post-3627275243572409500</id><published>2009-08-27T09:19:00.008+03:00</published><updated>2010-04-06T13:15:41.211+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="incanter"/><category scheme="http://www.blogger.com/atom/ns#" term="mining"/><title type='text'>Basketball Throws</title><content type='html'>A little probability simulation, using Clojure and Incanter, &lt;a href=&quot;http://docs.google.com/View?id=dczvkfs8_10xjtdwtd6&quot;&gt;hosted on google docs&lt;/a&gt;:&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://docs.google.com/View?id=dczvkfs8_10xjtdwtd6&quot; onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5374581977537980242&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRECL1VqRz6JMw7rluqZCR7V83n69j2gtxIuksP0mewOogg_wTvlSLq8dvlINOfF_QCho9OtTcCIhK39NembqnUO95lOzjQl-FeZAi4CQEOpJuM7ibsMcCO-pdiDjWOGdU3HFkvRe6NN73/s400/Picture+1.png&quot; style=&quot;cursor: hand; cursor: pointer; display: block; height: 400px; margin: 0px auto 10px; text-align: center; width: 212px;&quot; /&gt;&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://alexandrenotebook.blogspot.com/feeds/3627275243572409500/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/3326630118570774111/3627275243572409500' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3326630118570774111/posts/default/3627275243572409500'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3326630118570774111/posts/default/3627275243572409500'/><link rel='alternate' type='text/html' href='http://alexandrenotebook.blogspot.com/2009/08/basketball-throws_27.html' title='Basketball Throws'/><author><name>Alexandre Martins</name><uri>http://www.blogger.com/profile/01500150233692518266</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxgqqpMl803v8_0QAGaEVis4CNrXagPivY8MjHcs6rGJBthixru76jZGtCjNXx6jLvCEl-SblEy4IfD8KUkF_up6-fyD-wGXTD7mG-zG_GjGWZyJ9sLaw0UdmRGOwEcMo/s220/alex5.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRECL1VqRz6JMw7rluqZCR7V83n69j2gtxIuksP0mewOogg_wTvlSLq8dvlINOfF_QCho9OtTcCIhK39NembqnUO95lOzjQl-FeZAi4CQEOpJuM7ibsMcCO-pdiDjWOGdU3HFkvRe6NN73/s72-c/Picture+1.png" height="72" width="72"/><thr:total>0</thr:total></entry></feed>