<?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-2786700862191536790</id><updated>2012-01-16T19:50:01.039+02:00</updated><category term='mobile'/><category term='pc'/><category term='Software as a service'/><category term='technology'/><category term='javascript'/><category term='funny'/><category term='publications'/><category term='REM'/><category term='clojure'/><category term='basketball'/><category term='movies'/><category term='commercial'/><category term='technion'/><category term='web applications'/><category term='CORS'/><category term='open source'/><category term='evolution'/><category term='mainframe'/><category term='problem solving'/><category term='olympic games'/><category term='springsteen'/><category term='only in america'/><category term='signs'/><category term='business process'/><category term='cellular'/><category term='prediction'/><category term='usability'/><category term='humor'/><category term='visualization'/><category term='monty python'/><category term='research'/><category term='java'/><category term='cloud computing'/><category term='REST'/><category term='engineering'/><category term='ajax'/><category term='programming'/><category term='culture'/><category term='economy'/><category term='software patents'/><category term='web3.0'/><category term='dilbert'/><category term='music'/><category term='united kingdom'/><category term='developerWorks'/><category term='image analysis'/><category term='sting'/><category term='william shatner'/><category term='matlab'/><category term='literature'/><category term='blues brothers'/><category term='dojo'/><category term='masterpiece'/><category term='dream team'/><category term='web2.0'/><category term='software'/><category term='food'/><category term='innovation'/><category term='book review'/><category term='U2'/><category term='neuroscience'/><category term='quotes'/><category term='coffee'/><category term='iPad'/><category term='thrilingly beautiful'/><title type='text'>Life, Technology and Everything</title><subtitle type='html'>Just my understanding of the essence of things</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://yoavrubin.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://yoavrubin.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Yoav Rubin</name><uri>http://www.blogger.com/profile/02020814739195147149</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>67</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2786700862191536790.post-8831779292537582843</id><published>2011-09-13T00:19:00.000+03:00</published><updated>2011-09-13T00:19:00.291+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='book review'/><category scheme='http://www.blogger.com/atom/ns#' term='clojure'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>The Joy of Clojure - a short book review</title><content type='html'>I'm currently reading the book "&lt;a href="http://joyofclojure.com/"&gt;The Joy of Clojure&lt;/a&gt;". This is a rare kind of book - the kind you don't want to end. It explains Clojure - but not in a "do this to get that" kind of a way, which is the way most technical books are. It does it differently, by almost telling a story that reveals Clojure layer after layer. It does so while keeping the Clojure motto of "no&amp;nbsp;unneeded&amp;nbsp;overhead" - exactly what's needed, no more no less.&lt;br /&gt;&lt;br /&gt;Still, if it was just for that, I wouldn't rush to write this short review - there's something else in the way that this book is written, its style is some sort of a combination between an Arthur Conan Doyle novel in the way that it glues you to the page, and a late night show monologue that provides you fun every 30 seconds.&lt;br /&gt;&lt;br /&gt;A must read for every software developer - regardless if you ever plan to write a single line of Clojure code, it would just make you think clearer about code in general and specifically about your code.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2786700862191536790-8831779292537582843?l=yoavrubin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoavrubin.blogspot.com/feeds/8831779292537582843/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2786700862191536790&amp;postID=8831779292537582843' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/8831779292537582843'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/8831779292537582843'/><link rel='alternate' type='text/html' href='http://yoavrubin.blogspot.com/2011/09/joy-of-clojure-short-book-review.html' title='The Joy of Clojure - a short book review'/><author><name>Yoav Rubin</name><uri>http://www.blogger.com/profile/02020814739195147149</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-2786700862191536790.post-3928833358449584065</id><published>2011-09-03T14:01:00.000+03:00</published><updated>2011-09-03T14:01:49.864+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>A function, JavaScript engine and the single var pattern to declare variables walk into a pub</title><content type='html'>&lt;a href="http://addyosmani.com/blog/"&gt;Addy Osmani &lt;/a&gt;had published a very nice &lt;a href="http://addyosmani.com/blog/lessons-from-a-javascript-code-review/"&gt;post &lt;/a&gt;that summarizes various problems found when doing JavaScript code review. Most of the points there worth paying&amp;nbsp;attention&amp;nbsp;to. However, there is one point there that he got completely wrong. When he discussed the problem of variables declared all over the place within a function scope, he suggested to use the "single var pattern to declare variables", basically write the variables declarations like this:&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;var &lt;/span&gt;someData = "testing",&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;otherData = "data1",&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;moreData = "data2";&lt;br /&gt;&lt;br /&gt;This kind of coding will get you into trouble. Try to find the difference between the code above and the code below:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;var &lt;/span&gt;someData = "testing"&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;otherData = "data1",&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;moreData = "data2";&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Found?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;let's add to the first snippet the scope of each variable:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;var &lt;/span&gt;someData = "testing", &lt;span class="Apple-style-span" style="color: #38761d;"&gt;// local within the function&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;otherData = "data1",&amp;nbsp;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;// local within the function&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;moreData = "data2"; &lt;span class="Apple-style-span" style="color: #38761d;"&gt;// local within the function&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Now let's do the same for the second snippet:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;var &lt;/span&gt;someData = "testing"&lt;span class="Apple-style-span" style="color: #38761d;"&gt; // local within the function&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;otherData = "data1",&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&amp;nbsp;// global&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;moreData = "data2"; &lt;span class="Apple-style-span" style="color: #38761d;"&gt;// global&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Big difference, but why?.&lt;br /&gt;&lt;br /&gt;Answer: Take a look at the "testing" string. In the first snippet &amp;nbsp;it is followed by a comma, whereas it is not there in the second snippet. That's all, one comma.&lt;br /&gt;&lt;br /&gt;Both snippets are valid JavaScript code, it just happens that even though JavaScript has a C like syntax, it does not require to have a semi-colon at the end of each line, the JavaScript engine will add it if missing.&lt;br /&gt;&lt;br /&gt;So the second snippet is actually:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;var &lt;/span&gt;someData = "testing"; &lt;span class="Apple-style-span" style="color: #38761d;"&gt;// local within the function&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;otherData = "data1",&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&amp;nbsp;// global&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;moreData = "data2"; &lt;span class="Apple-style-span" style="color: #38761d;"&gt;// global&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;(note the semi-colon after the "testing").&lt;br /&gt;&lt;br /&gt;One more thing to know about JavaScript: when declaring a variable inside a function without the var keyword, it is defined as a global variable.&lt;br /&gt;&lt;br /&gt;Now go and find that little comma somewhere in your code, at 1:00 am , a few hours before delivery.&lt;br /&gt;&lt;br /&gt;I prefer the simpler approach to define variables, and do the following:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;var &lt;/span&gt;someData = "testing"; &lt;span class="Apple-style-span" style="color: #38761d;"&gt;// local within the function&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;var &lt;/span&gt;otherData = "data1"; &lt;span class="Apple-style-span" style="color: #38761d;"&gt;//&amp;nbsp;local within the function&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;var &lt;/span&gt;moreData = "data2"; &lt;span class="Apple-style-span" style="color: #38761d;"&gt;//&amp;nbsp;local within the function&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;You can say that it is less elegant, but it is much less error prone, much more descriptive of what you want, can save hours of looking for a comma and simply put, it is just a simpler code. Just remember that beauty is in the eyes of the beholder, and to me, in code, simplicity is beauty .&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2786700862191536790-3928833358449584065?l=yoavrubin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoavrubin.blogspot.com/feeds/3928833358449584065/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2786700862191536790&amp;postID=3928833358449584065' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/3928833358449584065'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/3928833358449584065'/><link rel='alternate' type='text/html' href='http://yoavrubin.blogspot.com/2011/09/function-javascript-engine-and-single.html' title='A function, JavaScript engine and the single var pattern to declare variables walk into a pub'/><author><name>Yoav Rubin</name><uri>http://www.blogger.com/profile/02020814739195147149</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-2786700862191536790.post-2419376304348999545</id><published>2011-08-18T12:54:00.000+03:00</published><updated>2011-08-18T12:54:38.602+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='prediction'/><title type='text'>What's next in the mobile arena</title><content type='html'>Apple has complete control &amp;nbsp;both on the software and the hardware of their mobile devices. Moreover, they have a huge client base (all the iPXXXX people)&lt;br /&gt;Google &amp;nbsp;now also has complete control both on the software and the hardware of their mobile device (assuming that the deal with Motorola Mobility is approved). Moreover, they have a huge client base (all the android people)&lt;br /&gt;&lt;br /&gt;RIM has complete control both on the software and the hardware of their devices, but nobody buys their products and they are loosing their share in the mobile market.&lt;br /&gt;&lt;br /&gt;Microsoft controls its software and wants to increase their share in this market.&lt;br /&gt;&lt;br /&gt;When will Microsoft buy RIM?&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2786700862191536790-2419376304348999545?l=yoavrubin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoavrubin.blogspot.com/feeds/2419376304348999545/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2786700862191536790&amp;postID=2419376304348999545' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/2419376304348999545'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/2419376304348999545'/><link rel='alternate' type='text/html' href='http://yoavrubin.blogspot.com/2011/08/whats-next-in-mobile-arena.html' title='What&apos;s next in the mobile arena'/><author><name>Yoav Rubin</name><uri>http://www.blogger.com/profile/02020814739195147149</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-2786700862191536790.post-1772806925793011992</id><published>2011-08-13T21:59:00.002+03:00</published><updated>2011-08-15T18:55:25.619+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='software patents'/><category scheme='http://www.blogger.com/atom/ns#' term='prediction'/><title type='text'>The effects of the software patents war</title><content type='html'>There's a software patents war raging. It is&amp;nbsp;fought&amp;nbsp;between all the players, big and small: Google, Apple, Microsoft, Oracle and IBM are just a few names in the list of the war participants.&lt;br /&gt;&lt;br /&gt;It is all over the news now,&amp;nbsp;&lt;a href="http://www.networkworld.com/news/2011/072911-google-ibm-patent.html"&gt;Google buys more then a 1000 patents from IBM&lt;/a&gt; and &lt;a href="http://blogs.siliconvalley.com/gmsv/2011/07/quoted-google-counsel-on-software-patent-war.html"&gt;fails to buy 6000 other patents&lt;/a&gt;, of Nortel. These 6000 patents were bought by Apple, Microsoft and Ericsson. The undertaker of silicon valley&lt;a href="http://www.pehub.com/115158/silicon-valley%E2%80%99s-undertaker-%E2%80%98we%E2%80%99re-anticipating-a-major-fallout%E2%80%99/"&gt; claims that nowadays, what's left of a company that is closing down is the IP&lt;/a&gt; (whereas during the 2000 bubble bust servers were what a dying company could sell).&lt;br /&gt;&lt;br /&gt;This leads me to ask about the effect of this war on the&amp;nbsp;recruitment&amp;nbsp;process. I guess that companies in the high-tec industry will start looking for people who know to develop software (transform innovation into code) as well as know how to develop IP (transform innovation into patents).&lt;br /&gt;Would an ad for a software developer include not only the set of technologies / domains that a possible candidate should know, but also how many patents are on the candidate's belt?&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Update&lt;/b&gt;&lt;br /&gt;The patents war is now going to the next level - &lt;a href="http://googleblog.blogspot.com/2011/08/supercharging-android-google-to-acquire.html"&gt;Google bought Motorola Mobility&lt;/a&gt;&amp;nbsp;and its portfolio of about 17,000 patents. Now Google has a patent arsenal which can be used to really fight the rest of the big players.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2786700862191536790-1772806925793011992?l=yoavrubin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoavrubin.blogspot.com/feeds/1772806925793011992/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2786700862191536790&amp;postID=1772806925793011992' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/1772806925793011992'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/1772806925793011992'/><link rel='alternate' type='text/html' href='http://yoavrubin.blogspot.com/2011/08/effects-of-software-patents-war.html' title='The effects of the software patents war'/><author><name>Yoav Rubin</name><uri>http://www.blogger.com/profile/02020814739195147149</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-2786700862191536790.post-7435804857118846383</id><published>2011-07-27T14:51:00.000+03:00</published><updated>2011-07-27T14:51:08.218+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='software'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>Programming and softwaring</title><content type='html'>Programming is creating functional components from code atoms (such as a programming language keywords or library calls). It is structuring a code molecule with defined input and output.&lt;br /&gt;&lt;br /&gt;Softwaring is the composition of code units (atoms and molecules), functional components and other software to create an entity that has code organs (such as UI or communication layer), processes and&amp;nbsp;life cycle.&lt;br /&gt;&lt;br /&gt;Programming is chemistry.&lt;br /&gt;&lt;br /&gt;Softwaring is biology.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2786700862191536790-7435804857118846383?l=yoavrubin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoavrubin.blogspot.com/feeds/7435804857118846383/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2786700862191536790&amp;postID=7435804857118846383' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/7435804857118846383'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/7435804857118846383'/><link rel='alternate' type='text/html' href='http://yoavrubin.blogspot.com/2011/07/programming-and-softwaring.html' title='Programming and softwaring'/><author><name>Yoav Rubin</name><uri>http://www.blogger.com/profile/02020814739195147149</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-2786700862191536790.post-1127576138244058059</id><published>2011-06-30T14:28:00.000+03:00</published><updated>2011-06-30T14:28:28.109+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='funny'/><title type='text'>Google discovers a new gender</title><content type='html'>I was pretty sure that humans are either male or a female. I guess that other genders were discovered by Google&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-kzWjM9t1FyE/TgxdRe1nHKI/AAAAAAAADPw/J25qizi_tGw/s1600/g1.bmp" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://1.bp.blogspot.com/-kzWjM9t1FyE/TgxdRe1nHKI/AAAAAAAADPw/J25qizi_tGw/s400/g1.bmp" width="246" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2786700862191536790-1127576138244058059?l=yoavrubin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoavrubin.blogspot.com/feeds/1127576138244058059/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2786700862191536790&amp;postID=1127576138244058059' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/1127576138244058059'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/1127576138244058059'/><link rel='alternate' type='text/html' href='http://yoavrubin.blogspot.com/2011/06/google-discovers-new-gender.html' title='Google discovers a new gender'/><author><name>Yoav Rubin</name><uri>http://www.blogger.com/profile/02020814739195147149</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://1.bp.blogspot.com/-kzWjM9t1FyE/TgxdRe1nHKI/AAAAAAAADPw/J25qizi_tGw/s72-c/g1.bmp' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2786700862191536790.post-4710739700609121435</id><published>2011-06-28T23:18:00.001+03:00</published><updated>2011-06-29T07:32:48.309+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='publications'/><category scheme='http://www.blogger.com/atom/ns#' term='usability'/><category scheme='http://www.blogger.com/atom/ns#' term='business process'/><title type='text'>A different, simpler, approach to visually design business processes</title><content type='html'>About a year ago, I co-authored a paper called "What You See And Do Is What You Get: A Human-Centric Design Approach to Human-Centric process". It was accepted and presented at the BPD &amp;nbsp;workshop (BPD here stands for "Business Process Design") which was part of the BPM conference (BPM here stands for "Business Process Management").&lt;br /&gt;&lt;br /&gt;The paper describes a new way to design processes. The key idea there was to reuse the WYSIWYG ("what you see is what you get") design approach (which is used usually for user interface design) in process design, where static page design is not sufficient, but there's also a need to design the dynamic nature of the process.&lt;br /&gt;&lt;br /&gt;I just noticed that the proceedings are now published, so it is possible to read the paper&amp;nbsp;&lt;a href="http://books.google.com/books?id=TXa8-hxKFOQC&amp;amp;pg=PA49#v=onepage&amp;amp;q&amp;amp;f=false"&gt;here&lt;/a&gt;.&lt;br /&gt;Section 2 there describes in more details the WYS&lt;b&gt;AD&lt;/b&gt;IWYG&amp;nbsp;approach.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2786700862191536790-4710739700609121435?l=yoavrubin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoavrubin.blogspot.com/feeds/4710739700609121435/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2786700862191536790&amp;postID=4710739700609121435' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/4710739700609121435'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/4710739700609121435'/><link rel='alternate' type='text/html' href='http://yoavrubin.blogspot.com/2011/06/different-simpler-approach-to-visually.html' title='A different, simpler, approach to visually design business processes'/><author><name>Yoav Rubin</name><uri>http://www.blogger.com/profile/02020814739195147149</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-2786700862191536790.post-8359547549995861513</id><published>2011-06-26T19:47:00.001+03:00</published><updated>2011-06-26T19:48:40.752+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><category scheme='http://www.blogger.com/atom/ns#' term='funny'/><title type='text'>Comparing programming languages to boats</title><content type='html'>See &lt;a href="http://compsci.ca/blog/if-a-programming-language-was-a-boat/" target="_blank"&gt;here&lt;/a&gt;,&amp;nbsp;a nice&amp;nbsp;comparison&amp;nbsp;of programming languages to types of boats. Very&amp;nbsp;funny, some of it even makes sense (even though I'd say that Java is the Titanic rather then a cargo ship...)&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2786700862191536790-8359547549995861513?l=yoavrubin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoavrubin.blogspot.com/feeds/8359547549995861513/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2786700862191536790&amp;postID=8359547549995861513' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/8359547549995861513'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/8359547549995861513'/><link rel='alternate' type='text/html' href='http://yoavrubin.blogspot.com/2011/06/comparing-programming-languages-to.html' title='Comparing programming languages to boats'/><author><name>Yoav Rubin</name><uri>http://www.blogger.com/profile/02020814739195147149</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-2786700862191536790.post-4866462040180487386</id><published>2011-06-13T15:24:00.000+03:00</published><updated>2011-06-13T15:24:11.003+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='basketball'/><category scheme='http://www.blogger.com/atom/ns#' term='neuroscience'/><title type='text'>Brain-mapping the Dallas Mavericks</title><content type='html'>Dallas Mavericks just won the NBA title. Watching them was a true enjoyment due to the diversity of the playing styles that this team showed.&lt;br /&gt;When combining together all these playing styles it is easy to see the resemblance of this team to another remarkable machine - the brain. Here is a short list of the key players and their role / playing style as if they are regions in the brain:&lt;br /&gt;&lt;br /&gt;Jason Kidd - &amp;nbsp;Prefrontal Cortex: This region is responsible for planning and decision making (amongst other things). This is the type of basketball that Jason Kidd is playing - very smart and focused on taking the right decisions while planning two moves in advance.&lt;br /&gt;&lt;br /&gt;Dirk Nowitzki - Cerebellum. This region is responsible for repetitive motorical tasks, such as climbing stairs all the way to doing&amp;nbsp;calligraphy. Dirk Nowitzki's game is all about doing several things over and over again, regardless of their complexity - jump backward on one leg, re-balance in mid-air and then throw the ball&amp;nbsp;accurately&amp;nbsp;to the hoop. from the outside it seems complicated, it is if you stop and think about every step. It isn't if done automatically.&lt;br /&gt;&lt;br /&gt;Jason Terry - Amygdala. This region's key&amp;nbsp;functionality&amp;nbsp;is handling the&amp;nbsp;limbic&amp;nbsp;system, i.e. emotions. Jason Terry's game is all about emotions - if he feels that he needs to shot, he'll shoot, no fear, no stress, it can be a win or loose shot, if he feels it, he'll do it.&lt;br /&gt;&lt;br /&gt;Jose Barea - Brainstem - This region is responsible for the basic bodily functions - breathing, temperature control, etc. Jose Barea's game is just as primal as this region- no, thinking, just doing - you are faced with a higher, stronger defender (or two), run into them and throw the ball.&lt;br /&gt;&lt;br /&gt;Sean Marion - thalamus - This region is the communication relay system, just in the middle of so many processes. Sean Marion's game is similar, he is everywhere, does not start anything, &amp;nbsp;may end plays and glues numerous processes together.&lt;br /&gt;&lt;br /&gt;Tyson Chandler - Astrocytes - this is the "skeleton" of the brain - it give structure and holds everything in place. Does not do any calculation, but everything would collapse without it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2786700862191536790-4866462040180487386?l=yoavrubin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoavrubin.blogspot.com/feeds/4866462040180487386/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2786700862191536790&amp;postID=4866462040180487386' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/4866462040180487386'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/4866462040180487386'/><link rel='alternate' type='text/html' href='http://yoavrubin.blogspot.com/2011/06/brain-mapping-dallas-mavericks.html' title='Brain-mapping the Dallas Mavericks'/><author><name>Yoav Rubin</name><uri>http://www.blogger.com/profile/02020814739195147149</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-2786700862191536790.post-464010456513911898</id><published>2011-06-08T11:58:00.000+03:00</published><updated>2011-06-08T11:58:26.623+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>Alan Kay's view on type systems</title><content type='html'>In &lt;a href="http://userpage.fu-berlin.de/~ram/pub/pub_jf47ht81Ht/doc_kay_oop_en"&gt;here &lt;/a&gt;there's a very interesting correspondence with &lt;a href="http://en.wikipedia.org/wiki/Alan_Kay"&gt;Alan Kay&lt;/a&gt; about &lt;a href="http://en.wikipedia.org/wiki/Object-oriented_programming"&gt;OOP &lt;/a&gt;and his definition of it. Amongst other things, he wrote a short sentence that describes his view in the ongoing debate of static vs. dynamic typing.&lt;br /&gt;&lt;br /&gt;Here's the exact quote:&lt;br /&gt;&lt;br /&gt;"I'm not against types, but I don't know of any type systems that aren't a complete pain, so I still like dynamic typing"&lt;br /&gt;&lt;br /&gt;I couldn't agree more. I don't recall even once that static typing actually helped me in designing software, I can recall&amp;nbsp;numerous times that it just stood in the way, without anything to gain other then detecting errors in compile time, but only the kind of errors that any developer (junior or experienced) must be able to detect&amp;nbsp;easily.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2786700862191536790-464010456513911898?l=yoavrubin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoavrubin.blogspot.com/feeds/464010456513911898/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2786700862191536790&amp;postID=464010456513911898' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/464010456513911898'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/464010456513911898'/><link rel='alternate' type='text/html' href='http://yoavrubin.blogspot.com/2011/06/alan-kays-view-on-type-systems.html' title='Alan Kay&apos;s view on type systems'/><author><name>Yoav Rubin</name><uri>http://www.blogger.com/profile/02020814739195147149</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-2786700862191536790.post-1871813752756408549</id><published>2011-05-23T23:02:00.000+03:00</published><updated>2011-05-23T23:02:54.695+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='thrilingly beautiful'/><category scheme='http://www.blogger.com/atom/ns#' term='music'/><category scheme='http://www.blogger.com/atom/ns#' term='funny'/><title type='text'>Did Don Giovanni want to be a lumberjack?</title><content type='html'>Just noticed it. Monty Python's Lumberjack song is really similar to Là ci darem la mano from Mozart's Don Giovanni.&lt;br /&gt;&lt;br /&gt;take a look:&lt;br /&gt;Here's the lumberjack song:&lt;br /&gt;&lt;br /&gt;&lt;iframe width="400" height="257" src="http://www.youtube.com/embed/mL7n5mEmXJo" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;And here's Pavarotti doing Là ci darem la mano&lt;br /&gt;&lt;br /&gt;&lt;iframe width="400" height="330" src="http://www.youtube.com/embed/hsYoZ2iZvqk" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2786700862191536790-1871813752756408549?l=yoavrubin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoavrubin.blogspot.com/feeds/1871813752756408549/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2786700862191536790&amp;postID=1871813752756408549' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/1871813752756408549'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/1871813752756408549'/><link rel='alternate' type='text/html' href='http://yoavrubin.blogspot.com/2011/05/did-don-giovanni-want-to-be-lumberjack.html' title='Did Don Giovanni want to be a lumberjack?'/><author><name>Yoav Rubin</name><uri>http://www.blogger.com/profile/02020814739195147149</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://img.youtube.com/vi/mL7n5mEmXJo/default.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2786700862191536790.post-692649772468508853</id><published>2011-05-20T20:51:00.002+03:00</published><updated>2011-05-20T21:08:20.523+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><category scheme='http://www.blogger.com/atom/ns#' term='evolution'/><title type='text'>Darwinian evolution of programming languages</title><content type='html'>In&amp;nbsp;evolutionary&amp;nbsp;biology, when the environment changes, the flora and fauna changes, this is done by adapting to the change and fitting the specie to the new constraints and new opportunities. This is the essence of &lt;a href="http://en.wikipedia.org/wiki/Charles_Darwin"&gt;Darwin's &lt;/a&gt;&lt;a href="http://www.literature.org/authors/darwin-charles/the-origin-of-species/"&gt;The Origin of Species&lt;/a&gt;&amp;nbsp;- the survival of the fittest.&lt;br /&gt;&lt;br /&gt;Same thing happened in programming languages.&lt;br /&gt;&lt;br /&gt;During the early days, computation power and memory were&amp;nbsp;scarce&amp;nbsp;and expensive, thus programming&amp;nbsp;languages&amp;nbsp;in use were as close to the machine as possible, to exploit everything from these resources - think of LISP's car and cdr, which are based on specific registers...&lt;br /&gt;&lt;br /&gt;After some time, memory was still expensive, but computation power become more available, therefore a new specie evolved - a language that allows to&amp;nbsp;describe&amp;nbsp;the computations done in a more "human" way (i.e., imperative), but still close monitoring of the memory is&amp;nbsp;available. Think of C.&lt;br /&gt;&lt;br /&gt;Computation power kept growing, and new programming paradigm evolved - OO, but still, memory is costly, and there was C++.&lt;br /&gt;&lt;br /&gt;During the 90's memory became cheap, and tight monitoring of it became&amp;nbsp;unnecessary. The stage was ready for the next language to rule the Earth. Java came into play with its garbage collector.&lt;br /&gt;&lt;br /&gt;Computation power kept becoming more available, as well as memory. But times have changed.&amp;nbsp;Multi-core processors are here, and are here to stay. More power now means more processors, not a stronger, single processor. New languages are now coming out of the primal ocean and taking their first breaths of fresh air (or doing parallel computations). These languages are the functional languages. They were around before, but just like the dolphins that returned to the ocean with enhanced brains and lungs to rule that habitat, It is now their turn to gain dominance.&lt;br /&gt;It is not clear who will win this new race. Some of these languages have the advantage of being able to interact and co-exist with already running software and libraries - such as Clojure with the JVM, or F# with .Net.&lt;br /&gt;&lt;br /&gt;Days will tell who will inherit the planet - exciting times ahead.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2786700862191536790-692649772468508853?l=yoavrubin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoavrubin.blogspot.com/feeds/692649772468508853/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2786700862191536790&amp;postID=692649772468508853' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/692649772468508853'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/692649772468508853'/><link rel='alternate' type='text/html' href='http://yoavrubin.blogspot.com/2011/05/clojure_20.html' title='Darwinian evolution of programming languages'/><author><name>Yoav Rubin</name><uri>http://www.blogger.com/profile/02020814739195147149</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-2786700862191536790.post-7030851354986224069</id><published>2011-05-13T23:30:00.001+03:00</published><updated>2011-05-13T23:31:25.487+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='software'/><category scheme='http://www.blogger.com/atom/ns#' term='clojure'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>Clojure</title><content type='html'>I've started to write code in&amp;nbsp;&lt;a href="http://clojure.org/"&gt;Clojure&lt;/a&gt;, which is a LISP dialect created for the JVM.&lt;br /&gt;&lt;br /&gt;This means that the code has the&amp;nbsp;aesthetics that can only be&amp;nbsp;achieved when doing&amp;nbsp;functional programming, while maintaining the ability to fully interact with existing Java based libraries and code.&lt;br /&gt;&lt;br /&gt;More then that, Clojure comes along with a modern (almost futuristic) approach to concurrency, way&amp;nbsp;different then the one Java has.&lt;br /&gt;&lt;br /&gt;This is extremely important for a programming language, let me explain why.&lt;br /&gt;&lt;br /&gt;A good way to think of&amp;nbsp;concurrency&amp;nbsp;(and especially data&amp;nbsp;concurrency&amp;nbsp;)&amp;nbsp;in programming &amp;nbsp;is to think about it as a mine field, where the&amp;nbsp;locations&amp;nbsp;in which the threads are interleaving and handling the same data are mines. Your code is the field.&lt;br /&gt;&lt;br /&gt;Java's approach is "I'll give you the ability to place mines and I'll &amp;nbsp;also give you these small cocktail umbrellas to mark where the mines are". You just have to hope that you placed these little cute umbrellas in the right places and covered with them all the ways to access the mines. This is tough to do right in small scale software (where there are very few developers). Practically impossible to do right in large scale software (where there are too many developers).&lt;br /&gt;&lt;br /&gt;Clojure's approach is different. It says "put as many mines as you want, I'll cover it with so much concrete, that it doesn't matter how many users are travelling in the field". The concrete itself is composed of immutable data, actors/agents model and software transaction memory.&lt;br /&gt;&lt;br /&gt;(BTW, JavaScript approach can be summed up as "there shell be no mines")&lt;br /&gt;&lt;br /&gt;I will not start to explain why concurrency is important, if you don't know, then probably you didn't read all the way up to here...&lt;br /&gt;&lt;br /&gt;This is a delightful language to use (higher order function is by far the most beautiful idea in programming). It is powerful, efficient with a "no fluff just stuff" attitude with a potential to take your code to places that OO just can't go.&lt;br /&gt;&lt;br /&gt;I guess that this is the reason why one of the first books written about Clojure is called "&lt;a href="http://joyofclojure.com/"&gt;The Joy of Clojure&lt;/a&gt;", not sure that there are such titles about C or Java (a book with a similar title about C++ is probably aimed at the&amp;nbsp;masochist community).&lt;br /&gt;&lt;br /&gt;Try it, you will not regret and will not look back.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2786700862191536790-7030851354986224069?l=yoavrubin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoavrubin.blogspot.com/feeds/7030851354986224069/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2786700862191536790&amp;postID=7030851354986224069' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/7030851354986224069'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/7030851354986224069'/><link rel='alternate' type='text/html' href='http://yoavrubin.blogspot.com/2011/05/clojure.html' title='Clojure'/><author><name>Yoav Rubin</name><uri>http://www.blogger.com/profile/02020814739195147149</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-2786700862191536790.post-7852059147258941300</id><published>2011-04-26T12:42:00.000+03:00</published><updated>2011-04-26T12:42:47.176+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='basketball'/><category scheme='http://www.blogger.com/atom/ns#' term='thrilingly beautiful'/><title type='text'>Stepback and Crossover</title><content type='html'>Crossover is a basketball&amp;nbsp;maneuver&amp;nbsp;that when done properly, allows the attacker to move pass the defender, but at risk that if the attacker wants to take a shot, the defender may be still close enough to block it. If the attacker needs to take a shot, there's another manouver, called stepback, in which the attacker (very very) quickly gets close to the defender and then steps back.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;See here how Kemba Walker does a crossover followed by a stepback with a Baryshnikovian perfection.&lt;br /&gt;&lt;br /&gt;&lt;iframe allowfullscreen="" frameborder="0" height="255" src="http://www.youtube.com/embed/yyF6amZw82M" title="YouTube video player" width="400"&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2786700862191536790-7852059147258941300?l=yoavrubin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoavrubin.blogspot.com/feeds/7852059147258941300/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2786700862191536790&amp;postID=7852059147258941300' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/7852059147258941300'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/7852059147258941300'/><link rel='alternate' type='text/html' href='http://yoavrubin.blogspot.com/2011/04/stepback-and-crossover.html' title='Stepback and Crossover'/><author><name>Yoav Rubin</name><uri>http://www.blogger.com/profile/02020814739195147149</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://img.youtube.com/vi/yyF6amZw82M/default.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2786700862191536790.post-8927817642169777152</id><published>2011-04-17T10:20:00.002+03:00</published><updated>2011-07-25T10:22:39.569+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='research'/><category scheme='http://www.blogger.com/atom/ns#' term='engineering'/><title type='text'>Research, Engineering and Novelty</title><content type='html'>It is possible to distill the research process into these steps:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Immerse yourself in a domain&lt;/li&gt;&lt;li&gt;Grok it till you can spot holes in it&lt;/li&gt;&lt;li&gt;Find an idea that covers one of these holes&amp;nbsp;&lt;/li&gt;&lt;li&gt;Show the novelty of that idea by the fact that it fills a hole or covers some aspect of the domain that wasn't covered before.&lt;/li&gt;&lt;li&gt;Prove the idea either formally using theorems and lemmas or present data that supports the it with some level of certainty&lt;/li&gt;&lt;/ul&gt;If you need to build a system to prove the idea, it is a disposable, one shot system, that solves the given problem and its set of users is the researcher / research team.&lt;br /&gt;&lt;br /&gt;The grand finale of the research process is when it is dumped out as a research paper that is accepted to a journal or presented in a conference.&lt;br /&gt;&lt;br /&gt;Engineering is somewhat different.&lt;br /&gt;&lt;br /&gt;The engineering process is initiated when there's a need to solve a problem - which is done by constructing and materializing a solution (which does not have to be a novel one).&lt;br /&gt;This usually involves a development process. The solution's novelty can be further protected as a patent.&lt;br /&gt;&lt;br /&gt;In this process, a bulletproof and robust solution is the holy grail.&lt;br /&gt;A successful system is one that:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Solves the given problem&lt;/li&gt;&lt;li&gt;Provides maximal output with minimal resources&amp;nbsp;&lt;/li&gt;&lt;li&gt;Can be used by many users (not just by the solution/system developers)&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;The grand finale of an engineering process is a satisfied user (this can be someone crossing a bridge, a pilot flying an aircraft or a gamer playing in a virtual world).&lt;br /&gt;&lt;br /&gt;I was, am and will be involved in both of these processes, so all I can say is that the understanding in which process you are is far more important then the kind if process you participate in.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2786700862191536790-8927817642169777152?l=yoavrubin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoavrubin.blogspot.com/feeds/8927817642169777152/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2786700862191536790&amp;postID=8927817642169777152' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/8927817642169777152'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/8927817642169777152'/><link rel='alternate' type='text/html' href='http://yoavrubin.blogspot.com/2011/04/research-engineering-and-novelty.html' title='Research, Engineering and Novelty'/><author><name>Yoav Rubin</name><uri>http://www.blogger.com/profile/02020814739195147149</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-2786700862191536790.post-6086483235561002784</id><published>2011-03-10T07:25:00.001+02:00</published><updated>2011-03-10T10:00:34.450+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='neuroscience'/><category scheme='http://www.blogger.com/atom/ns#' term='software'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><category scheme='http://www.blogger.com/atom/ns#' term='matlab'/><category scheme='http://www.blogger.com/atom/ns#' term='problem solving'/><title type='text'>Beautiful code</title><content type='html'>I am currently reading the book &lt;a href="http://www.amazon.com/gp/product/B0026OR2NG/"&gt;Beautiful Code&lt;/a&gt;, which got me thinking "what is the most beautiful code I've ever written". The answer came up really quickly.&lt;br /&gt;As part of my &lt;a href="http://yoavrubin.blogspot.com/2010/09/my-dissertation.html"&gt;dissertation&amp;nbsp;&lt;/a&gt;I developed an image analysis and statistical data mining and analysis software. In this software, one of the functions was responsible to detect correlation of events between two vectors. Each vector holds the times in which a neuron fired an action potential. This kind of computation is called &lt;a href="http://en.wikipedia.org/wiki/Cross-correlation"&gt;cross correlation&lt;/a&gt;&amp;nbsp;but with the constraint that the correlation is bounded by biological time frame (usually less then 100 ms).&lt;br /&gt;&lt;br /&gt;The initial implementation looked as follows, where 'sVec' and 'tVec' are the vectors, and 'before' and 'after' define the biological time frame.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;function crossCol = calcCrossCorrelation(sVec,&amp;nbsp;tVec,&amp;nbsp;before, after)&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;numOfSourceMaximas = numel(sVec);&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;numOfTargetMaximas = numel(tVec);&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;crossCol = zeros(before+after+1, 1);&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;for i=1:numOfSourceMaximas&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sourceSpikeLocation =&amp;nbsp;sVec(i);&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for j=1:numOfTargetMaximas&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;targetSpikeLocation =&amp;nbsp;tVec(j);&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;delta = targetSpikeLocation - sourceSpikeLocation;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if(delta&amp;lt; -before)&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;continue;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;end&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if(delta &amp;gt; after)&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;continue;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;end&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;crossCol(abs(-before - delta )+1) =&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; crossCol(abs(-before - delta )+1) +1;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;end&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;end&lt;br /&gt;&lt;br /&gt;This code basically runs on every combination of any event in the vectors and checks whether the combination&amp;nbsp;occurred&amp;nbsp;within the given time frame. It ran slow, really slow. To analyze data from one imaging session and to complete all the checking of all the cross correlations of all the cells I needed a few days, so I sat down to optimize this code, the final result looked like this:&lt;br /&gt;&lt;br /&gt;function crossCol = calcCrossCorrelation(sVec, tVec, before, after)&lt;br /&gt;&lt;br /&gt;distMat = bsxfun(@minus,tVec',sVec);&lt;br /&gt;filteredDist=&amp;nbsp;distMat&amp;nbsp;((distMat &amp;nbsp;&amp;gt;= -before) &amp;amp; (distMat&amp;nbsp;&amp;nbsp;&amp;lt;= after));&lt;br /&gt;crossCol = histc(filteredDist, (-before:after));&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Thee line of code.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The first line creates a distance matrix between the two vectors (using Matlab's utility bsxfun, which is very efficient).&amp;nbsp;&lt;/div&gt;&lt;div&gt;The second line is filtering out this matrix into a vector that holds all the cells whose value was within the biological time frame.&lt;/div&gt;&lt;div&gt;The third line bins all these values to a set of bins for all the values in the biological time frame (the set of values is defined by the 'before' and 'after' parameters and the sampling rate which affects which values would exist in this range).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This change made the same analysis run in a matter of about 30 seconds, as well as being beautiful code on its &amp;nbsp;own.&lt;br /&gt;&lt;br /&gt;The updated code results from a change in the problem solving approach - thinking of the problem in terms of matrices and what can be done with vectors/matrices and arrays instead of thinking about each event on its own. This thinking paradigm is very powerful, especially when using the right tools (in here - Matlab).&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2786700862191536790-6086483235561002784?l=yoavrubin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoavrubin.blogspot.com/feeds/6086483235561002784/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2786700862191536790&amp;postID=6086483235561002784' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/6086483235561002784'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/6086483235561002784'/><link rel='alternate' type='text/html' href='http://yoavrubin.blogspot.com/2011/03/beautiful-code.html' title='Beautiful code'/><author><name>Yoav Rubin</name><uri>http://www.blogger.com/profile/02020814739195147149</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-2786700862191536790.post-1264783158168414580</id><published>2011-02-27T15:20:00.000+02:00</published><updated>2011-02-27T15:20:33.591+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>Equality, transitivity and JavaScript</title><content type='html'>One of the simplest ways to explain transitivity is using the equality operation, by saying that if A equals B and B equals C then A equals C. This is commonsense stuff, how can it be different.&lt;br /&gt;&lt;br /&gt;Well, it can.&lt;br /&gt;&lt;br /&gt;In JavaScript,&amp;nbsp;the '==' (double equal) does type coercion, and therefore ends up in non-common-sense situation where equality in not transitive. See in the following example where &amp;nbsp;A equals B, B equals C, but still, A does NOT equals C :&lt;br /&gt;&lt;br /&gt;'0' == 0 &lt;span class="Apple-style-span" style="color: #38761d;"&gt;// true -  the string 0 (zero) equals the number 0&lt;/span&gt;&lt;br /&gt;0 == '' &lt;span class="Apple-style-span" style="color: #38761d;"&gt;// true - the number zero equals empty string&lt;/span&gt;&lt;br /&gt;'0' == '' &lt;span class="Apple-style-span" style="color: #38761d;"&gt;// false - the string 0 (zero) does not equal empty string&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;seems that common sense is over appreciated...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2786700862191536790-1264783158168414580?l=yoavrubin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoavrubin.blogspot.com/feeds/1264783158168414580/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2786700862191536790&amp;postID=1264783158168414580' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/1264783158168414580'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/1264783158168414580'/><link rel='alternate' type='text/html' href='http://yoavrubin.blogspot.com/2011/02/equality-transitivity-and-javascript.html' title='Equality, transitivity and JavaScript'/><author><name>Yoav Rubin</name><uri>http://www.blogger.com/profile/02020814739195147149</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-2786700862191536790.post-4017790639331644223</id><published>2011-02-23T09:13:00.000+02:00</published><updated>2011-02-23T09:13:28.809+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='iPad'/><title type='text'>Cause and effect</title><content type='html'>Got my self and iPad. Seems that now I need to go through a wide-smilectomy procedure.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2786700862191536790-4017790639331644223?l=yoavrubin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoavrubin.blogspot.com/feeds/4017790639331644223/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2786700862191536790&amp;postID=4017790639331644223' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/4017790639331644223'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/4017790639331644223'/><link rel='alternate' type='text/html' href='http://yoavrubin.blogspot.com/2011/02/cause-and-effect.html' title='Cause and effect'/><author><name>Yoav Rubin</name><uri>http://www.blogger.com/profile/02020814739195147149</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-2786700862191536790.post-1412808707438901001</id><published>2011-02-15T23:05:00.023+02:00</published><updated>2011-02-16T08:58:02.932+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='usability'/><title type='text'>Adding physical notion to user interface</title><content type='html'>Brilliant - user interface that behaves like it has physical properties like height and weight. More then that, it can be folded or hanged.&lt;br /&gt;Also - note the round menu.&lt;br /&gt;&lt;object width="440" height="400" style="position:relative;left:-20px"&gt;&lt;param name="movie" value="http://video.ted.com/assets/player/swf/EmbedPlayer.swf"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true" /&gt;&lt;param name="allowScriptAccess" value="always"/&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;param name="bgColor" value="#ffffff"&gt;&lt;/param&gt;&lt;param name="flashvars" value="vu=http://video.ted.com/talks/dynamic/AnandAgarawala_2007-medium.flv&amp;su=http://images.ted.com/images/ted/tedindex/embed-posters/AnandAgarawala-2007.embed_thumbnail.jpg&amp;vw=432&amp;vh=240&amp;ap=0&amp;ti=131&amp;introDuration=15330&amp;adDuration=4000&amp;postAdDuration=830&amp;adKeys=talk=anand_agarawala_demos_his_bumptop_desktop;year=2007;theme=not_business_as_usual;theme=what_s_next_in_tech;theme=presentation_innovation;event=TED2007;&amp;preAdTag=tconf.ted/embed;tile=1;sz=512x288;" /&gt;&lt;embed src="http://video.ted.com/assets/player/swf/EmbedPlayer.swf" pluginspace="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" wmode="transparent" bgColor="#ffffff" width="440" height="400" allowFullScreen="true" allowScriptAccess="always" flashvars="vu=http://video.ted.com/talks/dynamic/AnandAgarawala_2007-medium.flv&amp;su=http://images.ted.com/images/ted/tedindex/embed-posters/AnandAgarawala-2007.embed_thumbnail.jpg&amp;vw=432&amp;vh=240&amp;ap=0&amp;ti=131&amp;introDuration=15330&amp;adDuration=4000&amp;postAdDuration=830&amp;adKeys=talk=anand_agarawala_demos_his_bumptop_desktop;year=2007;theme=not_business_as_usual;theme=what_s_next_in_tech;theme=presentation_innovation;event=TED2007;"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2786700862191536790-1412808707438901001?l=yoavrubin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoavrubin.blogspot.com/feeds/1412808707438901001/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2786700862191536790&amp;postID=1412808707438901001' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/1412808707438901001'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/1412808707438901001'/><link rel='alternate' type='text/html' href='http://yoavrubin.blogspot.com/2011/02/adding-physical-notion-to-user.html' title='Adding physical notion to user interface'/><author><name>Yoav Rubin</name><uri>http://www.blogger.com/profile/02020814739195147149</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-2786700862191536790.post-5578582635132723674</id><published>2011-01-07T15:11:00.000+02:00</published><updated>2011-01-07T15:11:25.052+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='usability'/><category scheme='http://www.blogger.com/atom/ns#' term='web applications'/><title type='text'>Usability of web applications</title><content type='html'>The web is rapidly becoming (or is now) the most important platform for new applications. The network bandwidth and the improvements of the browsers solve critical bottlenecks that prevented it from&amp;nbsp;happening.&lt;br /&gt;This results in application developers using lessons learned from desktop applications to improve and solve issues related to web applications.&lt;br /&gt;One of the most crucial aspects of any application is its usability. Thus,the question what is the difference between desktop applications and web applications usability needs to be addressed.&lt;br /&gt;Usability, like many other development / engineering fields, revolves around handling constraints, in this case the major constraint is the user. We need to understand what differs the desktop application's user from the web application's user, taking into account that it may be the same user, which implies&amp;nbsp;that the key difference is not be found in the skills / age / tech savvyness of the user, but elsewhere.&lt;br /&gt;A good place to look for the difference is in the user's state of mind. Desktop applications users are basically bound to the application. They either bought it, downloaded it, got it as a present or are &amp;nbsp;forced to use it. The users of desktop applications are somewhat of a captured audience, they have no where to go and need to put effort into solving problems that prevent them from using it properly. In web application this is not the case. In this world another application, that can do the same job, is a few clicks away. The users would't and shouldn't put any effort in "aiding the application" to help them use it. They will not read manuals, help contents and product literature, they would just go to the competitor.&lt;br /&gt;The fact that the competitor is a few clicks away, and the fact that the users know it and does not have any problem in doing these clicks, needs to affect any web application.&lt;br /&gt;&lt;br /&gt;Simplicity, smooth learning curve, excellent user experience, great visual design and being an eye candy is not a bonus, it is now the starting point for any web application, failure to do so would result in clients going away.&lt;br /&gt;&lt;br /&gt;In my mind this is the key difference between desktop applications and web applications.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2786700862191536790-5578582635132723674?l=yoavrubin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoavrubin.blogspot.com/feeds/5578582635132723674/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2786700862191536790&amp;postID=5578582635132723674' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/5578582635132723674'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/5578582635132723674'/><link rel='alternate' type='text/html' href='http://yoavrubin.blogspot.com/2011/01/usability-of-web-applications.html' title='Usability of web applications'/><author><name>Yoav Rubin</name><uri>http://www.blogger.com/profile/02020814739195147149</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-2786700862191536790.post-503946820815663459</id><published>2010-12-19T14:41:00.001+02:00</published><updated>2010-12-19T14:42:02.410+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='innovation'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>Innovation vs Programming</title><content type='html'>Seems that being able to think of something new became more important then actually executing it around the time I started my undergraduate studies, see it &lt;a href="http://ngrams.googlelabs.com/graph?content=programming,innovation&amp;amp;year_start=1975&amp;amp;year_end=2008&amp;amp;corpus=0&amp;amp;smoothing=0"&gt;here&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2786700862191536790-503946820815663459?l=yoavrubin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoavrubin.blogspot.com/feeds/503946820815663459/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2786700862191536790&amp;postID=503946820815663459' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/503946820815663459'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/503946820815663459'/><link rel='alternate' type='text/html' href='http://yoavrubin.blogspot.com/2010/12/innovation-vs-programming.html' title='Innovation vs Programming'/><author><name>Yoav Rubin</name><uri>http://www.blogger.com/profile/02020814739195147149</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-2786700862191536790.post-7221774204994785239</id><published>2010-12-16T10:12:00.000+02:00</published><updated>2010-12-16T10:12:36.524+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='neuroscience'/><category scheme='http://www.blogger.com/atom/ns#' term='usability'/><category scheme='http://www.blogger.com/atom/ns#' term='software'/><title type='text'>Usability from a neuroscience perspective</title><content type='html'>There are many definitions to usability, I will not try to create one myself, but to explain how I see it.&lt;br /&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;br /&gt;Whenever users needs to do a specific task with a certain application, they are facing two problems:&lt;br /&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;br /&gt;&lt;ul&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;li&gt;&lt;wbr&gt;&lt;/wbr&gt;What to do - this is defined by the user (or for the user by someone else)&lt;br /&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;/li&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;li&gt;&lt;wbr&gt;&lt;/wbr&gt;How do I do it - this is defined by the application developer&lt;/li&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;/ul&gt;&lt;wbr&gt;&lt;/wbr&gt;In order to solve these problems, the user needs to allocate mental resources.&amp;nbsp;Better usability results in less allocation of mental resources to deal with the second problem.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;wbr&gt;&lt;/wbr&gt;Basically, usability is about reducing the users' mental burden by  providing good answer to the how problem, and thus allowing them to to  concentrate on the what problem.&lt;br /&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;br /&gt;I've used the term "mental resources", so here's a short, not complete list of mental resources&amp;nbsp;ordered by the cost of using them - from the cheapest to the most expensive:&lt;br /&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;br /&gt;&lt;ul&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;li&gt;&lt;wbr&gt;&lt;/wbr&gt;Memory:&lt;/li&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;ul&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;li&gt;&lt;wbr&gt;&lt;/wbr&gt;Mechanical - from climbing stairs without thinking about it to typing our thoughts without looking at the keyboard&lt;br /&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;/li&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;li&gt;&lt;wbr&gt;&lt;/wbr&gt;Emotional&amp;nbsp;&lt;wbr&gt;&lt;/wbr&gt;&amp;nbsp;- what we feel about things&lt;br /&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;/li&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;li&gt;&lt;wbr&gt;&lt;/wbr&gt;Intellectual - processes in solving problems that we already used and don't need to develop&lt;/li&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;/ul&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;li&gt;&lt;wbr&gt;&lt;/wbr&gt;Learning - the process in which we transform something that we don't understand to something that we do&lt;br /&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;/li&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;li&gt;&lt;wbr&gt;&lt;/wbr&gt;Problem solving and creativity - the process in which we're getting from point A to point B,&amp;nbsp;&lt;wbr&gt;&lt;/wbr&gt;&amp;nbsp;without initially knowing the way (or even whether point B exists)&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;wbr&gt;&lt;/wbr&gt;Just  to illustrate how much energy our brain needs, it is enough to point  that during sleep, one third of the body's needed energy is required by the  brain. Now think how much energy the brain needs when you are active,  receiving constant stimulation from the environment, &amp;nbsp;remembering &amp;nbsp;things, and also trying to be focused and do your job.&lt;br /&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;br /&gt;Thinking is hard and consumes a lot of energy, and  we can expect users (as well as any other person) to try to reduce the  thinking effort. &lt;br /&gt;&lt;wbr&gt;&lt;/wbr&gt;Therefore users don't: &lt;br /&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;br /&gt;&lt;ul&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;li&gt;&lt;wbr&gt;&lt;/wbr&gt;Read manuals&lt;/li&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;li&gt;&lt;wbr&gt;&lt;/wbr&gt;Read all the info given within the application&lt;/li&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;li&gt;&lt;wbr&gt;&lt;/wbr&gt;Understand all the symbols in icons&lt;/li&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;li&gt;&lt;wbr&gt;&lt;/wbr&gt;Read messages that pop-up&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;/ul&gt;&lt;wbr&gt;&lt;/wbr&gt;Understanding  that each and every call that we do in UI design, affects the price  that the users pay in terms of mental resources allocation, is the first  step towards having much better and usable applications, and this is  what this post is all about.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2786700862191536790-7221774204994785239?l=yoavrubin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoavrubin.blogspot.com/feeds/7221774204994785239/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2786700862191536790&amp;postID=7221774204994785239' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/7221774204994785239'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/7221774204994785239'/><link rel='alternate' type='text/html' href='http://yoavrubin.blogspot.com/2010/12/usability-from-neuroscience-perspective.html' title='Usability from a neuroscience perspective'/><author><name>Yoav Rubin</name><uri>http://www.blogger.com/profile/02020814739195147149</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-2786700862191536790.post-1428463594184352147</id><published>2010-12-11T23:05:00.001+02:00</published><updated>2010-12-12T10:05:32.410+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='open source'/><category scheme='http://www.blogger.com/atom/ns#' term='neuroscience'/><category scheme='http://www.blogger.com/atom/ns#' term='image analysis'/><category scheme='http://www.blogger.com/atom/ns#' term='software'/><title type='text'>Going open source</title><content type='html'>During my &lt;a href="http://yoavrubin.blogspot.com/2010/09/my-dissertation.html"&gt;M.Sc. studies&lt;/a&gt; I've developed an image analysis and data mining software in Matlab.&lt;br /&gt;This software received as its input a set of XYT images&amp;nbsp;of a neuronal network&amp;nbsp;alongside various parameters from the experiment in which these images were taken.&lt;br /&gt;At that stage it allowed the user to do various image manipulations and eventually mark the location of neurons on it.&lt;br /&gt;Once neurons are marked the software extracted the activity pattern of each neuron and mined all the activities of the imaged neurons to find activity patterns of the neuronal network. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;I've now decided to keep that software alive and open sourced it. The link to the repository is:&amp;nbsp;&lt;a href="http://code.google.com/p/neural-networks-image-analyzer/"&gt;http://code.google.com/p/neural-networks-image-analyzer/&lt;/a&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;Any contribution is welcome.&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;BTW - an XYT image is an image that is built from&amp;nbsp;repetitive imaging of the same line (think of video as a repetitive imaging of a plane, then an XYT image is the same, but just a single line within the plane is being imaged), here's an example of such an image:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_pkfLbQ-U7_0/TQPktIKMOAI/AAAAAAAACvg/AeqpwbNWW3o/s1600/%2524620EE9B10512F5A3-1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://3.bp.blogspot.com/_pkfLbQ-U7_0/TQPktIKMOAI/AAAAAAAACvg/AeqpwbNWW3o/s320/%2524620EE9B10512F5A3-1.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Which originated from the yellow line in this image:&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_pkfLbQ-U7_0/TQPlsoY1_7I/AAAAAAAACvk/OQ709LdGVFM/s1600/aa.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://1.bp.blogspot.com/_pkfLbQ-U7_0/TQPlsoY1_7I/AAAAAAAACvk/OQ709LdGVFM/s320/aa.jpg" width="281" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2786700862191536790-1428463594184352147?l=yoavrubin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoavrubin.blogspot.com/feeds/1428463594184352147/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2786700862191536790&amp;postID=1428463594184352147' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/1428463594184352147'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/1428463594184352147'/><link rel='alternate' type='text/html' href='http://yoavrubin.blogspot.com/2010/12/going-open-source.html' title='Going open source'/><author><name>Yoav Rubin</name><uri>http://www.blogger.com/profile/02020814739195147149</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/_pkfLbQ-U7_0/TQPktIKMOAI/AAAAAAAACvg/AeqpwbNWW3o/s72-c/%2524620EE9B10512F5A3-1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2786700862191536790.post-7480771841276754671</id><published>2010-12-07T14:13:00.000+02:00</published><updated>2010-12-07T14:13:38.033+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='william shatner'/><category scheme='http://www.blogger.com/atom/ns#' term='thrilingly beautiful'/><category scheme='http://www.blogger.com/atom/ns#' term='music'/><category scheme='http://www.blogger.com/atom/ns#' term='funny'/><title type='text'>Speaking out the music</title><content type='html'>Speaking the song, not singing it, is something that only few can do right.&lt;br /&gt;&lt;br /&gt;Here's William Shatner doing the "Common People" in a way that can be described as brilliantly accurate:&lt;br /&gt;&lt;br /&gt;&lt;object height="385" width="400"&gt;&lt;param name="movie" value="http://www.youtube.com/v/T7AvWqM8z3k?fs=1&amp;amp;hl=en_US&amp;amp;color1=0x3a3a3a&amp;amp;color2=0x999999"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/T7AvWqM8z3k?fs=1&amp;amp;hl=en_US&amp;amp;color1=0x3a3a3a&amp;amp;color2=0x999999" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="400" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Here's another, an older one, that shows that William Shatner's ability to provide this kind of unique interpretation to a song is not new:&lt;br /&gt;&lt;br /&gt;&lt;object height="325" width="400"&gt;&lt;param name="movie" value="http://www.youtube.com/v/lul-Y8vSr0I?fs=1&amp;amp;hl=en_US&amp;amp;color1=0x3a3a3a&amp;amp;color2=0x999999"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/lul-Y8vSr0I?fs=1&amp;amp;hl=en_US&amp;amp;color1=0x3a3a3a&amp;amp;color2=0x999999" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="400" height="325"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Another, not a song, but still brilliantly accurate performance of William Shatner:&lt;br /&gt;&lt;br /&gt;&lt;object height="325" width="400"&gt;&lt;param name="movie" value="http://www.youtube.com/v/h1CwZgb_iAI?fs=1&amp;amp;hl=en_US&amp;amp;color1=0x3a3a3a&amp;amp;color2=0x999999"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/h1CwZgb_iAI?fs=1&amp;amp;hl=en_US&amp;amp;color1=0x3a3a3a&amp;amp;color2=0x999999" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="400" height="325"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2786700862191536790-7480771841276754671?l=yoavrubin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoavrubin.blogspot.com/feeds/7480771841276754671/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2786700862191536790&amp;postID=7480771841276754671' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/7480771841276754671'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/7480771841276754671'/><link rel='alternate' type='text/html' href='http://yoavrubin.blogspot.com/2010/12/speaking-out-music.html' title='Speaking out the music'/><author><name>Yoav Rubin</name><uri>http://www.blogger.com/profile/02020814739195147149</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-2786700862191536790.post-6700709095801033090</id><published>2010-11-21T09:56:00.000+02:00</published><updated>2010-11-21T09:56:46.594+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='basketball'/><category scheme='http://www.blogger.com/atom/ns#' term='quotes'/><category scheme='http://www.blogger.com/atom/ns#' term='funny'/><title type='text'>Internal contradiction</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Verdana, Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: 12px; line-height: 18px;"&gt;That's what Rudy Gay had to say after he shot a buzzer bitter while being guarded by LeBron James:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: 12px; line-height: 18px;"&gt;"I don't care if James Naismith was guarding me, which would be scary because he's dead,"&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2786700862191536790-6700709095801033090?l=yoavrubin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoavrubin.blogspot.com/feeds/6700709095801033090/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2786700862191536790&amp;postID=6700709095801033090' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/6700709095801033090'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/6700709095801033090'/><link rel='alternate' type='text/html' href='http://yoavrubin.blogspot.com/2010/11/internal-contradiction.html' title='Internal contradiction'/><author><name>Yoav Rubin</name><uri>http://www.blogger.com/profile/02020814739195147149</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-2786700862191536790.post-2018871670751711126</id><published>2010-11-15T07:41:00.000+02:00</published><updated>2010-11-15T07:41:41.292+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>Re-using Java</title><content type='html'>The first programming language I worked with as a professional was Java. It seems to me as an excellent language to start learning real software development (as oppose to learn how to program, for which c is my language of choice).&lt;br /&gt;It teaches you to think also on the architecture of the software (as it is reflected in the package structure). It forces you to understand various design patterns (some of which comes along with the language). It introduces you to the need of working with frameworks (the large set of Java packages, as well as external libraries), and on top that, the rigid typing with the tough compiler are just like two good parents that show you the where are the limits and does not allow you to cross them. I've worked with Java for about 6 years, and learned a lot from it.&lt;br /&gt;&lt;br /&gt;Time had passed and I started another project, in which I had to develop in JavaScript. At first, I just wrote Java code in JavaScript (the fact that I worked with the Dojo toolkit made it really easy). Then, I started to learn the difference between the languages, I started to see the power that JavaScript gives you, was overwhelmed by the breaking of almost any limit that Java had taught me. I got to a point where I write JavaScript code in JavaScript, &amp;nbsp;use its flexibility and its dynamic nature, as well as the various brilliant programming concepts within it.&lt;br /&gt;I crossed the limits that Java taught me, and allowed myself to do so based on the belief that I'll know when to stop and what lines not to cross.&lt;br /&gt;It is so much easier to write software in JavaScript if you know what you are doing (especially how does your code is really read by the machine).&lt;br /&gt;It is much easier to make a big mess too, this must alway be in mind - no parents, you can run freely, nobody will prevent you from failing and falling.&lt;br /&gt;&lt;br /&gt;A short while ago I had some free time on my hands, and wanted to learn something new, so I developed a small android application.&lt;br /&gt;In Java.&lt;br /&gt;Initially I thought that it would be just like riding a&amp;nbsp;bicycle, but it turned out to be more like riding a rusty old bicycle, where you cannot almost turn the wheel, all that with one hand tied behind the back.&lt;br /&gt;The package structure is still there, as well as the rich set of libraries and Java packages. BUT, the rigid type system and the compiler are not a directing parents any more, they are more like a&amp;nbsp;bureaucratic figure that forces you to do what you don't want (in order for him to approve your request).&lt;br /&gt;The no dynamic nature make no sense now, sometimes I wanted to&amp;nbsp;polity ask the compiler to move aside and just&amp;nbsp;trust&amp;nbsp;me - I know what I am doing.&lt;br /&gt;It is so&amp;nbsp;burdensome to write software in Java.&lt;br /&gt;&lt;br /&gt;Java is great to start with, but it takes you just up to a certain point. And from there, if you do want to expand your abilities, by not just learn new syntax, but rather learn another way of thinking, go with JavaScript, you'll never want to go back.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2786700862191536790-2018871670751711126?l=yoavrubin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoavrubin.blogspot.com/feeds/2018871670751711126/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2786700862191536790&amp;postID=2018871670751711126' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/2018871670751711126'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/2018871670751711126'/><link rel='alternate' type='text/html' href='http://yoavrubin.blogspot.com/2010/11/re-using-java.html' title='Re-using Java'/><author><name>Yoav Rubin</name><uri>http://www.blogger.com/profile/02020814739195147149</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-2786700862191536790.post-29485764310768059</id><published>2010-11-05T18:50:00.001+02:00</published><updated>2010-11-05T21:21:34.986+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='software patents'/><category scheme='http://www.blogger.com/atom/ns#' term='cloud computing'/><title type='text'>How cloud computing affects the future of software patents</title><content type='html'>&lt;a href="http://blogs.gartner.com/brian_prentice/"&gt;Brian Prentice&lt;/a&gt; blogs with a very high ratio of gems to BS. This time he &lt;a href="http://blogs.gartner.com/brian_prentice/2010/11/05/will-cloud-computing-expose-you-to-patent-infringement/"&gt;wrote about&lt;/a&gt;&amp;nbsp;the way that the business of software patents will be affected by cloud computing.&lt;br /&gt;The essence of that post is:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;cloud computing hides most of the software (in a way that does not allows to inspect the software). The only part of the software that is exposed and can be inspected is the user interface (UI)&lt;/li&gt;&lt;li&gt;Since that in order to find a software patent&amp;nbsp;infringement, the suspects software must be inspected, the future of software patents business will be in the domain of UI / design related software patents&lt;/li&gt;&lt;/ul&gt;Very interesting read&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2786700862191536790-29485764310768059?l=yoavrubin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoavrubin.blogspot.com/feeds/29485764310768059/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2786700862191536790&amp;postID=29485764310768059' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/29485764310768059'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/29485764310768059'/><link rel='alternate' type='text/html' href='http://yoavrubin.blogspot.com/2010/11/how-cloud-computing-affects-future-of.html' title='How cloud computing affects the future of software patents'/><author><name>Yoav Rubin</name><uri>http://www.blogger.com/profile/02020814739195147149</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-2786700862191536790.post-7229959186864041115</id><published>2010-11-01T19:41:00.002+02:00</published><updated>2010-11-04T17:32:18.964+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='united kingdom'/><title type='text'>Which god will save the queen ?</title><content type='html'>&lt;object height="385" width="400"&gt;&lt;param name="movie" value="http://www.youtube.com/v/yHNfvJc99YY?fs=1&amp;amp;hl=en_US"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/yHNfvJc99YY?fs=1&amp;amp;hl=en_US" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="400" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Here are the lyrics, you may want to follow the link&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.cnn.com/2010/WORLD/europe/10/28/uk.mohammed/index.html" target="_blank"&gt;When Britain first, at heaven's command,&lt;br /&gt;Arose from out the azure main,&lt;br /&gt;Arose, arose, arose from out the a-azure main,&lt;br /&gt;This was the charter, the charter of the land,&lt;br /&gt;And guardian angels sang this strain:&lt;br /&gt;&lt;br /&gt;Rule Britania!&lt;br /&gt;Britannia rule the waves.&lt;br /&gt;Britons never, never, never shall be slaves.&lt;br /&gt;&lt;br /&gt;Rule Britannia!&lt;br /&gt;Britannia rule the waves.&lt;br /&gt;Britons never, never, never shall be slaves.&lt;br /&gt;&lt;br /&gt;The nations, not so blest as thee,&lt;br /&gt;Must in their turn, to tyrants fall,&lt;br /&gt;Must in ,must in, must in their turn, to tyrants fall,&lt;br /&gt;While thou shalt flourish, shalt flourish great and free,&lt;br /&gt;The dread and envy of them all.&lt;br /&gt;(Chorus)&lt;br /&gt;Rule Britannia!&lt;br /&gt;Britannia rule the waves.&lt;br /&gt;Britons never, never, never shall be slaves.&lt;br /&gt;&lt;br /&gt;Rule Britannia!&lt;br /&gt;Britannia rule the waves.&lt;br /&gt;Brittons never, never, never shall be slaves.&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2786700862191536790-7229959186864041115?l=yoavrubin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoavrubin.blogspot.com/feeds/7229959186864041115/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2786700862191536790&amp;postID=7229959186864041115' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/7229959186864041115'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/7229959186864041115'/><link rel='alternate' type='text/html' href='http://yoavrubin.blogspot.com/2010/11/rule-britannia.html' title='Which god will save the queen ?'/><author><name>Yoav Rubin</name><uri>http://www.blogger.com/profile/02020814739195147149</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-2786700862191536790.post-5947653406154240926</id><published>2010-10-31T19:32:00.003+02:00</published><updated>2010-11-01T21:53:05.531+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='signs'/><category scheme='http://www.blogger.com/atom/ns#' term='funny'/><title type='text'>Honest disclosure</title><content type='html'>I guess that ND stands for "Not really a Doctor"&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_pkfLbQ-U7_0/TM8aZD72V5I/AAAAAAAACvY/9nBQLR2CjNs/s1600/im1.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="285" src="http://1.bp.blogspot.com/_pkfLbQ-U7_0/TM8aZD72V5I/AAAAAAAACvY/9nBQLR2CjNs/s400/im1.gif" width="380" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2786700862191536790-5947653406154240926?l=yoavrubin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoavrubin.blogspot.com/feeds/5947653406154240926/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2786700862191536790&amp;postID=5947653406154240926' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/5947653406154240926'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/5947653406154240926'/><link rel='alternate' type='text/html' href='http://yoavrubin.blogspot.com/2010/10/honest-disclosure_31.html' title='Honest disclosure'/><author><name>Yoav Rubin</name><uri>http://www.blogger.com/profile/02020814739195147149</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://1.bp.blogspot.com/_pkfLbQ-U7_0/TM8aZD72V5I/AAAAAAAACvY/9nBQLR2CjNs/s72-c/im1.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2786700862191536790.post-8302636608488313829</id><published>2010-10-28T17:56:00.001+02:00</published><updated>2010-10-28T17:57:38.484+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='music'/><title type='text'>Knocking on heaven's door</title><content type='html'>Music, at its best, allows you to&amp;nbsp;separate&amp;nbsp;between composition and performance. This is what happened with this song.&lt;br /&gt;&lt;br /&gt;At the beginning there was Dylan:&lt;br /&gt;&lt;object height="385" width="400"&gt;&lt;param name="movie" value="http://www.youtube.com/v/qJFLByefeEc?fs=1&amp;amp;hl=en_US"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/qJFLByefeEc?fs=1&amp;amp;hl=en_US" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="400" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Then came Clapton:&lt;br /&gt;&lt;object height="385" width="400"&gt;&lt;param name="movie" value="http://www.youtube.com/v/-ItL_N400V4?fs=1&amp;amp;hl=en_US"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/-ItL_N400V4?fs=1&amp;amp;hl=en_US" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="400" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;It rested for a while, then Guns n' Roses took it to new levels:&lt;br /&gt;&lt;object height="385" width="400"&gt;&lt;param name="movie" value="http://www.youtube.com/v/vcWTTs8QVRc?fs=1&amp;amp;hl=en_US"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/vcWTTs8QVRc?fs=1&amp;amp;hl=en_US" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="400" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Also, noteworthy, Mark Knopfler's version:&lt;br /&gt;&lt;object height="385" width="400"&gt;&lt;param name="movie" value="http://www.youtube.com/v/z9rnrFYi1O4?fs=1&amp;amp;hl=en_US"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/z9rnrFYi1O4?fs=1&amp;amp;hl=en_US" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="400" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2786700862191536790-8302636608488313829?l=yoavrubin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoavrubin.blogspot.com/feeds/8302636608488313829/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2786700862191536790&amp;postID=8302636608488313829' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/8302636608488313829'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/8302636608488313829'/><link rel='alternate' type='text/html' href='http://yoavrubin.blogspot.com/2010/10/knocking-on-heavens-door.html' title='Knocking on heaven&apos;s door'/><author><name>Yoav Rubin</name><uri>http://www.blogger.com/profile/02020814739195147149</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-2786700862191536790.post-1071718415518205383</id><published>2010-10-26T17:38:00.001+02:00</published><updated>2010-10-28T04:15:34.522+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='only in america'/><category scheme='http://www.blogger.com/atom/ns#' term='funny'/><title type='text'>Go USA</title><content type='html'>A few americans have holes in their american history knowledge:&lt;br /&gt;&lt;br /&gt;&lt;object height="385" width="400"&gt;&lt;param name="movie" value="http://www.youtube.com/v/RkQ6XgXeNuY?fs=1&amp;amp;hl=en_US"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/RkQ6XgXeNuY?fs=1&amp;amp;hl=en_US" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="400" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;My favorite:&lt;br /&gt;Q: Why did Washington crossed the Delawere?&lt;br /&gt;A: To get to the other side &amp;nbsp;(go to 3:22)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2786700862191536790-1071718415518205383?l=yoavrubin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoavrubin.blogspot.com/feeds/1071718415518205383/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2786700862191536790&amp;postID=1071718415518205383' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/1071718415518205383'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/1071718415518205383'/><link rel='alternate' type='text/html' href='http://yoavrubin.blogspot.com/2010/10/go-usa.html' title='Go USA'/><author><name>Yoav Rubin</name><uri>http://www.blogger.com/profile/02020814739195147149</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-2786700862191536790.post-6943566325820398180</id><published>2010-10-15T04:38:00.000+02:00</published><updated>2010-10-15T04:38:20.811+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='usability'/><title type='text'>Excellent article on usability</title><content type='html'>&lt;a href="http://userpathways.com/"&gt;User pathways&lt;/a&gt; is an excellent blog that discusses various, non-programming related, topics that are essential for any front-end engineer. Recently great article that discusses usability was added, see &lt;a href="http://userpathways.com/2010/10/usability/trackback/"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2786700862191536790-6943566325820398180?l=yoavrubin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoavrubin.blogspot.com/feeds/6943566325820398180/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2786700862191536790&amp;postID=6943566325820398180' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/6943566325820398180'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/6943566325820398180'/><link rel='alternate' type='text/html' href='http://yoavrubin.blogspot.com/2010/10/excellent-article-on-usability.html' title='Excellent article on usability'/><author><name>Yoav Rubin</name><uri>http://www.blogger.com/profile/02020814739195147149</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-2786700862191536790.post-2276982965320876458</id><published>2010-10-12T05:55:00.003+02:00</published><updated>2010-10-12T06:01:58.370+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='signs'/><category scheme='http://www.blogger.com/atom/ns#' term='coffee'/><category scheme='http://www.blogger.com/atom/ns#' term='funny'/><title type='text'>A slippery slope's beginning</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_pkfLbQ-U7_0/TLPbTmf1cgI/AAAAAAAACu4/oXoylEvDQbo/s1600/Toronto_20101011_0091+(1).JPG" imageanchor="1" style="margin-left: 0em; margin-right: 2em;"&gt;&lt;img border="0" height="300" src="http://2.bp.blogspot.com/_pkfLbQ-U7_0/TLPbTmf1cgI/AAAAAAAACu4/oXoylEvDQbo/s400/Toronto_20101011_0091+(1).JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;What's next, a restaurant proudly selling a McDonald's&amp;nbsp;big mac?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2786700862191536790-2276982965320876458?l=yoavrubin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoavrubin.blogspot.com/feeds/2276982965320876458/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2786700862191536790&amp;postID=2276982965320876458' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/2276982965320876458'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/2276982965320876458'/><link rel='alternate' type='text/html' href='http://yoavrubin.blogspot.com/2010/10/slippery-slopes-beginning.html' title='A slippery slope&apos;s beginning'/><author><name>Yoav Rubin</name><uri>http://www.blogger.com/profile/02020814739195147149</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://2.bp.blogspot.com/_pkfLbQ-U7_0/TLPbTmf1cgI/AAAAAAAACu4/oXoylEvDQbo/s72-c/Toronto_20101011_0091+(1).JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2786700862191536790.post-4035987045667638802</id><published>2010-10-08T20:04:00.000+02:00</published><updated>2010-10-08T20:04:30.871+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='web3.0'/><category scheme='http://www.blogger.com/atom/ns#' term='technology'/><category scheme='http://www.blogger.com/atom/ns#' term='REST'/><category scheme='http://www.blogger.com/atom/ns#' term='ajax'/><category scheme='http://www.blogger.com/atom/ns#' term='CORS'/><category scheme='http://www.blogger.com/atom/ns#' term='Software as a service'/><title type='text'>Web 3.0 - my prediction of how would it be</title><content type='html'>People have started to talk about web 3.0, ever since the term web 2.0 was coined. I've written &lt;a href="http://yoavrubin.blogspot.com/2007/06/little-bit-about-web20.html"&gt;before how I define web 2.0&lt;/a&gt;, and wrote there about my three pillars idea for technological revolution. Let's try to see how web 3.0 is mapped to this idea. &lt;br /&gt;&lt;br /&gt;The first pillar is the technological advance. It seems to me that &lt;a href="http://www.w3.org/TR/cors/"&gt;CORS &lt;/a&gt;(Cross Origin Resource Sharing) technology is something that can act as this pillar. &lt;br /&gt;&lt;br /&gt;Let me discuss this technology a little, as it is a very new and not really known one.&lt;br /&gt;The dynamics of web interactions is evolving, first there was just a plain request-response mechanism in which browser asked for a page following by the server returning it and no more interaction afterwards. That was web 1.0.&amp;nbsp;Then came the Ajax concept, which removed the "no more interaction afterwards" limit. This allowed ongoing interaction between the client and server. This is web 2.0.&lt;br /&gt;Still,there is a limiting issue here, which is the fact that each page/application is talking only to its own server/domain.&lt;br /&gt;Here enters CORS. The combination of CORS and &lt;a href="http://en.wikipedia.org/wiki/Representational_State_Transfer"&gt;RESTful &lt;/a&gt;server-side architecture allows web applications to be launched from one domain, and from that point communicate with any other server from other domains (and bypass the &lt;a href="http://en.wikipedia.org/wiki/Same_origin_policy"&gt;same origin policy&lt;/a&gt; of the browsers), and basically allow multi-domain collaboration without the need to interact with the original server/domain (the application's launch server).&lt;br /&gt;&lt;br /&gt;The second pillar, the business model, is yet to evolve. But, I believe that we would witness a new kind of collaboration that would yield new kinds of business models. Sites/domains would provide core expertise and not an entire solution. Think of a domain that just provides storage, another that provide's content and a third one that can provide various visualizations / styles for that content, each has its own expertise which eventually results in better product to the user, and where there are better products, there's money.&lt;br /&gt;&lt;br /&gt;As for the third pillar, the platform - my guess is that the combination of PaaS / SaaS (platform/software as a service) with the evolving semantic web may act the platform pillar that would allow the web 3.0 revolution.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2786700862191536790-4035987045667638802?l=yoavrubin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoavrubin.blogspot.com/feeds/4035987045667638802/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2786700862191536790&amp;postID=4035987045667638802' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/4035987045667638802'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/4035987045667638802'/><link rel='alternate' type='text/html' href='http://yoavrubin.blogspot.com/2010/10/web-30-my-prediction-of-how-would-it-be.html' title='Web 3.0 - my prediction of how would it be'/><author><name>Yoav Rubin</name><uri>http://www.blogger.com/profile/02020814739195147149</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-2786700862191536790.post-1535615652802606212</id><published>2010-10-03T04:50:00.004+02:00</published><updated>2010-10-03T04:53:25.018+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='signs'/><category scheme='http://www.blogger.com/atom/ns#' term='funny'/><title type='text'>Symbiosis</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_pkfLbQ-U7_0/TKfs2WcAjBI/AAAAAAAACu0/crFH8jPxTfQ/s1600/Toronto_20100924_0002.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;div class="separator" style="clear: both; text-align: auto;"&gt;I noticed it and took this picture (near High park in Toronto).&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: auto;"&gt;&lt;a href="http://4.bp.blogspot.com/_pkfLbQ-U7_0/TKfs2WcAjBI/AAAAAAAACu0/crFH8jPxTfQ/s1600/Toronto_20100924_0002.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em; position: relative;"&gt;&lt;img border="0" height="300" src="http://4.bp.blogspot.com/_pkfLbQ-U7_0/TKfs2WcAjBI/AAAAAAAACu0/crFH8jPxTfQ/s400/Toronto_20100924_0002.JPG" width="400" style="position: relative; left:-10px" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;(click on the photo to see it in larger size)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2786700862191536790-1535615652802606212?l=yoavrubin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoavrubin.blogspot.com/feeds/1535615652802606212/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2786700862191536790&amp;postID=1535615652802606212' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/1535615652802606212'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/1535615652802606212'/><link rel='alternate' type='text/html' href='http://yoavrubin.blogspot.com/2010/10/symbiosis.html' title='Symbiosis'/><author><name>Yoav Rubin</name><uri>http://www.blogger.com/profile/02020814739195147149</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://4.bp.blogspot.com/_pkfLbQ-U7_0/TKfs2WcAjBI/AAAAAAAACu0/crFH8jPxTfQ/s72-c/Toronto_20100924_0002.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2786700862191536790.post-7792379526685244410</id><published>2010-09-20T07:15:00.003+02:00</published><updated>2010-09-20T11:18:39.728+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='neuroscience'/><title type='text'>My dissertation</title><content type='html'>Finally I've submitted my M.Sc. dissertation.&lt;br /&gt;&lt;br /&gt;A short summary of new things I've learned on my own (not courses) during my M.Sc. studies (not in any particular order)&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Microscopy (especially laser microscopy) and optics&lt;/li&gt;&lt;li&gt;Neuroimaging&lt;/li&gt;&lt;li&gt;Image analysis&lt;/li&gt;&lt;li&gt;Signal processing&lt;/li&gt;&lt;li&gt;Statistical analysis and data mining&lt;/li&gt;&lt;li&gt;Matlab programming&lt;/li&gt;&lt;li&gt;Mechanisms in neural networks&lt;/li&gt;&lt;li&gt;Scientific writing&lt;/li&gt;&lt;/ul&gt;These are not all the subjects I had to learn and use, but they are the main ones.&lt;br /&gt;&lt;br /&gt;&lt;div id="__ss_5236985" style="width: 407px;"&gt;&lt;strong style="display: block; margin: 12px 0 4px;"&gt;&lt;a href="http://www.slideshare.net/yoavrubin/two-photon-imaging-with-high-temporal-resolution-of-correlated-neural-activity-5236985" title="Two photon Imaging with High Temporal Resolution of Correlated Neural Activity"&gt;Two photon Imaging with High Temporal Resolution of Correlated Neural Activity&lt;/a&gt;&lt;/strong&gt;&lt;object height="510" id="__sse5236985" width="407"&gt;&lt;param name="movie" value="http://static.slidesharecdn.com/swf/doc_player.swf?doc=lastversionwithabstractcorrected-jsyr-100919235614-phpapp02&amp;stripped_title=two-photon-imaging-with-high-temporal-resolution-of-correlated-neural-activity-5236985&amp;userName=yoavrubin" /&gt;&lt;param name="allowFullScreen" value="true"/&gt;&lt;param name="allowScriptAccess" value="always"/&gt;&lt;embed name="__sse5236985" src="http://static.slidesharecdn.com/swf/doc_player.swf?doc=lastversionwithabstractcorrected-jsyr-100919235614-phpapp02&amp;stripped_title=two-photon-imaging-with-high-temporal-resolution-of-correlated-neural-activity-5236985&amp;userName=yoavrubin" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="407" height="510"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;div style="padding: 5px 0 12px;"&gt;View more &lt;a href="http://www.slideshare.net/"&gt;documents&lt;/a&gt; from &lt;a href="http://www.slideshare.net/yoavrubin"&gt;yoavrubin&lt;/a&gt;.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2786700862191536790-7792379526685244410?l=yoavrubin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoavrubin.blogspot.com/feeds/7792379526685244410/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2786700862191536790&amp;postID=7792379526685244410' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/7792379526685244410'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/7792379526685244410'/><link rel='alternate' type='text/html' href='http://yoavrubin.blogspot.com/2010/09/my-dissertation.html' title='My dissertation'/><author><name>Yoav Rubin</name><uri>http://www.blogger.com/profile/02020814739195147149</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-2786700862191536790.post-4577718844667165170</id><published>2010-09-01T15:25:00.001+03:00</published><updated>2010-09-12T08:29:25.648+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sting'/><category scheme='http://www.blogger.com/atom/ns#' term='REM'/><category scheme='http://www.blogger.com/atom/ns#' term='thrilingly beautiful'/><category scheme='http://www.blogger.com/atom/ns#' term='music'/><category scheme='http://www.blogger.com/atom/ns#' term='springsteen'/><category scheme='http://www.blogger.com/atom/ns#' term='U2'/><title type='text'>Springsteen &amp; friends</title><content type='html'>Just when I thought that it is already perfect, here comes Sting and provides his 2 cents to "The River":&lt;br /&gt;&lt;br /&gt;&lt;object width="480" height="385"&gt;&lt;param name="movie" value="http://www.youtube.com/v/pDjQRgoOcpk?fs=1&amp;amp;hl=en_US"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/pDjQRgoOcpk?fs=1&amp;amp;hl=en_US" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Bringing "I still haven't found what I'm looking for" to perfection:&lt;br /&gt;&lt;br /&gt;&lt;object width="640" height="385"&gt;&lt;param name="movie" value="http://www.youtube.com/v/JVdZ0Rdm8zI?fs=1&amp;amp;hl=en_US"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/JVdZ0Rdm8zI?fs=1&amp;amp;hl=en_US" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Last but not least - with REM, doing "Born to Run" the way that only veterans can:&lt;br /&gt;&lt;br /&gt;&lt;object width="640" height="385"&gt;&lt;param name="movie" value="http://www.youtube.com/v/tCDnXt7VEgQ?fs=1&amp;amp;hl=en_US"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/tCDnXt7VEgQ?fs=1&amp;amp;hl=en_US" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2786700862191536790-4577718844667165170?l=yoavrubin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoavrubin.blogspot.com/feeds/4577718844667165170/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2786700862191536790&amp;postID=4577718844667165170' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/4577718844667165170'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/4577718844667165170'/><link rel='alternate' type='text/html' href='http://yoavrubin.blogspot.com/2010/09/springsteen-friends.html' title='Springsteen &amp; friends'/><author><name>Yoav Rubin</name><uri>http://www.blogger.com/profile/02020814739195147149</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-2786700862191536790.post-8319959798799171768</id><published>2010-08-17T12:17:00.001+03:00</published><updated>2010-08-17T12:20:09.522+03:00</updated><title type='text'>Not sure what to think about it</title><content type='html'>really love it or really hate it, one of these two&lt;br /&gt;&lt;br /&gt;&lt;object width="480" height="385"&gt;&lt;param name="movie" value="http://www.youtube.com/v/GUoanho82H4?fs=1&amp;amp;hl=en_US"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/GUoanho82H4?fs=1&amp;amp;hl=en_US" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2786700862191536790-8319959798799171768?l=yoavrubin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoavrubin.blogspot.com/feeds/8319959798799171768/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2786700862191536790&amp;postID=8319959798799171768' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/8319959798799171768'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/8319959798799171768'/><link rel='alternate' type='text/html' href='http://yoavrubin.blogspot.com/2010/08/not-sure-what-to-think-about-it.html' title='Not sure what to think about it'/><author><name>Yoav Rubin</name><uri>http://www.blogger.com/profile/02020814739195147149</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-2786700862191536790.post-4283968905971913502</id><published>2010-06-24T11:44:00.005+03:00</published><updated>2010-06-28T10:14:43.322+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='publications'/><category scheme='http://www.blogger.com/atom/ns#' term='developerWorks'/><category scheme='http://www.blogger.com/atom/ns#' term='ajax'/><title type='text'>Another publication on developerWorks</title><content type='html'>The article &lt;a href="http://www.ibm.com/developerworks/web/library/wa-aj-ajaxcomm/index.html"&gt;Various client-server communication mechanisms in an Ajax-based web application&lt;/a&gt; that I wrote is now published in &lt;a href="http://www.ibm.com/developerworks/"&gt;developerWorks&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Here is a list of my previous publications in developerWorks:&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.ibm.com/developerworks/web/library/wa-aj-basics/"&gt;Ajax - a guide for the perplexed, part 1: Survey of Ajax tools and techniques&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.ibm.com/developerworks/web/library/wa-dojo/"&gt;Internationalizing Web applications using Dojo&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.ibm.com/developerworks/web/library/wa-webspheresmash/index.html"&gt;Create Web applications using IBM WebSphere sMash DE&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2786700862191536790-4283968905971913502?l=yoavrubin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoavrubin.blogspot.com/feeds/4283968905971913502/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2786700862191536790&amp;postID=4283968905971913502' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/4283968905971913502'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/4283968905971913502'/><link rel='alternate' type='text/html' href='http://yoavrubin.blogspot.com/2010/06/another-publication-on-developerworks.html' title='Another publication on developerWorks'/><author><name>Yoav Rubin</name><uri>http://www.blogger.com/profile/02020814739195147149</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-2786700862191536790.post-3303902576764179631</id><published>2010-06-24T10:59:00.002+03:00</published><updated>2010-06-24T11:02:43.942+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='ajax'/><category scheme='http://www.blogger.com/atom/ns#' term='technion'/><title type='text'>A lecture about JavaScript</title><content type='html'>I was invited to give a lecture about JavaScript in the course "Programming Languages" in the CS faculty of the Technion IIT.&lt;br /&gt;&lt;br /&gt;Here are the slides:&lt;br /&gt;&lt;br /&gt;&lt;div style="width:425px" id="__ss_4600518"&gt;&lt;strong style="display:block;margin:12px 0 4px"&gt;&lt;a href="http://www.slideshare.net/yoavrubin/java-script-programming-languages-course" title="Java script - Programming Languages course "&gt;Java script - Programming Languages course &lt;/a&gt;&lt;/strong&gt;&lt;object id="__sse4600518" width="425" height="355"&gt;&lt;param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=javascript-programminglanguagescoursespring2010-100624025608-phpapp01&amp;stripped_title=java-script-programming-languages-course" /&gt;&lt;param name="allowFullScreen" value="true"/&gt;&lt;param name="allowScriptAccess" value="always"/&gt;&lt;embed name="__sse4600518" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=javascript-programminglanguagescoursespring2010-100624025608-phpapp01&amp;stripped_title=java-script-programming-languages-course" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div style="padding:5px 0 12px"&gt;View more &lt;a href="http://www.slideshare.net/"&gt;presentations&lt;/a&gt; from &lt;a href="http://www.slideshare.net/yoavrubin"&gt;yoavrubin&lt;/a&gt;.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2786700862191536790-3303902576764179631?l=yoavrubin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoavrubin.blogspot.com/feeds/3303902576764179631/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2786700862191536790&amp;postID=3303902576764179631' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/3303902576764179631'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/3303902576764179631'/><link rel='alternate' type='text/html' href='http://yoavrubin.blogspot.com/2010/06/lecture-about-javascript.html' title='A lecture about JavaScript'/><author><name>Yoav Rubin</name><uri>http://www.blogger.com/profile/02020814739195147149</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-2786700862191536790.post-7156107065485385030</id><published>2010-05-26T14:54:00.003+03:00</published><updated>2010-05-26T14:55:38.300+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='software'/><category scheme='http://www.blogger.com/atom/ns#' term='ajax'/><title type='text'>Cross domain ajax calls</title><content type='html'>See here: &lt;a href="http://www.nczonline.net/blog/2010/05/25/cross-domain-ajax-with-cross-origin-resource-sharing/"&gt;http://www.nczonline.net/blog/2010/05/25/cross-domain-ajax-with-cross-origin-resource-sharing/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2786700862191536790-7156107065485385030?l=yoavrubin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoavrubin.blogspot.com/feeds/7156107065485385030/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2786700862191536790&amp;postID=7156107065485385030' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/7156107065485385030'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/7156107065485385030'/><link rel='alternate' type='text/html' href='http://yoavrubin.blogspot.com/2010/05/cross-domain-ajax-calls.html' title='Cross domain ajax calls'/><author><name>Yoav Rubin</name><uri>http://www.blogger.com/profile/02020814739195147149</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-2786700862191536790.post-5517446262650285091</id><published>2010-05-22T08:14:00.005+03:00</published><updated>2010-05-22T08:23:35.007+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='software'/><category scheme='http://www.blogger.com/atom/ns#' term='funny'/><title type='text'>Software development methodologies - how it really works</title><content type='html'>&lt;a href=http://www.scottberkun.com/blog/2007/asshole-driven-development/&gt;Here is a short list&lt;/a&gt;, you will not regret reading the comments...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2786700862191536790-5517446262650285091?l=yoavrubin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoavrubin.blogspot.com/feeds/5517446262650285091/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2786700862191536790&amp;postID=5517446262650285091' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/5517446262650285091'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/5517446262650285091'/><link rel='alternate' type='text/html' href='http://yoavrubin.blogspot.com/2010/05/software-development-methodologies-how.html' title='Software development methodologies - how it really works'/><author><name>Yoav Rubin</name><uri>http://www.blogger.com/profile/02020814739195147149</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-2786700862191536790.post-6963469542477832124</id><published>2009-10-02T08:10:00.002+02:00</published><updated>2009-10-02T08:13:33.192+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='funny'/><title type='text'>Mount Rushmore viewed from North Dakota</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_pkfLbQ-U7_0/SsWZrMhfzzI/AAAAAAAACtg/IrzncaRXz-k/s1600-h/QueerTravel_1.preview.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 400px; height: 283px;" src="http://3.bp.blogspot.com/_pkfLbQ-U7_0/SsWZrMhfzzI/AAAAAAAACtg/IrzncaRXz-k/s400/QueerTravel_1.preview.jpg" alt="" id="BLOGGER_PHOTO_ID_5387881496593813298" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2786700862191536790-6963469542477832124?l=yoavrubin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoavrubin.blogspot.com/feeds/6963469542477832124/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2786700862191536790&amp;postID=6963469542477832124' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/6963469542477832124'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/6963469542477832124'/><link rel='alternate' type='text/html' href='http://yoavrubin.blogspot.com/2009/10/mount-rushmore-viewed-from-north-dakota.html' title='Mount Rushmore viewed from North Dakota'/><author><name>Yoav Rubin</name><uri>http://www.blogger.com/profile/02020814739195147149</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/_pkfLbQ-U7_0/SsWZrMhfzzI/AAAAAAAACtg/IrzncaRXz-k/s72-c/QueerTravel_1.preview.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2786700862191536790.post-9140817442391145460</id><published>2009-09-30T19:04:00.008+02:00</published><updated>2009-09-30T21:23:31.126+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='thrilingly beautiful'/><title type='text'>Fiddling and dancing</title><content type='html'>Whatever you do, do not miss the last minute&lt;br /&gt;&lt;br /&gt;&lt;object height="300" width="400" style="position: relative; left: -25px;"&gt;&lt;param name="movie" value="http://video.ted.com/assets/player/swf/EmbedPlayer.swf"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="wmode" value="transparent"&gt;&lt;param name="bgColor" value="#ffffff"&gt; &lt;param name="flashvars" value="vu=http://video.ted.com/talks/dynamic/NatalieMacMaster_2002-medium.flv&amp;amp;su=http://images.ted.com/images/ted/tedindex/embed-posters/NatalieMacMaster-2002.embed_thumbnail.jpg&amp;amp;vw=432&amp;amp;vh=240&amp;amp;ap=0&amp;amp;ti=117&amp;amp;introDuration=16500&amp;amp;adDuration=4000&amp;amp;postAdDuration=2000&amp;amp;adKeys=talk=natalie_macmaster_fiddles_in_reel_time;year=2002;theme=the_creative_spark;theme=live_music;theme=spectacular_performance;event=TED2002;&amp;amp;preAdTag=tconf.ted/embed;tile=1;sz=512x288;"&gt;&lt;embed src="http://video.ted.com/assets/player/swf/EmbedPlayer.swf" pluginspace="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" wmode="transparent" bgcolor="#ffffff" allowfullscreen="true" flashvars="vu=http://video.ted.com/talks/dynamic/NatalieMacMaster_2002-medium.flv&amp;amp;su=http://images.ted.com/images/ted/tedindex/embed-posters/NatalieMacMaster-2002.embed_thumbnail.jpg&amp;amp;vw=432&amp;amp;vh=240&amp;amp;ap=0&amp;amp;ti=117&amp;amp;introDuration=16500&amp;amp;adDuration=4000&amp;amp;postAdDuration=2000&amp;amp;adKeys=talk=natalie_macmaster_fiddles_in_reel_time;year=2002;theme=the_creative_spark;theme=live_music;theme=spectacular_performance;event=TED2002;" height="326" width="446"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2786700862191536790-9140817442391145460?l=yoavrubin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoavrubin.blogspot.com/feeds/9140817442391145460/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2786700862191536790&amp;postID=9140817442391145460' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/9140817442391145460'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/9140817442391145460'/><link rel='alternate' type='text/html' href='http://yoavrubin.blogspot.com/2009/09/fiddling-and-dancing.html' title='Fiddling and dancing'/><author><name>Yoav Rubin</name><uri>http://www.blogger.com/profile/02020814739195147149</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-2786700862191536790.post-2071187953897112582</id><published>2009-09-22T16:38:00.007+03:00</published><updated>2009-09-22T16:44:25.867+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='visualization'/><category scheme='http://www.blogger.com/atom/ns#' term='humor'/><title type='text'>Sienfeld  infographics</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_pkfLbQ-U7_0/SrjUp9gyRDI/AAAAAAAACtY/pF1MyqpILgg/s1600-h/3791005464_636de0a75a_b.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 400px; height: 358px;" src="http://4.bp.blogspot.com/_pkfLbQ-U7_0/SrjUp9gyRDI/AAAAAAAACtY/pF1MyqpILgg/s400/3791005464_636de0a75a_b.jpg" alt="" id="BLOGGER_PHOTO_ID_5384287171873227826" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Not mine, it is originally &lt;a href="http://farm3.static.flickr.com/2508/3791005464_636de0a75a_b.jpg"&gt;here&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2786700862191536790-2071187953897112582?l=yoavrubin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoavrubin.blogspot.com/feeds/2071187953897112582/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2786700862191536790&amp;postID=2071187953897112582' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/2071187953897112582'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/2071187953897112582'/><link rel='alternate' type='text/html' href='http://yoavrubin.blogspot.com/2009/09/sienfeld-infographics.html' title='Sienfeld  infographics'/><author><name>Yoav Rubin</name><uri>http://www.blogger.com/profile/02020814739195147149</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://4.bp.blogspot.com/_pkfLbQ-U7_0/SrjUp9gyRDI/AAAAAAAACtY/pF1MyqpILgg/s72-c/3791005464_636de0a75a_b.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2786700862191536790.post-4318170403246078258</id><published>2009-09-15T19:16:00.001+03:00</published><updated>2009-10-02T07:44:17.102+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='commercial'/><category scheme='http://www.blogger.com/atom/ns#' term='basketball'/><category scheme='http://www.blogger.com/atom/ns#' term='thrilingly beautiful'/><title type='text'>Ahh, sweet memories</title><content type='html'>&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/dBxcunGc_nA&amp;amp;hl=en&amp;amp;fs=1&amp;amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/dBxcunGc_nA&amp;amp;hl=en&amp;amp;fs=1&amp;amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2786700862191536790-4318170403246078258?l=yoavrubin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoavrubin.blogspot.com/feeds/4318170403246078258/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2786700862191536790&amp;postID=4318170403246078258' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/4318170403246078258'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/4318170403246078258'/><link rel='alternate' type='text/html' href='http://yoavrubin.blogspot.com/2009/09/ahh-sweet-memories.html' title='Ahh, sweet memories'/><author><name>Yoav Rubin</name><uri>http://www.blogger.com/profile/02020814739195147149</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-2786700862191536790.post-1755520001239486062</id><published>2009-08-18T14:14:00.007+03:00</published><updated>2009-08-18T15:26:22.551+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='dojo'/><title type='text'>The zen of dojo.connect</title><content type='html'>One of the most used functions, yet least thought of in Dojo is dojo.connect. &lt;br /&gt;Still, this small function is one of the best demonstrations of the power of the dynamical nature of Javascript.  &lt;br /&gt;Basically, what this function does is allow its users to call any function in any context, whenever a given function at a given scope was called.&lt;br /&gt;&lt;br /&gt;Think of that last sentence again, up till now, if function T needed to be called due to the fact that function S was called, you had to follow the following steps:&lt;br /&gt;&lt;br /&gt;1. Hope that the creator of function S provided a notification when function S was called&lt;br /&gt;&lt;br /&gt;2. Hope that the creator of the object that holds function S provided an API that allows you to register to that notification, and made that option a public one.&lt;br /&gt;&lt;br /&gt;Too much here relies on the API design capabilities of the creator of the function S.&lt;br /&gt;&lt;br /&gt;Dojo solved it.&lt;br /&gt;&lt;br /&gt;Dojo.connect is all about removing the need for relying on the good design skills of other people but you. Generally speaking this function takes function S, puts it aside and replaces it with a dispatcher, that calls all the T functions after that dispatcher first calls function S.&lt;br /&gt;&lt;br /&gt;So where's the glorious dynamical nature of Javascript? function S is part of an object, let's call it O. Prior to calling dojo.connect, O.S was the function that was created by the author of the function S. After the call, O.S is another function, a function that dojo.connect injected there and this function does just I've described previously. Thus the API's of O are not harmed, but now there's no need for hoping whenever you use code that you are not responsible for and cannot be modified by you.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2786700862191536790-1755520001239486062?l=yoavrubin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoavrubin.blogspot.com/feeds/1755520001239486062/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2786700862191536790&amp;postID=1755520001239486062' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/1755520001239486062'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/1755520001239486062'/><link rel='alternate' type='text/html' href='http://yoavrubin.blogspot.com/2009/08/zen-of-dojoconnect.html' title='The zen of dojo.connect'/><author><name>Yoav Rubin</name><uri>http://www.blogger.com/profile/02020814739195147149</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-2786700862191536790.post-5246632863272672777</id><published>2009-06-16T12:52:00.004+03:00</published><updated>2010-10-26T17:38:27.580+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='commercial'/><category scheme='http://www.blogger.com/atom/ns#' term='only in america'/><category scheme='http://www.blogger.com/atom/ns#' term='funny'/><title type='text'>Degenerative America</title><content type='html'>Only in America&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/crfGXmxJ1vM&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;hl=en&amp;feature=player_embedded&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowScriptAccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/crfGXmxJ1vM&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;hl=en&amp;feature=player_embedded&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2786700862191536790-5246632863272672777?l=yoavrubin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoavrubin.blogspot.com/feeds/5246632863272672777/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2786700862191536790&amp;postID=5246632863272672777' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/5246632863272672777'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/5246632863272672777'/><link rel='alternate' type='text/html' href='http://yoavrubin.blogspot.com/2009/06/degenerative-america.html' title='Degenerative America'/><author><name>Yoav Rubin</name><uri>http://www.blogger.com/profile/02020814739195147149</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-2786700862191536790.post-2031735463914552403</id><published>2009-05-08T08:30:00.012+03:00</published><updated>2010-09-22T20:40:50.934+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='book review'/><title type='text'>Book Review - Web Form Design: Filling in the Blanks</title><content type='html'>I got the book "Web Form Desing: Filling in the blanks" by Luke Wroblewski a few weeks after it was published and read it several times since, but recently I got to an understanding that this book is much more then a design / UI best practices book.&lt;br /&gt;In its essence this is a book about reducing the entropy as a way to convey proper information. Let me explain this point.&lt;br /&gt;A form is a visual element that usually distracts the user from his main purpose, and thus needs to perform some sort of a context switch in the user's mind, and as with every context switch, it gets more and more costly when the new process needs more information and time to process. Now, a form has a lot of building blocks, part are explicit (like the fields) and part are implicit (like label positioning) and every little thing that is reflected on the design of the form, effects the "price" a user needs to pay in order to process it.&lt;br /&gt;In my mind, Luke had found the right way to minimize a form's noise thus achieving a reduction in the form's entropy, and as any information theorist will tell you, less entropy means more information. Basically, since the brain is the decoder of the visual information, what Luke had discovered is how to properly code the form's information in a way that would result in an optimal signal to  noise ratio in the brain.&lt;br /&gt;Moreover, this book combines this information theory concept of getting the information out of the signal while reducing the noise with a zen like approach that states that everything matters, and in order to get to perfection, you can never say "it doesn't matter" on anything, because anything matters. If you think that it doesn't matter, then search deeper for the meaning of the differences between the different choises you confront.&lt;br /&gt;I guess that Luke didn't intend to write a book about information theory and zen, but as I see it, this book is the projection of the combination of these two things on the web forms design axis.&lt;br /&gt;&lt;br /&gt;This is an excellent book, for anyone, and especially for those that have a hard time living with mediocor solution when a perfect solution is right around the corner.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Update &lt;/span&gt;- this is what Luke wrote me as a response to this entry:&lt;br /&gt;&lt;br /&gt;Thanks Yoav, appreciate the review and the lens you took on it. In essence, you hit the nail on the head: minimize the pain of the context shift of the form by not ignoring any details so that you can get people to their real goals :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2786700862191536790-2031735463914552403?l=yoavrubin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoavrubin.blogspot.com/feeds/2031735463914552403/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2786700862191536790&amp;postID=2031735463914552403' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/2031735463914552403'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/2031735463914552403'/><link rel='alternate' type='text/html' href='http://yoavrubin.blogspot.com/2009/05/book-review-web-form-design-filling-in.html' title='Book Review - Web Form Design: Filling in the Blanks'/><author><name>Yoav Rubin</name><uri>http://www.blogger.com/profile/02020814739195147149</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-2786700862191536790.post-800551371081014227</id><published>2009-03-23T08:37:00.003+02:00</published><updated>2010-11-08T05:56:02.346+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='only in america'/><category scheme='http://www.blogger.com/atom/ns#' term='humor'/><category scheme='http://www.blogger.com/atom/ns#' term='masterpiece'/><title type='text'>Foreign Film Dubbing - Canadian</title><content type='html'>One of the funniest scenes in one of the funniest TV shows - "who's line is it anyway"`s cast is doing a foreign film dubbing - the audience choose the foreign language to be "Canadian"&lt;br /&gt;&lt;br /&gt;&lt;object height="344" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/TYDfSBdKUC8&amp;amp;hl=en&amp;amp;fs=1"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/TYDfSBdKUC8&amp;amp;hl=en&amp;amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2786700862191536790-800551371081014227?l=yoavrubin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoavrubin.blogspot.com/feeds/800551371081014227/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2786700862191536790&amp;postID=800551371081014227' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/800551371081014227'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/800551371081014227'/><link rel='alternate' type='text/html' href='http://yoavrubin.blogspot.com/2009/03/foreign-film-dubbing-canadian.html' title='Foreign Film Dubbing - Canadian'/><author><name>Yoav Rubin</name><uri>http://www.blogger.com/profile/02020814739195147149</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-2786700862191536790.post-999264461634678032</id><published>2009-03-18T17:16:00.002+02:00</published><updated>2009-03-18T17:19:03.157+02:00</updated><title type='text'>On religion, science and engineering</title><content type='html'>Religion revolves around the question "Why things work"&lt;br /&gt;Science revolves around the question "How things work"&lt;br /&gt;Engineering revolves around the question "How to make things work"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2786700862191536790-999264461634678032?l=yoavrubin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoavrubin.blogspot.com/feeds/999264461634678032/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2786700862191536790&amp;postID=999264461634678032' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/999264461634678032'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/999264461634678032'/><link rel='alternate' type='text/html' href='http://yoavrubin.blogspot.com/2009/03/on-religion-science-and-engineering.html' title='On religion, science and engineering'/><author><name>Yoav Rubin</name><uri>http://www.blogger.com/profile/02020814739195147149</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-2786700862191536790.post-5768792062277255002</id><published>2009-03-07T09:54:00.003+02:00</published><updated>2009-03-23T08:36:20.916+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='humor'/><category scheme='http://www.blogger.com/atom/ns#' term='monty python'/><category scheme='http://www.blogger.com/atom/ns#' term='masterpiece'/><title type='text'>An example of british understatment</title><content type='html'>&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/F2kAnTZBnTg&amp;amp;hl=en&amp;amp;fs=1"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/F2kAnTZBnTg&amp;amp;hl=en&amp;amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;...Beckenbauer obviously a bit of a surprise there...&lt;br /&gt;&lt;br /&gt;Absolutely brilliant&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2786700862191536790-5768792062277255002?l=yoavrubin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoavrubin.blogspot.com/feeds/5768792062277255002/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2786700862191536790&amp;postID=5768792062277255002' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/5768792062277255002'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/5768792062277255002'/><link rel='alternate' type='text/html' href='http://yoavrubin.blogspot.com/2009/03/example-of-british-understatment.html' title='An example of british understatment'/><author><name>Yoav Rubin</name><uri>http://www.blogger.com/profile/02020814739195147149</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-2786700862191536790.post-7577460165119646763</id><published>2008-12-13T19:35:00.005+02:00</published><updated>2009-03-07T10:04:37.150+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='dilbert'/><category scheme='http://www.blogger.com/atom/ns#' term='humor'/><category scheme='http://www.blogger.com/atom/ns#' term='economy'/><title type='text'>The best explanation I've seen so far about the root cause of the financial crisis</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_pkfLbQ-U7_0/SUP0CSBQ9EI/AAAAAAAACsg/bqq9XXhc5Z8/s1600-h/34812.strip.gif"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 400px; height: 124px;" src="http://3.bp.blogspot.com/_pkfLbQ-U7_0/SUP0CSBQ9EI/AAAAAAAACsg/bqq9XXhc5Z8/s400/34812.strip.gif" alt="" id="BLOGGER_PHOTO_ID_5279331508242412610" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: rgb(85, 26, 139); text-decoration: underline;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2786700862191536790-7577460165119646763?l=yoavrubin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoavrubin.blogspot.com/feeds/7577460165119646763/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2786700862191536790&amp;postID=7577460165119646763' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/7577460165119646763'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/7577460165119646763'/><link rel='alternate' type='text/html' href='http://yoavrubin.blogspot.com/2008/12/best-explanation-ive-seen-so-far-about.html' title='The best explanation I&apos;ve seen so far about the root cause of the financial crisis'/><author><name>Yoav Rubin</name><uri>http://www.blogger.com/profile/02020814739195147149</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/_pkfLbQ-U7_0/SUP0CSBQ9EI/AAAAAAAACsg/bqq9XXhc5Z8/s72-c/34812.strip.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2786700862191536790.post-8954603337467112790</id><published>2008-11-16T16:00:00.003+02:00</published><updated>2008-11-16T16:04:16.177+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><category scheme='http://www.blogger.com/atom/ns#' term='dojo'/><title type='text'>Overcoming the limits of multiple inheritance in dojo</title><content type='html'>I've written a short cookie in dojocampus about doing multiple inheritance in Dojo, you can read it &lt;a href="http://dojocampus.org/content/2008/11/16/a-hidden-gem-of-dojodeclare-overcoming-the-limits-of-multiple-inheritance/"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;style type="text/css"&gt;&lt;/style&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2786700862191536790-8954603337467112790?l=yoavrubin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoavrubin.blogspot.com/feeds/8954603337467112790/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2786700862191536790&amp;postID=8954603337467112790' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/8954603337467112790'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/8954603337467112790'/><link rel='alternate' type='text/html' href='http://yoavrubin.blogspot.com/2008/11/overcoming-limits-of-multiple.html' title='Overcoming the limits of multiple inheritance in dojo'/><author><name>Yoav Rubin</name><uri>http://www.blogger.com/profile/02020814739195147149</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-2786700862191536790.post-4450221439112038144</id><published>2008-11-13T00:50:00.008+02:00</published><updated>2008-12-13T19:45:54.556+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='movies'/><category scheme='http://www.blogger.com/atom/ns#' term='quotes'/><title type='text'>Great quotes from excellent movies</title><content type='html'>"Do you not get it, lads? The Irish are the blacks of Europe. And Dubliners are the blacks of Ireland. And the Northside Dubliners are the blacks of Dublin. So say it once, say it loud: I'm black and I'm proud" -  The Commitments&lt;br /&gt;&lt;br /&gt;"In the quiet words of the Virgin Mary... come again? " - Snatch&lt;br /&gt;&lt;br /&gt;"We're on a mission from God." - The Blues Brothers&lt;br /&gt;&lt;style type="text/css"&gt;&lt;/style&gt;&lt;style type="text/css"&gt;&lt;/style&gt;&lt;style type="text/css"&gt;&lt;/style&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2786700862191536790-4450221439112038144?l=yoavrubin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoavrubin.blogspot.com/feeds/4450221439112038144/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2786700862191536790&amp;postID=4450221439112038144' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/4450221439112038144'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/4450221439112038144'/><link rel='alternate' type='text/html' href='http://yoavrubin.blogspot.com/2008/11/great-qutes-from-movies.html' title='Great quotes from excellent movies'/><author><name>Yoav Rubin</name><uri>http://www.blogger.com/profile/02020814739195147149</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-2786700862191536790.post-9156598554778298384</id><published>2008-11-13T00:23:00.007+02:00</published><updated>2009-06-20T07:29:41.932+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='culture'/><category scheme='http://www.blogger.com/atom/ns#' term='movies'/><category scheme='http://www.blogger.com/atom/ns#' term='quotes'/><category scheme='http://www.blogger.com/atom/ns#' term='blues brothers'/><title type='text'>Excellent quote from one of the greatest cult movies</title><content type='html'>Some quotes make so much sense if they are in the right context. This one is one of the best in this category of quotes:&lt;br /&gt;&lt;br /&gt;"...Were so glad to see so many of you lovely people here tonight, and we would especially like to welcome all the representatives of Illinois law enforcement community who have chosen to join us&lt;br /&gt;In the palace hotel ballroom at this time. we do sincerely hope you'll all enjoy the show, and please remember people, that no matter who you are, and what you do to live, thrive and survive, there are still some things that make us all the same. you, me them, everybody, everybody..."&lt;br /&gt;&lt;br /&gt;from the intro to "Everybody needs somebody to love" by Jake and Elwood Blues&lt;br /&gt;&lt;br /&gt;&lt;style type="text/css"&gt;&lt;/style&gt;&lt;style type="text/css"&gt;&lt;/style&gt;&lt;style type="text/css"&gt;&lt;/style&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2786700862191536790-9156598554778298384?l=yoavrubin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoavrubin.blogspot.com/feeds/9156598554778298384/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2786700862191536790&amp;postID=9156598554778298384' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/9156598554778298384'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/9156598554778298384'/><link rel='alternate' type='text/html' href='http://yoavrubin.blogspot.com/2008/11/excellent-qoute-from-one-of-greates.html' title='Excellent quote from one of the greatest cult movies'/><author><name>Yoav Rubin</name><uri>http://www.blogger.com/profile/02020814739195147149</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-2786700862191536790.post-8404729765462807128</id><published>2008-11-08T19:42:00.003+02:00</published><updated>2009-03-23T08:36:53.357+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='masterpiece'/><category scheme='http://www.blogger.com/atom/ns#' term='literature'/><title type='text'>The Raven, by Edgar Allan Poe (first published in 1845)</title><content type='html'>Once upon a midnight dreary, while I pondered weak and weary,&lt;br /&gt;Over many a quaint and curious volume of forgotten lore,&lt;br /&gt;While I nodded, nearly napping, suddenly there came a tapping,&lt;br /&gt;As of some one gently rapping, rapping at my chamber door.&lt;br /&gt;`'Tis some visitor,' I muttered, `tapping at my chamber door -&lt;br /&gt;Only this, and nothing more.'&lt;br /&gt;&lt;br /&gt;Ah, distinctly I remember it was in the bleak December,&lt;br /&gt;And each separate dying ember wrought its ghost upon the floor.&lt;br /&gt;Eagerly I wished the morrow; - vainly I had sought to borrow&lt;br /&gt;From my books surcease of sorrow - sorrow for the lost Lenore -&lt;br /&gt;For the rare and radiant maiden whom the angels named Lenore -&lt;br /&gt;Nameless here for evermore.&lt;br /&gt;&lt;br /&gt;And the silken sad uncertain rustling of each purple curtain&lt;br /&gt;Thrilled me - filled me with fantastic terrors never felt before;&lt;br /&gt;So that now, to still the beating of my heart, I stood repeating&lt;br /&gt;`'Tis some visitor entreating entrance at my chamber door -&lt;br /&gt;Some late visitor entreating entrance at my chamber door; -&lt;br /&gt;This it is, and nothing more,'&lt;br /&gt;&lt;br /&gt;Presently my soul grew stronger; hesitating then no longer,&lt;br /&gt;`Sir,' said I, `or Madam, truly your forgiveness I implore;&lt;br /&gt;But the fact is I was napping, and so gently you came rapping,&lt;br /&gt;And so faintly you came tapping, tapping at my chamber door,&lt;br /&gt;That I scarce was sure I heard you' - here I opened wide the door; -&lt;br /&gt;Darkness there, and nothing more.&lt;br /&gt;&lt;br /&gt;Deep into that darkness peering, long I stood there wondering, fearing,&lt;br /&gt;Doubting, dreaming dreams no mortal ever dared to dream before&lt;br /&gt;But the silence was unbroken, and the darkness gave no token,&lt;br /&gt;And the only word there spoken was the whispered word, `Lenore!'&lt;br /&gt;This I whispered, and an echo murmured back the word, `Lenore!'&lt;br /&gt;Merely this and nothing more.&lt;br /&gt;&lt;br /&gt;Back into the chamber turning, all my soul within me burning,&lt;br /&gt;Soon again I heard a tapping somewhat louder than before.&lt;br /&gt;`Surely,' said I, `surely that is something at my window lattice;&lt;br /&gt;Let me see then, what thereat is, and this mystery explore -&lt;br /&gt;Let my heart be still a moment and this mystery explore; -&lt;br /&gt;'Tis the wind and nothing more!'&lt;br /&gt;&lt;br /&gt;Open here I flung the shutter, when, with many a flirt and flutter,&lt;br /&gt;In there stepped a stately raven of the saintly days of yore.&lt;br /&gt;Not the least obeisance made he; not a minute stopped or stayed he;&lt;br /&gt;But, with mien of lord or lady, perched above my chamber door -&lt;br /&gt;Perched upon a bust of Pallas just above my chamber door -&lt;br /&gt;Perched, and sat, and nothing more.&lt;br /&gt;&lt;br /&gt;Then this ebony bird beguiling my sad fancy into smiling,&lt;br /&gt;By the grave and stern decorum of the countenance it wore,&lt;br /&gt;`Though thy crest be shorn and shaven, thou,' I said, `art sure no craven.&lt;br /&gt;Ghastly grim and ancient raven wandering from the nightly shore -&lt;br /&gt;Tell me what thy lordly name is on the Night's Plutonian shore!'&lt;br /&gt;Quoth the raven, `Nevermore.'&lt;br /&gt;&lt;br /&gt;Much I marvelled this ungainly fowl to hear discourse so plainly,&lt;br /&gt;Though its answer little meaning - little relevancy bore;&lt;br /&gt;For we cannot help agreeing that no living human being&lt;br /&gt;Ever yet was blessed with seeing bird above his chamber door -&lt;br /&gt;Bird or beast above the sculptured bust above his chamber door,&lt;br /&gt;With such name as `Nevermore.'&lt;br /&gt;&lt;br /&gt;But the raven, sitting lonely on the placid bust, spoke only,&lt;br /&gt;That one word, as if his soul in that one word he did outpour.&lt;br /&gt;Nothing further then he uttered - not a feather then he fluttered -&lt;br /&gt;Till I scarcely more than muttered `Other friends have flown before -&lt;br /&gt;On the morrow he will leave me, as my hopes have flown before.'&lt;br /&gt;Then the bird said, `Nevermore.'&lt;br /&gt;&lt;br /&gt;Startled at the stillness broken by reply so aptly spoken,&lt;br /&gt;`Doubtless,' said I, `what it utters is its only stock and store,&lt;br /&gt;Caught from some unhappy master whom unmerciful disaster&lt;br /&gt;Followed fast and followed faster till his songs one burden bore -&lt;br /&gt;Till the dirges of his hope that melancholy burden bore&lt;br /&gt;Of "Never-nevermore."'&lt;br /&gt;&lt;br /&gt;But the raven still beguiling all my sad soul into smiling,&lt;br /&gt;Straight I wheeled a cushioned seat in front of bird and bust and door;&lt;br /&gt;Then, upon the velvet sinking, I betook myself to linking&lt;br /&gt;Fancy unto fancy, thinking what this ominous bird of yore -&lt;br /&gt;What this grim, ungainly, ghastly, gaunt, and ominous bird of yore&lt;br /&gt;Meant in croaking `Nevermore.'&lt;br /&gt;&lt;br /&gt;This I sat engaged in guessing, but no syllable expressing&lt;br /&gt;To the fowl whose fiery eyes now burned into my bosom's core;&lt;br /&gt;This and more I sat divining, with my head at ease reclining&lt;br /&gt;On the cushion's velvet lining that the lamp-light gloated o'er,&lt;br /&gt;But whose velvet violet lining with the lamp-light gloating o'er,&lt;br /&gt;&lt;i&gt;She&lt;/i&gt; shall press, ah, nevermore!&lt;br /&gt;&lt;br /&gt;Then, methought, the air grew denser, perfumed from an unseen censer&lt;br /&gt;Swung by Seraphim whose foot-falls tinkled on the tufted floor.&lt;br /&gt;`Wretch,' I cried, `thy God hath lent thee - by these angels he has sent thee&lt;br /&gt;Respite - respite and nepenthe from thy memories of Lenore!&lt;br /&gt;Quaff, oh quaff this kind nepenthe, and forget this lost Lenore!'&lt;br /&gt;Quoth the raven, `Nevermore.'&lt;br /&gt;&lt;br /&gt;`Prophet!' said I, `thing of evil! - prophet still, if bird or devil! -&lt;br /&gt;Whether tempter sent, or whether tempest tossed thee here ashore,&lt;br /&gt;Desolate yet all undaunted, on this desert land enchanted -&lt;br /&gt;On this home by horror haunted - tell me truly, I implore -&lt;br /&gt;Is there - &lt;i&gt;is&lt;/i&gt; there balm in Gilead? - tell me - tell me, I implore!'&lt;br /&gt;Quoth the raven, `Nevermore.'&lt;br /&gt;&lt;br /&gt;`Prophet!' said I, `thing of evil! - prophet still, if bird or devil!&lt;br /&gt;By that Heaven that bends above us - by that God we both adore -&lt;br /&gt;Tell this soul with sorrow laden if, within the distant Aidenn,&lt;br /&gt;It shall clasp a sainted maiden whom the angels named Lenore -&lt;br /&gt;Clasp a rare and radiant maiden, whom the angels named Lenore?'&lt;br /&gt;Quoth the raven, `Nevermore.'&lt;br /&gt;&lt;br /&gt;`Be that word our sign of parting, bird or fiend!' I shrieked upstarting -&lt;br /&gt;`Get thee back into the tempest and the Night's Plutonian shore!&lt;br /&gt;Leave no black plume as a token of that lie thy soul hath spoken!&lt;br /&gt;Leave my loneliness unbroken! - quit the bust above my door!&lt;br /&gt;Take thy beak from out my heart, and take thy form from off my door!'&lt;br /&gt;Quoth the raven, `Nevermore.'&lt;br /&gt;&lt;br /&gt;And the raven, never flitting, still is sitting, still is sitting&lt;br /&gt;On the pallid bust of Pallas just above my chamber door;&lt;br /&gt;And his eyes have all the seeming of a demon's that is dreaming,&lt;br /&gt;And the lamp-light o'er him streaming throws his shadow on the floor;&lt;br /&gt;And my soul from out that shadow that lies floating on the floor&lt;br /&gt;Shall be lifted - nevermore!&lt;style type="text/css"&gt;&lt;/style&gt;&lt;style type="text/css"&gt;&lt;/style&gt;&lt;style type="text/css"&gt;&lt;/style&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2786700862191536790-8404729765462807128?l=yoavrubin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoavrubin.blogspot.com/feeds/8404729765462807128/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2786700862191536790&amp;postID=8404729765462807128' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/8404729765462807128'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/8404729765462807128'/><link rel='alternate' type='text/html' href='http://yoavrubin.blogspot.com/2008/11/edgar-allan-poe-raven.html' title='The Raven, by Edgar Allan Poe (first published in 1845)'/><author><name>Yoav Rubin</name><uri>http://www.blogger.com/profile/02020814739195147149</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-2786700862191536790.post-5532750962898158759</id><published>2008-11-01T11:13:00.005+02:00</published><updated>2011-01-26T16:08:23.711+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='prediction'/><category scheme='http://www.blogger.com/atom/ns#' term='economy'/><title type='text'>My take on the economical rescue plan</title><content type='html'>The bottom line of rescue plan of the US government and other governments around the world basically revolves around giving money (and lots of it) to financial institutes and other businesses. I didn't read anywhere about the issue of the source of this money.&lt;br /&gt;As I see it, there are four possible sources:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Increasing the deficit in the budget&lt;/li&gt;&lt;li&gt;Raising taxes&lt;/li&gt;&lt;li&gt;Shifting money that was targeted to other causes (like education, health, etc.) to become the money for the rescue plan.&lt;/li&gt;&lt;li&gt;Printing more money&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;The first option means increasing the US debt, which means a very cloudy future (debts should be returned eventually)&lt;br /&gt;&lt;br /&gt;The second option is just making life even harder today&lt;br /&gt;&lt;br /&gt;The third option means more unemployment and loss of future success&lt;br /&gt;&lt;br /&gt;The forth option means inflation&lt;br /&gt;&lt;br /&gt;All of them are bad. So just to summarize, the core idea in the plan is taking money from the future, invest it today and hope that somehow things would work out for the best, because if not, both the present and the future would be lousy.&lt;br /&gt;&lt;br /&gt;But I may be wrong here&lt;br /&gt;&lt;br /&gt;&lt;style type="text/css"&gt;&lt;/style&gt;&lt;style type="text/css"&gt;&lt;/style&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2786700862191536790-5532750962898158759?l=yoavrubin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoavrubin.blogspot.com/feeds/5532750962898158759/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2786700862191536790&amp;postID=5532750962898158759' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/5532750962898158759'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/5532750962898158759'/><link rel='alternate' type='text/html' href='http://yoavrubin.blogspot.com/2008/11/my-take-on-economical-recue-plan.html' title='My take on the economical rescue plan'/><author><name>Yoav Rubin</name><uri>http://www.blogger.com/profile/02020814739195147149</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-2786700862191536790.post-3988847909785093915</id><published>2008-08-08T00:24:00.002+03:00</published><updated>2008-08-08T00:26:13.065+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='food'/><title type='text'>A cooking question</title><content type='html'>Is it true, that whenever one of the ingredients of a dish is either an apple, honey or cinamon, you can always add the other two and it would just improve the dish?&lt;style type="text/css"&gt;&lt;/style&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2786700862191536790-3988847909785093915?l=yoavrubin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoavrubin.blogspot.com/feeds/3988847909785093915/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2786700862191536790&amp;postID=3988847909785093915' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/3988847909785093915'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/3988847909785093915'/><link rel='alternate' type='text/html' href='http://yoavrubin.blogspot.com/2008/08/cooking-question.html' title='A cooking question'/><author><name>Yoav Rubin</name><uri>http://www.blogger.com/profile/02020814739195147149</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-2786700862191536790.post-2706893210072408273</id><published>2008-08-07T00:18:00.006+03:00</published><updated>2008-08-08T00:24:23.976+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='olympic games'/><category scheme='http://www.blogger.com/atom/ns#' term='basketball'/><category scheme='http://www.blogger.com/atom/ns#' term='dream team'/><title type='text'>My tidbit about the original dream team</title><content type='html'>I heard some people say that this years the American basketball team to the Beijing olympic games, is the best ever. These people forgot a few things about the real dream team - the one from 1992 (Jordan, Magic, Bird ...). So I'll remind here just one point, that people tend to forget. In the final they had beaten the best non-American team ever - Croatia with Drazen Petrovic and Toni Kukoc - the two best european players ever (I'd take them any day over Dirk Nowitzki), alongside with Dino Radja, Stojko Vrankovic and Zan Tabak. This Croatian team could be considered the "european dream team" and would have beaten most of the other American teams that were sent to other olympic games.&lt;style type="text/css"&gt;&lt;/style&gt;&lt;style type="text/css"&gt;&lt;/style&gt;&lt;style type="text/css"&gt;&lt;/style&gt;&lt;style type="text/css"&gt;&lt;/style&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2786700862191536790-2706893210072408273?l=yoavrubin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoavrubin.blogspot.com/feeds/2706893210072408273/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2786700862191536790&amp;postID=2706893210072408273' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/2706893210072408273'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/2706893210072408273'/><link rel='alternate' type='text/html' href='http://yoavrubin.blogspot.com/2008/08/towards-beijing-2008.html' title='My tidbit about the original dream team'/><author><name>Yoav Rubin</name><uri>http://www.blogger.com/profile/02020814739195147149</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-2786700862191536790.post-8645458482746506761</id><published>2008-08-05T20:54:00.000+03:00</published><updated>2008-08-05T20:55:38.994+03:00</updated><title type='text'>My article was published on developerWorks</title><content type='html'>see &lt;a href="http://www.ibm.com/developerworks/web/library/wa-dojo/index.html"&gt;here&lt;/a&gt;&lt;style type="text/css"&gt;&lt;/style&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2786700862191536790-8645458482746506761?l=yoavrubin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoavrubin.blogspot.com/feeds/8645458482746506761/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2786700862191536790&amp;postID=8645458482746506761' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/8645458482746506761'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/8645458482746506761'/><link rel='alternate' type='text/html' href='http://yoavrubin.blogspot.com/2008/08/my-article-was-published-on.html' title='My article was published on developerWorks'/><author><name>Yoav Rubin</name><uri>http://www.blogger.com/profile/02020814739195147149</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-2786700862191536790.post-5350491316569720930</id><published>2008-07-27T00:52:00.005+03:00</published><updated>2008-07-27T01:04:11.886+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='neuroscience'/><title type='text'>Incredible what they are doing with AOD</title><content type='html'>See &lt;a href="http://www.nature.com/neuro/journal/v11/n7/abs/nn.2140.html"&gt;here &lt;/a&gt;what they are doing using an acousto optic deflector, looking at many neurons at a very high frequency.&lt;br /&gt;&lt;style type="text/css"&gt;&lt;/style&gt;&lt;style type="text/css"&gt;&lt;/style&gt;&lt;style type="text/css"&gt;&lt;/style&gt;&lt;style type="text/css"&gt;&lt;/style&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2786700862191536790-5350491316569720930?l=yoavrubin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoavrubin.blogspot.com/feeds/5350491316569720930/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2786700862191536790&amp;postID=5350491316569720930' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/5350491316569720930'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/5350491316569720930'/><link rel='alternate' type='text/html' href='http://yoavrubin.blogspot.com/2008/07/incredible-what-they-are-doing-with-aod.html' title='Incredible what they are doing with AOD'/><author><name>Yoav Rubin</name><uri>http://www.blogger.com/profile/02020814739195147149</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-2786700862191536790.post-4849198611321246399</id><published>2008-07-27T00:26:00.003+03:00</published><updated>2008-07-27T00:45:25.853+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='quotes'/><title type='text'>Douglas Adams take on design</title><content type='html'>A common mistake people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools.&lt;br /&gt;&lt;br /&gt;The major difference between a thing that might go wrong and a thing that cannot possibly go wrong is that when a thing that cannot possibly go wrong goes wrong it usually turns out to be impossible to get at or repair.&lt;br /&gt;&lt;style type="text/css"&gt;&lt;/style&gt;&lt;style type="text/css"&gt;&lt;/style&gt;&lt;style type="text/css"&gt;&lt;/style&gt;&lt;style type="text/css"&gt;&lt;/style&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2786700862191536790-4849198611321246399?l=yoavrubin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoavrubin.blogspot.com/feeds/4849198611321246399/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2786700862191536790&amp;postID=4849198611321246399' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/4849198611321246399'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/4849198611321246399'/><link rel='alternate' type='text/html' href='http://yoavrubin.blogspot.com/2008/07/douglas.html' title='Douglas Adams take on design'/><author><name>Yoav Rubin</name><uri>http://www.blogger.com/profile/02020814739195147149</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-2786700862191536790.post-8509745579284810275</id><published>2008-03-16T06:23:00.006+02:00</published><updated>2008-07-27T00:25:44.476+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='usability'/><category scheme='http://www.blogger.com/atom/ns#' term='software'/><category scheme='http://www.blogger.com/atom/ns#' term='prediction'/><title type='text'>Why usability  will be important 20 years from now</title><content type='html'>In 20 years from now, all of today's children, that were born to a world with cellular technology and internet will be be in their 30's and 40's.&lt;br /&gt;These are the people that will consume technology, use software at home and at office, and will become users of all the new things that are going to be invented till that time.&lt;br /&gt;For this generation,  computers are inseparable part of life in the same way as for this generation having 300 channels in the television is normal, and for the older generation having phones and cars.&lt;br /&gt;Assuming that till that time most of the niches will have numerous  software packages dedicated to, the thing that will be the differentiator is their level of service, and in the software world,  this means the interface with the user is basically its service level.&lt;br /&gt;Having s software that serves its users in a more natural way, that basically reduces the mental burden of the users to a minimum, with a small as possible learning curve, and with maximum efficiency from the user's point of view (minimum work for maximum results) will result in a larger user base, which will eventually translate to a winning software.&lt;br /&gt;You may say that this is the case today, but in 20 years from now, the users will evovle, and would expect nothing less then a perfect usability, in the same way that we are today expect nothing less then a perect service when we buy something somewhere.&lt;br /&gt;&lt;style type="text/css"&gt;&lt;/style&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2786700862191536790-8509745579284810275?l=yoavrubin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoavrubin.blogspot.com/feeds/8509745579284810275/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2786700862191536790&amp;postID=8509745579284810275' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/8509745579284810275'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/8509745579284810275'/><link rel='alternate' type='text/html' href='http://yoavrubin.blogspot.com/2008/03/why-usability-will-be-important-20.html' title='Why usability  will be important 20 years from now'/><author><name>Yoav Rubin</name><uri>http://www.blogger.com/profile/02020814739195147149</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-2786700862191536790.post-6196543730681148731</id><published>2007-07-16T23:44:00.000+03:00</published><updated>2007-08-02T23:25:33.817+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='quotes'/><title type='text'>Great quotes</title><content type='html'>&lt;span style=";font-family:Trebuchet MS,Arial,Helvetica;font-size:85%;"  &gt;""`...they were in the bottom drawer of a locked filing cabinet, stuck upside-down, in a disused toilet with a sign on the door saying 'BEWARE OF THE LEOPARD!...' " Hitch hiker's guide to the galaxy&lt;br /&gt;&lt;br /&gt;"She's just like Clark Kent,  when there's lots of excitement, she's nowhere to be found" - Homer J. Simpson&lt;br /&gt;&lt;br /&gt;"I spent a lot of money on booze, birds and fast cars. The rest I just squandered" - George Best&lt;br /&gt;&lt;/span&gt;&lt;span class="a12"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2786700862191536790-6196543730681148731?l=yoavrubin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoavrubin.blogspot.com/feeds/6196543730681148731/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2786700862191536790&amp;postID=6196543730681148731' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/6196543730681148731'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/6196543730681148731'/><link rel='alternate' type='text/html' href='http://yoavrubin.blogspot.com/2007/07/great-quotes.html' title='Great quotes'/><author><name>Yoav Rubin</name><uri>http://www.blogger.com/profile/02020814739195147149</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-2786700862191536790.post-3770655317763692098</id><published>2007-06-17T07:32:00.000+03:00</published><updated>2007-06-22T08:20:14.152+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mainframe'/><category scheme='http://www.blogger.com/atom/ns#' term='web2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='technology'/><category scheme='http://www.blogger.com/atom/ns#' term='cellular'/><category scheme='http://www.blogger.com/atom/ns#' term='pc'/><category scheme='http://www.blogger.com/atom/ns#' term='Software as a service'/><title type='text'>How the computer industry makes people happy</title><content type='html'>First there were giant computers that had an enormous rooms to hold their 10MB memory, people took turns on using them, and there were experts who know how to use them, everyone had his job role, and everybody were happy.&lt;br /&gt;Then, someone came with the bright idea that hooking several monitors to the same large computer will allow more people to work on it simultaneously, which let to having a mainframe with many terminals. Many people used their terminals to work on the same computer, this helped them save time, and everybody were happy.&lt;br /&gt;Around that time,  somebody important in the computer business said something that can be interpreted like there no reason for people to have computers at their home (he actually said that there is no need to more then a few computers in the world, the interpretation is mine). Nevertheless, IBM came with the idea of PC, which stands for personal computer. This resulted in the situation where almost every one bought computers to their homes and offices. This led to the need of software that could be installed on many computers, which led to the way things worked and still work today - software versions and buying a software usage license rather then buying the software. Still, people got used to it and everybody were happy.&lt;br /&gt;Then came the web, and with it the ability to share data among people. Still, it was slow and you couldn't put software on one computer and use it on another. Yet, after the communication speed grew and grew, companies started to see that the option of putting software in one place, and use if from another (either to put data on a database or perform a search) is possible. These companies liked it, they thought that the more people use their software, they earnings would grow, so they persuaded other people that this is true, until everybody were convinced that this is true, and when they noticed that there is no income, it was too late and this bubble exploded. Now many people weren't happy.&lt;br /&gt;However, they kept on thinking "what's next?", and they found the answer.  The thing that should come next is the past. If it is possible to run software on one computer, and use it on many others, why not allow many people to use it, and harness this fact to make money. This started the "software as a service" era, which is actually beginning as I type these lines. This causes the concept of selling software licenses to fade, alongside the concept of different software versions to different people. These people called this idea web2.0, which made them happy.&lt;br /&gt;Moreover, the people that were happy in the distant past call it an improved mainframe, which makes them say that they did all this 30 years ago,  and therefore making them feel right and needed, which makes them fill happy.&lt;br /&gt;So, what is really next, my guess is that somehow the cellular technology would improve and will go through similar processes. This would result in people buying their cellphones , and use any kind of software they want as a cellular web service - the calendar and phone book will be on sites that people would just register to, and thus changing the cellphone would not result in any loss - either of data or a familiar interface, because the cellphone would just be a mobile computer that can also make phone calls.&lt;br /&gt;&lt;br /&gt;I think that this will cause many people to be happy.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2786700862191536790-3770655317763692098?l=yoavrubin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoavrubin.blogspot.com/feeds/3770655317763692098/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2786700862191536790&amp;postID=3770655317763692098' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/3770655317763692098'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/3770655317763692098'/><link rel='alternate' type='text/html' href='http://yoavrubin.blogspot.com/2007/06/how-computer-industry-makes-people.html' title='How the computer industry makes people happy'/><author><name>Yoav Rubin</name><uri>http://www.blogger.com/profile/02020814739195147149</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-2786700862191536790.post-1936172105545844396</id><published>2007-06-16T07:53:00.001+03:00</published><updated>2010-10-08T17:41:08.097+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='web2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='technology'/><title type='text'>a little bit about web 2.0</title><content type='html'>Web 2.0 is perceived as the new way that the web works. Exactly what is  web 2.0 nobody really seems to define exactly; Is it the collaborative aspect of the web?, and if so, does old web sites that allowed users to add their comments were web 2.0?&lt;br /&gt;Is it be that sites that use the Ajax technology are a web 2.0 sites, or are they just sites with an improved user experience? as far as I see it, web 2.0 is a revolution in the current technology.&lt;br /&gt;&lt;br /&gt;Through out  the history, any technological revolution was based upon several pillars, which can be summarized to these: the technological advance pillar, the business model pillar and the platform pillar.&lt;br /&gt;The technological advance pillar is basically the answer to the question "what's new in this technology?", The business model pillar is the answer to the question "how would somebody make profit out of it?" and the platform pillar is the answer to the question "what would drive this  technology  forward in order to allow people to use it?"&lt;br /&gt;&lt;br /&gt;Think of past technological revolutions, and see that they had to stand on these pillars. It may be the industrial revolution or the antibiotics revolution, still, all  these questions had to be answered.&lt;br /&gt;So how does web 2.0 answers these questions? the technology is Ajax, the business model is the long tail and collaboration and the the platform is the web.&lt;br /&gt;Sounds simple, but not.  Ajax (stands for Asynchronous JavaScript and XML) is a combination of several "old" web technologies such as HTML, JavaScript, CSS, DOM and XMLHTTPRequest. So basically there is nothing new here - just the way of using it. The long tail is a concept that uses the non-existing physical limitations of the web to harness its mass exposure in order to make money. There is no shelf space limit on the web, so Amazon can offer millions of books to sell, much more then any other book store. The collaborative aspect of the web allows users to talk to other users directly and create new content and data, that allows creating new types of business. And thinking of the web as the platform, and not just as an additional way to communicate allows all this to happen.&lt;br /&gt;So, what defines a site to be a web 2.0 or not, in my opinion, if you make money out of it, not just by displaying your merchandise and selling it (and it could be either physical goods like books or virtual like advertising or information), but also allow the users to interact and influence the system, hopefully using Ajax to improve the site's user experience, then this is a web 2.0 site, otherwise, it is not.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2786700862191536790-1936172105545844396?l=yoavrubin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoavrubin.blogspot.com/feeds/1936172105545844396/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2786700862191536790&amp;postID=1936172105545844396' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/1936172105545844396'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2786700862191536790/posts/default/1936172105545844396'/><link rel='alternate' type='text/html' href='http://yoavrubin.blogspot.com/2007/06/little-bit-about-web20.html' title='a little bit about web 2.0'/><author><name>Yoav Rubin</name><uri>http://www.blogger.com/profile/02020814739195147149</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>
