<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6731758748253879233</id><updated>2024-09-10T01:52:22.680+02:00</updated><category term="simplicity"/><category term="単純"/><category term="简单"/><category term="smalltalk"/><category term="agile"/><category term="feedback"/><category term="プログラミング"/><category term="programming"/><category term="blogger"/><category term="communication"/><category term="levelOfMagic"/><category term="wordpress"/><category term="change"/><category term="intent"/><category term="magic"/><category term="open closed"/><category term="programming language"/><category term="quality"/><category term="xp"/><title type='text'>Varvello on XP, Smalltalk, Agile, Simplicity, Programming</title><subtitle type='html'>If you like Smalltalk, Programming, eXtreme Programming, Agile Methods, Software Development... here you can find the answer to all your questions, the answer is... 42.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://varvello.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6731758748253879233/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://varvello.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/13119705678866132994</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>14</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6731758748253879233.post-960551704229977590</id><published>2011-10-19T08:00:00.008+02:00</published><updated>2012-01-08T07:33:08.307+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="feedback"/><category scheme="http://www.blogger.com/atom/ns#" term="intent"/><category scheme="http://www.blogger.com/atom/ns#" term="simplicity"/><category scheme="http://www.blogger.com/atom/ns#" term="プログラミング"/><title type='text'>Which Programming Language? CoffeeScript, Java, PHP</title><content type='html'>&lt;br /&gt;
Today we are going deeper on the importance of feedback when choosing a programming language.&lt;br /&gt;
&lt;br /&gt;
Did you try to spike a little with a new programming language? A very useful way to do it is through &lt;a href=&quot;http://varvello.blogspot.com/2011/09/how-to-choose-programming-language.html&quot;&gt;the measure of feedback&lt;/a&gt; you have from the language and its environment or ecosystem.&lt;br /&gt;
So if you tried to download, install, compile... (stopwatch at hand) good! If you didn’t, I’m going to free you from the effort through this and other next posts, so keep in touch.&lt;br /&gt;
&lt;br /&gt;
&lt;h1&gt;
 Which Language?&lt;/h1&gt;
Let’s consider two “old” languages: Java and PHP and a new one: CoffeeScript&lt;br /&gt;
&lt;br /&gt;
&lt;h1&gt;
 Which Platform?&lt;/h1&gt;
I’m working on a Mac, and so let’s suppose we want to deploy on it.&lt;br /&gt;
It’s important to define your platform because you can try something on a platform and deploy on another one, but of course if you change it on the way, you have an unknown.&lt;br /&gt;
&lt;br /&gt;
&lt;h1&gt;
 Which Context?&lt;/h1&gt;
