<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" gd:etag="W/&quot;C0QGSHw6cSp7ImA9WhdREk8.&quot;"><id>tag:blogger.com,1999:blog-7769804657388802648</id><updated>2011-08-01T13:55:29.219-04:00</updated><category term="setup" /><category term="user group" /><category term="Scala" /><category term="JVM" /><category term="Sun" /><category term="Linux" /><category term="books" /><category term="multi-monitor" /><category term="programming" /><category term="language" /><category term="Windows" /><category term="conference" /><category term="Java" /><category term="JavaOne" /><category term="Synergy" /><title>weblog.serifovic.nermin</title><subtitle type="html">Computers, Programming, JVM, Java, Scala and Stuff</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://blog.nerm.in/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://blog.nerm.in/" /><author><name>Nermin Serifovic</name><uri>http://www.blogger.com/profile/14390690705192426597</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="23" height="32" src="http://1.bp.blogspot.com/_ah4KG70XE28/Sgx0jIECU4I/AAAAAAAAAFY/BQ8leIjxAh8/S220/2660539546_93b84f4eeb_b.jpg" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>5</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/nerminserifovic" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="nerminserifovic" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;DUcBQXY9fyp7ImA9Wx9QFUQ.&quot;"><id>tag:blogger.com,1999:blog-7769804657388802648.post-1611312490981879457</id><published>2010-12-28T17:28:00.023-05:00</published><updated>2010-12-28T23:30:50.867-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-28T23:30:50.867-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="books" /><category scheme="http://www.blogger.com/atom/ns#" term="programming" /><title>My list of 10 most influential programming books</title><content type="html">&lt;span style="font-size: 85%;"&gt;&lt;a href="http://2.bp.blogspot.com/_ah4KG70XE28/S0-y0TFbt2I/AAAAAAAAAMc/ZnH01a7w1p8/s1600-h/kolaz.JPG" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" style="color: black; font-family: trebuchet ms;"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5426752687550740322" src="http://2.bp.blogspot.com/_ah4KG70XE28/S0-y0TFbt2I/AAAAAAAAAMc/ZnH01a7w1p8/s400/kolaz.JPG" style="cursor: pointer; display: block; height: 400px; margin: 0px auto 10px; text-align: center; width: 288px;" /&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;br /&gt;
Here is a list of top ten programming books that influenced my software development life, in the order of publishing date:&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
1. &lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.amazon.com/gp/product/0932633439?ie=UTF8&amp;amp;tag=weblogserifov-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=0932633439"&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: black;"&gt;Peopleware: Productive Projects and Teams&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;img alt="" border="0" height="1" src="http://www.assoc-amazon.com/e/ir?t=weblogserifov-20&amp;amp;l=as2&amp;amp;o=1&amp;amp;a=0932633439" style="border: medium none ! important; margin: 0px ! important;" width="1" /&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Lots of compa&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;nies still try to reinvent the wheel when it comes to managing software teams. This book&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; defines all the best practices. The authors even went as far as recommending the cubicle size.&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;2. &lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.amazon.com/gp/product/1558605347?ie=UTF8&amp;amp;tag=weblogserifov-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=1558605347"&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: black;"&gt;Philip &amp;amp; Alex's Guide to Web Publishing&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;img alt="" border="0" height="1" src="http://www.assoc-amazon.com/e/ir?t=weblogserifov-20&amp;amp;l=as2&amp;amp;o=1&amp;amp;a=1558605347" style="border: medium none ! important; margin: 0px ! important;" width="1" /&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;This book was on the list of recommended readings for the ArsDigita bootcamp. I was for the first time learning how to program a dynamic web site.&lt;br /&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;3. &lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.amazon.com/gp/product/0201485672?ie=UTF8&amp;amp;tag=weblogserifov-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=0201485672"&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: black;"&gt;Refactoring: Improving the Design of Existing Code&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
I would not go as far as &lt;/span&gt;&lt;/span&gt;&lt;a href="http://steve-yegge.blogspot.com/"&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="color: #0b5394; font-size: small;"&gt;Steve Yegge&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; and say that after reading the book &lt;/span&gt;&lt;/span&gt;&lt;a href="http://steve.yegge.googlepages.com/transformation" style="font-style: italic;"&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="color: #0b5394; font-size: small;"&gt;I’m awash with a horrid cold feeling, as if I’ve just learned I’ve been coming to work for years with my pants down around my ankles&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;. However, it did make a big impact. For example, after reading this book I started putting less emphasis on comments and more on smaller methods with descriptive names. It also made me start actually using the refactoring features in my IDE.&lt;br /&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;4. &lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.amazon.com/gp/product/020161622X?ie=UTF8&amp;amp;tag=weblogserifov-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=020161622X"&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: black;"&gt;The Pragmatic Programmer: From Journeyman to Master&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
A true classic. Any further comment would be superfluous.&lt;br /&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;5. &lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.amazon.com/gp/product/0321356683?ie=UTF8&amp;amp;tag=weblogserifov-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=0321356683"&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: black;"&gt;Effective Java&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
If there is a reference on correct usage of the Java language and its API, then it is this book. It could have easily been called Java Tips and Tricks or Java Gotchas. One of my favorite items:  &lt;/span&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Always override hashCode when you override &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;code style="font-family: trebuchet ms;"&gt;&lt;span style="font-style: italic;"&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;equals&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;
&lt;code style="font-family: trebuchet ms;"&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;
&lt;code style="font-family: trebuchet ms;"&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms'; font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;6. &lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.amazon.com/gp/product/0764558315?ie=UTF8&amp;amp;tag=weblogserifov-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=0764558315"&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: black;"&gt;J2EE development without EJB&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div style="font-family: trebuchet ms; text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;It was pretty interesting to read this book after working for a company that had an &lt;/span&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;EJB developer&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; job title and realize the whole world doesn't evolve around EJBs.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; font-family: 'trebuchet ms'; text-align: left;"&gt;&lt;span style="color: black; font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;7. &lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.amazon.com/gp/product/0596007124?ie=UTF8&amp;amp;tag=weblogserifov-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=0596007124"&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: black;"&gt;Head First Design Patterns&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: black; font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
I had tried reading the &lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.amazon.com/gp/product/0201633612?ie=UTF8&amp;amp;tag=weblogserifov-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=0201633612"&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: #0b5394;"&gt;Gang of Four&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="color: black; font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; book several times, without much success. I found it great as a reference book, but not quite suitable for learning design patterns. Then came the Head First Series one and finally shed some light.&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;8. &lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.amazon.com/gp/product/0321349601?ie=UTF8&amp;amp;tag=weblogserifov-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=0321349601"&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: black;"&gt;Java concurrency in practice&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
Another classic. I ultimately understood the Java Memory Model after reading this book.&lt;br /&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;9. &lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.amazon.com/gp/product/0981531601?ie=UTF8&amp;amp;tag=weblogserifov-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=0981531601"&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: black;"&gt;Programming in Scala&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
Of course, a Scala book had to make this list, and this is still the most comprehensive one.&lt;br /&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;10. &lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.amazon.com/gp/product/1934356344?ie=UTF8&amp;amp;tag=weblogserifov-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=1934356344"&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: black;"&gt;The Passionate Programmer: Creating a Remarkable Career in Software Development&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
I read the first edition of this book(&lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.amazon.com/gp/product/0976694018?ie=UTF8&amp;amp;tag=weblogserifov-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=0976694018"&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="color: #0b5394; font-size: small;"&gt;My Job Went to India (And All I Got Was This Lousy Book): 52 Ways to Save Your Job&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;) because I was intrigued by its title, even though the author states &lt;/span&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;it painted the wrong picture&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;. The book is so motivational that I promised myself I will read it every 6 months. In addition to that, the idea for this post came from this very book.&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/7769804657388802648-1611312490981879457?l=blog.nerm.in' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/nerminserifovic/~4/FMTRBoAL1ME" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.nerm.in/feeds/1611312490981879457/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.nerm.in/2009/12/my-list-of-10-most-influential.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7769804657388802648/posts/default/1611312490981879457?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7769804657388802648/posts/default/1611312490981879457?v=2" /><link rel="alternate" type="text/html" href="http://blog.nerm.in/2009/12/my-list-of-10-most-influential.html" title="My list of 10 most influential programming books" /><author><name>Nermin Serifovic</name><uri>http://www.blogger.com/profile/14390690705192426597</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="23" height="32" src="http://1.bp.blogspot.com/_ah4KG70XE28/Sgx0jIECU4I/AAAAAAAAAFY/BQ8leIjxAh8/S220/2660539546_93b84f4eeb_b.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_ah4KG70XE28/S0-y0TFbt2I/AAAAAAAAAMc/ZnH01a7w1p8/s72-c/kolaz.JPG" height="72" width="72" /><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;AkIARXk-eyp7ImA9Wx9QFUQ.&quot;"><id>tag:blogger.com,1999:blog-7769804657388802648.post-3964996870797644492</id><published>2009-10-11T23:42:00.005-04:00</published><updated>2010-12-28T23:55:44.753-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-28T23:55:44.753-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Scala" /><category scheme="http://www.blogger.com/atom/ns#" term="user group" /><title>Organizing Boston Area Scala Enthusiasts</title><content type="html">&lt;a href="http://2.bp.blogspot.com/_ah4KG70XE28/StKoTCIhzjI/AAAAAAAAAIo/M3-UubV72rU/s1600-h/boston-scala-640-2.JPG" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5391556748859526706" src="http://2.bp.blogspot.com/_ah4KG70XE28/StKoTCIhzjI/AAAAAAAAAIo/M3-UubV72rU/s400/boston-scala-640-2.JPG" style="cursor: pointer; display: block; height: 229px; margin-bottom: 10px; margin-left: auto; margin-right: auto; margin-top: 0px; text-align: justify; width: 400px;" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;Photo by &lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.flickr.com/photos/pearbiter/"&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="color: black;"&gt;Pear Biter&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;; text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;I like the concept of a local user group. It serves &lt;/span&gt;&lt;/span&gt;&lt;a href="http://edotnetdevs.wordpress.com/2009/06/12/purpose-of-user-group-meetings/"&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="color: #0b5394; font-size: small;"&gt;multiple purposes&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;. As I &lt;/span&gt;&lt;/span&gt;&lt;a href="http://nerminserifovic.blogspot.com/2009/07/second-jvm-language.html"&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="color: #0b5394; font-size: small;"&gt;embarked on learning Scala recently&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;  I wanted to join a local Scala user group. To my surprise, there weren't any in Boston area. However, there were already such groups in San Francisco, Chicago, New York and Boulder, just to name a few. I found it shameful.&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;; text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;; text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;After all, I thought, we are the 2nd ranked startup hub and overall one of the biggest software hubs in the U.S. Therefore, there have got to be local software professionals interested in all the new stuff. But then, even the local Groovy/Grails group got formed rather late (May 2009). I couldn't explain why Boston seems to lag when it comes to forming groups around latest technologies.&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;; text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;; text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Instead of sitting in despair, I decided to take some initiative and see if it was just simply lack of interest or something else. I was happy to find out it was the latter. Turns out, there were couple of people thinking about starting the group for a while, but they needed that extra little push to actively start working on it. As a result, &lt;a href="http://pchiusano.blogspot.com/"&gt;&lt;span class="Apple-style-span" style="color: #0b5394;"&gt;Paul Chiusano&lt;/span&gt;&lt;/a&gt;, &lt;a href="http://www.linkedin.com/in/cherron"&gt;&lt;span class="Apple-style-span" style="color: #0b5394;"&gt;Chris Herron&lt;/span&gt;&lt;/a&gt; &amp;nbsp;and I officially formed the group on October 1st, 2009. Ten days later we had 28 members - not bad at all. Even more exciting, I found out there are at least couple of local companies developing software in Scala, an encouraging sign.&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: trebuchet ms; text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: black; font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;So, if you're from the area and want to share your Scala enthusiasm with others, please &lt;/span&gt;&lt;/span&gt;&lt;a href="http://boston-scala.org/"&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="color: #0b5394; font-size: small;"&gt;join us&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="color: black; font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7769804657388802648-3964996870797644492?l=blog.nerm.in' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/nerminserifovic/~4/aC63aHRGFFA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.nerm.in/feeds/3964996870797644492/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.nerm.in/2009/10/organizing-boston-area-scala.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7769804657388802648/posts/default/3964996870797644492?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7769804657388802648/posts/default/3964996870797644492?v=2" /><link rel="alternate" type="text/html" href="http://blog.nerm.in/2009/10/organizing-boston-area-scala.html" title="Organizing Boston Area Scala Enthusiasts" /><author><name>Nermin Serifovic</name><uri>http://www.blogger.com/profile/14390690705192426597</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="23" height="32" src="http://1.bp.blogspot.com/_ah4KG70XE28/Sgx0jIECU4I/AAAAAAAAAFY/BQ8leIjxAh8/S220/2660539546_93b84f4eeb_b.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_ah4KG70XE28/StKoTCIhzjI/AAAAAAAAAIo/M3-UubV72rU/s72-c/boston-scala-640-2.JPG" height="72" width="72" /><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;D0UGR3Y_fCp7ImA9Wx9QFUo.&quot;"><id>tag:blogger.com,1999:blog-7769804657388802648.post-7726007933486441787</id><published>2009-07-23T18:51:00.002-04:00</published><updated>2010-12-28T17:27:06.844-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-28T17:27:06.844-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Scala" /><category scheme="http://www.blogger.com/atom/ns#" term="Java" /><category scheme="http://www.blogger.com/atom/ns#" term="JVM" /><category scheme="http://www.blogger.com/atom/ns#" term="language" /><title>Second JVM language</title><content type="html">&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;So far I've been nearly oblivious to the learn-one-new-programming-language-every-year motto from the Pragmatic Programmer book. I did play to some extent with Groovy and Ruby, but that was only enough to get me through Grails &amp;amp; Rails. With constant releases of so many new technologies and frameworks in the Java world there is hardly any time left for anything else to focus on. &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Still, my recent attendance of the Java One conference made me realize it's high time to start applying that advice. There are multiple reasons which all contributed to my decision. First is that I want to learn functional programming. Second is that it seems very attractive and concise to write code in a language that supports closures. And last, but not least, is that I would like to be able to leverage other concurrency paradigms than the Shared State offered by Java.&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;With all this in mind, the choice of the language was pretty simple: Scala. It satisfies all of the requirements, plus it's not a big leap from Java at all.&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;When you decide to learn a new programming language you are to some extent making a bet, as you hope that the newly learned language will be in demand some day. From that perspective it is encouraging to learn that &lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.adam-bien.com/roller/abien/entry/java_net_javaone_which_programming"&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="color: #0b5394; font-size: small;"&gt;James Gosling would use Scala as a second language on JVM&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; and that speculations started around &lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.infoq.com/news/2009/07/scala-replace-java"&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="color: #0b5394; font-size: small;"&gt;Scala replacing Java in a long run&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;. On the other hand, if you take a look at the &lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html"&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="color: #0b5394; font-size: small;"&gt;TIOBE index&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;, at the time of writing this post Scala holds 32. position with only 0.228% of worldwide programmers actually using it. And if you search for Scala jobs currently you would find only a few across the whole US. However, I believe the bet I am making in this case is rather safe because even if Scala ends up being just a fad, I should benefit immensely from getting exposed to new programming and concurrency paradigms.&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;So, for a start, I got the "Programming in Scala" book and started a journey. Stay tuned...&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7769804657388802648-7726007933486441787?l=blog.nerm.in' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/nerminserifovic/~4/FiNJB3EDICs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.nerm.in/feeds/7726007933486441787/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.nerm.in/2009/07/second-jvm-language.html#comment-form" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7769804657388802648/posts/default/7726007933486441787?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7769804657388802648/posts/default/7726007933486441787?v=2" /><link rel="alternate" type="text/html" href="http://blog.nerm.in/2009/07/second-jvm-language.html" title="Second JVM language" /><author><name>Nermin Serifovic</name><uri>http://www.blogger.com/profile/14390690705192426597</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="23" height="32" src="http://1.bp.blogspot.com/_ah4KG70XE28/Sgx0jIECU4I/AAAAAAAAAFY/BQ8leIjxAh8/S220/2660539546_93b84f4eeb_b.jpg" /></author><thr:total>2</thr:total></entry><entry gd:etag="W/&quot;D0EAQXs4fip7ImA9Wx9QFUQ.&quot;"><id>tag:blogger.com,1999:blog-7769804657388802648.post-8348034346216992279</id><published>2009-06-21T13:14:00.003-04:00</published><updated>2010-12-28T23:07:20.536-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-28T23:07:20.536-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="conference" /><category scheme="http://www.blogger.com/atom/ns#" term="Java" /><category scheme="http://www.blogger.com/atom/ns#" term="Sun" /><category scheme="http://www.blogger.com/atom/ns#" term="JavaOne" /><title>JavaOne 2009 impressions</title><content type="html">&lt;div style="text-align: justify;"&gt;&lt;span style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;This year was the first time I attended the JavaOne conference. Previously I would focus on local events, such as &lt;/span&gt;&lt;a href="http://www.nofluffjuststuff.com/home.jsp"&gt;&lt;span class="Apple-style-span" style="color: #0b5394; font-size: small;"&gt;NFJS&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; and &lt;/span&gt;&lt;a href="http://liveevents.techweb.com/"&gt;&lt;span class="Apple-style-span" style="color: #0b5394; font-size: small;"&gt;SD Best &lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="font-family: 'trebuchet ms';"&gt;&lt;a href="http://liveevents.techweb.com/"&gt;&lt;span class="Apple-style-span" style="color: #0b5394; font-size: small;"&gt;Practices&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;. This time though I followed advice of several JavaOne &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;alumni who convinced me it's quite an experience and worth the trip.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;a href="http://3.bp.blogspot.com/_ah4KG70XE28/SkABzqxeBzI/AAAAAAAAAG8/t9AYmhtOAh0/s1600-h/DSC06915.JPG" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5350278344482883378" src="http://3.bp.blogspot.com/_ah4KG70XE28/SkABzqxeBzI/AAAAAAAAAG8/t9AYmhtOAh0/s400/DSC06915.JPG" style="cursor: pointer; display: block; height: 300px; margin-bottom: 10px; margin-left: auto; margin-right: auto; margin-top: 0px; text-align: justify; width: 400px;" /&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;It was not only my first time at the conference, but also my first visit to San Francisco &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;and West Coast.&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; Coming from Boston and heading to California I expected San Francisco to be much warmer in June. &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Instead, with the exception of couple of sunny intervals, I had to wear long sleeves at all times. &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;For some reason it felt chilly even in conference rooms.&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;The conference overall was very well organized. However, food, especially lunch, was a slight &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;disappointment. Although I haven't attended conferences of this size before, I was expecting some &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;more choices and warm food instead of lunch packages. On the other hand, the fact we were given a &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;hand sanitizer during registration, as well as multiple of them positioned &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;throughout the conference area was a pleasant surprise, especially since swine flu was still a bit &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;of a concern.&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;a href="http://3.bp.blogspot.com/_ah4KG70XE28/SkABnjhy2PI/AAAAAAAAAG0/nUuLbIt070g/s1600-h/DSC06900.JPG" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5350278136379660530" src="http://3.bp.blogspot.com/_ah4KG70XE28/SkABnjhy2PI/AAAAAAAAAG0/nUuLbIt070g/s400/DSC06900.JPG" style="cursor: pointer; display: block; height: 300px; margin-bottom: 10px; margin-left: auto; margin-right: auto; margin-top: 0px; text-align: justify; width: 400px;" /&gt;&lt;/a&gt;&lt;span style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
This year Sun was really pushing hard for JavaFX technology. It was well covered during general &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;span style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;sessions and had quite a few specific sessions dedicated to it. Moreover, its demos looked cool &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;span style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;and it finally makes the "Java = everywhere" mantra true. The prevailing feeling I received from &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;span style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;general sessions was that Sun was trying to assure us all that Java as a language is far from &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;span style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;getting retired. In order to boost our confidence in Java's strength, the sessions were full of &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;span style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;showcases of successful companies which implemented their whole technology stack in Java. Word &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;span style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;"innovation" got mentioned a lot, but even new features in SE 7 and EE 6 just look like a result &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;span style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;of catching up with other frameworks from Java world. Especially with closures out of the &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;span style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;picture for version 7, Java will still be much more verbose and less expressive than majority of &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;span style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;the alternative languages targeted for JVM. Technical sessions which compared Java to those &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;span style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;alternative languages by presenting language specific solutions to same problems, were an actual &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;span style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;proof of this.&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;span style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;br /&gt;
The most innovative piece of technology I learned about at the conference was &lt;/span&gt;&lt;a href="https://launchpad.net/drizzle"&gt;&lt;span class="Apple-style-span" style="color: #0b5394; font-size: small;"&gt;Drizzle&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;. Monty Taylor gave quite an entertaining talk about Drizzle's &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;span style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;history, objectives and features. It sounds so compelling that MySQL will probably in future be &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;span style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;used just for legacy reasons, at least in the web application arena. It will also be interesting &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;span style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;to see the direction of this project after Oracle acquisition of Sun is completed.&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;span style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;a href="http://3.bp.blogspot.com/_ah4KG70XE28/SkACBRxnjrI/AAAAAAAAAHE/tH1dergnyRM/s1600-h/DSC06906.JPG" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5350278578290790066" src="http://3.bp.blogspot.com/_ah4KG70XE28/SkACBRxnjrI/AAAAAAAAAHE/tH1dergnyRM/s400/DSC06906.JPG" style="cursor: pointer; display: block; height: 300px; margin-bottom: 10px; margin-left: auto; margin-right: auto; margin-top: 0px; text-align: justify; width: 400px;" /&gt;&lt;/a&gt;&lt;span style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
Speaking of technical sessions, I truly enjoyed presentations from regular JavaOne Rock Stars: &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;span style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Soctt Davis's talk on Resource Oriented Architectures, Brian Goetz's and Cliff Click's talk about &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;span style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;VM modern architectures, Rod Johnson's talk about new features in Spring 3.0 and Josh Block's talk &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;span style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;on Effective Java. In addition, I was pleasantly surprised and really learned something out of &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;span style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;presentations from Bill Venners on Scala, Jonas Boner on JVM Alternative Concurrency Paradigms and &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;span style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Alex Miller on Java Concurrency Gotchas. I highly recommend seeing all of those.&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;span style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;br /&gt;
I promissed myself this was going to be the last conference where I would select sessions &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;span style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;primarily based on the topic. Namely, in several sessions into which I was greatly interested the &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;span style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;presentations weren't so good and they barely increased my knowledge on the topic, if at all. I &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;span style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;can't comprehend how some presenters can just read through slides or do an immediate deep dive &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;span style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;without first giving an introductory overview. Jared Richardson, for example, in his  &lt;/span&gt;&lt;a href="http://qik.com/video/1009098"&gt;&lt;span class="Apple-style-span" style="color: #0b5394; font-size: small;"&gt;Career 2.0&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;presentation talks about this and nicely gives tips on preparing a successful presentation. &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;span style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Furthermore, some speakers apparently find it sufficient to just place code snippets on slides and &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;span style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;expect the audience to quickly digest it. All it takes to see how to properly do it is to attend &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;span style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;one of the Josh Block's talks and pay attention how he slowly explains every line of code, no &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;span style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;matter how trivial it looks like. So, next time, I am firmly determined I will build my schedule &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;span style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;entirely based on speaker reputation. I wish I knew about the &lt;/span&gt;&lt;a href="http://java.sun.com/javaone/sf/rockstar_wall_of_fame.jsp#tnorbye"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #0b5394;"&gt;JavaOne Rock Star Wall of Fame&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; before the conference. Even if &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;span style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;I end up at let's say a UI session (which is not my area of expertise), I am sure I will learn &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;span style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;something new since an interesting speaker will most probably attract my interest to the subject.&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;span style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;a href="http://3.bp.blogspot.com/_ah4KG70XE28/SkACM_kFMSI/AAAAAAAAAHM/E4keGqAr8t4/s1600-h/DSC06907.JPG" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5350278779560603938" src="http://3.bp.blogspot.com/_ah4KG70XE28/SkACM_kFMSI/AAAAAAAAAHM/E4keGqAr8t4/s400/DSC06907.JPG" style="cursor: pointer; display: block; height: 300px; margin-bottom: 10px; margin-left: auto; margin-right: auto; margin-top: 0px; text-align: justify; width: 400px;" /&gt;&lt;/a&gt;&lt;span style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
I was also kind of expecting more prominent presence from Google. I would have rather seen them &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;span style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;talking in general sessions than Microsoft or IBM. Of course, they had their own developer &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;span style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;conference (Google I/O) just prior to JavaOne, but they are also one of the biggest innovators in &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;span style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Java space. The other problem is the fact they are still fairly secretive. I did attend one of &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;span style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;their BOFs and right in the beginning the answers from Google team started along the lines of "We can't &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;span style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;really talk about that".&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;span style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Overall, I find the biggest advantage of JavaOne over smaller conferences the ability to hear &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;span style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;more first class speakers who are leaders in their field (language founders, framework authors, &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;span style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;etc...). And finally, attending developer conferences in general brings many benefits: you get to &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;span style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;see the latest trends, take a peek into future technologies and discover some exciting existing &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;span style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;ones for the first time...&lt;/span&gt;&lt;/span&gt;  &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7769804657388802648-8348034346216992279?l=blog.nerm.in' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/nerminserifovic/~4/QqIdVFqJ3hY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.nerm.in/feeds/8348034346216992279/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.nerm.in/2009/06/javaone-2009-impressions.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7769804657388802648/posts/default/8348034346216992279?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7769804657388802648/posts/default/8348034346216992279?v=2" /><link rel="alternate" type="text/html" href="http://blog.nerm.in/2009/06/javaone-2009-impressions.html" title="JavaOne 2009 impressions" /><author><name>Nermin Serifovic</name><uri>http://www.blogger.com/profile/14390690705192426597</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="23" height="32" src="http://1.bp.blogspot.com/_ah4KG70XE28/Sgx0jIECU4I/AAAAAAAAAFY/BQ8leIjxAh8/S220/2660539546_93b84f4eeb_b.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_ah4KG70XE28/SkABzqxeBzI/AAAAAAAAAG8/t9AYmhtOAh0/s72-c/DSC06915.JPG" height="72" width="72" /><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;D0cHSHc6cSp7ImA9Wx9QFUo.&quot;"><id>tag:blogger.com,1999:blog-7769804657388802648.post-7773213882648576939</id><published>2009-04-12T23:45:00.002-04:00</published><updated>2010-12-28T17:23:59.919-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-28T17:23:59.919-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Synergy" /><category scheme="http://www.blogger.com/atom/ns#" term="multi-monitor" /><category scheme="http://www.blogger.com/atom/ns#" term="Linux" /><category scheme="http://www.blogger.com/atom/ns#" term="Windows" /><category scheme="http://www.blogger.com/atom/ns#" term="setup" /><title>Computer setup</title><content type="html">&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;After thinking a while what to write in my first blog post I decided to talk about my computer setup at work. I often discuss this topic with other software developers, so I thought it would be nice to have my own configuration described on the web.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;My setup consists of two computers, a desktop and a laptop. Apparently this is a standard combination in some software companies. The desktop is running Linux and that's where I do most of my development work. It typically has only a few applications open at any time: IDE (IntelliJ IDEA, for those curious enough), terminal and PDF viewer. I try to run as many processes as possible within the IDE, including an application server and use terminal mostly for remote sessions.&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;The laptop, on the other hand, runs Windows XP. To set things straight, I am not a huge Windows fan, mainly because of the poor command line. However, I really like some of Microsoft’s software, such as Outlook, which I find to be the best e-mail client out there (after experimenting with numerous other clients) and Office 2007 (especially Word and Visio). Additionally, I keep Firefox open on Windows as well, as it runs faster than on Linux.&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;So, now that I've covered which app runs on which machine, here is the best part: I only use a single keyboard and mouse and there is no KVM switch. This is thanks to an awesome piece of software called &lt;/span&gt;&lt;/span&gt;&lt;a href="http://synergy2.sourceforge.net/"&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="color: #0b5394; font-size: small;"&gt;Synergy&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;. It works great with the Windows-Linux combination and as of now the Mac OS support is not yet fully complete. This is a partial answer for all those who wonder why I use Linux as a desktop OS, when there is OS X. The other reason, of course, is that a Linux box is much cheaper than a comparable Mac one. Don't get me wrong, I use Mac OS at home and believe there is no better desktop OS, but in my case where the majority of my work is done inside the IDE, it doesn’t make that big of a difference. Again, the lack of proper Synergy port is a deciding factor here.&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;And finally we come to the last piece of the puzzle: monitors. There are total of four: the desktop is hooked up to a widescreen 22" and a 19" one. The laptop also has a 19" external monitor attached to it, in addition to its own widescreen 15.4" display.&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;These four screens is something for which I get most of the remarks. Some are nice comments and some are teases (“So, what’s the deal? Do you get paid by a monitor?”). My wife thinks I am a snob because of them (“How can the rest of us perform all our work with only one or two?”). Some people ask me why bother with multiple monitors when large ones became moderately affordable recently. Although I've never had a chance to work with a truly large monitor before, I think the biggest advantage of working with multiple regular ones is that you are free of window management. Namely, all the apps on any of my monitors are usually maximized and I never re-position them on the screen or move them around.&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Now, let me provide some more details regarding specific application to screen allocation. The smallest screen - the laptop display, has Outlook open so that I could glance at any moment over new email (even though I would personally like to check my email less often, our development team is distributed and email is unfortunately used as a primary communication tool). Second screen is reserved for Firefox, since web is used as a reference in everyday work. Furthermore, the external widescreen monitor is a best fit for the IDE and the last fourth one is interchangeably used for terminal windows and documentation viewing.&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Overall, I believe the above described setup allows me least amount of window switching and thus highest degree of productivity. To be able to work on the code, browse through APIs and read documentation at the same time as well as have visibility into e-mail inbox is my dream come true. Here is a photo, to illustrate how it all looks like:&lt;br /&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;a href="http://1.bp.blogspot.com/_ah4KG70XE28/StKs_w0lENI/AAAAAAAAAIw/I3zQnVAix1U/s1600-h/DSC06585_2.JPG" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5391561915353075922" src="http://1.bp.blogspot.com/_ah4KG70XE28/StKs_w0lENI/AAAAAAAAAIw/I3zQnVAix1U/s400/DSC06585_2.JPG" style="cursor: pointer; display: block; height: 300px; margin: 0px auto 10px; text-align: center; width: 400px;" /&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/7769804657388802648-7773213882648576939?l=blog.nerm.in' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/nerminserifovic/~4/UZjMJGPmVOE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.nerm.in/feeds/7773213882648576939/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.nerm.in/2009/04/hello-world.html#comment-form" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7769804657388802648/posts/default/7773213882648576939?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7769804657388802648/posts/default/7773213882648576939?v=2" /><link rel="alternate" type="text/html" href="http://blog.nerm.in/2009/04/hello-world.html" title="Computer setup" /><author><name>Nermin Serifovic</name><uri>http://www.blogger.com/profile/14390690705192426597</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="23" height="32" src="http://1.bp.blogspot.com/_ah4KG70XE28/Sgx0jIECU4I/AAAAAAAAAFY/BQ8leIjxAh8/S220/2660539546_93b84f4eeb_b.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_ah4KG70XE28/StKs_w0lENI/AAAAAAAAAIw/I3zQnVAix1U/s72-c/DSC06585_2.JPG" height="72" width="72" /><thr:total>4</thr:total></entry></feed>

