<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8619316619610982698</id><updated>2010-02-04T03:24:53.926-08:00</updated><title type='text'>Ulog, the Ugol Weblog, reloaded</title><subtitle type='html'></subtitle><link rel='http://schemas.loghound.com/g/2005#feed' type='application/atom+xml' href='http://blog.ugolandini.com/index.phpfeeds/posts/default'/><link rel='self' type='application/atom+xml' href='http:///blog.ugolandini.com/files/blogRSS.php'/><link rel='alternate' type='text/html' href='http://blog.ugolandini.com/index.php'/><link rel='hub' href='http://blog.ugolandini.com/index.php'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/8619316619610982698/posts/default?start-index=26&amp;max-results=25&amp;orderby=published'/><author><name>ugol</name><uri>http://www.blogger.com/profile/08971902840249746815</uri><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>27</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8619316619610982698.post-3195336860706570258</id><published>2010-01-20T13:42:00.000-08:00</published><updated>2010-01-20T13:45:51.194-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='dev'/><category scheme='http://www.blogger.com/atom/ns#' term='pomodoro'/><category scheme='http://www.blogger.com/atom/ns#' term='mac'/><category scheme='http://www.blogger.com/atom/ns#' term='apple'/><title type='text'>Pomodoro desktop reached 0.30 release</title><content type='html'>&lt;span style="font:11px Menlo-Regular; "&gt;&lt;a href="http://www.everaldo.com/" rel="self"&gt;Everaldo&lt;/a&gt;&lt;/span&gt;&lt;span style="font:11px Menlo-Regular; "&gt; nicely contributed with new gorgeous icons, plus some small fixes here and there. &lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;img class="imageStyle" alt="pomodoro-web" src="http://blog.ugolandini.com/files/pomodoro-web.png" width="112" height="112"/&gt;&lt;span style="font:11px Menlo-Regular; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:11px Menlo-Regular; "&gt;&lt;br /&gt;Check out the best pomodoro application in the whole world &lt;/span&gt;&lt;span style="font:11px Menlo-Regular; "&gt;&lt;a href="http://pomodoro.ugolandini.com" rel="self"&gt;here&lt;/a&gt;&lt;/span&gt;&lt;span style="font:11px Menlo-Regular; "&gt;!&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8619316619610982698-3195336860706570258?l=ugolandini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.ugolandini.com/index.php?id=3195336860706570258' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://blog.ugolandini.com/index.php?id=3195336860706570258' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://blog.ugolandini.com/index.php?id=3195336860706570258'/><link rel='self' type='application/atom+xml' href='http://blog.ugolandini.com/index.php?id=3195336860706570258'/><link rel='alternate' type='text/html' href='http://blog.ugolandini.com/index.php?id=3195336860706570258' title='Pomodoro desktop reached 0.30 release'/><author><name>ugol</name><uri>http://www.blogger.com/profile/08971902840249746815</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.loghound.com/g/2005' name='OpenSocialUserId' value='13188531750006164823'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8619316619610982698.post-8655040441443986742</id><published>2010-01-14T00:05:00.000-08:00</published><updated>2010-01-14T00:13:57.851-08:00</updated><title type='text'>2.5 tiers, SOFEA and SOUI</title><content type='html'>&lt;div&gt;&lt;a href="http://www.jroller.com/desmax/"&gt;Massimiliano Dessì&lt;/a&gt; pointed me to this &lt;a href="http://www.theserverside.com/news/thread.tss?thread_id=47213"&gt;TSS entry&lt;/a&gt;, in which authors discussed their paper  "&lt;a href="http://wisdomofganesh.googlegroups.com/web/Life%20above%20the%20Service%20Tier%20v1_0.pdf?gda=Dpb7VGoAAAD00c-gkyA8CEwGqYm-L4ngRJHDQj0SyJnnj6m5RfcE62Kmk6w9qmiqMprwIf6Sv0A-xuPqgj233N2jb2FWaEYfCp95SaTgo_RHE7XIg_q6MOeoCdNop6wmlpREuvGPqW797daDQaep90o7AOpSKHW0"&gt;Life above the service tier&lt;/a&gt;", 2 years ago. Their SOFEA architecture (someone calls it &lt;a href="http://raibledesigns.com/rd/entry/sofea_also_known_as_soui"&gt;SOUI&lt;/a&gt;) looks very much like the &lt;b&gt;2.5 tiers&lt;/b&gt; and indeed is. Some observation: &lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;2.5 tiers name is technically not very precise, but IMHO much more evocative. &lt;/li&gt;&lt;li&gt;I don't think  there will be space anymore in the future for Adobe/Java/whatever based RIAS (Flex or JavaFX), the irect Javascript approach on the client is becoming mainstream, much more easy to code/debug than before, and without losing crossbrowser-ness&lt;/li&gt;&lt;li&gt;Completely agree on the Front-Controller being an anti-pattern now&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;There is probably the need for a new integrated "web framework" built on Javascript (probably with JQuery) and REST. Any volunteer?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8619316619610982698-8655040441443986742?l=ugolandini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.ugolandini.com/index.php?id=8655040441443986742' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://blog.ugolandini.com/index.php?id=8655040441443986742' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://blog.ugolandini.com/index.php?id=8655040441443986742'/><link rel='self' type='application/atom+xml' href='http://blog.ugolandini.com/index.php?id=8655040441443986742'/><link rel='alternate' type='text/html' href='http://blog.ugolandini.com/index.php?id=8655040441443986742' title='2.5 tiers, SOFEA and SOUI'/><author><name>ugol</name><uri>http://www.blogger.com/profile/08971902840249746815</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.loghound.com/g/2005' name='OpenSocialUserId' value='13188531750006164823'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8619316619610982698.post-7723306939569534120</id><published>2010-01-13T13:05:00.000-08:00</published><updated>2010-01-14T23:44:13.397-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javaday'/><title type='text'>2.5 tiers at Javaday 2010</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_kCplsiONkAs/S04_yV6Da7I/AAAAAAAAAOg/ThgVLCLinH4/s1600-h/speaker.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 200px; height: 100px;" src="http://1.bp.blogspot.com/_kCplsiONkAs/S04_yV6Da7I/AAAAAAAAAOg/ThgVLCLinH4/s400/speaker.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5426344735134673842" /&gt;&lt;/a&gt;&lt;br /&gt;This year at &lt;a href="http://roma.javaday.it"&gt;Javaday&lt;/a&gt; I'll be happy to present a talk on what I see as a new emergent approach in Web Development. It's not a completely brand new approach, but it's slowly gaining momentum since a couple of years. I couldn't find a good name for this approach, so I invented a new one, "&lt;b&gt;2.5 tiers&lt;/b&gt;".&lt;div&gt;&lt;br /&gt;The &lt;b&gt;2.5 tiers&lt;/b&gt; approach is about how Jquery and Rest are changing the way we design webapps: there is no need anymore of complex server side MVC, because you can easily do all the work in javascript, with the help of unobtrusive cross platform Javascript libraries like &lt;a href="http://www.jqery.com/" rel="self"&gt;JQuery&lt;/a&gt;.&lt;br /&gt;RESTful design is the other side of the coin, because producing JSON representation of data to be consumed by Javascript  is now as easy in Java as in higher level web scripting languages, mostly thanks to libraries like &lt;a href="http://www.jboss.org/resteasy" rel="self"&gt;RESTEasy&lt;/a&gt; (which is a powerful JAX-RS implementation).&lt;br /&gt;The name&lt;b&gt; 2.5 tiers&lt;/b&gt; shows that it's not anymore a full 3 tiers, but it's neither an old client server app (2 tiers). You still have code on the server: caching, validation, REST services, JSON transformation are all on the server side. But a lot of code is now moving back to the client: gui widgets (&lt;a href="http://jqueryui.com/" rel="self"&gt;Jquery UI&lt;/a&gt;) are completely client side (probably feeded by a server with JSON) and that's hardly news, but templating for example (&lt;a href="http://jtemplates.tpython.com/" rel="self"&gt;JTemplate&lt;/a&gt; is one of the emerging libraries) is far less common on the client side. So it's two tiers and "a half".&lt;br /&gt;&lt;br /&gt;An interesting side effect of this approach is that you are free to choose for example a .Net application server instead of a Java one (don't take that as an advice!), or try something new and cooler like Erlang or Scala, without touching a &lt;em&gt;single line&lt;/em&gt; of GUI code: you basically only have to implement the same interface (GET, POST, PUT and DELETE) and produce the same representation of data (mostly JSON, but XML still has its role sometimes). That means, yes, you can write cross browser components (independent by server side code too!) and reuse those components in other departments of your company that use different technologies (if you are like me, in our company we basically have all the existing IT architectures of the world).&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://roma.javaday.it/"&gt;Javaday&lt;/a&gt; is not only a free community driven event with the best Italian (and some international) speakers, but we also have enough sponsors to make a great day with great gadgets and great drinks too :) &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;We are waiting for you, too.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8619316619610982698-7723306939569534120?l=ugolandini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.ugolandini.com/index.php?id=7723306939569534120' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://blog.ugolandini.com/index.php?id=7723306939569534120' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://blog.ugolandini.com/index.php?id=7723306939569534120'/><link rel='self' type='application/atom+xml' href='http://blog.ugolandini.com/index.php?id=7723306939569534120'/><link rel='alternate' type='text/html' href='http://blog.ugolandini.com/index.php?id=7723306939569534120' title='2.5 tiers at Javaday 2010'/><author><name>ugol</name><uri>http://www.blogger.com/profile/08971902840249746815</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.loghound.com/g/2005' name='OpenSocialUserId' value='13188531750006164823'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_kCplsiONkAs/S04_yV6Da7I/AAAAAAAAAOg/ThgVLCLinH4/s72-c/speaker.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8619316619610982698.post-2957571089581680307</id><published>2009-10-12T02:37:00.000-07:00</published><updated>2009-10-12T02:51:31.397-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='pomodoro'/><title type='text'>Antiprocrastination tools</title><content type='html'>&lt;div&gt;This online magazine &lt;a href="http://www.makeuseof.com/tag/6-apps-to-help-you-focus-be-productive-mac/"&gt;reviewed&lt;/a&gt; some antiprocrastination tools, including my own &lt;a href="http://pomodoro.ugolandini.com/"&gt;Pomodoro Desktop&lt;/a&gt;. I have to say that I didn't know this magazine, and I didn't know some of the tools reviewed. But the review inspired me to add some new features to Pomodoro: I liked very much the ideas behind &lt;a href="http://dev.eyebeam.org/projects/selfcontrol-app/wiki/SelfControl-app"&gt;Self Control&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;The main idea is to block ports and addresses using ipfw (which is embedded in OSX) during your focus time, with black and white lists. That means you can't possibly look at your email, go to facebook or stuff like in your pomodoro time. It's technically easy to code - just craft and send some commands to ipfw - but very effective. &lt;/div&gt;&lt;div&gt;I'll probably add these features to my Pomodoro in one of the next releases: I can't see a way to integrate smoothly, because Self Control uses its own timer&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8619316619610982698-2957571089581680307?l=ugolandini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.ugolandini.com/index.php?id=2957571089581680307' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://blog.ugolandini.com/index.php?id=2957571089581680307' title='1 Commenti'/><link rel='edit' type='application/atom+xml' href='http://blog.ugolandini.com/index.php?id=2957571089581680307'/><link rel='self' type='application/atom+xml' href='http://blog.ugolandini.com/index.php?id=2957571089581680307'/><link rel='alternate' type='text/html' href='http://blog.ugolandini.com/index.php?id=2957571089581680307' title='Antiprocrastination tools'/><author><name>ugol</name><uri>http://www.blogger.com/profile/08971902840249746815</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.loghound.com/g/2005' name='OpenSocialUserId' value='13188531750006164823'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8619316619610982698.post-4401118208174494260</id><published>2009-10-05T07:31:00.000-07:00</published><updated>2009-10-05T14:46:25.111-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='etc'/><title type='text'>Getting rid of Wordpress...</title><content type='html'>Aha, at last I finally decided to get rid of Wordpress: sql injections were really a plague and I didn't have time to stay up to date (nor it is easy to update automatic installs on servage)&lt;br /&gt;&lt;br /&gt;Here it is what I did: &lt;br /&gt;&lt;br /&gt;1) I exported my wordpress blog. You have only to login to your WordPress account, navigate to the Dashboard, look for the &lt;strong&gt;Export&lt;/strong&gt; link. Wordpress will produce a WXR file  (Wordpress eXtended Rss) which you will be able to save to your local machine.&lt;br /&gt;&lt;p style="text-align:justify;"&gt;&lt;br /&gt;2) Go to &lt;span style="color:#313131;"&gt;&lt;u&gt;&lt;a href="http://wordpress2blogger.appspot.com/"&gt;Wordpress2Blogger&lt;/a&gt;&lt;/u&gt;&lt;/span&gt;, browse the saved WXR document and click Convert and save that file to your local machine. This second XML file is a blogspot specific file.&lt;br /&gt;&lt;br /&gt;3) Create your blog on &lt;a href="http://www.blogspot.com" rel="self"&gt;blogspot.com&lt;/a&gt; and choose the XML export file you just produced in the &lt;strong&gt;Import Blog Tool&lt;/strong&gt;. Alternatively if you already own a blogspot blog, go to the panel, choose the "&lt;strong&gt;Settings -&gt; General&lt;/strong&gt;". On the first row, immediately before the "Title" filed (yes, it's just a little hidden) there are &lt;strong&gt;import&lt;/strong&gt; and export links. Just click on import and you will see immediately all your old posts and comments&lt;br /&gt;&lt;br /&gt;4) After creating my blogspot blog, I wanted to integrate in my site, using my domain name and my look and feel: to do that I just configured the great &lt;a href="http://www.loghound.com/rapidblog/index.html" rel="self"&gt;Rapidblog&lt;/a&gt; plugin from Loghound software in my &lt;a href="http://www.realmacsoftware.com/" rel="self"&gt;Rapidweaver&lt;/a&gt; project. You basically only need to give the blogspot username/password to the plugin.&lt;br /&gt;&lt;br /&gt;Et voil&amp;agrave;, a complete blog migration in less than one &lt;a href="http://pomodoro.ugolandini.com" rel="self"&gt;pomodoro&lt;/a&gt;! Bye bye wordpress.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8619316619610982698-4401118208174494260?l=ugolandini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.ugolandini.com/index.php?id=4401118208174494260' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://blog.ugolandini.com/index.php?id=4401118208174494260' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://blog.ugolandini.com/index.php?id=4401118208174494260'/><link rel='self' type='application/atom+xml' href='http://blog.ugolandini.com/index.php?id=4401118208174494260'/><link rel='alternate' type='text/html' href='http://blog.ugolandini.com/index.php?id=4401118208174494260' title='Getting rid of Wordpress...'/><author><name>ugol</name><uri>http://www.blogger.com/profile/08971902840249746815</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.loghound.com/g/2005' name='OpenSocialUserId' value='13188531750006164823'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8619316619610982698.post-3333657091149492882</id><published>2009-05-29T15:01:00.000-07:00</published><updated>2009-10-04T05:50:52.930-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='dev'/><category scheme='http://www.blogger.com/atom/ns#' term='pomodoro'/><category scheme='http://www.blogger.com/atom/ns#' term='mac'/><category scheme='http://www.blogger.com/atom/ns#' term='apple'/><title type='text'>Pomodoro desktop for Mac</title><content type='html'>&lt;img src="http://pomodoro.ugolandini.com/rw_common/images/pomodoroLogo.png" alt="Pomodoro" /&gt;&lt;br/&gt;&lt;br/&gt;Just announced my &lt;a href="http://pomodoro.ugolandini.com"&gt;Pomodoro desktop client&lt;/a&gt; for mac. It is a simple but effective way to manage your (coding) time. I am planning to add a lot of interesting features to it, so stay tuned!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8619316619610982698-3333657091149492882?l=ugolandini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.ugolandini.com/index.php?id=3333657091149492882' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://blog.ugolandini.com/index.php?id=3333657091149492882' title='1 Commenti'/><link rel='edit' type='application/atom+xml' href='http://blog.ugolandini.com/index.php?id=3333657091149492882'/><link rel='self' type='application/atom+xml' href='http://blog.ugolandini.com/index.php?id=3333657091149492882'/><link rel='alternate' type='text/html' href='http://blog.ugolandini.com/index.php?id=3333657091149492882' title='Pomodoro desktop for Mac'/><author><name>ugol</name><uri>http://www.blogger.com/profile/08971902840249746815</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.loghound.com/g/2005' name='OpenSocialUserId' value='13188531750006164823'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8619316619610982698.post-1282115504988368746</id><published>2009-02-19T07:46:00.000-08:00</published><updated>2009-10-04T05:50:52.918-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='dev'/><category scheme='http://www.blogger.com/atom/ns#' term='logo'/><title type='text'>Da Java a Logo...</title><content type='html'>scherzo, ovviamente.&lt;br/&gt;&lt;br/&gt;Però &lt;a href="http://logo.ugolandini.com"&gt;qui&lt;/a&gt; potete trovare il materiale del corso di programmazione che ho organizzato per i bambini della scuola elementare Maurizio Poggiali, in via Benedetto Croce. Per rendere il post minimamente più interessante, con antlr sto anche cercando di implementare un interprete migliore di quello scritto "a mano" in kde. Ovviamente tanto non lo finirò mai, ma questa è un'altra storia :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8619316619610982698-1282115504988368746?l=ugolandini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.ugolandini.com/index.php?id=1282115504988368746' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://blog.ugolandini.com/index.php?id=1282115504988368746' title='2 Commenti'/><link rel='edit' type='application/atom+xml' href='http://blog.ugolandini.com/index.php?id=1282115504988368746'/><link rel='self' type='application/atom+xml' href='http://blog.ugolandini.com/index.php?id=1282115504988368746'/><link rel='alternate' type='text/html' href='http://blog.ugolandini.com/index.php?id=1282115504988368746' title='Da Java a Logo...'/><author><name>ugol</name><uri>http://www.blogger.com/profile/08971902840249746815</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.loghound.com/g/2005' name='OpenSocialUserId' value='13188531750006164823'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8619316619610982698.post-1290619546519283540</id><published>2008-12-07T17:25:00.000-08:00</published><updated>2009-10-04T05:50:52.913-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='dev'/><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><title type='text'>iPhone applications up and running...</title><content type='html'>And finally, they &lt;a title="my iPhone applications" href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewArtist?id=296627710" target="_self"&gt;are&lt;/a&gt;.&lt;br/&gt;&lt;br/&gt;Almost 20 days to approve the contract, phew.&lt;br/&gt;&lt;br/&gt;And now, let's find the bug: in the iFiscal app, some users reported crashes and hangs. Unfortunately, the app works pretty well in the simulator and on all physical devices I tested. Right now, I don't know how to fix it: I found a little leak with Instruments which I'll fix as soon as possible, but it appears to be not related to the crashes reported (apparently all on "cambio comune").&lt;br/&gt;&lt;br/&gt;If you own an iphone/ipod touch and the application didn't work for you, let me know exactly the firmware and the exact model of your device (f.e. iPhone 16Gb, 2nd generation, fw 2.2), and what you were doing.&lt;br/&gt;&lt;br/&gt;Update: ah, let me also know if it's jailbreaked (no, I'm not an apple employee :) ). Perhaps it doesn't mean anything, but I didn't test the app on a jailbreaked iphone, and the users who reported me the crash have all a jailbreaked iphone.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8619316619610982698-1290619546519283540?l=ugolandini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.ugolandini.com/index.php?id=1290619546519283540' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://blog.ugolandini.com/index.php?id=1290619546519283540' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://blog.ugolandini.com/index.php?id=1290619546519283540'/><link rel='self' type='application/atom+xml' href='http://blog.ugolandini.com/index.php?id=1290619546519283540'/><link rel='alternate' type='text/html' href='http://blog.ugolandini.com/index.php?id=1290619546519283540' title='iPhone applications up and running...'/><author><name>ugol</name><uri>http://www.blogger.com/profile/08971902840249746815</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.loghound.com/g/2005' name='OpenSocialUserId' value='13188531750006164823'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8619316619610982698.post-8602181182783317147</id><published>2008-11-19T14:10:00.000-08:00</published><updated>2009-10-04T14:42:27.880-07:00</updated><title type='text'>My first iPhone applications...</title><content type='html'>... developed, finished, submitted, approved. But still waiting for the contract approval.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8619316619610982698-8602181182783317147?l=ugolandini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.ugolandini.com/index.php?id=8602181182783317147' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://blog.ugolandini.com/index.php?id=8602181182783317147' title='1 Commenti'/><link rel='edit' type='application/atom+xml' href='http://blog.ugolandini.com/index.php?id=8602181182783317147'/><link rel='self' type='application/atom+xml' href='http://blog.ugolandini.com/index.php?id=8602181182783317147'/><link rel='alternate' type='text/html' href='http://blog.ugolandini.com/index.php?id=8602181182783317147' title='My first iPhone applications...'/><author><name>ugol</name><uri>http://www.blogger.com/profile/08971902840249746815</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.loghound.com/g/2005' name='OpenSocialUserId' value='13188531750006164823'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8619316619610982698.post-429460081201374682</id><published>2008-07-03T06:27:00.000-07:00</published><updated>2009-10-04T14:38:11.233-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='etc'/><title type='text'>Ahhh, virus in blogs...</title><content type='html'>I have been hit by an infection. The old Wordpress I was using was apparently vulnerable to a sql injection, and I only found out thanks to google, which showed in the search that the site can harm you. Well, thanks, google. I hadn't time to investigate how exactly the injected javascript could harm, because I had my problems to reinstall wordpress and migrate the content, and that's enough.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8619316619610982698-429460081201374682?l=ugolandini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.ugolandini.com/index.php?id=429460081201374682' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://blog.ugolandini.com/index.php?id=429460081201374682' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://blog.ugolandini.com/index.php?id=429460081201374682'/><link rel='self' type='application/atom+xml' href='http://blog.ugolandini.com/index.php?id=429460081201374682'/><link rel='alternate' type='text/html' href='http://blog.ugolandini.com/index.php?id=429460081201374682' title='Ahhh, virus in blogs...'/><author><name>ugol</name><uri>http://www.blogger.com/profile/08971902840249746815</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.loghound.com/g/2005' name='OpenSocialUserId' value='13188531750006164823'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8619316619610982698.post-737670540009542338</id><published>2008-04-06T13:05:00.000-07:00</published><updated>2009-10-04T05:50:52.884-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='dev'/><category scheme='http://www.blogger.com/atom/ns#' term='null'/><category scheme='http://www.blogger.com/atom/ns#' term='apple'/><title type='text'>The most compatible partitioning OSX scheme?</title><content type='html'>As I wrote in my previous &lt;a href="http://blog.ugolandini.com/?p=20"&gt;entry&lt;/a&gt;, various apple software has issues with HFSX, which is a Leopard interesting option for unix oldies.&lt;br/&gt;I think there is probably no value to have filenames differing only in case (e.g., Readme an README), but, as a matter of fact these things can happen. And checking out project files with same name from subversion can be really annoying.&lt;br/&gt;&lt;br/&gt;So, apparently OSX users have to face this decision:&lt;br/&gt;&lt;br/&gt;&lt;ul&gt;&lt;br/&gt;	&lt;li&gt;HFS+, case insensitive, compatible with photoshop and other (poorly designed) software, but not unix compliant (potential problems with mysql, cvs, svn, etc.)&lt;/li&gt;&lt;br/&gt;        &lt;li&gt;HFSX, case sensitive, unix compliant (mysql, cvs, svn, etc.) but facing potential problems with a lot of apple and third party software (filevault, photoshop CS3, photoshop elements, and probably lot of others)&lt;br/&gt;&lt;/ul&gt;&lt;br/&gt;&lt;br/&gt;Not an easy one, though I'd probably have gone for the HFS+. But luckily with Leopard is easy to partition your disk (ie you don't need anymore iPartition or similar), and you can mix and match HFS+ and HFSX partitions. So, to minimize the impact of case sensitivity/insensitivity problem, you can just slice up your disk in - let's say - 3 partitions:&lt;br/&gt;&lt;br/&gt;&lt;ul&gt;&lt;br/&gt;	&lt;li&gt;The System one, case insensitive. Photoshop CS3 writes things in the /System and /Library folders, and its installer simply quits if you boot your mac from a case sensitive FS. &lt;/li&gt;&lt;br/&gt;	&lt;li&gt;Another one with /Application and /Users, case insensitive. Here you will install all the adobe and other not-unix-compliant software. This will be the default for all your applications. Case insensitive /Users is needed for FileVault.&lt;br/&gt;	&lt;li&gt;Another one for other unix software, case sensitive. Here you can checkout from cvs/svn, install mysql and so on. You can also mount /Users here if FileVault is not an option for you&lt;/li&gt;&lt;br/&gt;&lt;/ul&gt;&lt;br/&gt;&lt;br/&gt;To do that, just start DiskUtility (usually in /Applications/Utilities), select your OSX disk and choose the Partition tab. Then add as many partitions you like, and format them as planned. Easily done that said.&lt;br/&gt;&lt;br/&gt;Ah, and don't forget to edit your .profile:&lt;br/&gt;&lt;br/&gt;&lt;code&gt;&lt;br/&gt;bind "set show-all-if-ambiguous On"&lt;br/&gt;bind "set completion-ignore-case On"&lt;br/&gt;&lt;/code&gt;&lt;br/&gt;&lt;br/&gt;so that bash don't get in your way when dealing with filenames differing only in case.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8619316619610982698-737670540009542338?l=ugolandini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.ugolandini.com/index.php?id=737670540009542338' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://blog.ugolandini.com/index.php?id=737670540009542338' title='1 Commenti'/><link rel='edit' type='application/atom+xml' href='http://blog.ugolandini.com/index.php?id=737670540009542338'/><link rel='self' type='application/atom+xml' href='http://blog.ugolandini.com/index.php?id=737670540009542338'/><link rel='alternate' type='text/html' href='http://blog.ugolandini.com/index.php?id=737670540009542338' title='The most compatible partitioning OSX scheme?'/><author><name>ugol</name><uri>http://www.blogger.com/profile/08971902840249746815</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.loghound.com/g/2005' name='OpenSocialUserId' value='13188531750006164823'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8619316619610982698.post-6205975223635093270</id><published>2008-04-06T07:07:00.000-07:00</published><updated>2009-10-04T05:50:52.875-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='dev'/><category scheme='http://www.blogger.com/atom/ns#' term='null'/><category scheme='http://www.blogger.com/atom/ns#' term='dtrace'/><category scheme='http://www.blogger.com/atom/ns#' term='apple'/><title type='text'>The case for case insensitivity</title><content type='html'>Well,&lt;br/&gt;when I first discovered that the default file system on OSX was case insensitive, I said it was impossible. I was sure it's case sensitive, it's unix, and  unix IS case insensitive, isn't it? The truth was that I had been working on it for more than a year, but my mbp was indeed case insensitive, and I never noticed only it because the bash was shielding me from this detail. I configured bash to be more case-aware (bind "completion-ignore-case On"), but after having some issues with subversion, I decided that my next installation would have been a standard unix case sensitive one.&lt;br/&gt;&lt;br/&gt;So, fast forward to present. I decided to install the HFS+ case sensitive file system (aka HFSX), although I had a little voice in my head screaming... I also read some &lt;a href="http://www.macfixit.com/staticpages/index.php?page=2003111009264885"&gt;warnings&lt;/a&gt; but decided to proceed anyway. After a few months of working on a case sensitive mac, it's time to wrap up:&lt;br/&gt;&lt;br/&gt;- Backups. It's reported that backup tools on mac can be confused by case sensitive fs. Indeed, Time Machine didn't recognize its own backup, and suggested me to format again the external firewire (sic!). Ok, I copied the files manually and then started again with time machine. Scaring, isn't it? mmm... perhaps I had to listen to the little voice.&lt;br/&gt;- FileVault. Then I discovered that Filevault simply DOESN'T work on a case sensitive file system. So, if you are planning to use it, beware: you'll have to choose between filevault and case sensitivity. I don't know if FileWault is worth its weight, but this is really annoying. Well, let's go on with our case sensitive FS for a while.&lt;br/&gt;- Adobe. Can you believe it? Photoshop CS3, Photoshop Elements and other well known mainstream apps DON'T work on a case sensitive file system. This was really hard to believe for me, but apparently they can't spend 1 week of their precious engineering time to fix this. Someone managed to &lt;a href="http://imaginationunbound.blogspot.com/2007/12/adobe-photoshop-cs3-on-mac-os-x-case.html"&gt;workaround&lt;/a&gt; the issue (I'd say it's a bug, but the Adobe guys don't think &lt;a href="http://kb.adobe.com/selfservice/viewContent.do?externalId=326193"&gt;so&lt;/a&gt;) but it looks to me very dangerous. The truth is that photoshop is untested on HFSX, and any serious user should not rely on the "hacked" version.&lt;br/&gt;- iPhoto. I have also read some &lt;a href="http://blogs.sun.com/martin/entry/converting_hfs_from_case_sensitive"&gt;people&lt;/a&gt; having issues with iPhoto on HFSX&lt;br/&gt;&lt;br/&gt;So, blame on Apple, because they can't manage to make their own apps working well on HFSX, and because they make the case insensitive fs the default. And blame on Adobe, because they are supposed to be a serious software house: in 2008 saying that this is not an issue and/or it's not &lt;a href="http://blogs.adobe.com/jnack/2007/10/adobe_apps_on_l.html"&gt;worth fixing&lt;/a&gt; it's kinda lame. C'mon guys, just renaming some files in your VCS and do some regression testing can't be that hard!&lt;br/&gt;&lt;br/&gt;Ah, I'll go back with a case insensitive FS as soon as possible. Thanks, Adobe.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8619316619610982698-6205975223635093270?l=ugolandini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.ugolandini.com/index.php?id=6205975223635093270' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://blog.ugolandini.com/index.php?id=6205975223635093270' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://blog.ugolandini.com/index.php?id=6205975223635093270'/><link rel='self' type='application/atom+xml' href='http://blog.ugolandini.com/index.php?id=6205975223635093270'/><link rel='alternate' type='text/html' href='http://blog.ugolandini.com/index.php?id=6205975223635093270' title='The case for case insensitivity'/><author><name>ugol</name><uri>http://www.blogger.com/profile/08971902840249746815</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.loghound.com/g/2005' name='OpenSocialUserId' value='13188531750006164823'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8619316619610982698.post-4797981217168997631</id><published>2008-03-04T22:51:00.000-08:00</published><updated>2009-10-04T05:50:52.851-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='dev'/><title type='text'>IDE Day</title><content type='html'>Cos’è?&lt;br/&gt;Arriva per la prima volta in Italia l'evento internazionale che mette a confronto gli IDE Java più utilizzati e le loro community. JDeveloper (Oracle), NetBeans (Sun Microsystems), IntelliJ IDEA (JetBrains), invieranno un evangelist del loro core di sviluppo internazionale per confrontarsi a vicenda.&lt;br/&gt;&lt;br/&gt;Speaker presenti:&lt;br/&gt;&lt;br/&gt;Roman Strobl (Sun Microsystems)&lt;br/&gt;Paolo Ramasso (Oracle)&lt;br/&gt;Vaclav Pech (JetBrains)&lt;br/&gt;Purtroppo nonostante l’impegno da entrambe le parti, non è stato possibile avere la presenza di Eclipse.&lt;br/&gt;&lt;br/&gt;Come?&lt;br/&gt;Uno slot di tempo a disposizione per ogni IDE per mostrare le potenzialità del proprio ambiente rispetto agli altri. Ruolo fondamentale sarà giocato dal pubblico in quanto sono previsti appostiti spazi per porre domande direttamente agli evangelist internazionali. La parte finale dell’ evento sarà dedicata ad un dibattito ragionato sul futuro degli ambienti di sviluppo. L’evento sarà in lingua inglese.&lt;br/&gt;&lt;br/&gt;Costo:&lt;br/&gt;L’evento è gratuito, ma è gradita la registrazione.&lt;br/&gt;&lt;br/&gt;Organizzazione:&lt;br/&gt;L’IDE Day è organizzato dal Jug Genova e Jug Roma&lt;br/&gt;&lt;br/&gt;Quando e dove:&lt;br/&gt;Sono previste due date: Genova, 10 marzo e Roma, 12 marzo. L’evento si svolgerà nel pomeriggio, all'interno delle Università. Per gli orari, agenda e informazioni logistiche si rimanda al sito dell’ evento.&lt;br/&gt;&lt;br/&gt;Sito di riferimento: http://www.ideday.org/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8619316619610982698-4797981217168997631?l=ugolandini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.ugolandini.com/index.php?id=4797981217168997631' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://blog.ugolandini.com/index.php?id=4797981217168997631' title='3 Commenti'/><link rel='edit' type='application/atom+xml' href='http://blog.ugolandini.com/index.php?id=4797981217168997631'/><link rel='self' type='application/atom+xml' href='http://blog.ugolandini.com/index.php?id=4797981217168997631'/><link rel='alternate' type='text/html' href='http://blog.ugolandini.com/index.php?id=4797981217168997631' title='IDE Day'/><author><name>ugol</name><uri>http://www.blogger.com/profile/08971902840249746815</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.loghound.com/g/2005' name='OpenSocialUserId' value='13188531750006164823'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8619316619610982698.post-8434001433957599162</id><published>2008-01-11T16:43:00.000-08:00</published><updated>2009-10-04T05:50:52.832-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='libri'/><category scheme='http://www.blogger.com/atom/ns#' term='null'/><category scheme='http://www.blogger.com/atom/ns#' term='spoiler'/><title type='text'>Quale leggenda?</title><content type='html'>&lt;strong&gt;WARNING: SPOILER inside, sia sul libro che sul film&lt;/strong&gt;&lt;br/&gt;&lt;br/&gt;Beh, non ho potuto resistere. &lt;em&gt;Io sono leggenda&lt;/em&gt;, di Richard Matheson, è uno dei libri più belli che abbia mai letto. E così stasera ho lasciato i pupi a casa e me ne sono andato subito a vedere il filmone omonimo con Will Smith.&lt;br/&gt;&lt;br/&gt;Non sono uno di quelli che dice sempre che i libri sono meglio dei film tratti da essi, manco per sogno: Shining di Kubrick è infinitamente meglio del libro di King, per esempio. Grazie a Kubrick e a Jack Nicholson, certo, ma probabilmente anche grazie al lavoro oscuro degli sceneggiatori. E non sono neanche uno di quelli che vuole che i film siano fedeli ai libri per filo e per segno: è ovvio che i due media abbiano esigenze profondamente diverse, che la trasposizione talvolta avvenga anni ed anni dopo (53 anni in questo caso) e che dunque si debba pesantemente mettere mano alla sceneggiatura, limare qui, togliere la', aggiungere qualcosa di adatto alla sala, togliere cose che non rendano sul grande schermo. Ci sta.&lt;br/&gt;&lt;br/&gt;E Will Smith mi piace pure, l'ho apprezzato in Ali e sono stato uno di quei mammoni che si è commosso vedendo "Alla ricerca della felicità" di Muccino, pensa te. E aggiungo pure che "Io sono leggenda" (il film), nel *suo* genere, non è neanche male, un bel film d'azione con scene spettacolari, una NY deserta da brividi, qualche spunto ben riuscito qua e la (i manichini che piazza nei negozi per simulare normalità sono una bella trovata)&lt;br/&gt;&lt;br/&gt;Peccato che il genere del film non sia lo stesso del libro, che parla proprio di altro e che è stato completamente stravolto: vadano i leoni e le gazzelle in piena new york, vada pure il solito politically correct pseudoambientalista sulla mutazione genetica creata per errore dall'uomo, vada per la sostituzione dei vampiri con dei più moderni e spaventosi esseri deformati dalla malattia e per tutte le altre differenze qua e la'.&lt;br/&gt;&lt;br/&gt;Ma lo spirito del libro non si deve tradire, eccheccazzo: Matheson nel suo libro ci parla di solitudine, di razzismo, della paura del diverso, di come l'orrore si insinui lentamente nella quotidianità diventando a sua volta quotidianità, come dice Evangelisti nella postfazione. E di come sia difficile stabilire chi sia il buono e chi il cattivo: concetto che i film americani tipicamente digeriscono poco, ma che ci volete fare, io sono un ragazzo ottimista e ci speravo.&lt;br/&gt;&lt;br/&gt;Matheson usa l'"ultimo uomo sulla terra" per dirci tutto ciò: Robert Neville (quello del libro, non la sua muscolosa controparte cinematografica) è solo, solissimo e ha due occupazioni principali: cercare nel suo villaggio i luoghi dove i vampiri si nascondono, uccidendoli senza pietà, oppure studiare il fenomeno a casa sua, mentre i suoi ex vicini di casa cercano di entrare per farlo diventare uno di loro, un non morto. Delle semplici assi alle finestre e qualche altro ingegnoso espediente li tengono lontani abbastanza facilmente, e Robert Neville in un certo senso si adatta bene alla nuova realtà, sopravvive e studia il fenomeno, vuole capire. E' vero che si ubriaca nei momenti di sconforto, che ascolta un disco al massimo volume per non sentire i lamenti degli "altri" che lo bramano, e che talvolta si deprime un po'. Ma non perde mai la sua umanità e coglie al volo l'occasione di avere compagnia, che si presenterà prima in un cane miracolosamente scampato ai vampiri e poi nella bella Ruth, che amerà con forza, tanta forza da non accorgersi della sua vera natura.&lt;br/&gt;&lt;br/&gt;Ma quando "la nuova società" se lo viene a prendere e nel farlo trucida i vampiri "primitivi" nel circondariato, Robert Neville non riesce a non piangere per il suo ex-vicino Ben Cortman, a cui ha pur dato la caccia costantemente negli ultimi mesi (era nascosto nel comignolo, Ben: cosa c'è di più familiare di un bel comignolo di mattoni?). E di colpo capisce di non essere l'ultimo uomo sulla terra, ma solo l'ultimo della vecchia razza, e di avere un solo destino: essere una leggenda.&lt;br/&gt;&lt;br/&gt;Status che questo film difficilmente raggiungerà, ma che in fondo in fondo (ma proprio in fondo) consiglio di vedere, in fondo... Se però non avete &lt;em&gt;ancora&lt;/em&gt; letto il libro (che cosa ci fate qui??? Avevo scritto SPOILER!), non è mai troppo tardi: prima o dopo il film non farà comunque molta differenza.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8619316619610982698-8434001433957599162?l=ugolandini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.ugolandini.com/index.php?id=8434001433957599162' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://blog.ugolandini.com/index.php?id=8434001433957599162' title='2 Commenti'/><link rel='edit' type='application/atom+xml' href='http://blog.ugolandini.com/index.php?id=8434001433957599162'/><link rel='self' type='application/atom+xml' href='http://blog.ugolandini.com/index.php?id=8434001433957599162'/><link rel='alternate' type='text/html' href='http://blog.ugolandini.com/index.php?id=8434001433957599162' title='Quale leggenda?'/><author><name>ugol</name><uri>http://www.blogger.com/profile/08971902840249746815</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.loghound.com/g/2005' name='OpenSocialUserId' value='13188531750006164823'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8619316619610982698.post-7788765476964991799</id><published>2007-12-20T11:45:00.000-08:00</published><updated>2009-10-04T05:50:52.820-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='null'/><title type='text'>Potenza di internet…</title><content type='html'>non è che sia un esempio particolarmente eclatante o importante, ma...&lt;br/&gt;&lt;br/&gt;... ascoltate &lt;a href="http://tv.repubblica.it/multimedia/repubblicaradiovideo/1460145?p=4"&gt;qui&lt;/a&gt; la storia di questo presunto attacco di squalo. (gli squali sono animali che amo, la mia prima - ed unica - società si chiamava proprio shark). La musica di Spielberg, le immagini, il pugno sul muso per liberarsi.&lt;br/&gt;&lt;br/&gt;Poi googlate un po' e troverete che il tipo è stato già &lt;a href="http://www.dailymail.co.uk/pages/live/articles/news/worldnews.html?in_article_id=503677&amp;in_page_id=1811"&gt;arrestato&lt;/a&gt;, e che probabilmente si è ferito con una finestra in un tentativo di furto.&lt;br/&gt;&lt;br/&gt;Quando spariranno definitivamente i giornali? Anche i pochi decentemente online mantengono evidentemente i difetti del cartaceo: due anni? cinque? dieci?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8619316619610982698-7788765476964991799?l=ugolandini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.ugolandini.com/index.php?id=7788765476964991799' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://blog.ugolandini.com/index.php?id=7788765476964991799' title='1 Commenti'/><link rel='edit' type='application/atom+xml' href='http://blog.ugolandini.com/index.php?id=7788765476964991799'/><link rel='self' type='application/atom+xml' href='http://blog.ugolandini.com/index.php?id=7788765476964991799'/><link rel='alternate' type='text/html' href='http://blog.ugolandini.com/index.php?id=7788765476964991799' title='Potenza di internet…'/><author><name>ugol</name><uri>http://www.blogger.com/profile/08971902840249746815</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.loghound.com/g/2005' name='OpenSocialUserId' value='13188531750006164823'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8619316619610982698.post-7527686052343023816</id><published>2007-12-13T01:42:00.000-08:00</published><updated>2009-10-04T05:50:52.814-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='null'/><title type='text'>Great fun @ Javapolis…</title><content type='html'>Ok, &lt;a href="http://www.javapolis.com/confluence/display/JP07/Clustering+a+Real+World+Enterprise+Application"&gt;it&lt;/a&gt; was a BOF, and at 9.00 PM. And, we didn't manage to get the Javapolis tickets in time (ironically, I am also a &lt;a href="http://www.jugroma.it/wiki/jug/space/jug"&gt;Jug Leader&lt;/a&gt; with a free pass), so we were in the unfortunate position of being speakers withouth the rights to stay at the conference :(&lt;br/&gt;&lt;br/&gt;But the talk has been great fun, lot of questions and interaction. Being the last BOF we also used an extra half-hour... and we had the terracotta guys attending the meeting (isn't it strange to hear other people talking about your product? That probably means your baby is moving up in the world), they also helped us on some questions, mostly details on an undocumented feature like the active/active server master Ari mentioned in &lt;a href="http://blog.terracottatech.com/2007/12/fud_of_the_week_terracotta_doe.html"&gt;its response&lt;/a&gt; to Bela Ban&lt;br/&gt;&lt;br/&gt;Definitely, terracotta is a great product with a very competent team. And me and &lt;a href="http://sbtourist.blogspot.com/"&gt;Sergio&lt;/a&gt; had great fun in hacking Jira. Next target: cluster Confluence?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8619316619610982698-7527686052343023816?l=ugolandini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.ugolandini.com/index.php?id=7527686052343023816' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://blog.ugolandini.com/index.php?id=7527686052343023816' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://blog.ugolandini.com/index.php?id=7527686052343023816'/><link rel='self' type='application/atom+xml' href='http://blog.ugolandini.com/index.php?id=7527686052343023816'/><link rel='alternate' type='text/html' href='http://blog.ugolandini.com/index.php?id=7527686052343023816' title='Great fun @ Javapolis…'/><author><name>ugol</name><uri>http://www.blogger.com/profile/08971902840249746815</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.loghound.com/g/2005' name='OpenSocialUserId' value='13188531750006164823'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8619316619610982698.post-7288665225923306094</id><published>2007-12-06T04:01:00.000-08:00</published><updated>2009-10-04T05:50:52.807-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='null'/><title type='text'>Scarlet news…</title><content type='html'>&lt;a href="http://sbtourist.blogspot.com/2007/12/news-about-scarlet.html"&gt;Sergio&lt;/a&gt; beat me on time and announced &lt;a href="http://confluence.atlassian.com/x/woQuBg"&gt;Scarlet&lt;/a&gt; beta 2&lt;br/&gt;&lt;br/&gt;Well, at least this delay gives me more time to comment on some blog reactions from Terracotta friends &lt;a href="http://orionl.blogspot.com/2007/12/clustered-jira-scarlet-beta2-is-out.html"&gt; Orion &lt;/a&gt; and &lt;a href="http://blog.terracottatech.com/2007/12/have_you_heard_jira_was_cluste.html"&gt; Ari &lt;/a&gt; :)&lt;br/&gt;&lt;br/&gt;As Ari said, clustering with an invasive situation is really a different beast. I'd add that it could be literally devastating for your legacy project. Atlassian Confluence is a real world example, it has been a 54 man/month effort according to an atlassian &lt;a href="http://www.parleys.com/display/PARLEYS/Pragmatic%20Clustering%20Guide"&gt; presentation &lt;/a&gt; given some months ago. Clustering Jira with Terracotta has been much easier than that, and assuming that confluence and jira have the same complexity (which is a reasonable assumption, coming from the same company and sharing a similar architecture), we can safely say that the effort to cluster with TC has been a tiny fraction than 54 man/month, so much much better than that.&lt;br/&gt;&lt;br/&gt;Regarding the transparent clustering claim, well... for us it's been more a translucid one ;) Dealing with legacy J2ee code can be very tricky, and using a straightforward terracotta solution (ie simply putting the objects in your shared roots and writing some XML) is not always feasible/performant/possible. We described some of the issues we found in our &lt;a href="http://roma.javaday.it/roma/talk/ClusteringInTheWild-javadayRoma2007.pdf"&gt; talk &lt;/a&gt; at javaday (which should be &lt;a href="http://www.javapolis.com/confluence/display/JP07/Clustering+a+Real+World+Enterprise+Application"&gt; replicated &lt;/a&gt; at next javapolis, if we can find the air tickets :) ).&lt;br/&gt;&lt;br/&gt;For example, dealing with a lot of uncorrectly synchronized home-grown caches forced us to write a common cache adapter on top of them, using a &lt;a href="http://www.thinkingparallel.com/2007/07/31/10-ways-to-reduce-lock-contention-in-threaded-programs/"&gt;lock-striping&lt;/a&gt; solution  and than TC-ize that.&lt;br/&gt;Not exactly the kind of stuff you code in the weekend!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8619316619610982698-7288665225923306094?l=ugolandini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.ugolandini.com/index.php?id=7288665225923306094' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://blog.ugolandini.com/index.php?id=7288665225923306094' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://blog.ugolandini.com/index.php?id=7288665225923306094'/><link rel='self' type='application/atom+xml' href='http://blog.ugolandini.com/index.php?id=7288665225923306094'/><link rel='alternate' type='text/html' href='http://blog.ugolandini.com/index.php?id=7288665225923306094' title='Scarlet news…'/><author><name>ugol</name><uri>http://www.blogger.com/profile/08971902840249746815</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.loghound.com/g/2005' name='OpenSocialUserId' value='13188531750006164823'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8619316619610982698.post-7870030081181114828</id><published>2007-11-23T01:50:00.000-08:00</published><updated>2009-10-05T14:46:24.447-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='dev'/><category scheme='http://www.blogger.com/atom/ns#' term='13949712720901ForOSX'/><category scheme='http://www.blogger.com/atom/ns#' term='apple'/><title type='text'>File a bug to Apple: add Java 6 to Mac OS X</title><content type='html'>&lt;a href="http://blogs.sun.com/bblfish/"&gt;Henry Story&lt;/a&gt;&amp;nbsp;had a great idea.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;Let's file a bug to Apple asking for&amp;nbsp;&lt;a href="http://blogs.sun.com/bblfish/entry/vote_for_java6_on_leopard"&gt;Java 6 on Mac OS X&lt;/a&gt;,&amp;nbsp;and remember to add this string 13949712720901ForOSX to your blog tags, so Apple will easily track how many people needs an official Java6 for OSX. &lt;br /&gt;&lt;br /&gt;In the meantime, thanks to Landon Fuller, we have&amp;nbsp;&lt;a href="http://landonf.bikemonkey.org/code/macosx/"&gt;this&lt;/a&gt;.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8619316619610982698-7870030081181114828?l=ugolandini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.ugolandini.com/index.php?id=7870030081181114828' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://blog.ugolandini.com/index.php?id=7870030081181114828' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://blog.ugolandini.com/index.php?id=7870030081181114828'/><link rel='self' type='application/atom+xml' href='http://blog.ugolandini.com/index.php?id=7870030081181114828'/><link rel='alternate' type='text/html' href='http://blog.ugolandini.com/index.php?id=7870030081181114828' title='File a bug to Apple: add Java 6 to Mac OS X'/><author><name>ugol</name><uri>http://www.blogger.com/profile/08971902840249746815</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.loghound.com/g/2005' name='OpenSocialUserId' value='13188531750006164823'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8619316619610982698.post-1069395566088812990</id><published>2007-11-14T03:38:00.000-08:00</published><updated>2009-10-04T05:50:52.795-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='etc'/><category scheme='http://www.blogger.com/atom/ns#' term='javaday'/><title type='text'>Javaday è qui!</title><content type='html'>Il secondo Javaday è &lt;a href="http://roma.javaday.it/" title="javaday"&gt;qui&lt;/a&gt;. Non mancate, io sarò presente con un talk sul clustering di Terracotta. Anche se non vi frega nulla del transparent clustering, sarà comunque un'occasione per conoscersi più da vicino!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8619316619610982698-1069395566088812990?l=ugolandini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.ugolandini.com/index.php?id=1069395566088812990' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://blog.ugolandini.com/index.php?id=1069395566088812990' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://blog.ugolandini.com/index.php?id=1069395566088812990'/><link rel='self' type='application/atom+xml' href='http://blog.ugolandini.com/index.php?id=1069395566088812990'/><link rel='alternate' type='text/html' href='http://blog.ugolandini.com/index.php?id=1069395566088812990' title='Javaday è qui!'/><author><name>ugol</name><uri>http://www.blogger.com/profile/08971902840249746815</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.loghound.com/g/2005' name='OpenSocialUserId' value='13188531750006164823'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8619316619610982698.post-3309205517655296528</id><published>2007-11-06T10:45:00.000-08:00</published><updated>2009-10-04T05:50:52.774-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='null'/><title type='text'>Scarlet rules!</title><content type='html'>&lt;span style="color: #333333; font-family: Verdana; font-size: 13px; line-height: normal" class="Apple-style-span"&gt;&lt;h3 style="font-size: 125%; font-weight: bold; line-height: 1.1em; padding: 0px; margin: 0px" class="post-title entry-title"&gt;&lt;a href="http://sbtourist.blogspot.com/2007/11/scarlet-is-out.html" style="text-decoration: none; color: #333333; font-weight: bold"&gt;Scarlet is out!&lt;/a&gt;&lt;/h3&gt;&lt;/span&gt; &lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; line-height: 1.3em" class="post-body entry-content"&gt;The first public beta release of &lt;a href="http://confluence.atlassian.com/display/JIRAEXT/Scarlet+-+Terracotta+based+clustering+for+Jira"&gt;Scarlet&lt;/a&gt; is officially out!&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; line-height: 1.3em" class="post-body entry-content"&gt;Scarlet is a &lt;span style="font-weight: bold"&gt;free, open source, clustering extension to &lt;/span&gt;&lt;span&gt;Atlassian &lt;a href="http://www.atlassian.com/software/jira/"&gt;Jira&lt;/a&gt;.&lt;/span&gt; Scarlet answers to one of the Jira customer's frequently asked question: how to make an higly available Jira installation? How to make it scale?&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; line-height: 1.3em" class="post-body entry-content"&gt;This was definitely an insormontable issue until &lt;a href="http://sbtourist.blogspot.com/"&gt;Sergio Bossa&lt;/a&gt; attacked the problem using one of the most interesting open source pieces of code available today, &lt;a href="http://terracotta.org/" style="color: #336699"&gt;Terracotta DSO.&lt;/a&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; line-height: 1.3em" class="post-body entry-content"&gt; The first reaction when you see Terracotta at work it's... jawdropping. The second is that you start to think at how many things you can do now with a better performance and/or with less headaches (ie without the app server). Believe me, it's amazing. And if you want to dig deep in terracotta, you'll also make good use of your deep knowledge of Doug Lea's &lt;a href="http://g.oswego.edu/dl/cpj/" title="Doug Lea"&gt;Concurrent Programming&lt;/a&gt; and Brian Goetz &lt;a href="http://www.javaconcurrencyinpractice.com/"&gt;Concurrency in practice&lt;/a&gt;, which is a good thing(tm) &lt;a href="http://terracotta.org/" style="color: #336699"&gt;&lt;/a&gt;Main features:&lt;/p&gt;&lt;ul&gt;	&lt;li&gt;fool-proof setup clustering solution&lt;/li&gt;	&lt;li&gt;completely transparent: no new things to learn &lt;br class="webkit-block-placeholder" /&gt;&lt;/li&gt;	&lt;li&gt;just plain old java objects with steroids!&lt;/li&gt;&lt;/ul&gt;Download Scarlet &lt;a href="http://confluence.atlassian.com/x/woQuBg" style="color: #336699"&gt;here&lt;/a&gt; and let us know what do you think. Ah, and did I mention that we will also be at &lt;a href="http://www.javapolis.com/confluence/display/JP07/BOF+Day+2" title="Day 2 BOF"&gt;Javapolis&lt;/a&gt; to meet you and describe our code in depth? Stay tuned.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8619316619610982698-3309205517655296528?l=ugolandini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.ugolandini.com/index.php?id=3309205517655296528' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://blog.ugolandini.com/index.php?id=3309205517655296528' title='3 Commenti'/><link rel='edit' type='application/atom+xml' href='http://blog.ugolandini.com/index.php?id=3309205517655296528'/><link rel='self' type='application/atom+xml' href='http://blog.ugolandini.com/index.php?id=3309205517655296528'/><link rel='alternate' type='text/html' href='http://blog.ugolandini.com/index.php?id=3309205517655296528' title='Scarlet rules!'/><author><name>ugol</name><uri>http://www.blogger.com/profile/08971902840249746815</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.loghound.com/g/2005' name='OpenSocialUserId' value='13188531750006164823'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8619316619610982698.post-3114430133801231619</id><published>2007-11-02T07:03:00.000-07:00</published><updated>2009-10-04T05:50:52.768-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='dev'/><category scheme='http://www.blogger.com/atom/ns#' term='leopard'/><category scheme='http://www.blogger.com/atom/ns#' term='dtrace'/><title type='text'>Dtrace on Leopard</title><content type='html'>Leopard got what's considered to be the best debugging tool in the world, dtrace, coming directly from the &lt;a href="http://www.opensolaris.org/" title="Open Solaris"&gt;Open Solaris&lt;/a&gt; kernel. Dtrace lets you probe your kernel in an unprecedented and dynamic way (ie, without recompiling.)&lt;br/&gt;&lt;br/&gt;Here you can find the dtrace solaris &lt;a href="http://docs.sun.com/app/docs/doc/819-5488" title="Dtrace guide"&gt;guide&lt;/a&gt; if you want to delve deep in its syntax and probes.&lt;br/&gt;&lt;br/&gt;Almost everyone (myself included) blogged or &lt;a href="http://trac.macosforge.org/projects/ruby/wiki/WhatsNewInLeopard" title="Ruby and Dtrace"&gt;wrote&lt;/a&gt; about the &lt;a href="https://dtrace.joyent.com/projects/ruby-dtrace/wiki/Ruby+DTrace" title="Ruby dtrace probes"&gt;Ruby dtrace probes&lt;/a&gt; being in Leopard, so I immediately tried a bunch of scripts to give them a run. Interestingly, you can find dtrace ruby examples right in the /Developer directory.&lt;br/&gt;&lt;br/&gt;&amp;lt;rant&amp;gt;That probably means a shift in Apple developer support from Java to Ruby, which sounds a bit strange if you really think about that: how cool and useful could be a java 6 JVM with a lot of dtrace probes? Yep, I like Ruby. I like it a lot for fast object oriented scripting, I like the dynamic part, I like the Smalltalkness and whatever. But, seriously, java is THE platform to support. Come on. We are all waiting for exciting java news from you, Apple. &amp;lt;/rant&amp;gt;&lt;br/&gt;&lt;br/&gt;Well, let's go back in topic now.&lt;br/&gt;&lt;br/&gt;&lt;code&gt;sudo dtrace -s /Developer/Examples/Ruby/DTrace/print_calls.d&lt;/code&gt;&lt;br/&gt;&lt;br/&gt;says that&lt;br/&gt;&lt;br/&gt;&lt;code&gt;dtrace: failed to compile script /Developer/Examples/Ruby/DTrace/print_calls.d: line 4: probe description ruby*:::function-entry does not match any probes&lt;/code&gt;&lt;br/&gt;&lt;br/&gt;and infact with a simple grep&lt;br/&gt;&lt;br/&gt;&lt;code&gt;sudo dtrace -l | grep -i object-free&lt;/code&gt;&lt;br/&gt;&lt;br/&gt;you can see that it doesn't show one the expected ruby probes.&lt;br/&gt;&lt;br/&gt;So, are the Ruby dtraces probe really there or the Gold Master lost something?&lt;br/&gt;&lt;br/&gt;&amp;lt;update&amp;gt; Ok, just found &lt;a href="http://www.nabble.com/Ruby-DTrace-(on-OSX-Leopard)-t4718924.html"&gt;this&lt;/a&gt; a few minutes after publishing :).&lt;br/&gt;&lt;br/&gt;Being dynamic, you should attach it to a running ruby interpreter. Can't still explain why the dtrace -l doesn't show the ruby probes...&lt;br/&gt;&lt;br/&gt;&lt;code&gt;sudo dtrace -s /Developer/Examples/Ruby/DTrace/print_memory_usage.d -p &amp;lt;pid&amp;gt; PID number&amp;lt;/pid&amp;gt;&lt;/code&gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;/update&amp;gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8619316619610982698-3114430133801231619?l=ugolandini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.ugolandini.com/index.php?id=3114430133801231619' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://blog.ugolandini.com/index.php?id=3114430133801231619' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://blog.ugolandini.com/index.php?id=3114430133801231619'/><link rel='self' type='application/atom+xml' href='http://blog.ugolandini.com/index.php?id=3114430133801231619'/><link rel='alternate' type='text/html' href='http://blog.ugolandini.com/index.php?id=3114430133801231619' title='Dtrace on Leopard'/><author><name>ugol</name><uri>http://www.blogger.com/profile/08971902840249746815</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.loghound.com/g/2005' name='OpenSocialUserId' value='13188531750006164823'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8619316619610982698.post-74178512899762056</id><published>2007-10-31T17:33:00.000-07:00</published><updated>2009-10-04T05:50:52.751-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='dev'/><category scheme='http://www.blogger.com/atom/ns#' term='etc'/><category scheme='http://www.blogger.com/atom/ns#' term='leopard'/><category scheme='http://www.blogger.com/atom/ns#' term='english'/><category scheme='http://www.blogger.com/atom/ns#' term='dtrace'/><category scheme='http://www.blogger.com/atom/ns#' term='apple'/><title type='text'>Leopard: things I like and things I dislike, a developer perspective</title><content type='html'>It's more than a full day working on Leopard right now. So, here are my first impressions on what I like and what I don't like from a developer perspective.What I like:&lt;ol&gt;	&lt;li&gt;&lt;span style="font-weight: bold" class="Apple-style-span"&gt;Time Machine&lt;/span&gt;. Easy, almost everyone paid lip service to TM. But it's still impressive when you look at it&lt;/li&gt;	&lt;li&gt;&lt;span style="font-weight: bold" class="Apple-style-span"&gt;Dtrace and Instruments&lt;/span&gt;. This is a joy for developers. More on this in next posts, in the meanwhile have a look at Bryan Cantrill &lt;a href="http://blogs.sun.com/bmc/" title="Bryan blog"&gt;blog&lt;/a&gt;,  dtrace creator &lt;/li&gt;	&lt;li&gt;&lt;span style="font-weight: bold" class="Apple-style-span"&gt;Spaces&lt;/span&gt;. Another easy one. Bye bye buggy Virtue Desktop, welcome pre-organized spaces (yes, you can assign applications to predefined spaces)&lt;/li&gt;	&lt;li&gt;&lt;span style="font-weight: bold" class="Apple-style-span"&gt;Terminal&lt;/span&gt;. You won't need anymore iTerm to tail logs in tabbed windows.&lt;/li&gt;	&lt;li&gt;&lt;span style="font-weight: bold" class="Apple-style-span"&gt;&lt;span style="font-weight: normal" class="Apple-style-span"&gt;&lt;span style="font-weight: bold" class="Apple-style-span"&gt;Calendar icon&lt;/span&gt; now shows the real date and not 17 of July!&lt;/span&gt;&lt;br class="webkit-block-placeholder" /&gt;&lt;/span&gt;&lt;/li&gt;	&lt;li&gt;&lt;span style="font-weight: bold" class="Apple-style-span"&gt;Ruby/Rails out of the box&lt;/span&gt;. Very nice to have ruby/rails integrated. Well, I would have preferred a java 6 virtual machine, but it's nonetheless a nice feature. Not as much as the Calendar icon, but a good one :). Jokes aside, is nice that ruby apps on apple are also &lt;a href="http://www.infoq.com/news/2007/10/ruby-leopard" title="Dtrace and ruby"&gt;Dtraceable&lt;/a&gt;. &lt;/li&gt;&lt;/ol&gt;What I don't like:&lt;ol&gt;	&lt;li&gt;&lt;span style="font-weight: bold" class="Apple-style-span"&gt;No Java&lt;/span&gt; 6. No workarounds: but java 5 looks very fast, and rumors are that we will see java 6 very soon. (hopefully with fast opengl rendered Swing, working Java Sound and a lot of dtrace probes)&lt;/li&gt;	&lt;li&gt;&lt;span style="font-weight: bold" class="Apple-style-span"&gt;PostgreSql&lt;/span&gt; from MacPorts failed to compile, and I still hadn't had time to see why&lt;/li&gt;	&lt;li&gt;The &lt;span style="font-weight: bold" class="Apple-style-span"&gt;3D Dock&lt;/span&gt; looks ugly. Easy workaround:  simply type "defaults write com.apple.dock no-glass -boolean YES" and then a "killall Dock" in the command line&lt;/li&gt;	&lt;li&gt;The &lt;span style="font-weight: bold" class="Apple-style-span"&gt;tranlucent menu&lt;/span&gt; looks ugly too. This isn't easily and completely solved right now&lt;/li&gt;	&lt;li&gt;&lt;span style="font-weight: bold" class="Apple-style-span"&gt;Skype&lt;/span&gt; works only the first time! This happens because Skype self-modifies itself after the first launch, and the app signing mechanism break. Either wait for Skype folks to solve it or reinstall with the firewall disabled. More info &lt;a href="http://forum.skype.com/index.php?showtopic=100329&amp;amp;st=0&amp;amp;p=457718&amp;amp;#entry457718" title="Skype forum"&gt;here&lt;/a&gt;. &lt;/li&gt;	&lt;li&gt;&lt;span style="font-weight: bold" class="Apple-style-span"&gt;Intellij Idea 7.0.1&lt;/span&gt; can't be assigned to a space :(&lt;/li&gt;&lt;/ol&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8619316619610982698-74178512899762056?l=ugolandini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.ugolandini.com/index.php?id=74178512899762056' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://blog.ugolandini.com/index.php?id=74178512899762056' title='1 Commenti'/><link rel='edit' type='application/atom+xml' href='http://blog.ugolandini.com/index.php?id=74178512899762056'/><link rel='self' type='application/atom+xml' href='http://blog.ugolandini.com/index.php?id=74178512899762056'/><link rel='alternate' type='text/html' href='http://blog.ugolandini.com/index.php?id=74178512899762056' title='Leopard: things I like and things I dislike, a developer perspective'/><author><name>ugol</name><uri>http://www.blogger.com/profile/08971902840249746815</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.loghound.com/g/2005' name='OpenSocialUserId' value='13188531750006164823'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8619316619610982698.post-6994269518516416209</id><published>2007-10-17T15:25:00.000-07:00</published><updated>2009-10-04T05:50:52.744-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='etc'/><category scheme='http://www.blogger.com/atom/ns#' term='english'/><category scheme='http://www.blogger.com/atom/ns#' term='postgres'/><category scheme='http://www.blogger.com/atom/ns#' term='apple'/><category scheme='http://www.blogger.com/atom/ns#' term='alfresco'/><title type='text'>Migration Assistant, thank you very much!</title><content type='html'>Yesterday I received a shiny new MBP. Being my 5th Mac with OSX, I thought I almost knew all of the basics. Well, I was wrong.&lt;br/&gt;&lt;br/&gt;I was almost ready with my rsync scripts and a great dose of patience to migrate all my stuff to the new beast when one of my colleagues pointed me to Migration Assistant. For me, that was one of those misterious icons you never use, probably being there for obscure reasons I certainly don't need to cope with, like Grapher (/Application/Utilities/Grapher.app), or ODBC Administrator (/Application/Utilities/ODBC Administrator.app), or [Put your favourite example here]. You know, that kind of stuff even Steve Jobs doesn't know exactly why is there or what is for.&lt;br/&gt;&lt;br/&gt;Well, it turns out that &lt;a href="http://www.apple.com/pro/tips/migration.html"&gt;Migration Assistant&lt;/a&gt; is really really useful and it does really really work. All you need is a firewire cable, then:&lt;br/&gt;&lt;br/&gt;&lt;ul&gt;&lt;br/&gt;	&lt;li&gt;you connect the old mac with the new one&lt;br/&gt;&lt;/li&gt;&lt;br/&gt;	&lt;li&gt;you start the Migration Assistant (/Application/Utilities/Migration Assistant.app), or, even better, you choose to "migrate data from another mac" during the setup procedure wizard&lt;br/&gt;&lt;/li&gt;&lt;br/&gt;	&lt;li&gt;you (re)start the old mac keeping the T button pressed: that makes your mac go in "firewire disk" mode. You will see a fancy firewire logo moving on your screen when it's ready&lt;br/&gt;&lt;/li&gt;&lt;br/&gt;	&lt;li&gt;you choose from a wizard what you want to migrate (Users, Applications, and so on). I selected all the checkboxes&lt;br/&gt;&lt;/li&gt;&lt;br/&gt;	&lt;li&gt;you wait :)&lt;br/&gt;&lt;/li&gt;&lt;br/&gt;&lt;/ul&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;And then you will have a new mac, virtually identical to the old one. Same desktop, same apps, same stuff in the trash bin, same history in the browser, same network options, same items at startup, etc. I had only 3 minor issues, and here are the workarounds:&lt;br/&gt;&lt;br/&gt;&lt;ul&gt;&lt;br/&gt;&lt;br/&gt;	&lt;li&gt;Some icons on the Dock was broken, showing a question mark. I just clicked on them to solve this :)&lt;br/&gt;&lt;/li&gt;&lt;br/&gt;&lt;br/&gt;	&lt;li&gt;&lt;a href="http://www.alfresco.com"&gt;Alfresco&lt;/a&gt; didn't work anymore. Looking at the logs, it was really a &lt;a href="http://www.postgresql.org"&gt;postgres&lt;/a&gt; problem: the postgres user didn't migrate (in fact, it wasn't even selectable in the Migration Assistant wizard, probably because the UID was to low or too high to be in the normal user range, who knows?). This is really a piece of cake, just recreate the postgres user and group with the same UID/GID with Netinfo Manager (/Applications/Utilities/NetInfo Manager.app) or using the shell.&lt;br/&gt;&lt;/li&gt;&lt;br/&gt;&lt;br/&gt;	&lt;li&gt;The admin user wasn't anymore an admin! The user data correctly migrated, but OSX was confused and, although it had the Admin checkbox correctly set, couldn't act as an administrator (sudo for example didn't work). Being the only Admin user, OSX don't let you unset/reset the checkbox. The workaround here is simply to create another Foo admin user, then unset and reset your real Admin user Administration checkbox, and then delete the Foo admin user. &lt;/li&gt;&lt;br/&gt;&lt;br/&gt;&lt;/ul&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;This time, the god of system administrators smiled at me and I had an up and running laptop in a few hours (just about 2 hours for 50Gb on the 400Mb firewire) and a few minutes to fix minor issues. Well done!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8619316619610982698-6994269518516416209?l=ugolandini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.ugolandini.com/index.php?id=6994269518516416209' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://blog.ugolandini.com/index.php?id=6994269518516416209' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://blog.ugolandini.com/index.php?id=6994269518516416209'/><link rel='self' type='application/atom+xml' href='http://blog.ugolandini.com/index.php?id=6994269518516416209'/><link rel='alternate' type='text/html' href='http://blog.ugolandini.com/index.php?id=6994269518516416209' title='Migration Assistant, thank you very much!'/><author><name>ugol</name><uri>http://www.blogger.com/profile/08971902840249746815</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.loghound.com/g/2005' name='OpenSocialUserId' value='13188531750006164823'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8619316619610982698.post-2294783144278578460</id><published>2007-10-14T03:20:00.000-07:00</published><updated>2009-10-04T05:50:52.713-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='religion'/><category scheme='http://www.blogger.com/atom/ns#' term='english'/><title type='text'>Ok, you say you believe in god…</title><content type='html'>A lot of people say they are religious, or that they believe in god. But what do they exactly believe? There are different "levels", and terminology is ALWAYS important. Simplifying a bit - philosophers will forgive me - you can be&lt;br/&gt;&lt;br/&gt;&lt;ul&gt;&lt;br/&gt;	&lt;li&gt;Theist - A theist believes in a supernatural intelligence who created the universe and influences the fate of the creation, especially the human kind (answers prayers, does miracles, punishes sins, etc.). This is the "classic" god of Judaism, Christianity and Islam&lt;/li&gt;&lt;br/&gt;	&lt;li&gt;Deist - A deist believes in a supernatural intelligence who created the universe, setting up the initial laws, but is not involved in human affairs. This is the Locke, Voltaire, Diderot position.&lt;/li&gt;&lt;br/&gt;	&lt;li&gt;Pantheist - A pantheist doesn't believe in a supernatural god, but uses god as a synonim of Nature, Cosmic intelligence, and so on. This is the Spinoza's god&lt;/li&gt;&lt;br/&gt;	&lt;li&gt;Agnostic - The agnostic thinks that he can't possibly know, and so is skeptic. He doesn't take a clear position, nor he wants to&lt;/li&gt;&lt;br/&gt;	&lt;li&gt;Atheist - The Atheist believe there is no supernatural god. He doesn't call nature god and usually thinks that theists are the root of all evil in the world&lt;/li&gt;&lt;br/&gt;&lt;/ul&gt;&lt;br/&gt;&lt;br/&gt;&lt;a href="http://richarddawkins.net/"&gt;Richard Dawkins&lt;/a&gt; says pantheism is "sexed up" atheism, and deism is "watered down" theism. The difference between Pantheism, Agnosticism and Atheism is quite subtle if you think about it, and usually unreligious people can't say exactly what term best describes their beliefs.&lt;br/&gt;&lt;br/&gt;It is not so common that Scientists or Engineers are Theists/Deists. This obviously doesn't prove anything in a sense or the other, because scientists are by no means any better than other people (I don't agree with Dawkins on this point), but it's interesting. My (small) numbers - I led different software teams - are that in Software engineering at least 80% of people err between pantheism and atheism. What are yours?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8619316619610982698-2294783144278578460?l=ugolandini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.ugolandini.com/index.php?id=2294783144278578460' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://blog.ugolandini.com/index.php?id=2294783144278578460' title='4 Commenti'/><link rel='edit' type='application/atom+xml' href='http://blog.ugolandini.com/index.php?id=2294783144278578460'/><link rel='self' type='application/atom+xml' href='http://blog.ugolandini.com/index.php?id=2294783144278578460'/><link rel='alternate' type='text/html' href='http://blog.ugolandini.com/index.php?id=2294783144278578460' title='Ok, you say you believe in god…'/><author><name>ugol</name><uri>http://www.blogger.com/profile/08971902840249746815</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.loghound.com/g/2005' name='OpenSocialUserId' value='13188531750006164823'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8619316619610982698.post-7506314123411596028</id><published>2007-10-10T14:18:00.000-07:00</published><updated>2009-10-04T05:50:52.700-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='italian'/><category scheme='http://www.blogger.com/atom/ns#' term='etc'/><title type='text'>Odio più i “piuttosto che” o i “quant’altro”?</title><content type='html'>Beh, prima o poi dovevo cominciare a scrivere delle cose che odio, visto che il blog si chiama "Legendary Diplomacy" :)&lt;br/&gt;&lt;br/&gt;Non so se ci avete fatto caso, ma l'informatico in prevendita, o più in generale nelle riunioni (più spesso in quelle in giacca e cravatta), adotta un linguaggio un po' diverso dal suo solito, un linguaggio con cui cerca di darsi un tono. Non solo l'informatico, certamente: ma purtroppo frequento quasi esclusivamente questa bistrattata categoria...&lt;br/&gt;&lt;br/&gt;Tipicamente nei discorsi del prevenditore in azione troverete avverbi inutili, oscure espressioni pseudo-anglosassoneggianti che pretende tutti capiscano, snobismi vari e più in generale parole artificialmente forbite che hanno sinonimi molto più semplici ed immediati. Penso la cosa sia in fondo piuttosto normale, poichè nelle riunioni spesso si cerca di apparire più fighi ed intelligenti di quello che si è veramente. E nelle riunioni in cui si cerca di vendere qualcosa ovviamente molto di più.&lt;br/&gt;&lt;br/&gt;Ma in tutto questo [normale] fastidio ci sono però alcune espressioni veramente antipatiche, parole che mi danno letteralmente il voltastomaco e che passano il confine del semplice irritamento cerebrale:&lt;br/&gt;&lt;br/&gt;&lt;ul&gt;&lt;br/&gt;	&lt;li&gt;Piuttosto che&lt;/li&gt;&lt;br/&gt;	&lt;li&gt;Quant'altro&lt;/li&gt;&lt;br/&gt;&lt;/ul&gt;&lt;br/&gt;&lt;br/&gt;Frase tipica: "Beh, qui il prodotto usa hibernate, e come ben sapete con hibernate potete usare MySql &lt;em&gt;[pausa artificiale] &lt;/em&gt;&lt;strong&gt;piuttosto che&lt;/strong&gt; Postgres &lt;em&gt;[pausa artificiale un po più lunga]&lt;/em&gt; &lt;strong&gt;piuttosto che&lt;/strong&gt; Oracle, &lt;em&gt;[qui fa la faccia navigata, del tipo che ha la tecnologia in mano, li sa tutti ma non serve dirli]&lt;/em&gt; o &lt;strong&gt;quant'altro&lt;/strong&gt;"&lt;br/&gt;&lt;br/&gt;A questo punto di solito mi voglio alzare ed urlare, ed ultimamente mi trattengo sempre più a fatica. "Piuttosto che" in italiano non ha valore disgiuntivo, non è sinonimo di "oppure". Manco per sogno. Si usa per dire "Piuttosto che comprare il tuo prodotto, mi faccio frate", ossia esprime come minimo una forte preferenza, se non addirittura una scelta già fatta od obbligata. Usarlo come disgiuntivo è un vezzo snob, ed è pure sbajato. Secondo Beppe Severgnini il mostriciattolo "piuttosto che" è di provenienza "agiato settentrionale", ma credo che ormai abbia invaso tutta l'Italia.&lt;br/&gt;&lt;br/&gt;"Quant'altro" invece non so proprio da dove venga e perchè. Forse il neosnob, memore dell'avvertimento della maestra delle elementari di non concludere mai le frasi con eccetera, pensa di trovare salvezza in questa schifezza? Suvvia, diciamo eccetera, o meglio ancora non diciamo niente. Oppure concludiamo con una bella ricorsione infinita così il cervello va in tilt e il problema è risolto alla radice.&lt;br/&gt;&lt;br/&gt;Ora mi sento molto meglio: ho messo giù i miei pensieri sconnessi e mi rendo conto chiaramente che odio molto di più i "piuttosto che" che i "quant'altro". E' già un bel risultato, no?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8619316619610982698-7506314123411596028?l=ugolandini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.ugolandini.com/index.php?id=7506314123411596028' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://blog.ugolandini.com/index.php?id=7506314123411596028' title='1 Commenti'/><link rel='edit' type='application/atom+xml' href='http://blog.ugolandini.com/index.php?id=7506314123411596028'/><link rel='self' type='application/atom+xml' href='http://blog.ugolandini.com/index.php?id=7506314123411596028'/><link rel='alternate' type='text/html' href='http://blog.ugolandini.com/index.php?id=7506314123411596028' title='Odio più i “piuttosto che” o i “quant’altro”?'/><author><name>ugol</name><uri>http://www.blogger.com/profile/08971902840249746815</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.loghound.com/g/2005' name='OpenSocialUserId' value='13188531750006164823'/></author><thr:total>1</thr:total></entry></feed>