I’m writing during the weekend and, unlike other working days, I usually take a nap after lunch, it’s something I’ve been carrying since I was young, it’s a break in the daytime and it lasts about 30 minutes or so, a sort of reversed &lt;a href=&quot;http://www.pomodorotechnique.com/&quot;&gt;pomodoro&lt;/a&gt; or, better, a pomodoro focused on sleeping ;-)&lt;br /&gt;
After that, I’m &quot;energized&quot; and ready for the afternoon. So what?&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;Let’s consider a preliminary of N languages (only three today) some mainstream, some cutting edge. The goal is to hack a timer that wakes me up from my nap after 30 minutes.&lt;/li&gt;
&lt;li&gt;Note: some languages implement sound generation more smoothly; other are not really sound-friendly, so for this first attempt, a timer that prints “wake up” is enough.&lt;/li&gt;
&lt;li&gt;Finally for this specific experiment I’d add another requirement: let’s jump to light speed and go somewhere in the universe where 30 minutes are equal to 3 seconds (my nap is incredibly reduced ;-)&lt;/li&gt;
&lt;/ol&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
psst: If you are lazy like me, you can go directly to the &lt;a href=&quot;http://www.blogger.com/blogger.g?blogID=6731758748253879233#conclusion&quot;&gt;Conclusion&lt;/a&gt;, otherwise continue to read.&lt;/div&gt;
&lt;br /&gt;
First I create a directory named &lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;contest&lt;/span&gt; in which we save all our spikes.&lt;br /&gt;
&lt;br /&gt;
&lt;hr /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;font-size: large;&quot;&gt;The first language to consider is &lt;i&gt;Java&lt;/i&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://farm5.static.flickr.com/4027/5084906536_12f2c41f86.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://farm5.static.flickr.com/4027/5084906536_12f2c41f86.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
I create a subdirectory for Java and look for Java on Google like any newbie. &lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
Following my breadcrumbs with some comments:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://java.com/en/download/apple_manual.jsp?locale=en&quot;&gt;http://java.com/en/download/apple_manual.jsp?locale=en&lt;/a&gt; - Cool I don’t have to download anything on my Mac.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://java.com/en/java_in_action/&quot;&gt;http://java.com/en/java_in_action/&lt;/a&gt; - Hmm.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://java.com/en/download/help/index.xml&quot;&gt;http://java.com/en/download/help/index.xml&lt;/a&gt; - A help, good!&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://java.com/en/download/testjava.jsp&quot;&gt;http://java.com/en/download/testjava.jsp&lt;/a&gt; - No hint yet.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://java.com/en/download/faq/develop.xml&quot;&gt;http://java.com/en/download/faq/develop.xml&lt;/a&gt;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.oracle.com/technetwork/topics/newtojava/overview/index.html&quot;&gt;http://www.oracle.com/technetwork/topics/newtojava/overview/index.html&lt;/a&gt; - Finally a “New to Java” page.&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
Actually we have spent &lt;b&gt;6 minutes&lt;/b&gt;, but no info worth on.&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
So I search for something like “first java program” on the favorite search engine and..... at 8.36 minutes I land here:&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://download.oracle.com/javase/tutorial/getStarted/cupojava/win32.html#win32-2b&quot;&gt;http://download.oracle.com/javase/tutorial/getStarted/cupojava/win32.html#win32-2b&lt;/a&gt;&amp;nbsp;- It’s a page for windows anyway and I’m annoyed enough to skip some instructions,&amp;nbsp;so I:&lt;/li&gt;
&lt;li&gt;&amp;nbsp;open vi&lt;/li&gt;
&lt;li&gt;&amp;nbsp;copy&amp;amp;paste&lt;/li&gt;
&lt;li&gt;&amp;nbsp;compile and run. &lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
The output is OK (after &lt;b&gt;10 minutes&lt;/b&gt;)&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
But.... our exercise doesn&#39;t end here, how can we implement a timer?&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
I search again: “java timer”&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://download.oracle.com/javase/1.4.2/docs/api/java/util/Timer.html&quot;&gt;http://download.oracle.com/javase/1.4.2/docs/api/java/util/Timer.html&lt;/a&gt;&amp;nbsp;- So what? Search again: java timer example&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.gammelsaeter.com/programming/simple-timer-example-in-java/&quot;&gt;http://www.gammelsaeter.com/programming/simple-timer-example-in-java/&lt;/a&gt;&amp;nbsp;- Lots of comments here and there, let’s dig more and land here:&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.java2s.com/Code/Java/Development-Class/UsejavautilTimertoscheduleatasktoexecuteonce5secondshavepassed.htm&quot;&gt;http://www.java2s.com/Code/Java/Development-Class/UsejavautilTimertoscheduleatasktoexecuteonce5secondshavepassed.htm&lt;/a&gt;&amp;nbsp;- It seems better&lt;/li&gt;
&lt;/ul&gt;
I do a bit of c&amp;amp;p,&amp;nbsp;remove all comments,&amp;nbsp;compile and run. It works&amp;nbsp;(17.20).&lt;br /&gt;
Now I reduce frills, and change time to 3 seconds&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://farm1.static.flickr.com/28/97618530_fc70572727.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://farm1.static.flickr.com/28/97618530_fc70572727.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;b&gt;After 18.05 minutes we have our timer:&lt;/b&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;import java.util.Timer;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;import java.util.TimerTask;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;public class ReminderBeep {&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&amp;nbsp; Timer timer;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&amp;nbsp; public ReminderBeep(int seconds) {&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; timer = new Timer();&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; timer.schedule(new RemindTask(), seconds * 1000);&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&amp;nbsp; }&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&amp;nbsp; class RemindTask extends TimerTask {&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; public void run() {&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; System.out.println(&quot;Time&#39;s up!&quot;);&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; System.exit(0);&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&amp;nbsp; }&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&amp;nbsp; public static void main(String args[]) {&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; new ReminderBeep(3);&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&amp;nbsp; }&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
Anyway the Java syntax is not concise nor essential, but 18 minutes is a pretty fast time even if I was almost confident to read the example for windows.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;hr /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-size: large;&quot;&gt;Now let’s pick &lt;i&gt;PHP&lt;/i&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://farm5.static.flickr.com/4027/5084906536_12f2c41f86.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://farm5.static.flickr.com/4027/5084906536_12f2c41f86.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;&lt;i&gt;&lt;b&gt;&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
I go to:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.php.net/&quot;&gt;http://www.php.net/&lt;/a&gt;&amp;nbsp;then&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.php.net/downloads.php&quot;&gt;http://www.php.net/downloads.php&lt;/a&gt;&amp;nbsp;- Good, I create a the php folder, untar the downloaded file, then&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://it.php.net/manual/en/&quot;&gt;http://it.php.net/manual/en/&lt;/a&gt;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://it.php.net/manual/en/tutorial.requirements.php&quot;&gt;http://it.php.net/manual/en/tutorial.requirements.php&lt;/a&gt;&amp;nbsp;- Hmm, should I install apache and mysql? I don’t need them, now, let’s move on&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://it.php.net/manual/en/tutorial.firstpage.php&quot;&gt;http://it.php.net/manual/en/tutorial.firstpage.php&lt;/a&gt;&amp;nbsp;- I don’t want to start a web server, is our favourite browser so smart to interpret php code?&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
I try to write the &lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;hello.php&lt;/span&gt; file and then I point the browser directly on it.&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;vi hello.php&amp;nbsp;&lt;/li&gt;
&lt;li&gt;a bit of c&amp;amp;p&amp;nbsp;&lt;/li&gt;
&lt;li&gt;open browser on file://......../hello.php it doesn’t work, of course.&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
I surf the web again:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://it.php.net/manual/en/install.php&quot;&gt;http://it.php.net/manual/en/install.php&lt;/a&gt;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://it.php.net/manual/en/install.macosx.php&quot;&gt;http://it.php.net/manual/en/install.macosx.php&lt;/a&gt; - “PHP is bundled with Mac”, wonderful!&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://it.php.net/manual/en/install.macosx.bundled.php&quot;&gt;http://it.php.net/manual/en/install.macosx.bundled.php&lt;/a&gt;&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
I locate and open the Apache configuration file, it should be here: &lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;/private/etc/apache2/httpd.conf&lt;/span&gt; and I change it accordingly.&lt;br /&gt;
Than I go to: &lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;/Library/WebServer/Documents&lt;/span&gt; and I write a simple phpinfo&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&amp;lt;?php phpinfo(); ?&amp;gt;&lt;/span&gt;&amp;nbsp;&lt;/div&gt;
&lt;br /&gt;
Now I restart apache with: &lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;sudo apachectl graceful&lt;/span&gt; and then I point the browser here:&amp;nbsp;&lt;a href=&quot;http://localhost/info.php&quot;&gt;http://localhost/info.php&lt;/a&gt;, it works.&lt;br /&gt;
Now I move hello.php here: &lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;/Library/WebServer/Documents&lt;/span&gt;&amp;nbsp;, it works&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
After&amp;nbsp;&lt;b&gt;27.00 minutes &lt;/b&gt;we have:&lt;br /&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: left;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&amp;lt;html&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: left;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&amp;nbsp;&amp;lt;head&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: left;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;lt;title&amp;gt;PHP Test&amp;lt;/title&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: left;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&amp;nbsp;&amp;lt;/head&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: left;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&amp;nbsp;&amp;lt;body&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: left;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&amp;nbsp;&amp;lt;?php echo &#39;&amp;lt;p&amp;gt;Hello World&amp;lt;/p&amp;gt;&#39;; ?&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: left;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&amp;nbsp;&amp;lt;/body&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&amp;lt;/html&amp;gt;&lt;/span&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Now I make a search for a timer on Google: &quot;php timer example&quot;&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.phpclasses.org/browse/file/1379.html&quot;&gt;http://www.phpclasses.org/browse/file/1379.html&lt;/a&gt;&amp;nbsp;- Hmm.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://php.net/manual/en/function.time.php&quot;&gt;http://php.net/manual/en/function.time.php&lt;/a&gt; (35 mins).&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.daniweb.com/web-development/php/threads/256063&quot;&gt;http://www.daniweb.com/web-development/php/threads/256063&lt;/a&gt; (38 minutes).&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.hotscripts.com/forums/php/126-php-timer.html&quot;&gt;http://www.hotscripts.com/forums/php/126-php-timer.html&lt;/a&gt;&amp;nbsp;- Better.&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://farm1.static.flickr.com/28/97618530_fc70572727.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://farm1.static.flickr.com/28/97618530_fc70572727.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;b&gt;Finally after&amp;nbsp;43 minutes that’s the&amp;nbsp;simplified&amp;nbsp;timer:&amp;nbsp;&lt;/b&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&amp;lt;?php&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;sleep(3);&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;echo &quot;wake up&amp;lt;br /&amp;gt;&quot;;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;?&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
As you have seen, php drives you to use a web server and to execute the code inside it, even if we have not a real need to build up such infrastructure.&lt;br /&gt;
I’d like to underline this concept: of course php scripts run in a web server.... at the end. But now, our focus is to learn the language, all other “mandatory” steps distract us from our goal and put it away. I don’t think about it as a&quot; una tantum&quot; stuff, I think as a clue you have to evaluate the language ecosystem and the intentions of the creator of the language.&lt;br /&gt;
Anyway the php example is really minimal compared with java.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;hr /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;font-size: large;&quot;&gt;And finally &lt;i&gt;CoffeeScript&lt;/i&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://farm5.static.flickr.com/4027/5084906536_12f2c41f86.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://farm5.static.flickr.com/4027/5084906536_12f2c41f86.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;
The usual breadcrumbs: &lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://jashkenas.github.com/coffee-script/&quot;&gt;http://jashkenas.github.com/coffee-script/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://jashkenas.github.com/coffee-script/#installation&quot;&gt;http://jashkenas.github.com/coffee-script/#installation&lt;/a&gt; -The command-line version of coffee is available as a Node.js utility. The core compiler however, does not depend on Node, and can be run in any JavaScript environment, or in the browser &amp;nbsp;(2.37 minutes)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://nodejs.org/&quot;&gt;http://nodejs.org/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://nodejs.org/#download&quot;&gt;http://nodejs.org/#download&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/joyent/node/wiki/Installation&quot;&gt;https://github.com/joyent/node/wiki/Installation&lt;/a&gt; - No, no, no Mac OSX users also have the option of installing a precompiled package from: &lt;a href=&quot;https://sites.google.com/site/nodejsmacosx/&quot;&gt;https://sites.google.com/site/nodejsmacosx/&lt;/a&gt; that includes npm. Cool!&lt;/li&gt;
&lt;li&gt;Download, install the pkg node.js. - Installed (7.42 minutes)&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
Now I create the directory coffeescript under &lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;contest&amp;nbsp;&lt;/span&gt;then&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;sudo npm install -g coffee-script&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;I test the installation, type: &lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;coffee&lt;/span&gt; - Cool it runs.&lt;/li&gt;
&lt;li&gt;I type: &lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;number = 42&lt;/span&gt; &lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;-&lt;/span&gt; OK, it returns 42 it seems working,&lt;/li&gt;
&lt;li&gt;And I exit the &lt;a href=&quot;http://en.wikipedia.org/wiki/Read%E2%80%93eval%E2%80%93print_loop&quot;&gt;REPL&lt;/a&gt;, how? It could be: &lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;exit&lt;/span&gt;, no, &lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;quit&lt;/span&gt;, no, &lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;bye&lt;/span&gt;, no,&amp;nbsp;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;open sesame&lt;/span&gt;&amp;nbsp;no way.&lt;/li&gt;
&lt;/ul&gt;
I&#39;m defeated. I google: &quot;exit coffeescript repl&quot;&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://stackoverflow.com/questions/6536725/how-to-exit-coffeescript-repl&quot;&gt;http://stackoverflow.com/questions/6536725/how-to-exit-coffeescript-repl&lt;/a&gt; - The answer is: &lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;ctr+d&lt;/span&gt; (after 14 mins)&lt;/li&gt;
&lt;/ul&gt;
I exited, but it’s not yet clear to me how to print something, let’s look deeper at the overview and try:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt; &lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;alert “hello”&lt;/span&gt; - ReferenceError: alert is not defined&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;coffee -e &quot;console.log num for num in [10..1]&quot;&lt;/span&gt; &lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;- &lt;/span&gt;Gotcha!&amp;nbsp;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&lt;/span&gt; &lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;console.log &quot;hello&quot;&lt;/span&gt; &lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;- That&#39;s fine. &lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&amp;nbsp;After &lt;b&gt;29 minutes&lt;/b&gt;&lt;/div&gt;
&lt;br /&gt;
Finally let&#39;s look for a timer:&lt;br /&gt;
&lt;a href=&quot;http://stackoverflow.com/questions/4917567/coffeescript-timer-and-this-pointer-on-callback&quot;&gt;http://stackoverflow.com/questions/4917567/coffeescript-timer-and-this-pointer-on-callback&lt;/a&gt; - found it.&lt;br /&gt;
&lt;br /&gt;
Now I rearrange the script in the coffee repl to have something like:&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;setTimeout((-&amp;gt; console.log &quot;wake up&quot;), 3000)&lt;/span&gt; - It works!&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://farm1.static.flickr.com/28/97618530_fc70572727.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://farm1.static.flickr.com/28/97618530_fc70572727.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;b&gt;After&lt;/b&gt; &lt;b&gt;38 minutes&lt;/b&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div style=&quot;background-color: transparent;&quot;&gt;
&lt;span style=&quot;background-color: transparent; color: #333333; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
Actually CoffeeScript is really playable and it has a minimal syntax, but I expected a more clear documentation: the repl delayed me a bit&lt;br /&gt;
&lt;hr /&gt;
&lt;a href=&quot;http://www.blogger.com/blogger.g?blogID=6731758748253879233&quot; name=&quot;conclusion&quot;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;h1&gt;
 &lt;a href=&quot;http://www.blogger.com/blogger.g?blogID=6731758748253879233&quot; name=&quot;conclusion&quot;&gt;Conclusion&lt;/a&gt;&lt;/h1&gt;
Let&#39;s sum up some results:&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibgrEHoTqO7O0fkFJSktW48868Nh6L6aORp0HJ4Hj0Y6y4sbZLkRJ3AHoa0qpASmnEqCArZsNm3dE0R5IPl1EwVIUZzMmDtgqrSdra_CLS7W4IIHXLGiQxtD2paumgEx0srBfvCVTJ28NV/s1600/Languages.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibgrEHoTqO7O0fkFJSktW48868Nh6L6aORp0HJ4Hj0Y6y4sbZLkRJ3AHoa0qpASmnEqCArZsNm3dE0R5IPl1EwVIUZzMmDtgqrSdra_CLS7W4IIHXLGiQxtD2paumgEx0srBfvCVTJ28NV/s1600/Languages.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
The chart shows the time spent doing installation plus some initial check and the time spent hacking a timer.&lt;br /&gt;
&lt;br /&gt;
PHP and CoffeeScript&amp;nbsp;result in the same amount of time for the installation, but hacking a simple timer in CoffeeScript is quicker and it&#39;s comparable with Java, but I can&#39;t tell you more, the trial is not ending here and I still need a couple of posts to show other insights.&lt;br /&gt;
&lt;br /&gt;
Next &lt;strike&gt;week&lt;/strike&gt;&amp;nbsp;time we&#39;ll analyze three other languages, keep in touch and... mind the &lt;b&gt;feedback!&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: black;&quot;&gt;&lt;a href=&quot;http://www.flickr.com/photos/abbeychristine/97618530/&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: xx-small;&quot;&gt;Chicken timer by&amp;nbsp;&lt;/span&gt;&lt;strong class=&quot;username&quot; id=&quot;yui_3_4_0_3_1318969112402_939&quot; style=&quot;display: inline !important; font-family: Arial, Helvetica, sans-serif; font-size: 13px; font-weight: normal; line-height: 13px; margin-top: 0px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;background-color: transparent;&quot;&gt;abbey*christine&lt;/span&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.flickr.com/photos/zigazou76/5084906536/&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: xx-small;&quot;&gt;Installation by zigazou76&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6731758748253879233/posts/default/960551704229977590'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6731758748253879233/posts/default/960551704229977590'/><link rel='alternate' type='text/html' href='http://varvello.blogspot.com/2011/10/which-programming-language-coffeescript.html' title='Which Programming Language? CoffeeScript, Java, PHP'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/13119705678866132994</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://farm5.static.flickr.com/4027/5084906536_12f2c41f86_t.jpg" height="72" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-6731758748253879233.post-242538858846215888</id><published>2011-09-27T08:00:00.093+02:00</published><updated>2011-09-27T12:01:00.257+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="open closed"/><category scheme="http://www.blogger.com/atom/ns#" term="programming"/><category scheme="http://www.blogger.com/atom/ns#" term="programming language"/><category scheme="http://www.blogger.com/atom/ns#" term="simplicity"/><category scheme="http://www.blogger.com/atom/ns#" term="プログラミング"/><title type='text'>Two Reasons Your Favorite Programming Language Becomes Cumbersome</title><content type='html'>Regarding &lt;a href=&quot;http://varvello.blogspot.com/2011/09/is-your-programming-language-burden.html&quot;&gt;&quot;Is Your Programming Language A Burden?&quot;&lt;/a&gt;, a couple of days ago, a reader asked me:&lt;br /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
“How can I find a language more cumbersome the more I use it?”&lt;/div&gt;
&lt;br /&gt;
Nice question and the answer is quite simple:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;The first reason can be that the language was born cumbersome, but we didn’t have the fine taste to recognize its useless complexity.&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
Let’s take an example: think about &lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;String&lt;/span&gt; class in Java or C# you know it’s &lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;final/sealed&lt;/span&gt;, you cannot extend it to open its behavior. Moreover you cannot modify it because it’s integrated with the language (grrrrr). I can bet when programmers realize those obstacles they become aware that language holds their creativity.&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;The second reason is about a language born simple, but release after release, version after version new constructs are stuffed in and finally it becomes bloated.&lt;/li&gt;
&lt;/ul&gt;
Look at &amp;nbsp;&lt;a href=&quot;http://en.wikipedia.org/wiki/Java_version_history&quot;&gt;Java history&lt;/a&gt; and pick your top worst updates.&lt;br /&gt;
&lt;br /&gt;
In conclusion, the more you play with a language the more you discover if it solves your programming needs or if it’s only a parking brake.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgz8L0KTZsqWiV67kapz2f0CKOxNyCt8xgSs3ezl4tlQo_Fos03PS6wM_kREh-pcwMA51T7F5pbcGqbHjRzFWmOEQv0fDbGBzek81RXQjeurnu4JVgjsm-dbumZ6RXwBe4UhX1B3nqd7HsO/s1600/parkingBrake.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgz8L0KTZsqWiV67kapz2f0CKOxNyCt8xgSs3ezl4tlQo_Fos03PS6wM_kREh-pcwMA51T7F5pbcGqbHjRzFWmOEQv0fDbGBzek81RXQjeurnu4JVgjsm-dbumZ6RXwBe4UhX1B3nqd7HsO/s1600/parkingBrake.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
P.S.&lt;br /&gt;
There is a third reason of course: a language starts cumbersome and in the meantime grows with useless syntax additions, that&#39;s the worst case dear readers ;-)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: right;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Times, &#39;Times New Roman&#39;, serif; font-size: xx-small;&quot;&gt;photo by&amp;nbsp;http://www.flickr.com/photos/reiver/&lt;/span&gt;&lt;/div&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #444444; font-family: monospace; font-size: xx-small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 16px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6731758748253879233/posts/default/242538858846215888'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6731758748253879233/posts/default/242538858846215888'/><link rel='alternate' type='text/html' href='http://varvello.blogspot.com/2011/09/two-reasons-your-favorite-programming.html' title='Two Reasons Your Favorite Programming Language Becomes Cumbersome'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/13119705678866132994</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgz8L0KTZsqWiV67kapz2f0CKOxNyCt8xgSs3ezl4tlQo_Fos03PS6wM_kREh-pcwMA51T7F5pbcGqbHjRzFWmOEQv0fDbGBzek81RXQjeurnu4JVgjsm-dbumZ6RXwBe4UhX1B3nqd7HsO/s72-c/parkingBrake.jpg" height="72" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-6731758748253879233.post-2445643460979467347</id><published>2011-09-23T08:00:00.036+02:00</published><updated>2011-09-26T21:58:47.864+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="feedback"/><category scheme="http://www.blogger.com/atom/ns#" term="levelOfMagic"/><category scheme="http://www.blogger.com/atom/ns#" term="programming"/><category scheme="http://www.blogger.com/atom/ns#" term="smalltalk"/><category scheme="http://www.blogger.com/atom/ns#" term="プログラミング"/><title type='text'>Is Your Programming Language A Burden?</title><content type='html'>Hi folks,&lt;br /&gt;
&amp;nbsp;How are you? I&#39;m fine, coaching a bit, programming a bit, observing, planning.&lt;br /&gt;
&lt;br /&gt;
As you are reading this blog, I guess your workdays look like mine: wondering who was able to write that messy code (it&#39;s you, last month, you know) but you are not an ordinary developer you study, you delve... and day after day, while you are improving, you have a feeling your programming language is slowing you down.&lt;br /&gt;
&lt;br /&gt;
It&#39;s something I often see: at some point you feel the language doesn&#39;t follow your thoughts, suddenly the syntax becomes cumbersome, types are a cage, primitives reduce your ability to create concepts.&lt;br /&gt;
&lt;br /&gt;
In &lt;a href=&quot;http://varvello.blogspot.com/2011/09/how-to-choose-programming-language.html&quot;&gt;&quot;How To Choose A Programming Language&quot;&lt;/a&gt; I talked about &lt;a href=&quot;http://varvello.blogspot.com/2011/09/how-to-choose-programming-language.html#stopwatch&quot;&gt;feedback&lt;/a&gt; and &lt;a href=&quot;http://varvello.blogspot.com/2011/09/how-to-choose-programming-language.html#magic&quot;&gt;level of magic&lt;/a&gt; and I&#39;d like to hear your voice: did you measure the feedback of your favorite programming languages? You can do it now ;-)&lt;br /&gt;
Tell me about it on Twitter &lt;a href=&quot;http://twitter.com/#!/Varvello&quot;&gt;@Varvello&lt;/a&gt; or &lt;a href=&quot;http://www.facebook.com/davide.varvello&quot;&gt;Facebook&lt;/a&gt; or &lt;a href=&quot;https://plus.google.com/116304784944307124579/about&quot;&gt;Google+&lt;/a&gt; or wherever&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #444444; font-family: monospace; font-size: xx-small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 16px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6731758748253879233/posts/default/2445643460979467347'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6731758748253879233/posts/default/2445643460979467347'/><link rel='alternate' type='text/html' href='http://varvello.blogspot.com/2011/09/is-your-programming-language-burden.html' title='Is Your Programming Language A Burden?'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/13119705678866132994</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6731758748253879233.post-2381771055559520818</id><published>2011-09-15T08:00:00.054+02:00</published><updated>2011-09-22T21:43:01.358+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="communication"/><category scheme="http://www.blogger.com/atom/ns#" term="feedback"/><category scheme="http://www.blogger.com/atom/ns#" term="levelOfMagic"/><category scheme="http://www.blogger.com/atom/ns#" term="magic"/><category scheme="http://www.blogger.com/atom/ns#" term="programming"/><category scheme="http://www.blogger.com/atom/ns#" term="smalltalk"/><category scheme="http://www.blogger.com/atom/ns#" term="プログラミング"/><title type='text'>How To Choose A Programming Language</title><content type='html'>Welcome back. It has been a long time since my last post, but I was on vacation than my fish was sick and I needed to take it to the vet and my neighbor&#39;s daughter got a round hair brush stuck in her hair and I needed to help her get it out and in addition I fell off a ladder fixing the roof on my house and I landed on my elbow and &lt;a href=&quot;http://madtbone.tripod.com/work.htm&quot; target=&quot;_blank&quot;&gt;etc. etc.&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Anyway, in the last post, &lt;a href=&quot;http://varvello.blogspot.com/2011/07/wordpresscom-vs-blogger-ii.html&quot; target=&quot;_blank&quot;&gt;Wordpress vs. Blogger II&lt;/a&gt;, I stressed the importance of feedback and how it’s valuable for a programmer to gather feedback from her daily tools. More the feedback is fast, more we learn and more we can tune our product. If we have a result back in a month we learn after a month, if we have it in a week after a week in a second after a second.&lt;br /&gt;
&lt;br /&gt;
I also give you this tidbit: our brain is very fast, it reacts in a jiffy: some days ago I was looking at my wife struggling with a web page where there was a button that said: “to reload press here” so I told her: “look at the button, don’t press it”. I didn’t end the phrase yet and my wife started moving her mouse over the button, she began reacting immediately.&lt;br /&gt;
Brain’s feedback is really fast, to be more effective I should have said something like: “don’t press the button now it&#39;s useless&quot;.&lt;br /&gt;
&lt;br /&gt;
But I’m digressing.&lt;br /&gt;
&lt;br /&gt;
As a programmer needing to be productive, which kind of language should I use? Which criteria are valuable? Where should I start?&lt;br /&gt;
&lt;br /&gt;
Let’s suppose on the web there is some hype about a new programming language and you are almost interested in it, so you bring a reference book, after which you should focus on three things:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;a name=&quot;stopwatch&quot;&gt;Feedback:&lt;/a&gt; how long it takes from the first time you see a line of code on the reference to the time you have that line running on your pc.&amp;nbsp;That includes: downloading, installing, configuring, compiling… (stopwatch at hand).&lt;/li&gt;
&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;a name=&quot;play&quot;&gt;Feedback:&lt;/a&gt; how it’s easy to play with the language. Close the reference and &lt;a href=&quot;http://c2.com/xp/SpikeSolution.html&quot; target=&quot;_blank&quot;&gt;spike&lt;/a&gt; a bit. Can you immediately have some results? Are error messages communicative?&lt;/li&gt;
&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;And of course, &lt;a name=&quot;magic&quot;&gt;Feedback:&lt;/a&gt; look for something more complex e.g. saving data of a web page on db. Does the language solve it in a couple of lines of code?&amp;nbsp;It means it’s very powerful, but be careful, that’s what I call: &lt;i&gt;&lt;b&gt;Level of Magic&lt;/b&gt;&lt;/i&gt;. It’s not really a drawback per se but you should be aware that the language does a lot of stuff in a very few lines of code, if you have to change something, you’ll have to understand its behavior and actually that behavior is hidden -&amp;gt; high level of magic.&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
Now, I give you an example of the second kind of feedback. The example is not new, but it’s something that has been fascinating me for a long time.&lt;br /&gt;
&lt;br /&gt;
Comments in Smalltalk are enclosed in double quotes:&lt;br /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;“this is a comment”&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;Of course a comment can be like this one:&lt;br /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;“example  {1.2.3.3}as:Set”&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;I can select &amp;nbsp;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;{1.2.3.3}as:Set&amp;nbsp;&lt;/span&gt; and evaluate it, I can execute a comment and see the result. That comment is living, I can play with it... I can learn: &lt;i&gt;fascinating&lt;/i&gt;.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6731758748253879233/posts/default/2381771055559520818'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6731758748253879233/posts/default/2381771055559520818'/><link rel='alternate' type='text/html' href='http://varvello.blogspot.com/2011/09/how-to-choose-programming-language.html' title='How To Choose A Programming Language'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/13119705678866132994</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6731758748253879233.post-5211260437134951678</id><published>2011-07-25T08:00:00.002+02:00</published><updated>2011-07-27T16:27:21.233+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="blogger"/><category scheme="http://www.blogger.com/atom/ns#" term="feedback"/><category scheme="http://www.blogger.com/atom/ns#" term="smalltalk"/><category scheme="http://www.blogger.com/atom/ns#" term="wordpress"/><title type='text'>Wordpress.com vs. Blogger II</title><content type='html'>Here we are at the second episode of Wordpress.com vs. Blogger.&lt;br /&gt;
As you know my &lt;a href=&quot;http://varvello.blogspot.com/2011/07/wordpresscom-vs-blogger.html&quot; target=&quot;_blank&quot;&gt;first motivation&lt;/a&gt;&amp;nbsp;is&amp;nbsp;&lt;b&gt;simplicity&lt;/b&gt;. The second one is... look at the following videos:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;iframe allowfullscreen=&#39;allowfullscreen&#39; webkitallowfullscreen=&#39;webkitallowfullscreen&#39; mozallowfullscreen=&#39;mozallowfullscreen&#39; width=&#39;320&#39; height=&#39;266&#39; src=&#39;https://www.youtube.com/embed/7PMI0SRr9Wc?feature=player_embedded&#39; frameborder=&#39;0&#39;&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;object class=&quot;BLOGGER-youtube-video&quot; classid=&quot;clsid:D27CDB6E-AE6D-11cf-96B8-444553540000&quot; codebase=&quot;http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0&quot; data-thumbnail-src=&quot;http://i.ytimg.com/vi/Ro75_b8zPWU/0.jpg&quot; height=&quot;266&quot; width=&quot;320&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/Ro75_b8zPWU?f=user_uploads&amp;c=google-webdrive-0&amp;app=youtube_gdata&quot; /&gt;&lt;param name=&quot;bgcolor&quot; value=&quot;#FFFFFF&quot; /&gt;&lt;embed width=&quot;320&quot; height=&quot;266&quot;  src=&quot;http://www.youtube.com/v/Ro75_b8zPWU?f=user_uploads&amp;c=google-webdrive-0&amp;app=youtube_gdata&quot; type=&quot;application/x-shockwave-flash&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
Did you see? Blogger performs some actions faster than Wordpress.com.&lt;br /&gt;
&lt;br /&gt;
The&amp;nbsp;creation of a&amp;nbsp;new post is slower on Wordpress.com&amp;nbsp;(~6 secs)&amp;nbsp;than Blogger (~3 secs) .&lt;br /&gt;
Blogger&#39;s autosave is within &lt;a href=&quot;http://www.google.com/support/blogger/bin/answer.py?hl=en&amp;amp;answer=42442&quot; target=&quot;_blank&quot;&gt;one minute&lt;/a&gt;, Wordpress.com autosave is within &lt;a href=&quot;http://en.support.wordpress.com/autosave/&quot; target=&quot;_blank&quot;&gt;two minutes&lt;/a&gt; and moreover, if you want to manually save your draft, look at the video! The action is not really immediate.&lt;br /&gt;
Finally also on preview Blogger is faster than Wordpress.com.&lt;br /&gt;
&lt;br /&gt;
Conclusion: you can easily imagine, when you write a post, you start dropping a few lines, than see how they look like, than rewrite and see again and so on.&amp;nbsp;That&#39;s why &lt;b&gt;feedback&lt;/b&gt; while editing a text is important.&lt;br /&gt;
&lt;br /&gt;
Now I&#39;ve a question for you, when you write a program are you editing a text? Indeed, it is something more than editing a text, we need feedback and more. So next post we&#39;ll see how a few languages, like Smalltalk, can provide you a fast &lt;b&gt;feedback&lt;/b&gt;.&lt;br /&gt;
&lt;br /&gt;
See you.&lt;br /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6731758748253879233/posts/default/5211260437134951678'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6731758748253879233/posts/default/5211260437134951678'/><link rel='alternate' type='text/html' href='http://varvello.blogspot.com/2011/07/wordpresscom-vs-blogger-ii.html' title='Wordpress.com vs. Blogger II'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/13119705678866132994</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6731758748253879233.post-5773466172795782017</id><published>2011-07-04T21:55:00.002+02:00</published><updated>2011-10-05T23:36:20.115+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="blogger"/><category scheme="http://www.blogger.com/atom/ns#" term="simplicity"/><category scheme="http://www.blogger.com/atom/ns#" term="wordpress"/><category scheme="http://www.blogger.com/atom/ns#" term="単純"/><category scheme="http://www.blogger.com/atom/ns#" term="简单"/><title type='text'>Wordpress.com vs. Blogger</title><content type='html'>If you are reading this post, probably you are aware last week I changed blogging platform: from wordpress.com to blogger.&lt;br /&gt;
I specified wordpress&lt;b&gt;&lt;i&gt;.com&lt;/i&gt;&lt;/b&gt; because there is also a wordpress&lt;b&gt;&lt;i&gt;.org&lt;/i&gt;&lt;/b&gt;&amp;nbsp;but that&#39;s the carry-over-your-shoulders &amp;nbsp;platform.&lt;br /&gt;
&lt;br /&gt;
The very first days I set up my blog, I found on the net a lot of useful plugins for wordpress, wonderful - I said - I tried to install some plugins or to search for the right option in .com, but&amp;nbsp;unfortunately they was for the .org version&amp;nbsp;(side note: dear reader, you have to know I&#39;m a simple mind, I get lost immediately when I find something it&#39;s not crystal clear).&lt;br /&gt;
Finally I discovered the difference: &lt;b&gt;&lt;i&gt;.com&lt;/i&gt;&lt;/b&gt; is all-inclusive but restricted, &lt;b&gt;&lt;i&gt;.org&lt;/i&gt;&lt;/b&gt; is free as a bird but you&#39;ve also to mount an &lt;a href=&quot;http://www.simpleassemblymehole.com/ikea-furniture/death-by-ikea&quot; target=&quot;”_blank”&quot;&gt;ikea wardrobe&lt;/a&gt;.&lt;br /&gt;
I discarded the .org solution sure the .com version&amp;nbsp;was downhill all the way.&lt;br /&gt;
&lt;br /&gt;
Now, let see the &quot;easy&quot; way:&lt;br /&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFsMjHvoKtAmp7a-AztHelSTEUyS5iRc7jKlagjzr26_VVXdUeGs1gWBbhlc3-zIuxb7iQCytVZASTtnOC6ZcMBFG1sa1Tp3CtyBlnfQjcSES-uIYE9Bi3ElvoY-h5Qsv5sJp71ar45B8v/s1600/WpDashboard.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;340&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFsMjHvoKtAmp7a-AztHelSTEUyS5iRc7jKlagjzr26_VVXdUeGs1gWBbhlc3-zIuxb7iQCytVZASTtnOC6ZcMBFG1sa1Tp3CtyBlnfQjcSES-uIYE9Bi3ElvoY-h5Qsv5sJp71ar45B8v/s640/WpDashboard.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Wordpress.com Dashboard&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;br /&gt;
In your personal wordpress.com dashboard there are: five items in the top bar and fourteen items in the admin bar on the left, i.e.&amp;nbsp;&lt;b&gt;nineteen&lt;/b&gt; first level items, but &amp;nbsp;if you expand every item there are many others links or buttons eager to be clicked. &amp;nbsp; G o s h. &lt;br /&gt;
&lt;br /&gt;
Now let&#39;s go to the blogger dashboard&lt;br /&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYmKTs5aQZ3rWWA-OdH66cOuIzjGq9om6nW6IuiANv8Ee4uUrs9leuV6CRbJVYeZZ5BOAPNSnjtmNrTKq8Lr3BqvtLpmi-Dsd3RIVZytQSH-Dk6QfcVO4KekvAj5VkVC_1DG-RI8ICaQ5N/s1600/BloggerDashboard.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;610&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYmKTs5aQZ3rWWA-OdH66cOuIzjGq9om6nW6IuiANv8Ee4uUrs9leuV6CRbJVYeZZ5BOAPNSnjtmNrTKq8Lr3BqvtLpmi-Dsd3RIVZytQSH-Dk6QfcVO4KekvAj5VkVC_1DG-RI8ICaQ5N/s640/BloggerDashboard.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Blogger Dashboard&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;br /&gt;
Six first level&amp;nbsp;(tabbed)&amp;nbsp;items, plus a &quot;view blog&quot; link&lt;br /&gt;
&lt;br /&gt;
Why do you want to start a blog? Probably because you want to write something worth of and I say writing, not configuring or searching for the right option or whatever else. All other activities are needed but should be done with less hassle. Writing should be immediate!&lt;br /&gt;
I&#39;ve to admit the settings tab in blogger is quite crowded and can be simplified, but almost all the default options are ok.&lt;br /&gt;
&lt;br /&gt;
Good, that&#39;s enough but I&#39;ll tell you more in the next post.&lt;br /&gt;
See you.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Update&lt;/b&gt;: The second part of this post is here:&amp;nbsp;&lt;a href=&quot;http://varvello.blogspot.com/2011/07/wordpresscom-vs-blogger-ii.html&quot;&gt;Wordpress.com vs. Blogger II&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6731758748253879233/posts/default/5773466172795782017'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6731758748253879233/posts/default/5773466172795782017'/><link rel='alternate' type='text/html' href='http://varvello.blogspot.com/2011/07/wordpresscom-vs-blogger.html' title='Wordpress.com vs. Blogger'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/13119705678866132994</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFsMjHvoKtAmp7a-AztHelSTEUyS5iRc7jKlagjzr26_VVXdUeGs1gWBbhlc3-zIuxb7iQCytVZASTtnOC6ZcMBFG1sa1Tp3CtyBlnfQjcSES-uIYE9Bi3ElvoY-h5Qsv5sJp71ar45B8v/s72-c/WpDashboard.png" height="72" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-6731758748253879233.post-2188811855075834091</id><published>2011-06-23T21:10:00.001+02:00</published><updated>2011-06-23T21:41:44.640+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="change"/><title type='text'>...Change No.1</title><content type='html'>Ah-ha, here we are! Welcome again.&lt;br /&gt;
As you can see, you can find all my &quot;old&quot; posts here. I hope you like this new home.&lt;br /&gt;
&amp;nbsp;Stay tuned.&lt;br /&gt;
&lt;br/&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6731758748253879233/posts/default/2188811855075834091'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6731758748253879233/posts/default/2188811855075834091'/><link rel='alternate' type='text/html' href='http://varvello.blogspot.com/2011/06/change-n1.html' title='...Change No.1'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/13119705678866132994</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6731758748253879233.post-3825750041594708131</id><published>2011-06-22T06:21:00.002+02:00</published><updated>2011-06-23T21:42:38.334+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="agile"/><category scheme="http://www.blogger.com/atom/ns#" term="communication"/><category scheme="http://www.blogger.com/atom/ns#" term="smalltalk"/><category scheme="http://www.blogger.com/atom/ns#" term="xp"/><title type='text'>10 Smalltalk One Liners to Impress Your Friends</title><content type='html'>Some days ago, &lt;a href=&quot;http://programmingzen.com/2011/06/02/10-ruby-one-liners-to-impress-your-friends/&quot; target=&quot;_blank&quot;&gt;Antonio&lt;/a&gt; posted a list of 10 Ruby one-liners. The 1-liners saga started with&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &lt;a href=&quot;http://solog.co/47/10-scala-one-liners-to-impress-your-friends/&quot; target=&quot;_blank&quot;&gt;Scala&lt;/a&gt;,&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; then&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://ricardo.cc/2011/06/02/10-CoffeeScript-One-Liners-to-Impress-Your-Friends.html&quot; target=&quot;_blank&quot;&gt;CoffeeScript&lt;/a&gt;,&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;a href=&quot;http://blog.fogus.me/2011/06/03/10-haskell-one-liners-to-impress-your-friends/&quot; target=&quot;_blank&quot;&gt;Haskell&lt;/a&gt;,&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;a href=&quot;http://freegeek.in/blog/2011/06/10-clojure-one-liners/&quot; target=&quot;_blank&quot;&gt;Clojure&lt;/a&gt;,&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;a href=&quot;http://codeblog.dhananjaynene.com/2011/06/10-python-one-liners-to-impress-your-friends/&quot; target=&quot;_blank&quot;&gt;Python&lt;/a&gt;,&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;a href=&quot;http://arturoherrero.com/2011/06/04/10-groovy-one-liners-to-impress-your-friends/&quot; target=&quot;_blank&quot;&gt;Groovy&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Very good, everyone wants to impress his friends, perhaps &lt;a href=&quot;http://www.google.com/search?tbm=isch&amp;amp;hl=en&amp;amp;source=hp&amp;amp;biw=1679&amp;amp;bih=914&amp;amp;q=megan+fox&amp;amp;gbv=2&amp;amp;oq=megan+fox&amp;amp;aq=f&amp;amp;aqi=g10&amp;amp;aql=&amp;amp;gs_sm=e&amp;amp;gs_upl=2221l4027l0l9l7l0l0l0l0l314l971l0.2.0.2&quot; target=&quot;_blank&quot;&gt;She&lt;/a&gt; could impress your friends more. Anyway, the grandaddy of programming languages, &lt;a href=&quot;http://en.wikipedia.org/wiki/Smalltalk&quot; target=&quot;_blank&quot;&gt;Smalltalk&lt;/a&gt;, is alive even if its voice is weak.&lt;br /&gt;
&lt;br /&gt;
So, let&#39;s start&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Multiply each item in a list by 2&lt;/strong&gt;&lt;br /&gt;
&lt;pre&gt;(1 to: 10) collect:  [:each | each * 2]
&lt;/pre&gt;&lt;br /&gt;
&lt;hr /&gt;&lt;strong&gt;Sum a list of numbers&lt;/strong&gt;&lt;br /&gt;
&lt;pre&gt;(1 to: 1000) inject: 0 into: [:sum :each | sum + each]
&lt;/pre&gt;&lt;br /&gt;
&lt;hr /&gt;&lt;strong&gt;Verify if tokens exist in a string&lt;/strong&gt;&lt;br /&gt;
&lt;pre&gt;words := {&#39;smalltalk&#39;. &#39;akka&#39;. &#39;play framework&#39;. &#39;sbt&#39;. &#39;typesafe&#39;}.
tweet := &#39;This is an example tweet talking about smalltalk and sbt&#39;.
words anySatisfy: [:each | tweet includesSubString: each]
&lt;/pre&gt;&lt;br /&gt;
but Collection&amp;gt;&amp;gt;detect: is more speaking and you can have the first occurrence back &lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;words := {&#39;smalltalk&#39;. &#39;akka&#39;. &#39;play framework&#39;. &#39;sbt&#39;. &#39;typesafe&#39;}.
tweet := &#39;This is an example tweet talking about smalltalk and sbt&#39;.
words detect: [:each |tweet includesSubString: each]
&lt;/pre&gt;&lt;br /&gt;
&lt;hr /&gt;&lt;strong&gt;Reading a file&lt;/strong&gt;&lt;br /&gt;
&lt;pre&gt;(FileStream fileNamed:&#39;test.txt&#39;) contents.
&lt;/pre&gt;Wonderful.&lt;br /&gt;
&lt;br /&gt;
&lt;hr /&gt;&lt;strong&gt;Happy Birthday&lt;/strong&gt;&lt;br /&gt;
&lt;div class=&quot;scrollbox&quot;&gt;&lt;pre&gt;Transcript show:&#39;Happy Birthday to You\Happy Birthday to You\Happy Birthday dear Davide\Happy Birthday to You&#39; withCRs&lt;/pre&gt;&lt;/div&gt;Less geeky than the Scala ex., but more simple and communicative ;-)&lt;br /&gt;
&lt;br /&gt;
&lt;hr /&gt;&lt;strong&gt;Filter a list of numbers&lt;/strong&gt;&lt;br /&gt;
&lt;pre&gt;#(49 58 76 82 88 90) groupedBy: [:n| n &amp;gt; 60] 
&lt;/pre&gt;&lt;br /&gt;
&lt;hr /&gt;&lt;strong&gt;Fetch and parse an XML web service&lt;/strong&gt;&lt;br /&gt;
&lt;div class=&quot;scrollbox&quot;&gt;&lt;pre&gt;XMLDOMParser parseDocumentFrom:(HTTPSocket httpGet:&#39;search.twitter.com/search.atom?&amp;amp;q=smalltalk&#39;)&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;hr /&gt;&lt;strong&gt;Find minimum (or maximum) in a list&lt;/strong&gt;&lt;br /&gt;
&lt;pre&gt;#(49 58 76 123 82 88 90 -3) max
#(49 58 76 123 82 88 90 -3) min
&lt;/pre&gt;&lt;br /&gt;
&lt;hr /&gt;&lt;strong&gt;Parallel Processing&lt;/strong&gt;&lt;br /&gt;
Hmm, there isn&#39;t an easy way, you should use a specific VM such as:&lt;br /&gt;
&lt;a href=&quot;http://www.cincomsmalltalk.com/main/solutions/cross-platform/polycephaly/&quot; target=&quot;_blank&quot;&gt;Polycephaly&lt;/a&gt; or &lt;a href=&quot;https://github.com/smarr/RoarVM&quot; target=&quot;_blank&quot;&gt;RoarVM&lt;/a&gt;, but I have no direct experience on them&lt;br /&gt;
&lt;br /&gt;
&lt;hr /&gt;&lt;strong&gt;Sieve of Eratosthenes&lt;/strong&gt;&lt;br /&gt;
&lt;div class=&quot;scrollbox&quot;&gt;&lt;pre&gt;sieve := Array new: aNumber withAll: true. 
sieve at: 1 put: false. 
2 to: aNumber do: [:i | (sieve at: i) ifTrue: [2*i to: aNumber by: i do: [:k | sieve at: k put: false] ] 
&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;
That&#39;s a snippet I posted &lt;a href=&quot;http://tech.groups.yahoo.com/group/squeak/message/112113&quot; target=&quot;_blank&quot;&gt;some years ago&lt;/a&gt;. It&#39;s not a one liner, but like &lt;a href=&quot;http://programmingzen.com/2011/06/02/10-ruby-one-liners-to-impress-your-friends/&quot; target=&quot;_blank&quot;&gt;Antonio&lt;/a&gt; I think it&#39;s readable.&lt;br /&gt;
&lt;br /&gt;
&lt;hr /&gt;&lt;strong&gt;First Bonus! - Size of running objects&lt;/strong&gt;&lt;br /&gt;
&lt;pre&gt;Array allInstances size 
&lt;/pre&gt;You can see, it&#39;s easy to find all instances of an object and calculate their total size.&lt;br /&gt;
&lt;br /&gt;
&lt;hr /&gt;&lt;strong&gt;Second Bonus! - Fast code cleanup&lt;/strong&gt;&lt;br /&gt;
&lt;pre&gt;SystemNavigation new allUnsentMessages
&lt;/pre&gt;Calling allUnsentMessages you can find all methods none call. Sigh, they are very very sad, nobody is interested in them, you should clean up your code :-)&lt;br /&gt;
&lt;br /&gt;
See you next time!&lt;br /&gt;
&lt;br/&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6731758748253879233/posts/default/3825750041594708131'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6731758748253879233/posts/default/3825750041594708131'/><link rel='alternate' type='text/html' href='http://varvello.blogspot.com/2011/06/test.html' title='10 Smalltalk One Liners to Impress Your Friends'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/13119705678866132994</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6731758748253879233.post-3681544820715085463</id><published>2011-06-21T21:14:00.005+02:00</published><updated>2011-06-28T19:14:17.898+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="quality"/><category scheme="http://www.blogger.com/atom/ns#" term="simplicity"/><category scheme="http://www.blogger.com/atom/ns#" term="単純"/><category scheme="http://www.blogger.com/atom/ns#" term="简单"/><title type='text'>You are an innovator</title><content type='html'>Are you doing the very same things, every day in your life? And you feel you are stuck like a fly in a spider&#39;s web.&lt;br /&gt;
&lt;br /&gt;
Probably you are not alone!&lt;br /&gt;
&lt;br /&gt;
But if you are so obsessed to find a way to get rid off them, so, they&#39;ll call you innovator.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6731758748253879233/posts/default/3681544820715085463'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6731758748253879233/posts/default/3681544820715085463'/><link rel='alternate' type='text/html' href='http://varvello.blogspot.com/2011/06/you-are-innovator.html' title='You are an innovator'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/13119705678866132994</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6731758748253879233.post-1595522754302344671</id><published>2011-06-21T21:11:00.003+02:00</published><updated>2011-06-28T19:16:34.232+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="agile"/><category scheme="http://www.blogger.com/atom/ns#" term="simplicity"/><category scheme="http://www.blogger.com/atom/ns#" term="smalltalk"/><category scheme="http://www.blogger.com/atom/ns#" term="単純"/><category scheme="http://www.blogger.com/atom/ns#" term="简单"/><title type='text'>Reuse, Reduce, Recycle...again</title><content type='html'>Ok fine, it was an intense week folks, the team struggled with a lot of legacy code (arghh) . Anyway, do you remember &lt;a href=&quot;http://varvello.blogspot.com/2011/06/reuse-reduce-recycle.html&quot; target=&quot;_blank&quot;&gt;Up With People, Reuse Reduce Recycle&lt;/a&gt; about two posts ago? Good, I&#39;m going to tell you a story:&lt;br /&gt;
Let&#39;s suppose you want to go to New York City (are you living there? Ok, stop reading this post, go out, jog in central park, eat something at Bubba Gump etc. etc. etc.).&lt;br /&gt;
Let&#39;s move on, you are not living in NYC, not in Brooklyn, Queens... but far from Manhattan and you are looking for a flight from your hometown to The Big Apple, so you browse some flight search engines.&lt;br /&gt;
One more hint: you are not someone who likes to socialize, to chit-chat, to talk about the weather, you are not human you are... a programmer! Are you living in NYC and you are human? Stop reading this post, go out, jog in...&lt;br /&gt;
As you are a programmer, you want to know some of the internalities of flights and how data is transferred from server to client. Finally during your adventure as a novice Sherlock you find at 85%... hmm at 91%... hmm at 97.49% an: XML.&lt;br /&gt;
&lt;br /&gt;
When I find an XML, I always think to myself: I could merrily develop with my favorite language (Smalltalk you guess), why should I face with XML, the Bernie Madoff of languages, something that robs semantic from riches (Smalltalk) to put it in the trash?&lt;br /&gt;
&lt;br /&gt;
In this context you can have something like:&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;&amp;lt;route&amp;gt;
      &amp;lt;flights&amp;gt;
            &amp;lt;flight&amp;gt;
                  &amp;lt;flightNumber&amp;gt;123456&amp;lt;/flightNumber&amp;gt;
                  &amp;lt;departure&amp;gt;Milan MXP&amp;lt;/departure&amp;gt;
                  &amp;lt;departureTime&amp;gt;10:30 AM 20110101&amp;lt;/departureTime&amp;gt;
                  &amp;lt;arrival&amp;gt;New York City JFK&amp;lt;/arrival&amp;gt;
                  &amp;lt;arrivalTime&amp;gt;12:30 PM 20110101&amp;lt;/arrivalTime&amp;gt;
            &amp;lt;/flight&amp;gt;
          .
          .
      &amp;lt;/flights&amp;gt;
&amp;lt;/route&amp;gt;
&lt;/pre&gt;&lt;br /&gt;
That annoying structure is multiplied for thousands of flights and I don&#39;t want to mention: fares, meals, taxes, types of airplanes and so on. You can easily imagine how this xml can be cumbersome.&lt;br /&gt;
What can be useful is a mechanism to take a root object (Route) on the server, packing it with all its attributes, transferring it on a client and restoring it there. Many languages support this mechanism: it&#39;s called serialization, in Smalltalk you can use a special object: &lt;a href=&quot;http://varvello.blogspot.com/p/smartrefstream.html&quot; target=&quot;_blank&quot;&gt;SmartRefStream&lt;/a&gt; to easily serialize any object tree.&lt;br /&gt;
Ok... ok... I can hear your objections: &quot;XML is a serialization format&quot;, &quot;XML provides interoperability&quot; I know, but &lt;a href=&quot;http://varvello.blogspot.com/p/smartrefstream.html&quot; target=&quot;_blank&quot;&gt;SmartRefStream&lt;/a&gt; is there, smiling at you, there is no need to invent another fashionable format if I can use an effective one, we don&#39;t need interoperability, we need operability! &lt;a href=&quot;http://varvello.blogspot.com/2011/06/reuse-reduce-recycle.html&quot; target=&quot;_blank&quot; title=&quot;Reuse, Reduce, Recycle&quot;&gt;We want to use and reuse it, we want to reduce the complexity&lt;/a&gt;, not to introduce a new format. But you know I&#39;m not human, I&#39;m a programmer, but not a programmer, I&#39;m a smalltalker.&lt;br /&gt;
See you folks.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6731758748253879233/posts/default/1595522754302344671'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6731758748253879233/posts/default/1595522754302344671'/><link rel='alternate' type='text/html' href='http://varvello.blogspot.com/2011/06/reuse-reduce-recycleagain.html' title='Reuse, Reduce, Recycle...again'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/13119705678866132994</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6731758748253879233.post-5641762826850205454</id><published>2011-06-21T21:06:00.004+02:00</published><updated>2011-06-28T19:14:45.992+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="agile"/><category scheme="http://www.blogger.com/atom/ns#" term="simplicity"/><category scheme="http://www.blogger.com/atom/ns#" term="単純"/><category scheme="http://www.blogger.com/atom/ns#" term="简单"/><title type='text'>Is Obama a software guy?</title><content type='html'>Last week, with the end of &lt;a href=&quot;http://tinyurl.com/4yqztln&quot; target=&quot;_blank&quot;&gt;Osama Bin Laden&lt;/a&gt;,&amp;nbsp;President Obama ended a tangent started ten years ago.&amp;nbsp;It was an expensive digression, but now, in some way, it&#39;s a full stop. I don&#39;t know what is the involvement of &lt;a href=&quot;http://tinyurl.com/3l7kgnw&quot; target=&quot;_blank&quot;&gt;Mr.President&lt;/a&gt; in software, even if his campaign had some contributions by &lt;a href=&quot;http://www.infoq.com/presentations/fowlere-xley-democratic-political-technology&quot; target=&quot;_blank&quot;&gt;agile people&lt;/a&gt;, but we, as software developers, should learn from that lesson: to commit implementing a feature and delivering it.&amp;nbsp;It&#39;s not a software specific issue, it concerns every professional that wants to be reliable:&amp;nbsp;to promise and to keep the promise.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6731758748253879233/posts/default/5641762826850205454'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6731758748253879233/posts/default/5641762826850205454'/><link rel='alternate' type='text/html' href='http://varvello.blogspot.com/2011/06/is-obama-software-guy.html' title='Is Obama a software guy?'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/13119705678866132994</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6731758748253879233.post-6526375150373240644</id><published>2011-06-21T21:05:00.004+02:00</published><updated>2011-06-28T19:14:58.641+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="agile"/><category scheme="http://www.blogger.com/atom/ns#" term="simplicity"/><category scheme="http://www.blogger.com/atom/ns#" term="単純"/><category scheme="http://www.blogger.com/atom/ns#" term="简单"/><title type='text'>Reuse, Reduce, Recycle</title><content type='html'>A long time ago I hosted some guys of &lt;a href=&quot;http://www.upwithpeople.org/&quot; target=&quot;_blank&quot;&gt;Up With People&lt;/a&gt; for about a week, they arranged a lovely show in my hometown dancing, singing... we had a lot of fun.&lt;br /&gt;
I mind a song named &quot;Reuse, Reduce, Recycle&quot; actually I can&#39;t remember the lyrics, but at that time, the song, favoured by a nice riff, stuck in my mind for a while.&lt;br /&gt;
&lt;br /&gt;
I&#39;m not here to advertise on how to be green, but to reflect on software building.&lt;br /&gt;
How many times did you think that to implement an HTML page was only a matters of minutes? Unfortunately, you spent one very single day fighting with CSSes and browsers and when you thought you were done, a colleague showed you that increasing fonts the layout was compromised. Arrrgggg!&lt;br /&gt;
Or... you are a JS warrior and you want to use that very nice feature of JQuery to impress the customer that is behind you looking at the screen of &lt;strong&gt;your&lt;/strong&gt; pc. Unfortunately the version of JQuery you have in production is a couple of years old and there is no trace of that nice feature you love (of course, a multitude of other services are using that old, but running version of JQuery... and you want to change it? Brrrrr).&lt;br /&gt;
&lt;br /&gt;
That&#39;s a standard scenario, but let the UWP guys give us a hand.&lt;br /&gt;
How? Next time folks :-)</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6731758748253879233/posts/default/6526375150373240644'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6731758748253879233/posts/default/6526375150373240644'/><link rel='alternate' type='text/html' href='http://varvello.blogspot.com/2011/06/reuse-reduce-recycle.html' title='Reuse, Reduce, Recycle'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/13119705678866132994</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6731758748253879233.post-5323498855274010053</id><published>2011-06-21T21:04:00.004+02:00</published><updated>2011-06-28T19:15:12.470+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="simplicity"/><category scheme="http://www.blogger.com/atom/ns#" term="単純"/><category scheme="http://www.blogger.com/atom/ns#" term="简单"/><title type='text'>My Truth, Your Truth</title><content type='html'>&lt;div&gt;From time to time I see some buzz on &quot;my truth&quot;, &quot;your truth&quot;, &quot;their truth&quot;. Language evolves, but in some cases, meanings are deliberately distorted to undermine the power of words. It does not exist my truth or your truth only my opinion&amp;nbsp;or your opinion.&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;That&#39;s my opinion.&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6731758748253879233/posts/default/5323498855274010053'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6731758748253879233/posts/default/5323498855274010053'/><link rel='alternate' type='text/html' href='http://varvello.blogspot.com/2011/06/my-truth-your-truth.html' title='My Truth, Your Truth'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/13119705678866132994</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6731758748253879233.post-7526596480324986265</id><published>2011-06-21T21:03:00.006+02:00</published><updated>2011-10-16T10:10:36.672+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="simplicity"/><category scheme="http://www.blogger.com/atom/ns#" term="単純"/><category scheme="http://www.blogger.com/atom/ns#" term="简单"/><title type='text'>You are wonderful!</title><content type='html'>Because you are the reader of my blog ;-)&lt;br /&gt;
&lt;br /&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6731758748253879233/posts/default/7526596480324986265'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6731758748253879233/posts/default/7526596480324986265'/><link rel='alternate' type='text/html' href='http://varvello.blogspot.com/2011/06/you-are-wonderful.html' title='You are wonderful!'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/13119705678866132994</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author></entry></feed>