<?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" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;Ak8GQ3s-fSp7ImA9WhRUFEo.&quot;"><id>tag:blogger.com,1999:blog-36409995</id><updated>2012-01-25T09:07:02.555+01:00</updated><category term="javafx" /><category term="recommendation" /><category term="flash" /><category term="design patterns" /><category term="tools" /><category term="java" /><category term="silverlight" /><category term="vacation" /><category term="programming" /><category term="OOPSLA" /><category term="conference" /><category term="SOA" /><category term="blog" /><category term="gui" /><category term="software development" /><category term="for sale" /><category term="rxtx" /><category term="android" /><category term="travel" /><category term="agile" /><category term="software" /><category term="windows" /><category term="living" /><category term="learning" /><category term="work" /><category term="vista" /><category term="operating system" /><title>Mattias: Shared thoughts</title><subtitle type="html">Programming &amp;amp; development and tips and sometimes even something useful!</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://mattiaslife.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://mattiaslife.blogspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/36409995/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Mattias Isegran Bergander</name><uri>https://profiles.google.com/116474370120379937309</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-jfLSS13VGn4/AAAAAAAAAAI/AAAAAAAAAJs/N65_Xc9VRZI/s512-c/photo.jpg" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>31</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/MattiasSharedThoughts" /><feedburner:info uri="mattiassharedthoughts" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;CUQBQXg4cCp7ImA9Wx5XEkU.&quot;"><id>tag:blogger.com,1999:blog-36409995.post-7082918077165942947</id><published>2010-08-30T23:18:00.002+02:00</published><updated>2010-09-12T11:22:30.638+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-09-12T11:22:30.638+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="software development" /><category scheme="http://www.blogger.com/atom/ns#" term="learning" /><category scheme="http://www.blogger.com/atom/ns#" term="programming" /><title>Learning things is useful, learning about learning is very useful</title><content type="html">There is so much stuff to learn in so many areas. It is all very humbling. Sometimes you find an article, presentation, blog post, etc. that describes something exceptionally well and/or gives you a lot of insights. Some things I would like to mention regarding this and the topic of programming, or any kind of creative development really, are two somewhat related topics discussed by Dan North:&lt;br&gt; &lt;ul&gt; &lt;li&gt;&lt;a href="http://www.viddler.com/explore/kvarnhammar/videos/6/" target="_blank"&gt;No best practices? Methodology for thinkers&lt;/a&gt; –Skill acquisition, the Dreyfus model, and why best practices can be limiting (= frustrating). &lt;li&gt;&lt;a href="http://blog.dannorth.net/2010/08/30/introducing-deliberate-discovery/" target="_blank"&gt;Introducing deliberate discovery&lt;/a&gt; –Learning things and completing projects, maximizing discovery/decreasing ignorance.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Those two are really great.&lt;/p&gt; &lt;h3&gt;The code might not be the limit?&lt;/h3&gt; &lt;p&gt;Think of all the conferences you’ve been at or articles you’ve read. Chances are that if you are an experienced programmer quite a few of the topics you found interesting, maybe even a majority of them, are not very code/technical centric. Why is that? Isn’t your job, supposedly, code-centric and technical? &lt;em&gt;Most likely I would say that is due to the simple fact that code and technical stuff is not what’s holding your productivity back…&lt;/em&gt;&lt;/p&gt; &lt;p&gt;You get, somewhat, interested in topics such as project methodology and processes, how to deliver on time, agile,… Even though project managers sound like a good target audience for such things, why aren’t your project managers at those conferences or reading those articles anyway? Simple, it’s about your work day and your frustration about not being &lt;a href="http://en.wikipedia.org/wiki/Flow_(psychology)" target="_blank"&gt;“in the zone”&lt;/a&gt; all/some of the time. It is also &lt;a href="http://www.joelonsoftware.com/articles/fog0000000043.html" target="_blank"&gt;number 8 on Joel’s list&lt;/a&gt;. Actually, having mentioned “Joel on Software”’s 12 steps to &lt;em&gt;better code&lt;/em&gt;. Go &lt;a href="http://www.joelonsoftware.com/articles/fog0000000043.html" target="_blank"&gt;have a look at it again&lt;/a&gt;. Just the headings are fine.&lt;/p&gt; &lt;p&gt;What did you find? No neat syntax stuff, no nifty patterns to make &lt;em&gt;your code better&lt;/em&gt;, more readable/extensible/modular/reusable/less-or-/more-or-better-something. I would say that it correctly identifies non-code-centric stuff as a more common limit to successfully delivering projects/products compared to a lack of code-skills.&lt;/p&gt; &lt;h3&gt;Technical/code skills&lt;/h3&gt; &lt;p&gt;Sure there is a lot of value having lots of technical/code skills. Even a requirement. There are thousands of models/patterns/skills/algorithms/concepts that you should know and have experienced. Not to mention implementations of them. Of course if you don’t know about patterns, dependency injection, transactions, parallelism &amp;amp; concurrency etc. when you need to, especially when you don’t even know that you need too, is a quite a big limit. It’s all useful and required skills/knowledge to have in your toolbox to be able to use.&lt;/p&gt; &lt;h3&gt;&lt;/h3&gt; &lt;h3&gt;Productive&lt;/h3&gt; &lt;p&gt;I’m just saying that, in my experience, technical/code skill level, is not what’s usually holding the productivity back (it could though be &lt;a href="http://twitter.com/tastapod/statuses/22550324194" target="_blank"&gt;as Dan pointed out to me&lt;/a&gt;). Keeping people from putting those skills to good use are. This is assuming that you have a good team. Good people is a requirement. Good people know lots about this technical stuff by having a genuine interest in it, having read about it and experienced it. Even if they haven’t experienced it a whole lot they know it exists and will, and want to, learn about it. Beyond a competence level.&lt;/p&gt; &lt;p&gt;Now read that second bullet’s link to start learning about finding out what’s holding you back.&lt;/p&gt; &lt;h3&gt;Minimize ignorance&lt;/h3&gt; &lt;p&gt;It could be as simple as that you early on need to set out to visit the real world, maybe through a visit in reality with the users/environment or by prototyping or writing tests. Whatever you think would minimize the current ignorance you have about the project’s final result.&lt;/p&gt; &lt;p&gt;Anyway, remember, depending on skill level, “best practices” and processes could possibly limit you and your team, see that first bullet’s link again.&lt;br&gt;Learning things is useful. Learning about learning is &lt;em&gt;very&lt;/em&gt; useful! Thanks &lt;a href="http://http//blog.dannorth.net" target="_blank"&gt;Dan&lt;/a&gt;.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36409995-7082918077165942947?l=mattiaslife.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MattiasSharedThoughts/~4/Nkx7AskQ_l4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mattiaslife.blogspot.com/feeds/7082918077165942947/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://mattiaslife.blogspot.com/2010/08/learning-things-is-useful-learning.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/36409995/posts/default/7082918077165942947?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/36409995/posts/default/7082918077165942947?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MattiasSharedThoughts/~3/Nkx7AskQ_l4/learning-things-is-useful-learning.html" title="Learning things is useful, learning about learning is very useful" /><author><name>Mattias Isegran Bergander</name><uri>https://profiles.google.com/116474370120379937309</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-jfLSS13VGn4/AAAAAAAAAAI/AAAAAAAAAJs/N65_Xc9VRZI/s512-c/photo.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://mattiaslife.blogspot.com/2010/08/learning-things-is-useful-learning.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Dk4DRnc7eCp7ImA9Wx5RFkg.&quot;"><id>tag:blogger.com,1999:blog-36409995.post-5978028184777241299</id><published>2010-08-14T09:35:00.002+02:00</published><updated>2010-08-24T15:02:57.900+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-08-24T15:02:57.900+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="software" /><category scheme="http://www.blogger.com/atom/ns#" term="recommendation" /><category scheme="http://www.blogger.com/atom/ns#" term="android" /><title>More android apps recommendations</title><content type="html">Some more apps I can recommend:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Voice Search&lt;/b&gt;&lt;br /&gt;
Command your phone with your voice. Android 2.2+ only.&amp;nbsp;&lt;a href="http://googleblog.blogspot.com/2010/08/just-speak-it-introducing-voice-actions.html"&gt;From The offical Google blog&lt;/a&gt;, speak any of these commands:&lt;br /&gt;
&lt;span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;b&gt;send text&lt;/b&gt;&amp;nbsp;to [contact] [message]&lt;/li&gt;
&lt;li&gt;&lt;b&gt;listen to&lt;/b&gt;&amp;nbsp;[artist/song/album]&lt;/li&gt;
&lt;li&gt;&lt;b&gt;call&lt;/b&gt;&amp;nbsp;[business]&lt;/li&gt;
&lt;li&gt;&lt;b&gt;call&lt;/b&gt;&amp;nbsp;[contact]&lt;/li&gt;
&lt;li&gt;&lt;b&gt;send email&lt;/b&gt;&amp;nbsp;to [contact] [message]&lt;/li&gt;
&lt;li&gt;&lt;b&gt;go to&lt;/b&gt;&amp;nbsp;[website]&lt;/li&gt;
&lt;li&gt;&lt;b&gt;note to self&lt;/b&gt;&amp;nbsp;[note]&lt;/li&gt;
&lt;li&gt;&lt;b&gt;navigate to&lt;/b&gt;&amp;nbsp;[location/business name]&lt;/li&gt;
&lt;li&gt;&lt;b&gt;directions to&lt;/b&gt;&amp;nbsp;[location/business name]&lt;/li&gt;
&lt;li&gt;&lt;b&gt;map of&lt;/b&gt;&amp;nbsp;[location]&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
&lt;b&gt;Our Groceries&lt;/b&gt;&lt;br /&gt;
I've tried lots of different list/shopping list apps looking for the perfect one. I've been thinking about making my own. I've mostly been missing a good easy automatic 2-way sync with my girlfriends phone. This app is almost perfect. It's polished and even includes&amp;nbsp;recipe&amp;nbsp;support, remembers previous inputs for quick completion, voice entry etc. Only thing I can complain about is that it shares/syncs &lt;i&gt;all &lt;/i&gt;lists, not individual ones.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Chrome to Phone&lt;/b&gt;&lt;br /&gt;
Select a phone number on a web page viewed on your computer and hit the send to phone button in the browser and your phone will launch the dialer with this phone number entered. If it is just text (not a phone number) that is selected it is instead available on the phone's clipboard. Works with general web page&amp;nbsp;addresses&amp;nbsp;(URLs) as well which are then displayed in the browser on the phone. Along with special handling for Google Maps and Youtube. &lt;a href="http://chrome.blogspot.com/"&gt;More info.&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Blogaway&lt;/b&gt;&lt;br /&gt;
A good app for writing blog entries.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;GAnalyticz&lt;/b&gt;&lt;br /&gt;
Nice Google Analytics data viewer.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Dropbox&lt;/b&gt;&lt;br /&gt;
Sync files/phots/documents across different phones and computers, now works with Android as well. Of course you will use &lt;a href="https://www.dropbox.com/referrals/NTk1NDkzODg5"&gt;this (my) referal link to sign up&lt;/a&gt; to get extra free space for us &lt;i&gt;both&lt;/i&gt;, (default 2GB). I would prefer a direct automatic sync (at least upload) of selected folders instead of a manual one, but it works well! Would've been nice for automatic upload of photos though, instead of manually selecting them for upload.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;SqueezeControl&lt;/b&gt;&lt;br /&gt;
Control your Squeezebox devices. Recently got an update that added the control of web radios making it a complete app. Previosuly I had to combine squeezedroid with this app for that purpose. Not too great a user interface but it works well.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36409995-5978028184777241299?l=mattiaslife.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MattiasSharedThoughts/~4/siwNmzutIx8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mattiaslife.blogspot.com/feeds/5978028184777241299/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://mattiaslife.blogspot.com/2010/08/more-android-apps-recommendations.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/36409995/posts/default/5978028184777241299?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/36409995/posts/default/5978028184777241299?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MattiasSharedThoughts/~3/siwNmzutIx8/more-android-apps-recommendations.html" title="More android apps recommendations" /><author><name>Mattias Isegran Bergander</name><uri>https://profiles.google.com/116474370120379937309</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-jfLSS13VGn4/AAAAAAAAAAI/AAAAAAAAAJs/N65_Xc9VRZI/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://mattiaslife.blogspot.com/2010/08/more-android-apps-recommendations.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEYCQHk8cSp7ImA9Wx5SEUU.&quot;"><id>tag:blogger.com,1999:blog-36409995.post-7628885134148627971</id><published>2010-08-06T17:05:00.002+02:00</published><updated>2010-08-07T15:02:41.779+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-08-07T15:02:41.779+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="software" /><category scheme="http://www.blogger.com/atom/ns#" term="recommendation" /><category scheme="http://www.blogger.com/atom/ns#" term="android" /><title>Android Apps Recommendations</title><content type="html">&lt;img height="75" src="http://www.android.com/media/wallpaper/thumbs/androids.gif" width="100" /&gt;  &lt;br /&gt;
Co-workers and friends sometimes ask about nice apps for their Android phones, so here is a list of some that I can recommend. Most &lt;em&gt;&lt;strong&gt;icons below are actually a link to the app on Android Market&lt;/strong&gt;&lt;/em&gt; if viewing this on your Android phone.&lt;br /&gt;
&lt;h4&gt;Essentials&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="market://details?id=com.google.zxing.client.android"&gt;&lt;img height="24" src="http://cdn.androlib.com/appicon/app-xzA.cs.png" width="24" /&gt;&lt;/a&gt; Barcode scanner, scan different types of barcodes to easily get apps, URLs or even exchange contact information.&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="market://details?id=com.fede.launcher" target=""&gt;&lt;img alt="" height="24" src="http://www.launcherpro.com/forum/styles/prosilver/imageset/site_logo.png" style="display: inline;" title="" width="24" /&gt;&lt;/a&gt; LauncherPro beta, better &amp;amp; faster launcher/home app&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="market://details?id=com.handcent.nextsms"&gt;&lt;img height="24" src="http://www.android.com/market/data/icons/com.handcent.nextsms.png" width="24" /&gt;&lt;/a&gt; Handcent SMS, excellent SMS/MMS app, customizable trackball/LED notifications as well.&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="market://details?id=com.adobe.flashplayer"&gt;&lt;img height="24" src="http://www.android.com/market/data/icons/com.adobe.flashplayer.png" width="24" /&gt;&lt;/a&gt; Adobe Flash player, play flash 10.1, yup that’s right, not only flash lite! Requires Android 2.2&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="market://details?id=google gesture search"&gt;&lt;img height="24" src="http://www.android.com/market/data/icons/com.google.android.apps.gesturesearch.png" width="24" /&gt;&lt;/a&gt; Google Gesture search, write letters with your fingers and it will show search results for contacts, apps etc.&lt;/li&gt;

&lt;/ul&gt;&lt;h4&gt;Computer, server &amp;amp; networks &lt;/h4&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="market://details?id=connectbot"&gt;&lt;img height="24" src="http://cdn.androlib.com/appicon/app-BDC.cs.png" width="24" /&gt;&lt;/a&gt; ConnectBot, excellent SSH client, including port forwards etc&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="market://details?id=com.farproc.wifi.analyzer"&gt;&lt;img alt="" height="24" src="http://s1.appbrain.com/icon?id=7707230121318759416" width="24" /&gt;&lt;/a&gt; Wifi analyzer, signal strength, channels etc&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;img alt="" height="24" src="http://s3.appbrain.com/icon?id=-4136581012441235353" width="24" /&gt; Remote desktop &lt;a href="http://www.toremote.com/"&gt;www.toremote.com&lt;/a&gt; not free!&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="market://details?id=msn droid"&gt;&lt;img alt="" height="24" src="http://s2.appbrain.com/icon?id=-5584771892430589939" width="24" /&gt;&lt;/a&gt; MSN droid, one of the better MSN clients for android. Though I find that I mostly use Google Talk these days as it is so well integrated into Android and also very power efficient as it is using push notifications. Another good app is MSN talk&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="market://details?id=netcounter"&gt;&lt;img alt="" height="24" src="http://s3.appbrain.com/icon?id=-1923024596783167301" width="24" /&gt;&lt;/a&gt; Netcounter, Shows number of bytes sent/received over wifi/3G per day/week/month etc&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="market://details?id=dropbox"&gt;&lt;img height="24" src="http://www.android.com/market/data/icons/com.dropbox.android.png" width="24" /&gt;&lt;/a&gt; Dropbox, automatic sync of files between computers and now also iphone and android&lt;/li&gt;

&lt;/ul&gt;&lt;h4&gt;Multimedia &lt;/h4&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="market://details?id=spotify"&gt;&lt;img height="24" src="http://www.android.com/market/data/icons/com.spotify.mobile.android.ui.png" width="24" /&gt;&lt;/a&gt; Spotify, stream music, for premium Spotify users&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="market://details?id=org.xbmc.android.remote"&gt;&lt;img height="24" src="http://cdn.androlib.com/appicon/app-jwnmF.cs.png" width="24" /&gt;&lt;/a&gt; Official XBMC Remote, remote control XBMC, browse movies/TV shows, show callers on screen,...&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="market://details?id=gmote"&gt;&lt;img height="24" src="http://cdn.androlib.com/appicon/app-wFx.cs.png" width="24" /&gt;&lt;/a&gt; Gmote, remote controller and touch pad for your HTPC&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="market://details?id=unified remote"&gt;&lt;img height="24" src="http://cdn.androlib.com/appicon/app-jiDjA.cs.png" width="24" /&gt;&lt;/a&gt; Unified Remote, extensive remote control of windows computer, browse, power point etc, &lt;a href="http://www.unifiedremote.com/"&gt;www.unifiedremote.com&lt;/a&gt;&lt;/li&gt;

&lt;/ul&gt;&lt;h4&gt;Android &lt;/h4&gt;&lt;ul&gt;&lt;li&gt;Nav Launcher (Google navigate in non-enabled countries)&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="market://details?id=com.estrongs.android.pop"&gt;&lt;img height="24" src="http://www.android.com/market/data/icons/com.estrongs.android.pop.png" width="24" /&gt;&lt;/a&gt; EStrongs File explorer, including LAN, ftp etc (the previous(?) best was Astro)&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="market://details?id=org.mailboxer.saymyname"&gt;&lt;img alt="" height="24" src="http://s4.appbrain.com/icon?id=-8694851030531220278" width="24" /&gt;&lt;/a&gt; SayMyName Dessert, read out the name of the callers, SMS etc.&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="market://details?id=com.eolwral.osmonitor"&gt;&lt;img alt="" height="24" src="http://s2.appbrain.com/icon?id=-5320531242384276346" width="24" /&gt;&lt;/a&gt; OS Monitor, CPU usage per process, network connections etc&lt;/li&gt;

&lt;/ul&gt;&lt;h4&gt;Cool &lt;/h4&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="market://details?id=com.layar"&gt;&lt;img height="24" src="http://cdn.androlib.com/appicon/app-qxEA.cs.png" width="24" /&gt;&lt;/a&gt; Layar, Augmented reality with lots of different downloadable overlays&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="market://details?id=com.google.android.stardroid"&gt;&lt;img height="24" src="http://cdn.androlib.com/appicon/app-xBC.cs.png" width="24" /&gt;&lt;/a&gt; Google Sky Map, hold up your phone and it will show you the sky in that direction&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="market://details?id=com.google.earth"&gt;&lt;img height="24" src="http://www.techcredo.com/images/awesomeandroidapps/google-earth.png" title="Google Earth" width="24" /&gt;&lt;/a&gt; Google Earth&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="market://search?q=pname:com.ccpcreations.android.MarioLiveWallpaprer"&gt;&lt;img height="24" src="http://www.android.com/market/data/icons/com.ccpcreations.android.MarioLiveWallpaprer.png" width="24" /&gt;&lt;/a&gt; Mario Live Wallpaper&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="market://details?id=com.google.android.apps.translate"&gt;&lt;img height="24" src="http://cdn.androlib.com/appicon/app-pnBm.cs.png" width="24" /&gt;&lt;/a&gt; Google Translate&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="market://details?id=com.google.android.apps.unveil"&gt;&lt;img height="24" src="http://www.android.com/market/data/icons/com.google.android.apps.unveil.png" width="24" /&gt;&lt;/a&gt; Google Googles, scan books, paintings, foreign language menus, bar codes etc and get info/translation/prices about it.&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="market://details?id=fishnoodle.spacescapewallpaper_free"&gt;&lt;img height="24" src="http://www.android.com/market/data/icons/fishnoodle.spacescapewallpaper_free.png" width="24" /&gt;&lt;/a&gt; Galactic Core Live Wallpaper, A good looking rotating spiral galaxy as the background&lt;/li&gt;

&lt;/ul&gt;&lt;h4&gt;Other &lt;/h4&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="market://details?id=com.kermitkiser.twottfree"&gt;&lt;img height="24" src="http://cdn.androlib.com/appicon/app-jwzzx.cs.png" width="24" /&gt;&lt;/a&gt; TwoTouch timer, quick direct usage timer and stopwatch&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="market://details?id=net.eggenstein.android.calwidget"&gt;&lt;img height="24" src="http://cdn.androlib.com/appicon/app-qxjt.cs.png" width="24" /&gt;&lt;/a&gt; CalWidget, calendar widget&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="market://details?id=com.facebook.katana"&gt;&lt;img height="24" src="http://cdn.androlib.com/appicon/app-qitA.cs.png" width="24" /&gt;&lt;/a&gt; Facebook (official), recently released a new version&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&lt;a href="market://details?id=com.twitter.android"&gt;&lt;img height="24" src="http://www.android.com/market/data/icons/com.twitter.android.png" style="margin: 0px 2px 0px 0px;" width="24" /&gt;&lt;/a&gt;Twitter (official), one of the best apps regarding user experience and android integration&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="market://details?id=com.likebobby.currentweek"&gt;&lt;img height="24" src="http://cdn.androlib.com/appicon/app-tCzi.cs.png" width="24" /&gt;&lt;/a&gt; Current week widget, some countries, like Sweden, use the week of the year a lot&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="market://details?id=com.google.android.maps.mytracks"&gt;&lt;img height="24" src="http://cdn.androlib.com/appicon/app-iwn.cs.png" width="24" /&gt;&lt;/a&gt; My Tracks, keep track of your running/hiking, upload to Google maps &amp;amp; docs spreadsheet&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="market://details?id=se.f1nally.snowstorm"&gt;&lt;img height="24" src="http://cdn.androlib.com/appicon/app-jFjq.cs.png" width="24" /&gt;&lt;/a&gt; Snowstorm, Excellent weather widget for Scandinavian countries&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="market://details?id=com.amazon.kindle"&gt;&lt;img height="24" src="http://cdn.androlib.com/appicon/app-jzBpi.cs.png" width="24" /&gt;&lt;/a&gt; Kindle for Android, Amazon kindle client in your phone, Read books!&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="market://details?id=com.trueCaller.trial"&gt;&lt;img height="24" src="http://cdn.androlib.com/appicon/app-qCwi.cs.png" width="24" /&gt;&lt;/a&gt; TrueCaller, looks up numbers not found in your address book for incoming calls&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="market://details?id=soundhound"&gt;&lt;img height="24" src="http://www.android.com/market/data/icons/com.melodis.midomiMusicIdentifier.freemium.png" width="24" /&gt;&lt;/a&gt; SoundHound, music identification, lyrics etc&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="market://details?id=bz.ktk.bubble"&gt;&lt;img height="24" src="http://www.android.com/market/data/icons/bz.ktk.bubble.png" width="24" /&gt;&lt;/a&gt; Bubble, a bubble level in all directions&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="market://details?id=compass"&gt;&lt;img height="24" src="http://www.android.com/market/data/icons/com.apksoftware.compass.png" width="24" /&gt;&lt;/a&gt; Compass&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="market://details?id=org.dyndns.devesh.flashlight"&gt;&lt;img alt="" height="24" src="http://s2.appbrain.com/icon?id=-8375836045150100152" width="24" /&gt;&lt;/a&gt; Flashlight, simple and nothing more just as it should be&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="market://details?id=com.xtremelabs.android.speedtest"&gt;&lt;img alt="" height="24" src="http://s4.appbrain.com/icon?id=7682409947321662821" width="24" /&gt;&lt;/a&gt; Speedtest, test your connection speed&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="market://details?id=com.adobe.reader"&gt;&lt;img height="24" src="http://www.android.com/market/data/icons/com.adobe.reader.png" width="24" /&gt;&lt;/a&gt; Adobe Reader, best PDF reader&lt;/li&gt;

&lt;/ul&gt;&lt;h4&gt;Free Games &lt;/h4&gt;I haven’t tried any paid games yet…&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="market://details?id=com.magicwach.rdefense_free"&gt;&lt;img height="24" src="http://cdn.androlib.com/appicon/app-Eiz.cs.png" width="24" /&gt;&lt;/a&gt; Robodefense Free, tower defense game&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="market://details?id=com.google.android.chess"&gt;&lt;img height="24" src="http://cdn.androlib.com/appicon/app-Emi.cs.png" width="24" /&gt;&lt;/a&gt; Chess for Android, great chess app (there are others with online multiplayer)&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="market://details?id=age of conquest lite"&gt;&lt;img height="24" src="http://cdn.androlib.com/appicon/app-Dwi.cs.png" width="24" /&gt;&lt;/a&gt; Age of Conquest Lite, Risk-type game but even more fun, lite version with less features&lt;/li&gt;

&lt;/ul&gt;&lt;h4&gt;Sweden specific &lt;/h4&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="market://details?id=com.android.inputmethod.norwegian"&gt;&lt;img height="24" src="http://cdn.androlib.com/appicon/app-zxD.cs.png" width="24" /&gt;&lt;/a&gt; Scandinavian keyboard, what the name says.need Swedish dictionary for Scandinavian keyboard as well, separate download!&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="market://details?id=se.medicreate.forstahjalpen"&gt;&lt;img height="24" src="http://cdn.androlib.com/appicon/app-jpmtC.cs.png" width="24" /&gt;&lt;/a&gt; Första hjälpen, hantera första hjälpen situationer, från Röda Korset.&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="market://details?id=sveriges.radio.play"&gt;&lt;img height="24" src="http://cdn.androlib.com/appicon/app-jqDjA.cs.png" width="24" /&gt;&lt;/a&gt; Sveriges Radio play&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="market://details?id=hemnet"&gt;&lt;img height="24" src="http://cdn.androlib.com/appicon/app-jwmEC.cs.png" width="24" /&gt;&lt;/a&gt; Hemnet, find a new house&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="market://details?id=se.petersson.prisjakt"&gt;&lt;img height="24" src="http://www.android.com/market/data/icons/se.petersson.prisjakt.png" width="24" /&gt;&lt;/a&gt; Prisjakt, price comparison including bar code scanning. Excellent while in the store; “Is this a good price?”&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="market://details?id=tv.nu"&gt;&lt;img height="24" src="http://cdn.androlib.com/appicon/app-wxnp.cs.png" width="24" /&gt;&lt;/a&gt; tv.nu, what’s on TV&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;img height="24" src="http://cdn.androlib.com/appicon/app-jmBDA.cs.png" width="24" /&gt; Bank apps, Handelsbanken, Swedbank and other Swedish banks now have some great apps!&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="market://details?id=vem ringde"&gt;&lt;img height="24" src="http://www.android.com/market/data/icons/com.jarman.vemringde.png" width="24" /&gt;&lt;/a&gt; Vem ringde, looks up numbers not found in your address book for incoming calls&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="market://details?id=sms biljetter"&gt;&lt;img height="24" src="http://cdn.androlib.com/appicon/app-pz.cs.png" width="24" /&gt;&lt;/a&gt; SMS-biljetter, buy SMS-tickets for bus rides in quite a few cities in Sweden&lt;br /&gt;
&lt;/li&gt;

&lt;/ul&gt;Again, &lt;strong&gt;&lt;em&gt;clicking the&lt;/em&gt;&lt;/strong&gt; &lt;strong&gt;&lt;em&gt;app&lt;/em&gt;&lt;/strong&gt; &lt;em&gt;&lt;strong&gt;icons in the list opens the Android Market&lt;/strong&gt;&lt;/em&gt; &lt;strong&gt;&lt;em&gt;entry for the app&lt;/em&gt;&lt;/strong&gt; if viewing this on your Android phone.&lt;br /&gt;
Another list of good Android Apps: &lt;a href="http://www.techcredo.com/android/awesome-android-apps-part-2"&gt;http://www.techcredo.com/android/awesome-android-apps-part-2&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36409995-7628885134148627971?l=mattiaslife.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MattiasSharedThoughts/~4/uEuUN5LQxp4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mattiaslife.blogspot.com/feeds/7628885134148627971/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://mattiaslife.blogspot.com/2010/08/android-apps.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/36409995/posts/default/7628885134148627971?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/36409995/posts/default/7628885134148627971?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MattiasSharedThoughts/~3/uEuUN5LQxp4/android-apps.html" title="Android Apps Recommendations" /><author><name>Mattias Isegran Bergander</name><uri>https://profiles.google.com/116474370120379937309</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-jfLSS13VGn4/AAAAAAAAAAI/AAAAAAAAAJs/N65_Xc9VRZI/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://mattiaslife.blogspot.com/2010/08/android-apps.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DU4BSXY_eCp7ImA9WxBbEkk.&quot;"><id>tag:blogger.com,1999:blog-36409995.post-4266389119603392863</id><published>2010-03-10T20:05:00.001+01:00</published><updated>2010-03-10T20:05:58.840+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-03-10T20:05:58.840+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="java" /><category scheme="http://www.blogger.com/atom/ns#" term="rxtx" /><category scheme="http://www.blogger.com/atom/ns#" term="programming" /><title>rxtx and blocking</title><content type="html">&lt;p&gt;Writing this down so that others (and me too when I’ve forgotten about it again) could hopefully save an hour or two when trying to figure out a problem they are having with serial port communication using the rxtx libraries. Some hits on this on Google but not many(any?) with the complete description and solution of the problem.&lt;/p&gt;  &lt;h1&gt;&lt;/h1&gt;  &lt;h4&gt;The problem&lt;/h4&gt;  &lt;p&gt;If you ever tried using the serial port libraries for java, rxtx.org, you might have encountered a … different way of (sort of) handling blocking I/O. It can sort of be non-blocking, returning –1 on reads if nothing is available.&lt;/p&gt;  &lt;h4&gt;The rxtx way&lt;/h4&gt;  &lt;p&gt;But surely the rxtx library has thought of this and there is some way of setting this up or use it so it works for the simple blocking read case? Of course. This is how it is supposed to work: You have two parameters to play with: &lt;font face="Courier New"&gt;timeout&lt;/font&gt; and &lt;font face="Courier New"&gt;threshold&lt;/font&gt;. According to the source code setting the &lt;font face="Courier New"&gt;timeout&lt;/font&gt; to 0 (none) and &lt;font face="Courier New"&gt;threshold&lt;/font&gt; to 1 (requiring at least 1 byte before returning) should give us normal, by &lt;font face="Courier New"&gt;InputStream&lt;/font&gt; defined, blocking reads.&lt;/p&gt;  &lt;h4&gt;Still doesn’t work!&lt;/h4&gt;  &lt;p&gt;The problem is that even when setting it up like this there is a bug in the current stable release (2.1.7r2). The threshold parameter is always set to 0!From the source code:&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New"&gt;/* TESTING ttyset.c_cc[ VMIN ] = threshold; */      &lt;br /&gt;ttyset.c_cc[ VMIN ] = 0;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Ver"&gt;The confusing part is that this was also the case in 2004 and reported on the mailing list and fixed, but it was either not really fixed or has come back again (a regression). There is actually &lt;a href="http://bugzilla.qbang.org/show_bug.cgi?id=85" target="_blank"&gt;a new bug report&lt;/a&gt; that for some reason I couldn’t find at first. I eventually found it going throw the pre-release package source code and found an otherwise not published change log (the web page doesn’t show change logs after the last stable version, its available in CVS though).&lt;/font&gt;&lt;/p&gt;  &lt;h4&gt;&lt;font face="Ver"&gt;Solution&lt;/font&gt;&lt;/h4&gt;  &lt;ol&gt;   &lt;li&gt;&lt;font face="Ver"&gt;It is fixed on HEAD, so you can use the latest pre-release version (2.2-series) or compile it from CVS.&lt;/font&gt; &lt;/li&gt;    &lt;li&gt;Make an &lt;em&gt;ugly&lt;/em&gt; workaround along the lines of:       &lt;p&gt;&lt;/p&gt;   &lt;/li&gt; &lt;/ol&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font face="Courier New"&gt;&lt;font color="#800080"&gt;int&lt;/font&gt; read(InputStream in) &lt;font color="#800080"&gt;throws&lt;/font&gt; IOException {&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font face="Courier New"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;font color="#800040"&gt;int&lt;/font&gt; b;         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;font color="#800080"&gt;while&lt;/font&gt; ((b=in.read()) == -1) {         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;font color="#800080"&gt;try&lt;/font&gt; { Thread.sleep(10); } &lt;font color="#800080"&gt;catch&lt;/font&gt; (InterruptedException e) { }&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font face="Courier New"&gt;&amp;#160;&amp;#160;&amp;#160; }&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font face="Courier New"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;font color="#800080"&gt;return&lt;/font&gt; b;&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font face="Courier New"&gt;}&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;Then you do: &lt;font face="Courier New"&gt;read(in)&lt;/font&gt; instead of &lt;font face="Courier New"&gt;in.read().&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;And/or do a &lt;font face="Courier New"&gt;readFully&lt;/font&gt; version for byte arrays, &lt;font face="Courier New"&gt;read(byte[])&lt;/font&gt;&lt;font face="Ver"&gt; or similar:&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font face="Courier New"&gt;&lt;font color="#800080"&gt;byte&lt;/font&gt;[] data = &lt;font color="#800080"&gt;new byte&lt;/font&gt;[length];        &lt;br /&gt;&lt;font color="#800080"&gt;int&lt;/font&gt; read = 0;        &lt;br /&gt;do {        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;font color="#800080"&gt;int&lt;/font&gt; n = in.read(data, read, length-read);        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; read += n;        &lt;br /&gt;} &lt;font color="#800080"&gt;while&lt;/font&gt; (read &amp;lt; length);        &lt;br /&gt;&lt;/font&gt;&lt;/p&gt;&lt;/blockquote&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36409995-4266389119603392863?l=mattiaslife.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MattiasSharedThoughts/~4/CLL2b95ue_s" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mattiaslife.blogspot.com/feeds/4266389119603392863/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://mattiaslife.blogspot.com/2010/03/rxtx-and-blocking.html#comment-form" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/36409995/posts/default/4266389119603392863?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/36409995/posts/default/4266389119603392863?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MattiasSharedThoughts/~3/CLL2b95ue_s/rxtx-and-blocking.html" title="rxtx and blocking" /><author><name>Mattias Isegran Bergander</name><uri>https://profiles.google.com/116474370120379937309</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-jfLSS13VGn4/AAAAAAAAAAI/AAAAAAAAAJs/N65_Xc9VRZI/s512-c/photo.jpg" /></author><thr:total>4</thr:total><feedburner:origLink>http://mattiaslife.blogspot.com/2010/03/rxtx-and-blocking.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A08MRnw-cSp7ImA9WxJVFUk.&quot;"><id>tag:blogger.com,1999:blog-36409995.post-6130130473230288229</id><published>2009-07-02T17:51:00.001+02:00</published><updated>2009-07-02T17:51:27.259+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-07-02T17:51:27.259+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="agile" /><category scheme="http://www.blogger.com/atom/ns#" term="software development" /><title>Estimation and deliberate discovery</title><content type="html">&lt;p&gt;Excellent blog post (as usual) from Dan North. Release level estimation this time. Well worth a read. &lt;a href="http://dannorth.net/2009/07/the-perils-of-estimation" target="_blank"&gt;The perils of estimation -Dan North&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36409995-6130130473230288229?l=mattiaslife.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MattiasSharedThoughts/~4/rskOWf0FZY0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mattiaslife.blogspot.com/feeds/6130130473230288229/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://mattiaslife.blogspot.com/2009/07/estimation-and-deliberate-discovery.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/36409995/posts/default/6130130473230288229?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/36409995/posts/default/6130130473230288229?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MattiasSharedThoughts/~3/rskOWf0FZY0/estimation-and-deliberate-discovery.html" title="Estimation and deliberate discovery" /><author><name>Mattias Isegran Bergander</name><uri>https://profiles.google.com/116474370120379937309</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-jfLSS13VGn4/AAAAAAAAAAI/AAAAAAAAAJs/N65_Xc9VRZI/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://mattiaslife.blogspot.com/2009/07/estimation-and-deliberate-discovery.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUABQn8_fyp7ImA9WxJWFks.&quot;"><id>tag:blogger.com,1999:blog-36409995.post-6803094597891424396</id><published>2009-02-08T11:43:00.002+01:00</published><updated>2009-06-22T11:42:33.147+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-06-22T11:42:33.147+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="software" /><title>Sync files over the network/internet using P2P</title><content type="html">&lt;p&gt;Today I was &lt;a href="http://www.tbg.nu/news_show/137036/3" target="_blank"&gt;reminded&lt;/a&gt; how efficient, simple and non-intrusive it is, I haven’t thought about it much at all since I started using it. It just works, the signature of a nice piece of software. For Windows and Mac &lt;a href="http://sync.live.com/" target="_blank"&gt;Live Sync&lt;/a&gt; is just that. P2P file sync for your personal needs. If you have more than one computer, and ever have the need to just simply have access to the same files or simple programs, I highly recommend that you try it out if you haven’t already.&lt;/p&gt;  &lt;p&gt;Currently these are my private sync shares (yes you can share with others too, with different levels of access):&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Tools&lt;/strong&gt; –All computers, including work computers, participate in synchronizing this share. Programs like: process explorer, cpu-z, notepad2, winmerge, putty etc&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Documents&lt;/strong&gt; –My personal computers share this.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Backgrounds&lt;/strong&gt; –Background pictures I like and encounter. If I find a new one somewhere I just add it to this folder and it is automagically sync:ed to all others. On some computers they are used as screen savers as well (windows built-in photo album screen saver). Computers with Windows 7 switch between these backgrounds automatically.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Transfer&lt;/strong&gt; –To be able to simply transfer files between computers. Just drop files in this local folder and they appear on the other computers. Regardless of firewalls etc.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Favorites&lt;/strong&gt; – Bookmarks for your selection of browser. Just share the folder where your browser keeps your bookmarks. Then without any hassle or logins somewhere you always have all your favorites/bookmarks right where you want them, in your browser as normal, on all your computers.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Does anyone have any other neat ideas of what you can share like this? Music I don’t really need to share or even download as &lt;a href="http://www.spotify.com/" target="_blank"&gt;Spotify&lt;/a&gt; has taken care of all that in a great way, and it is legal too.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36409995-6803094597891424396?l=mattiaslife.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MattiasSharedThoughts/~4/ieRYS1qbgjA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mattiaslife.blogspot.com/feeds/6803094597891424396/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://mattiaslife.blogspot.com/2009/02/sync-files-over-networkinternet-using.html#comment-form" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/36409995/posts/default/6803094597891424396?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/36409995/posts/default/6803094597891424396?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MattiasSharedThoughts/~3/ieRYS1qbgjA/sync-files-over-networkinternet-using.html" title="Sync files over the network/internet using P2P" /><author><name>Mattias Isegran Bergander</name><uri>https://profiles.google.com/116474370120379937309</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-jfLSS13VGn4/AAAAAAAAAAI/AAAAAAAAAJs/N65_Xc9VRZI/s512-c/photo.jpg" /></author><thr:total>2</thr:total><feedburner:origLink>http://mattiaslife.blogspot.com/2009/02/sync-files-over-networkinternet-using.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0ABQno7eCp7ImA9WxVSF0w.&quot;"><id>tag:blogger.com,1999:blog-36409995.post-4229175397042940891</id><published>2008-12-22T20:25:00.003+01:00</published><updated>2009-01-12T01:22:33.400+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-01-12T01:22:33.400+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="for sale" /><category scheme="http://www.blogger.com/atom/ns#" term="living" /><title>Lägenhet till salu</title><content type="html">&lt;p&gt;(Swedish only, putting up my apartment for sale)&lt;/p&gt;  &lt;p&gt;Så var det dags att sälja lägenheten, en fin 2:a i Mölndal/Göteborg på 65kvm, låg avgift, 100mbit/s bredband. Känner du någon som är intresserad, tveka inte! Visningar i januari.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.svenskfast.se/Templates/ObjectView.aspx?objectid=3E7BSSIAHNFGVD6I"&gt;Länk till mer om lägenheten&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Update: Sold!&lt;/b&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36409995-4229175397042940891?l=mattiaslife.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MattiasSharedThoughts/~4/XbvK7iZr-sk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mattiaslife.blogspot.com/feeds/4229175397042940891/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://mattiaslife.blogspot.com/2008/12/lgenhet-till-salu.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/36409995/posts/default/4229175397042940891?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/36409995/posts/default/4229175397042940891?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MattiasSharedThoughts/~3/XbvK7iZr-sk/lgenhet-till-salu.html" title="Lägenhet till salu" /><author><name>Mattias Isegran Bergander</name><uri>https://profiles.google.com/116474370120379937309</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-jfLSS13VGn4/AAAAAAAAAAI/AAAAAAAAAJs/N65_Xc9VRZI/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://mattiaslife.blogspot.com/2008/12/lgenhet-till-salu.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUAMQHs9eip7ImA9WxJXGE0.&quot;"><id>tag:blogger.com,1999:blog-36409995.post-2465489673947303199</id><published>2008-12-06T20:05:00.004+01:00</published><updated>2009-06-12T12:49:41.562+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-06-12T12:49:41.562+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="java" /><category scheme="http://www.blogger.com/atom/ns#" term="software development" /><category scheme="http://www.blogger.com/atom/ns#" term="silverlight" /><category scheme="http://www.blogger.com/atom/ns#" term="programming" /><category scheme="http://www.blogger.com/atom/ns#" term="javafx" /><category scheme="http://www.blogger.com/atom/ns#" term="flash" /><title>JavaFX vs Silverlight vs Javascript vs Flash vs Java</title><content type="html">&lt;p&gt;JavaFX 1.0 final has been released. Go check out some samples at &lt;a href="http://javafx.com/samples"&gt;JavaFX.com&lt;/a&gt;. A quick performance test reveals that JavaFX is able to reach really good performance, which I was afraid it wouldn’t even though it is using the best performing VM there is underneath.&lt;/p&gt;  &lt;p&gt;Now if they only could &lt;a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6694710" target="_blank"&gt;get rid of that java tray icon&lt;/a&gt; by default too…&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.itwriting.com/primetest/index.html" target="_blank"&gt;A simple performance test&lt;/a&gt; was created some time ago for Flash and Silverlight, also &lt;a href="http://www.javafx.com/samples/PrimeFactors/index.html" target="_blank"&gt;available as an JavaFX version&lt;/a&gt;. Here are some performance numbers from my laptop when increasing the input number by a factor 10:&lt;/p&gt;  &lt;table cellspacing="0" cellpadding="2" width="400" border="1"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="200"&gt;&lt;strong&gt;Technology&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="200"&gt;&lt;strong&gt;Time&lt;/strong&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="200"&gt;JavaFX 1.0&lt;/td&gt;        &lt;td valign="top" width="200"&gt;3.963s&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="200"&gt;Silverlight 2 C#&lt;/td&gt;        &lt;td valign="top" width="200"&gt;4.257s&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="200"&gt;Flash 10&lt;/td&gt;        &lt;td valign="top" width="200"&gt;27.840s&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="200"&gt;Javascript, Internet Explorer 7&lt;/td&gt;        &lt;td valign="top" width="200"&gt; ~20times slower than Chrome *&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="200"&gt;Javascript, Chrome&lt;/td&gt;        &lt;td valign="top" width="200"&gt;22.989s&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="200"&gt;Java 6&lt;/td&gt;        &lt;td valign="top" width="200"&gt;3.948s&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="200"&gt;Java 6, interpreted&lt;/td&gt;        &lt;td valign="top" width="200"&gt;22.973s&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;Result above are the best out of 4-5 runs.&lt;/p&gt;  &lt;p&gt;* = IE7 complains about slow running script. Using the default input number it takes just over 20s. Chrome does that in around 1s and JavaFX and Silverlight under 0.2s. &lt;/p&gt;  &lt;p&gt;I think someone put it well when he/she said something along the lines of: Adobe people will continue to use flash/flex/air and dot-netters will use silverlight, but now the java-crowd has a choice that integrates better than everything else into their own environments. As &lt;a href="http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html" target="_blank"&gt;java is the most widely used/popular programming platform&lt;/a&gt; that alone helps assure some amount of success… maybe.&lt;/p&gt;  &lt;p&gt;JavaFX really requires the latest and greatest java version, update 10 (update 11 is also available now by the way) and with that I see JavaFX’s greatest advantage: It integrates fully with the normal java environment and provides true seamless web and desktop integration for both users AND developers. Server/Enterprise (and soon mobile) integration is also nice for the developers. &lt;/p&gt;  &lt;p&gt;Goodbye ajax. JavaFX, Silverlight and Flash just does it better and easier… Why restrict applications to html and a browser?! ;-)&lt;/p&gt;&lt;p&gt;&lt;b&gt;Update June 2009:&lt;/b&gt; JavaFX 1.2 has some great performance improvements (graphics/scene graph related I guess). See this for an example of a 3x speed up in performance: &lt;a href="http://piliq.com/javafx/?p=1010"&gt;http://piliq.com/javafx/?p=1010&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36409995-2465489673947303199?l=mattiaslife.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MattiasSharedThoughts/~4/GhgmsEntk-A" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mattiaslife.blogspot.com/feeds/2465489673947303199/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://mattiaslife.blogspot.com/2008/12/javafx-vs-silverlight-vs-javascript-vs.html#comment-form" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/36409995/posts/default/2465489673947303199?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/36409995/posts/default/2465489673947303199?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MattiasSharedThoughts/~3/GhgmsEntk-A/javafx-vs-silverlight-vs-javascript-vs.html" title="JavaFX vs Silverlight vs Javascript vs Flash vs Java" /><author><name>Mattias Isegran Bergander</name><uri>https://profiles.google.com/116474370120379937309</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-jfLSS13VGn4/AAAAAAAAAAI/AAAAAAAAAJs/N65_Xc9VRZI/s512-c/photo.jpg" /></author><thr:total>4</thr:total><feedburner:origLink>http://mattiaslife.blogspot.com/2008/12/javafx-vs-silverlight-vs-javascript-vs.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0UMRHg4cCp7ImA9WxRRGEw.&quot;"><id>tag:blogger.com,1999:blog-36409995.post-906258055209641960</id><published>2008-10-01T00:51:00.001+02:00</published><updated>2008-10-01T00:54:45.638+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-10-01T00:54:45.638+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="vista" /><category scheme="http://www.blogger.com/atom/ns#" term="software" /><category scheme="http://www.blogger.com/atom/ns#" term="windows" /><title>Tools I use</title><content type="html">&lt;p&gt;Another updated round of some of my favorite free general software/tools I use currently. This is what I’ve found to be the best in each category currently and I prefer simple non-bloated efficient software of course.&lt;/p&gt;  &lt;p&gt;Maybe you are looking for better alternatives, you’ve just reinstalled your system, or you may even find a tool you didn’t know existed or needed. &lt;/p&gt;  &lt;p&gt;In no special order:&lt;/p&gt;  &lt;table cellspacing="0" cellpadding="3" width="444" border="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" align="right" width="119"&gt;         &lt;p align="right"&gt;&lt;strong&gt;7-zip&lt;/strong&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="328"&gt;Free and great de/compression tool for many formats.&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" align="right" width="119"&gt;         &lt;p align="right"&gt;&lt;strong&gt;ClamWin&lt;/strong&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="328"&gt;Anti-virus software, on-demand and scheduling only.&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" align="right" width="119"&gt;&lt;strong&gt;CoreTemp&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="328"&gt;Accurate and small CPU temperature monitoring tool.&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" align="right" width="119"&gt;&lt;strong&gt;CPU-Z&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="328"&gt;CPU, memory module etc information tool&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" align="right" width="119"&gt;&lt;strong&gt;Daemon Tools&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="328"&gt;Use a CD/DVD-image file as a real CD/DVD-drive. Be careful what you choose during the installation.&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" align="right" width="119"&gt;&lt;strong&gt;FolderShare&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="328"&gt;Easily and efficiently keep the same files, documents, bookmarks/favorites spreadsheets, tools, etc synced and updated between multiple computers over the network or internet. Highly recommended&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" align="right" width="119"&gt;&lt;strong&gt;Google SketchUp&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="328"&gt;Great sketching tool for 3D, easy and nice concept. Quickly produce nice 3D sketches.&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" align="right" width="119"&gt;&lt;strong&gt;GPU-Z&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="328"&gt;GPU frequency, memory, temperature, information tool&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" align="right" width="119"&gt;&lt;strong&gt;IE7pro&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="328"&gt;Great addon that makes Internet Explorer a much better experience&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" align="right" width="119"&gt;&lt;strong&gt;MPC HC&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="328"&gt;Mediaplayer to complement the built in WMP&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" align="right" width="119"&gt;&lt;strong&gt;Notepad2&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="328"&gt;Notepad replacement, still quick and easy but a lot more powerful.&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" align="right" width="119"&gt;&lt;strong&gt;Paint.NET&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="328"&gt;Free image and photo editing software, it isn’t Photoshop or Paint Shop Pro but it is free and rather nice.&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" align="right" width="119"&gt;&lt;strong&gt;Putty&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="328"&gt;Ssh/telnet/serial terminal program&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" align="right" width="119"&gt;&lt;strong&gt;ImgBurn&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="328"&gt;CD &amp;amp; DVD burner software&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" align="right" width="119"&gt;&lt;strong&gt;WinMerge&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="328"&gt;The best diff-tool, shows differences between contents of files and even directory structures in a clear manner.&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" align="right" width="119"&gt;&lt;strong&gt;WinScp&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="328"&gt;Transfer files through scp, sftp and ftp.&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" align="right" width="119"&gt;&lt;strong&gt;Vista Codec Pack&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="328"&gt;Active and non-bloated codec pack that makes everything work, all you need but nothing more. Works for WinXP too. Perfect substitution for tweaking together it all on your own.&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" align="right" width="119"&gt;&lt;strong&gt;Live Messenger&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="328"&gt;IM-client. Yup you will need it, eventually you need to easily use remote assistance through it, the 100% compatibility, etc. Though the message size limit… argh!&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" align="right" width="119"&gt;&lt;strong&gt;Gmail Notifier&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="328"&gt;Small simple email notifier in your tray area for gmail.&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" align="right" width="119"&gt;&lt;strong&gt;All CPU meter&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="328"&gt;Vista gadget for CPU and memory info. Works with both dual and quad core.&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" align="right" width="119"&gt;&lt;strong&gt;ProcessExplorer&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="328"&gt;Sysinternal/MS software for a lot more process information than the task manager offers.&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" align="right" width="119"&gt;&lt;strong&gt;ProcessMonitor&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="328"&gt;Details about file I/O and registry operations for your processes.&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" align="right" width="119"&gt;&lt;strong&gt;ZoomIt&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="328"&gt;Nice simple screen zoom and overlay drawing tool, perfect for presentations!&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" align="right" width="119"&gt;&lt;strong&gt;Google Chrome&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="328"&gt;Fast, screen space and usage efficient web browser. &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" align="right" width="119"&gt;&lt;strong&gt;µTorrent&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="328"&gt;Small and great Torrent download software&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" align="right" width="119"&gt;&lt;strong&gt;CCleaner&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="328"&gt;Removes unused and temp files, registry cleaner etc. Fast!&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36409995-906258055209641960?l=mattiaslife.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MattiasSharedThoughts/~4/v5TtNxMY5Gc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mattiaslife.blogspot.com/feeds/906258055209641960/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://mattiaslife.blogspot.com/2008/10/tools-i-use.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/36409995/posts/default/906258055209641960?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/36409995/posts/default/906258055209641960?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MattiasSharedThoughts/~3/v5TtNxMY5Gc/tools-i-use.html" title="Tools I use" /><author><name>Mattias Isegran Bergander</name><uri>https://profiles.google.com/116474370120379937309</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-jfLSS13VGn4/AAAAAAAAAAI/AAAAAAAAAJs/N65_Xc9VRZI/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://mattiaslife.blogspot.com/2008/10/tools-i-use.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkQERHY9eip7ImA9WxdaGE8.&quot;"><id>tag:blogger.com,1999:blog-36409995.post-1085816666163089915</id><published>2008-08-27T10:50:00.007+02:00</published><updated>2008-08-27T11:11:45.862+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-08-27T11:11:45.862+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="software development" /><category scheme="http://www.blogger.com/atom/ns#" term="programming" /><title>So I can program, I'm a programmer, now what?</title><content type="html">Good question. A friend, &lt;a href="http://niclaslindgren.spaces.live.com/"&gt;Niclas L&lt;/a&gt;, sent me this link today about &lt;a href="http://www.removingalldoubt.com/PermaLink.aspx/a32977e2-cb7d-42ea-9d25-5e539423affd"&gt;Fatherly Advice To New Programmers&lt;/a&gt;. Nice short read. Sort of the next logical step after getting to know a programming language or two to get you on the right track to become a great programmer, not just a programmer.&lt;br /&gt;&lt;br /&gt;We could all add lots of things to that list of course, maybe even very specific things, learn that and that concept, but why limit it to that? Just learn and discover in general and do it a lot.&lt;br /&gt;Well I could add one more though, always be skeptical about advice, especially online, especially if it is said to be the greatest advice ever. Reflect on things/advice/ideas more, what is your own experience? What does your own expereince come from, maybe it is a limited view of the world? What are the shortcomings of that concept/idea/framework/etc?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36409995-1085816666163089915?l=mattiaslife.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MattiasSharedThoughts/~4/7DEZjqv3Vts" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mattiaslife.blogspot.com/feeds/1085816666163089915/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://mattiaslife.blogspot.com/2008/08/so-i-can-program-im-programmer-now-what.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/36409995/posts/default/1085816666163089915?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/36409995/posts/default/1085816666163089915?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MattiasSharedThoughts/~3/7DEZjqv3Vts/so-i-can-program-im-programmer-now-what.html" title="So I can program, I'm a programmer, now what?" /><author><name>Mattias Isegran Bergander</name><uri>https://profiles.google.com/116474370120379937309</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-jfLSS13VGn4/AAAAAAAAAAI/AAAAAAAAAJs/N65_Xc9VRZI/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://mattiaslife.blogspot.com/2008/08/so-i-can-program-im-programmer-now-what.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEQAQ3czfCp7ImA9WxZQE08.&quot;"><id>tag:blogger.com,1999:blog-36409995.post-8472990426884771751</id><published>2008-02-18T09:52:00.003+01:00</published><updated>2008-02-18T10:19:02.984+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-02-18T10:19:02.984+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="software development" /><title>The Unchangeable Rules of Software Change</title><content type="html">A collegue, Jon-Erling sent me this gem:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://bradapp.blogspot.com/2006/01/unchangeable-rules-of-software-change.html"&gt;The Unchangeable Rules of Software Change&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Change is Inevitable!&lt;br /&gt;Embrace change to control change.&lt;br /&gt;etc and well worded.&lt;br /&gt;&lt;br /&gt;But you got to love this quote:&lt;br /&gt;&lt;blockquote&gt;There is a very fancy technical term that biologists use to describe completely stable systems. This highly sophisticated technical term is the word "DEAD!"&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36409995-8472990426884771751?l=mattiaslife.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MattiasSharedThoughts/~4/RqCohL7G6C4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mattiaslife.blogspot.com/feeds/8472990426884771751/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://mattiaslife.blogspot.com/2008/02/unchangeable-rules-of-software-change.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/36409995/posts/default/8472990426884771751?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/36409995/posts/default/8472990426884771751?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MattiasSharedThoughts/~3/RqCohL7G6C4/unchangeable-rules-of-software-change.html" title="The Unchangeable Rules of Software Change" /><author><name>Mattias Isegran Bergander</name><uri>https://profiles.google.com/116474370120379937309</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-jfLSS13VGn4/AAAAAAAAAAI/AAAAAAAAAJs/N65_Xc9VRZI/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://mattiaslife.blogspot.com/2008/02/unchangeable-rules-of-software-change.html</feedburner:origLink><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="enclosure" href="http://feedproxy.google.com/~r/MattiasSharedThoughts/~5/bNOzH7HDn5U/unchangeable-rules-of-software-change.html" length="0" type="text/html" /><feedburner:origEnclosureLink>http://bradapp.blogspot.com/2006/01/unchangeable-rules-of-software-change.html</feedburner:origEnclosureLink></entry><entry gd:etag="W/&quot;CE4FRXc8cCp7ImA9WB5XFU8.&quot;"><id>tag:blogger.com,1999:blog-36409995.post-6844487566402374587</id><published>2007-07-15T19:27:00.000+02:00</published><updated>2007-07-15T20:08:34.978+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-07-15T20:08:34.978+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="vista" /><category scheme="http://www.blogger.com/atom/ns#" term="windows" /><category scheme="http://www.blogger.com/atom/ns#" term="operating system" /><title>Vista IS quite a change, not just a new interface.</title><content type="html">I'm a bit tired of hearing about how Windows Vista is no good, it's just a bloated new version with a new useless graphical user interface with a lot of bling bling. I'm far from a Microsoft "fanboy" but come on. It's a great upgrade. As far as "cool" effects go, well it is behind MacOS X , and basically Linux too, in some of those areas... &lt;br /&gt;&lt;br /&gt;Wikipedia &lt;a href="http://en.wikipedia.org/wiki/Features_new_to_Windows_Vista"&gt;lists a couple of sections &lt;/a&gt;with the new and improved features, first the obvious ones like the late but very improved security, and to the right there are further links to descriptions of things such as the the totally rewritten network stack etc.&lt;br /&gt;&lt;br /&gt;For some more interesting technical details about what has happened with the actual kernel:&lt;br /&gt;&lt;a href="http://www.microsoft.com/techn...ag/issues/2007/02/VistaKernel/"&gt;Inside the Windows Vista Kernel: Part 1&lt;/a&gt;&lt;br /&gt;Thread priority and scheduling&lt;br /&gt;File-based symbolic links&lt;br /&gt;Canceling I/O operations&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.microsoft.com/techn...ag/issues/2007/03/VistaKernel/"&gt;Inside the Windows Vista Kernel: Part 2&lt;/a&gt;&lt;br /&gt;Memory management&lt;br /&gt;Startup and shutdown&lt;br /&gt;Power management&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.microsoft.com/techn...ag/issues/2007/04/VistaKernel/"&gt;Inside the Windows Vista Kernel: Part 3&lt;/a&gt;&lt;br /&gt;Reliability&lt;br /&gt;Recovery&lt;br /&gt;Security&lt;br /&gt;&lt;br /&gt;A part from the kernel we have the much improved network stack (better performance and wireless connections are now actually not just emulated wired connections among other things), new and better driver model, and for gamers of course DirectX 10. Shadow copy ("previous versions") is another really cool feature, and it really works and has saved me at least once from a couple of hours of frustration.&lt;br /&gt;&lt;br /&gt;For me Vista's instant search for everything you do (with a simple win-key activation, an important detail), snappier interface (thanks to various system improvements), quick startup-times and improved security, quite a few small improved details in the interface (like the address bar's breadcrumbs feature)  etc are most welcome.&lt;br /&gt;&lt;br /&gt;Having said all that, there is one thing that annoys me a bit in Vista. The focus handling in the file explorer. It is not always totally clear where exactly the focus is and in one instance it switches focus from the right pane to the left (tree) pane. The concept of inactive focus (the focus in the non-focused pane) can be confusing if you are not paying attention. A number of times I've accidently deleted the wrong folder with my usual shift-delete key combination (no confirmation). For example: If you select a folder in the tree, and then select files from inside that folder in the right pane and press delete to delete just those files, it is possible that it could delete the entire folder as it never actually switched focus to the right pane. Instead it just highlights them with the secondary/grey focus color.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36409995-6844487566402374587?l=mattiaslife.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MattiasSharedThoughts/~4/I_KYC0SEoDQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mattiaslife.blogspot.com/feeds/6844487566402374587/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://mattiaslife.blogspot.com/2007/07/vista-is-quite-change-not-just-new.html#comment-form" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/36409995/posts/default/6844487566402374587?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/36409995/posts/default/6844487566402374587?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MattiasSharedThoughts/~3/I_KYC0SEoDQ/vista-is-quite-change-not-just-new.html" title="Vista IS quite a change, not just a new interface." /><author><name>Mattias Isegran Bergander</name><uri>https://profiles.google.com/116474370120379937309</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-jfLSS13VGn4/AAAAAAAAAAI/AAAAAAAAAJs/N65_Xc9VRZI/s512-c/photo.jpg" /></author><thr:total>2</thr:total><feedburner:origLink>http://mattiaslife.blogspot.com/2007/07/vista-is-quite-change-not-just-new.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUIGQns-fyp7ImA9WB5VF0o.&quot;"><id>tag:blogger.com,1999:blog-36409995.post-1608231725469481392</id><published>2007-07-07T00:19:00.000+02:00</published><updated>2007-08-10T21:18:43.557+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-08-10T21:18:43.557+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="tools" /><category scheme="http://www.blogger.com/atom/ns#" term="vista" /><category scheme="http://www.blogger.com/atom/ns#" term="software" /><category scheme="http://www.blogger.com/atom/ns#" term="windows" /><title>Tools and nice software for Windows, mostly Vista</title><content type="html">Some current favourite tools, utilities and programs I'm using with Windows Vista. Some might be useful for other OSes or older Windows versions too. In general these are small efficient tools. In no particular order:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;multimedia&lt;/strong&gt;&lt;br /&gt;vista codec pack &lt;em&gt;- thin and slim codec pack, that does just exactly what I want and nothing more and is customizable, easy to install and uninstall correctly.&lt;/em&gt;&lt;br /&gt;quicktime alternate &lt;em&gt;-non-bloated quicktime player&lt;/em&gt; &lt;em&gt;(the above contained codecs play quicktime too though)&lt;br /&gt;&lt;/em&gt;&lt;br /&gt;&lt;strong&gt;tools&lt;/strong&gt;&lt;br /&gt;putty, pscp &lt;em&gt;-ssh, scp/sftp clients&lt;/em&gt;&lt;br /&gt;winscp &lt;em&gt;-scp/sftp program with a friendly interface&lt;/em&gt;&lt;br /&gt;daemon tools &lt;em&gt;-mount disk images as real cd/dvds etc&lt;/em&gt;&lt;br /&gt;notepad2 &lt;em&gt;-replace notepad, still quick 'n easy but a lot more powerful&lt;/em&gt;&lt;br /&gt;imgburn &lt;em&gt;-burning cd &amp;amp; dvds&lt;/em&gt;&lt;br /&gt;powershell &lt;em&gt;-Microsoft's new powerful command shell&lt;/em&gt;&lt;br /&gt;7-zip &lt;em&gt;-program for all de-/compression needs&lt;/em&gt;&lt;br /&gt;synctoy &lt;em&gt;-an excellent small program that just works and works well. Part of Microsofts powertoy suite and synchronizes files across folders/drives/shares/etc. &lt;/em&gt;&lt;br /&gt;jdiskreport -&lt;em&gt;find out what is taking up all that disk space on your drives&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;downloading&lt;/strong&gt;&lt;br /&gt;azureus &lt;em&gt;-bittorrent client&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;im&lt;/strong&gt;&lt;br /&gt;Live Messenger -&lt;em&gt;actually quite nice, especially when cleaned up with the following program:&lt;/em&gt;&lt;br /&gt;a-patch &lt;em&gt;-modifying live messenger, remove ads etc&lt;/em&gt;&lt;br /&gt;miranda &lt;em&gt;-slim multi im-client&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;interface&lt;/strong&gt;&lt;br /&gt;yod'm 3d &lt;em&gt;-desktop manager, 3D cube spinning to switch.&lt;/em&gt;&lt;br /&gt;start++ &lt;em&gt;-improve the Vista built-in search even further, useful!&lt;br /&gt;&lt;/em&gt;atimobility modder &lt;em&gt;-driverheaven, fix ati catalyst drivers to run on all notebooks&lt;/em&gt;&lt;br /&gt;&lt;em&gt;switcher -exposé or similar for Vista &lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;security/programming&lt;/strong&gt;&lt;br /&gt;wireshark&lt;em&gt; -the sniffing tool&lt;/em&gt;&lt;br /&gt;nmap&lt;em&gt; -port scanner&lt;/em&gt;&lt;br /&gt;backtrack &lt;em&gt;-linux live cd for security stuff&lt;/em&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;Current start page for web browsing&lt;/strong&gt;&lt;br /&gt;&lt;a href="http://www.google.com/ig"&gt;www.google.com/ig&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Organizer client&lt;/strong&gt;&lt;br /&gt;Private: GMail, Google Calendar&lt;br /&gt;Work: MS Outlook 2007, actually quite nice&lt;br /&gt;&lt;br /&gt;I'm too lazy to provide links but they should not be hard to find with google.&lt;br /&gt;&lt;br /&gt;Anyone have any tools and utilities tips they would like to share?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Update:&lt;/em&gt; Niclas reminded me of synctoy, an excellent small program that just works and works well. Part of Microsofts powertoy suite and synchronizes files across folders/drives/shares/etc.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Update 2 (July 15th):&lt;/em&gt; Yesterday I came across another thin and slim codec pack, Vista codec pack, that does exactly what I want and nothing more and is customizable and easy to install and uninstall correctly. It actually played some 1080p hd files better than the friendly CCCP so after some testing I'm definately switching over to this one now. Other minor tweaks to the list as well&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36409995-1608231725469481392?l=mattiaslife.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MattiasSharedThoughts/~4/Ct8xEDKEoTI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mattiaslife.blogspot.com/feeds/1608231725469481392/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://mattiaslife.blogspot.com/2007/07/tools-and-nice-software-for-windows.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/36409995/posts/default/1608231725469481392?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/36409995/posts/default/1608231725469481392?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MattiasSharedThoughts/~3/Ct8xEDKEoTI/tools-and-nice-software-for-windows.html" title="Tools and nice software for Windows, mostly Vista" /><author><name>Mattias Isegran Bergander</name><uri>https://profiles.google.com/116474370120379937309</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-jfLSS13VGn4/AAAAAAAAAAI/AAAAAAAAAJs/N65_Xc9VRZI/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://mattiaslife.blogspot.com/2007/07/tools-and-nice-software-for-windows.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkQNQHk_fSp7ImA9WBFaFUQ.&quot;"><id>tag:blogger.com,1999:blog-36409995.post-6029570807147897095</id><published>2007-05-19T17:41:00.000+02:00</published><updated>2007-05-19T17:59:51.745+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-05-19T17:59:51.745+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="java" /><category scheme="http://www.blogger.com/atom/ns#" term="programming" /><title>Black Belt in Java?</title><content type="html">Jon-Erling this last fall suggested that there really should be a similar way to grade when it comes to programming as in martial arts. We agreed and discussed it some more but as many other things we forgot about it and went on with life even though Jon obviously was thinking about starting something like that. The other day I found this though: &lt;a href="http://www.javablackbelt.org"&gt;www.javablackbelt.org&lt;/a&gt; It's free and seems great.&lt;br /&gt;&lt;br /&gt;Perfect, and look at some of the names that can be found there: Martin Fowler, Joshua Bloch, Marc Fleury as guests, and also noticed that &lt;a href="http://www.briangoetz.com/"&gt;Brian Goetz&lt;/a&gt;  provided some feedback to the concurrency stuff.&lt;br /&gt;&lt;br /&gt;I wonder what I will get first (if at all!), a black belt in martial arts or in java....&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36409995-6029570807147897095?l=mattiaslife.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MattiasSharedThoughts/~4/x0AaryxkTRM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mattiaslife.blogspot.com/feeds/6029570807147897095/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://mattiaslife.blogspot.com/2007/05/black-belt-in-java.html#comment-form" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/36409995/posts/default/6029570807147897095?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/36409995/posts/default/6029570807147897095?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MattiasSharedThoughts/~3/x0AaryxkTRM/black-belt-in-java.html" title="Black Belt in Java?" /><author><name>Mattias Isegran Bergander</name><uri>https://profiles.google.com/116474370120379937309</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-jfLSS13VGn4/AAAAAAAAAAI/AAAAAAAAAJs/N65_Xc9VRZI/s512-c/photo.jpg" /></author><thr:total>2</thr:total><feedburner:origLink>http://mattiaslife.blogspot.com/2007/05/black-belt-in-java.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkACQXgyfip7ImA9WBFbFks.&quot;"><id>tag:blogger.com,1999:blog-36409995.post-4949526656908144141</id><published>2007-05-08T23:31:00.000+02:00</published><updated>2007-05-08T23:46:00.696+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-05-08T23:46:00.696+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="java" /><category scheme="http://www.blogger.com/atom/ns#" term="gui" /><category scheme="http://www.blogger.com/atom/ns#" term="programming" /><title>JavaFX</title><content type="html">Doing any GUI development? Don't like Java's Swing or SWT? Or maybe you do like them (I like Swing for example) but think they could be even better (as in easier and cooler)?&lt;br /&gt;&lt;br /&gt;Sun has just released something that seems rather cool, &lt;a href="https://openjfx.dev.java.net/"&gt;JavaFX&lt;/a&gt;. Something unexpected but most welcome as many has seen the GUI development as being powerful but lacking in the nice tool support and nice looks and effects AND not expecting much to happen about it.&lt;br /&gt;&lt;br /&gt;Apart from making it easier to write GUIs and making them look cool a first look found the following items of special interest: The bindings stuff, Animation stuff (&lt;span style="font-family:courier new;"&gt;&lt;em&gt;dur&lt;/em&gt;&lt;/span&gt; with ease-in and ease-out is so simple and automatic) but the special JavaFX script language itself is rather interesting as well!&lt;br /&gt;&lt;br /&gt;Check the &lt;a href="https://openjfx.dev.java.net/"&gt;JavaFX link&lt;/a&gt; for demos, tutorials and more information.&lt;br /&gt;&lt;br /&gt;Plugins available for Netbeans AND Eclipse!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36409995-4949526656908144141?l=mattiaslife.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MattiasSharedThoughts/~4/D0yYj5p7Z0I" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mattiaslife.blogspot.com/feeds/4949526656908144141/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://mattiaslife.blogspot.com/2007/05/javafx.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/36409995/posts/default/4949526656908144141?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/36409995/posts/default/4949526656908144141?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MattiasSharedThoughts/~3/D0yYj5p7Z0I/javafx.html" title="JavaFX" /><author><name>Mattias Isegran Bergander</name><uri>https://profiles.google.com/116474370120379937309</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-jfLSS13VGn4/AAAAAAAAAAI/AAAAAAAAAJs/N65_Xc9VRZI/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://mattiaslife.blogspot.com/2007/05/javafx.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEUCQnw-cSp7ImA9WBFbEUk.&quot;"><id>tag:blogger.com,1999:blog-36409995.post-3006359632897753082</id><published>2007-05-02T22:51:00.000+02:00</published><updated>2007-05-02T23:44:23.259+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-05-02T23:44:23.259+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="java" /><category scheme="http://www.blogger.com/atom/ns#" term="programming" /><title>Great summary of possible Java 7 features</title><content type="html">This is a great summary including source code examples of ideas for Java 7 (now in development): &lt;a href="http://www.cafeaulait.org/slides/nycjava/java7/Java_7_and_Beyond.html"&gt;Java 7 and Beyond&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;There are a lot of nice suggested features for the future, but as always hard to pick among them. There is wisdom in delaying some things until they mature for example, however boring that might be. Other things are sort of nice, but are they really that valuable? Then again some things would be great to have (the small Swing application framework will be nice).&lt;br /&gt;&lt;br /&gt;Array collection syntax might not be needed that much but it is a nice touch I think and makes for less/easier typing with just some compiler magic. Type inference looks nice, but lock you to the concrete class (in the example given there it will be typed as a HashMap and not a Map), still seems worth it to me.&lt;br /&gt;&lt;br /&gt;Annotations on Java Types seem rather useful, but ouch it looks ugly with all those annotations&lt;br /&gt;all over the place. Hmm have to think about that one. Validation, JSR 303, also looks like a great idea, maybe combine it with the properties stuff, but xml-based... hmm. Maybe annotations instead. Oh, even more annotations. Hmm.&lt;br /&gt;&lt;br /&gt;Closures, as long as they pick a version which is easy and intuitive to read (you only write once, but it is read often) I'm all for it, perfect for some things. A new time and date API, well it IS needed, third time is the charm? A Unit API certainly looks great and appeals to me as an engineer, but is it really needed?  Filesystems API stuff, sure, that stuff is really needed in a modern programming language.&lt;br /&gt;&lt;br /&gt;Invoke dynamic? Absolutely! One of the most valuble things with java is not the language but the virtual machine. Sun's Hotspot for example is really amazing. Should really try hard to be able to use it to its full extent in other related projects, such as JRuby.&lt;br /&gt;&lt;br /&gt;A very non-sexy thing is the jar-versioning/packet management stuff but as more and more programming is about changing or extending current programs, this is really needed.&lt;br /&gt;&lt;br /&gt;I reserve the right to change my opinions on this stuff at any time :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36409995-3006359632897753082?l=mattiaslife.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MattiasSharedThoughts/~4/0iOZA3GOkcw" height="1" width="1"/&gt;</content><link rel="related" href="http://www.cafeaulait.org/slides/nycjava/java7/Java_7_and_Beyond.html" title="Great summary of possible Java 7 features" /><link rel="replies" type="application/atom+xml" href="http://mattiaslife.blogspot.com/feeds/3006359632897753082/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://mattiaslife.blogspot.com/2007/05/great-summary-of-possible-java-7.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/36409995/posts/default/3006359632897753082?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/36409995/posts/default/3006359632897753082?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MattiasSharedThoughts/~3/0iOZA3GOkcw/great-summary-of-possible-java-7.html" title="Great summary of possible Java 7 features" /><author><name>Mattias Isegran Bergander</name><uri>https://profiles.google.com/116474370120379937309</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-jfLSS13VGn4/AAAAAAAAAAI/AAAAAAAAAJs/N65_Xc9VRZI/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://mattiaslife.blogspot.com/2007/05/great-summary-of-possible-java-7.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CU4GQnY9fip7ImA9WBFbEUk.&quot;"><id>tag:blogger.com,1999:blog-36409995.post-1668028858857584263</id><published>2007-05-02T22:46:00.000+02:00</published><updated>2007-05-03T00:12:03.866+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-05-03T00:12:03.866+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="conference" /><category scheme="http://www.blogger.com/atom/ns#" term="programming" /><title>Thanks Ralph and Expo-C!</title><content type="html">Just wanted to say thank you to Ralph Johnson (yes that Ralph, of the Gang of Four) for coming to Göteborg, Sweden at Expo-C and tell us about: "Enterprise Application Architecture " +" The 'Adaptive Object Model' Architectural Style, last Wednesday. He was there on Tuesday as well but I was unable to attend that day.&lt;br /&gt;Meeting &lt;a href="http://jimmynilsson.com/"&gt;Jimmy Nilsson &lt;/a&gt;again was nice and &lt;a href="http://niclasnilsson.se/"&gt;Niclas Nilsson &lt;/a&gt;as usual of course, but that happens about every week :)&lt;br /&gt;&lt;br /&gt;I'm afraid I missed Rickard Öberg, Dan North and James O. Coplien, the other famous names at Expo-C (monday-Wednesday) in Gothenburg last week, but at least I had a nice dinner with Niclas and Ralph on Wednesday evening. Niclas tried to talk Ralph into writing a follow-up or 2nd edition to the Design patterns book using Ruby, instead of the expected Java (which just might be something that will happen!)&lt;br /&gt;&lt;br /&gt;Ralph had one interesting part of his presentation, a play with participants from the audience. Now it might be hard to get volunteers to particpate in a play when the potential volunteers are all geeky programming nerds, but then also make them all come from Sweden! ;-) Ah well, in an out-of-character move I was the first volunteer to step up and Jimmy also joined in along with two others. Phew, could have been embarassing for Sweden! The play was great and really did add something to the points he was trying to make.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36409995-1668028858857584263?l=mattiaslife.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MattiasSharedThoughts/~4/Wl42gCdo2GI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mattiaslife.blogspot.com/feeds/1668028858857584263/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://mattiaslife.blogspot.com/2007/05/thanks-ralph-and-expo-c.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/36409995/posts/default/1668028858857584263?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/36409995/posts/default/1668028858857584263?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MattiasSharedThoughts/~3/Wl42gCdo2GI/thanks-ralph-and-expo-c.html" title="Thanks Ralph and Expo-C!" /><author><name>Mattias Isegran Bergander</name><uri>https://profiles.google.com/116474370120379937309</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-jfLSS13VGn4/AAAAAAAAAAI/AAAAAAAAAJs/N65_Xc9VRZI/s512-c/photo.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://mattiaslife.blogspot.com/2007/05/thanks-ralph-and-expo-c.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0YMQHg7fSp7ImA9WBBUEk8.&quot;"><id>tag:blogger.com,1999:blog-36409995.post-8262866154937834542</id><published>2006-12-17T21:29:00.000+01:00</published><updated>2006-12-27T14:13:01.605+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2006-12-27T14:13:01.605+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="java" /><category scheme="http://www.blogger.com/atom/ns#" term="programming" /><title>Java 6 is nice!</title><content type="html">&lt;p&gt;So Java 6 has been out in its final version for a few days now. Having participated (&lt;a href="https://jdk.dev.java.net/nonav/J12006/stars/JDKstars.html"&gt;1&lt;/a&gt;, &lt;a href="http://java.sun.com/javase/6/webnotes/names.html"&gt;2&lt;/a&gt;) in (a &lt;em&gt;very small &lt;/em&gt;way) the development of it and having used it for more than a year and a half now I'm very happy about that. It is a very nice new version of Java. It does &lt;em&gt;not&lt;/em&gt; involve such big changes to the language as Java 5 did, but instead it focuses on other things such as:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Compatibility/Stability –&lt;em&gt;Highest priority for Java 6&lt;/em&gt;&lt;/li&gt;&lt;li&gt;Ease of development –&lt;em&gt;DB access, scripting, compilation, gui design, annotation processing&lt;/em&gt;&lt;/li&gt;&lt;li&gt;Diagnosability, Monitoring &amp; Management –&lt;em&gt;Inspection of a running JVM, heap, threads etc, no flags needed&lt;/em&gt;&lt;/li&gt;&lt;li&gt;Enterprise Desktop –&lt;em&gt;Catching up in key areas&lt;/em&gt;&lt;/li&gt;&lt;li&gt;XML &amp;amp; Web Services –&lt;em&gt;Web service stack etc&lt;/em&gt;&lt;/li&gt;&lt;li&gt;Transparency -&lt;em&gt;Insight into the evolution of the Java platform&lt;/em&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;... and of course performance again.&lt;/p&gt;&lt;p&gt;I'm to hold a presentation on the new stuff of Java 6 after the holidays and if anyone else would like me to hold a short introduction (or longer) send me an email.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Performance&lt;/strong&gt;&lt;br /&gt;Performance (it was codenamed Mustang after all) is very good in Java 6. &lt;a href="http://jroller.com/page/dgilbert?entry=is_java_se_1_6"&gt;This&lt;/a&gt; is a bit extreme but still a fairly interesting benchmark from the author of &lt;a href="http://www.jfree.org/jfreechart/"&gt;JFreeChart &lt;/a&gt;(a very nice piece of software). Results:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;SUN Java 6: 70 charts/s&lt;/li&gt;&lt;li&gt;SUN Java 5: 20 charts/s &lt;/li&gt;&lt;li&gt;Jam VM: 1-2 charts/s &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Java 2D performance has gotten some considerable performance improvements, probably shown to good advantage in this test. Even perceived performance is important of course and the "gray rectangle" update problem has been solved in Java 6 (&lt;a href="http://weblogs.java.net/blog/zixle/archive/2005/04/no_more_gray_re_1.html"&gt;April 2005&lt;/a&gt;).&lt;/p&gt;&lt;p&gt;&lt;a href="http://www-128.ibm.com/developerworks/java/library/j-jtp09275.html"&gt;Urban performance legends, revisited&lt;/a&gt; -&lt;a href="http://www.briangoetz.com/"&gt;Brian Goetz&lt;/a&gt; writes some very good articles, this one from 2005 mentions some of the Java 6 VM features such as escape analysis, which will be taken advantage of more in JDK 7.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.hlavki.eu/index.php?option=com_content&amp;task=view&amp;amp;amp;id=33&amp;amp;Itemid=9"&gt;More Swing/Java2D performance tests&lt;/a&gt; (March 2006) show 30-50% performance increases.&lt;/p&gt;&lt;p&gt;&lt;a href="http://blogs.sun.com/dagastine/"&gt;David Dagastine's (Sun) blog&lt;/a&gt; about Java performance &lt;span style="font-family:lucida grande;"&gt;contains&lt;/span&gt; a lot of nice performance charts including data for Java 6. Some (&lt;a href="http://blogs.sun.com/dagastine/entry/java_is_faster_than_c"&gt;1&lt;/a&gt;, &lt;a href="http://blogs.sun.com/dagastine/entry/sun_java_is_faster_than"&gt;2&lt;/a&gt;) even comparing Java to C/C++, and guess which one wins...&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Other neat stuff&lt;/strong&gt;&lt;br /&gt;One nice feature is how easy it is to provide a webservice now, without anything other than the JDK. Just add a &lt;span style="font-family:courier new;"&gt;@WebService&lt;/span&gt; annotation and then just call &lt;span style="font-family:courier new;"&gt;Endpoint.publish(...)&lt;/span&gt;&lt;span style="font-family:lucida grande;"&gt;. That's it!&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://java.sun.com/javase/6/docs/technotes/guides/scripting/index.html"&gt;Scripting support&lt;/a&gt; so pluggable scripting engines can run in/by the JVM, &lt;a href="http://java.sun.com/javase/6/docs/technotes/guides/scripting/programmer_guide/index.html"&gt;easy&lt;/a&gt; and handy. Combine this with the fact that Sun recently hired some of the JRuby people, quite interesting!&lt;/p&gt;&lt;p&gt;The simple thing I contributed along with unit tests was "&lt;a href="http://java.sun.com/javase/6/docs/api/java/io/IOException.html"&gt;&lt;code&gt;IOException&lt;/code&gt;&lt;/a&gt; supports exception chaining via the addition of the new constructors &lt;a href="http://java.sun.com/javase/6/docs/api/java/io/IOException.html#IOException(java.lang.String,"&gt;&lt;code&gt;IOException(String, Throwable)&lt;/code&gt;&lt;/a&gt; and &lt;a href="http://java.sun.com/javase/6/docs/api/java/io/IOException.html#IOException(java.lang.Throwable)"&gt;&lt;code&gt;IOException(Throwable)&lt;/code&gt;&lt;/a&gt;."&lt;/p&gt;&lt;p&gt;The &lt;span style="font-family:courier new;"&gt;File&lt;/span&gt; class now provides methods to retrieve disk information (total, free, usable) as well as to set or query file permissions.&lt;/p&gt;&lt;p&gt;Attach JConsole and other such analysis tools without having to specify any special flags when you started the JVM and other great &lt;a href="http://java.sun.com/javase/6/docs/technotes/guides/management/enhancements.html"&gt;enhancements to the monitoring and management&lt;/a&gt; stuff.&lt;/p&gt;&lt;p&gt;Swing has a wide range of improvements and ready for Windows Vista (something that is being backported to Java 5) and integrates with the desktop of modern OSes a lot better (tray support, starting file type associated applications, system mail reader and web browser, splash screen before VM is loaded etc). JDBC 4.0 seems like a nice upgrade I must say too, making the driver set up easier and providing some new features of course.&lt;/p&gt;&lt;p&gt;Danny Coward has a very nice &lt;a href="http://blogs.sun.com/dannycoward/entry/java_se_6_top_ten"&gt;top ten list with a nice table&lt;/a&gt; of summaries and blogs related to the particular items on that list.&lt;/p&gt;&lt;p&gt;List of &lt;a href="http://java.sun.com/javase/6/webnotes/features.html"&gt;New Features and enhancements in Java 6&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;And after 6 comes...?&lt;/strong&gt;&lt;br /&gt;JDK 7, previously known as “Dolphin”. Features being discussed:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Open source, from the start&lt;/li&gt;&lt;li&gt;Modular, Kernel Java –initial small download&lt;/li&gt;&lt;li&gt;Dynamically typed language support&lt;/li&gt;&lt;li&gt;Persistence Architecture&lt;/li&gt;&lt;li&gt;JavaDoc update&lt;/li&gt;&lt;li&gt;JMX and Web Service management&lt;/li&gt;&lt;li&gt;Swing application easier with Beans Binding and simple mini application framework.&lt;/li&gt;&lt;li&gt;More NIO, Closures, block constructs, strings in switch statements, properties, XMLS inside the language&lt;/li&gt;&lt;li&gt;... what would you like?&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36409995-8262866154937834542?l=mattiaslife.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MattiasSharedThoughts/~4/RbvAvhE4nlY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mattiaslife.blogspot.com/feeds/8262866154937834542/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://mattiaslife.blogspot.com/2006/12/java-6-is-nice.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/36409995/posts/default/8262866154937834542?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/36409995/posts/default/8262866154937834542?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MattiasSharedThoughts/~3/RbvAvhE4nlY/java-6-is-nice.html" title="Java 6 is nice!" /><author><name>Mattias Isegran Bergander</name><uri>https://profiles.google.com/116474370120379937309</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-jfLSS13VGn4/AAAAAAAAAAI/AAAAAAAAAJs/N65_Xc9VRZI/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://mattiaslife.blogspot.com/2006/12/java-6-is-nice.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CU4MQXc9fSp7ImA9WBBRGEw.&quot;"><id>tag:blogger.com,1999:blog-36409995.post-420159205133493263</id><published>2006-11-05T13:48:00.000+01:00</published><updated>2006-11-06T12:53:00.965+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2006-11-06T12:53:00.965+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="travel" /><category scheme="http://www.blogger.com/atom/ns#" term="vacation" /><title>Bye bye Florida</title><content type="html">&lt;span style="font-family:verdana;"&gt;So just to tease relatives, friends and colleagues back in Sweden as they have some extremely early winter weather conditions back there right now(!) I'll provide some more pictures from Florida. At almost 30C the weather is comfortable, the pool is still awesome, beaches nice, shopping great, relaxation level high, &lt;/span&gt;&lt;a href="http://en.wikipedia.org/wiki/Grilling#American_English"&gt;&lt;span style="font-family:verdana;"&gt;grilling/barbecuing&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;"&gt; is great and the restaurants are nice. &lt;/span&gt;&lt;a href="http://www.kennedyspacecenter.com/"&gt;&lt;span style="font-family:verdana;"&gt;Kennedy Space center&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;"&gt; has now been graced with my presence as well, something that was better than expected actually.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;Unfortunately I left this paradise yesterday (Saturday) afternoon and I'll be back in Sweden today (Sunday). I'm currently waiting in Copenhagen for 4h for the last short (45min) flight, then I'm almost home.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;a href="http://photos1.blogger.com/blogger2/4747/4444/1600/poolnight.jpg"&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://photos1.blogger.com/blogger2/4747/4444/200/poolnight.jpg" border="0" /&gt;&lt;/a&gt; &lt;span style="font-family:verdana;font-size:85%;"&gt;Pool at night&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;p align="center"&gt;&lt;a href="http://photos1.blogger.com/blogger2/4747/4444/1600/beach.jpg"&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://photos1.blogger.com/blogger2/4747/4444/200/beach.jpg" border="0" /&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;A nice Florida beach, just south of Cocoa Beach (east coast).&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://photos1.blogger.com/blogger2/4747/4444/200/housefront.1.jpg" border="0" /&gt;&lt;/div&gt;&lt;p align="center"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;Front of the house...&lt;/span&gt; &lt;/span&gt;&lt;/p&gt;&lt;p align="center"&gt;&lt;a href="http://photos1.blogger.com/blogger2/4747/4444/1600/houseback.jpg"&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://photos1.blogger.com/blogger2/4747/4444/200/houseback.jpg" border="0" /&gt;&lt;br /&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;...and the back. &lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://photos1.blogger.com/blogger2/4747/4444/200/sunset_balcony.jpg" border="0" /&gt;&lt;br /&gt;&lt;p align="center"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;And another of those lovely sunsets as seen from the balcony outside my room.&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36409995-420159205133493263?l=mattiaslife.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MattiasSharedThoughts/~4/fUjxNowf9kI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mattiaslife.blogspot.com/feeds/420159205133493263/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://mattiaslife.blogspot.com/2006/11/bye-bye-florida.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/36409995/posts/default/420159205133493263?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/36409995/posts/default/420159205133493263?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MattiasSharedThoughts/~3/fUjxNowf9kI/bye-bye-florida.html" title="Bye bye Florida" /><author><name>Mattias Isegran Bergander</name><uri>https://profiles.google.com/116474370120379937309</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-jfLSS13VGn4/AAAAAAAAAAI/AAAAAAAAAJs/N65_Xc9VRZI/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://mattiaslife.blogspot.com/2006/11/bye-bye-florida.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUUFSHo4fyp7ImA9WBBREk8.&quot;"><id>tag:blogger.com,1999:blog-36409995.post-1183535109591429585</id><published>2006-10-29T10:52:00.000+01:00</published><updated>2006-10-30T16:46:59.437+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2006-10-30T16:46:59.437+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="travel" /><category scheme="http://www.blogger.com/atom/ns#" term="vacation" /><title>Pictures from Florida</title><content type="html">&lt;p align="left"&gt;&lt;span style="font-family:verdana;"&gt;I'm not sure why that is so but I like it here at my uncle's family's house outside Tampa, Florida. It could be the weather, almost 30 degrees Celsius while it's almost freezing(!), though that is extreme, back home in Sweden and the fall-storms raging there. Or it could be the nice company, especially the little attention stealer that my lovely half year old cousin is. Or it could be the totally relaxed atmosphere after a busy week at a conference. Having a drink handed to you by your nice uncle coupled with wireless &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_0"&gt;Internet&lt;/span&gt; at your fingertips in the pool. The &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_1"&gt;hottub&lt;/span&gt;/jacuzzi next to the pool is sort of nice too, especially if you consider that we sat in the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2" onclick="BLOG_clickHandler(this)"&gt;hottub&lt;/span&gt; having a great time and looking up at the star filled sky last night. The incredible sunsets perhaps?&lt;/span&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;span style="font-family:verdana;"&gt;I'm not sure where to stop, nice food, nice company, lovely weather and no work. The view is rather &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_3"&gt;OK&lt;/span&gt; too, including the skylines of two cities across Tampa Bay. One is St &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4" onclick="BLOG_clickHandler(this)"&gt;Petersburg&lt;/span&gt; a bit to the west (a little to the left as seen from the house) and the other is Tampa a little further east (to the right, not clearly seen in these pictures).&lt;/span&gt;&lt;/p&gt;&lt;p align="center"&gt;&lt;a href="http://photos1.blogger.com/blogger2/4747/4444/1600/mattias_pool.jpg"&gt;&lt;img style="CURSOR: hand" alt="" src="http://photos1.blogger.com/blogger2/4747/4444/320/mattias_pool.jpg" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p align="center"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Above:&lt;/span&gt; &lt;span style="font-family:verdana;font-size:85%;"&gt;Me at the pool.&lt;/span&gt;&lt;/p&gt;&lt;p align="center"&gt;&lt;a href="http://photos1.blogger.com/blogger2/4747/4444/1600/skyline.jpg"&gt;&lt;img style="CURSOR: hand" alt="" src="http://photos1.blogger.com/blogger2/4747/4444/320/skyline.jpg" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;p align="left"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Above: &lt;/span&gt;Sunset as seen from the house/pool with the city of St &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5" onclick="BLOG_clickHandler(this)"&gt;Petersburg's&lt;/span&gt; skyline.&lt;/span&gt;&lt;/p&gt;&lt;p align="center"&gt;&lt;a href="http://photos1.blogger.com/blogger2/4747/4444/1600/after_sunset.jpg"&gt;&lt;img style="CURSOR: hand" alt="" src="http://photos1.blogger.com/blogger2/4747/4444/320/after_sunset.jpg" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p align="center"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;After the sunset&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36409995-1183535109591429585?l=mattiaslife.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MattiasSharedThoughts/~4/QG-RIPTzTXc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mattiaslife.blogspot.com/feeds/1183535109591429585/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://mattiaslife.blogspot.com/2006/10/pictures-from-florida.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/36409995/posts/default/1183535109591429585?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/36409995/posts/default/1183535109591429585?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MattiasSharedThoughts/~3/QG-RIPTzTXc/pictures-from-florida.html" title="Pictures from Florida" /><author><name>Mattias Isegran Bergander</name><uri>https://profiles.google.com/116474370120379937309</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-jfLSS13VGn4/AAAAAAAAAAI/AAAAAAAAAJs/N65_Xc9VRZI/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://mattiaslife.blogspot.com/2006/10/pictures-from-florida.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkADR3g4fip7ImA9WBBREUU.&quot;"><id>tag:blogger.com,1999:blog-36409995.post-3240740944455332511</id><published>2006-10-29T04:03:00.000+01:00</published><updated>2006-10-30T04:59:36.636+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2006-10-30T04:59:36.636+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="travel" /><title>From Portland to Tampa</title><content type="html">&lt;span style="font-family:verdana;"&gt;The flight out from Salt Lake City was of course delayed so it didn't leave until about 1.30am instead of 11.45pm. As I had a 4h wait coming up in Atlanta it didn't matter much, other than that people, including me, were really tired. When everyone finally gotten on the plane the captain informed us of a sensor error on the door. An engineer finally signed off on the door working correctly despite the sensor reading telling the pilots that the door was not closed. He checked from the inside too and went out another door. Well he wasn't going to be on the plane anyway so it was safe for him to do so I guess...&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;The Salt Lake City airport was not as generous as Portland and did not provide free &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0" onclick="BLOG_clickHandler(this)"&gt;wifi&lt;/span&gt; access. On the other hand their checks to enforce this left some possibilities. I could eventually get ping, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1" onclick="BLOG_clickHandler(this)"&gt;ICQ&lt;/span&gt;, SSH(!), &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2" onclick="BLOG_clickHandler(this)"&gt;Skype&lt;/span&gt; and google talk (Jabber) to function perfectly. I could also read web email and do other limited web surfing. Seems they only block certain ports like port 80. Port 443 worked fine for example, making everything https working and quite a few web sites have an https option, like google personalized (&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3" onclick="BLOG_clickHandler(this)"&gt;&lt;a href="http://www.google.com/ig"&gt;w&lt;/span&gt;ww.google.com/ig&lt;/a&gt;), and gmail. Having SSH functioning basically meant that anything could be done, but I didn't bother.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Ah well, I'm at last at my destination, but dead tired, got maybe 30min of sleep this night.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36409995-3240740944455332511?l=mattiaslife.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MattiasSharedThoughts/~4/I6QAUtfzi88" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mattiaslife.blogspot.com/feeds/3240740944455332511/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://mattiaslife.blogspot.com/2006/10/from-portland-to-tampa-in-practice.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/36409995/posts/default/3240740944455332511?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/36409995/posts/default/3240740944455332511?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MattiasSharedThoughts/~3/I6QAUtfzi88/from-portland-to-tampa-in-practice.html" title="From Portland to Tampa" /><author><name>Mattias Isegran Bergander</name><uri>https://profiles.google.com/116474370120379937309</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-jfLSS13VGn4/AAAAAAAAAAI/AAAAAAAAAJs/N65_Xc9VRZI/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://mattiaslife.blogspot.com/2006/10/from-portland-to-tampa-in-practice.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0YNRHg7cCp7ImA9WBBSGUU.&quot;"><id>tag:blogger.com,1999:blog-36409995.post-7501983465868048050</id><published>2006-10-27T23:52:00.000+02:00</published><updated>2006-10-28T00:46:35.608+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2006-10-28T00:46:35.608+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="travel" /><title>So it had gone too well so far...</title><content type="html">&lt;span style="font-family:Verdana;"&gt;Of course, all my luggage got here, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0" onclick="BLOG_clickHandler(this)"&gt;flights&lt;/span&gt; worked, tutorials went fine, haven't lost anything, laptop still working, etc. Arriving at the airport today though I was told that my flight was cancelled due to mechanical problems. My new flight schedule involves Portland, Salt Lake City, Atlanta, and then finally Tampa. So an &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_1"&gt;additional&lt;/span&gt; flight and most importantly I'll fly during the night, arriving the following day instead of the planned arrival time this &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_2"&gt;Friday&lt;/span&gt; evening.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;"&gt;Considering I slept for just 5h this night I'll probably have no problem sleeping though (got to see it the positive way). But after hours on an airplane in the middle of the night followed by a 4h wait in Atlanta will be... interesting. &lt;a href="http://tapirstale.blogspot.com/"&gt;Anders&lt;/a&gt;'s flight is not leaving until just before 5pm and mine a little bit after 6pm so at least I got some unexpected company here at the airport. It is a nice airport here in Portland but after 8hours here it will almost feel like home I guess. The good thing is that they have free &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3" onclick="BLOG_clickHandler(this)"&gt;wifi&lt;/span&gt; all over the place :) .&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;"&gt;These things happen so it is no big deal. The annoying thing this time is the combination with my phone problems made it harder to update people on the flight changes. That was solved by &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4" onclick="BLOG_clickHandler(this)"&gt;IM&lt;/span&gt;-chatting with my brother who happened to be online back in Sweden and he could get hold of my father in Florida to update him on the flight changes so they can fetch me at the airport tomorrow morning instead of this evening. Such nice service. Vacation has begun!&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36409995-7501983465868048050?l=mattiaslife.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MattiasSharedThoughts/~4/8ZCrr_9wAVA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mattiaslife.blogspot.com/feeds/7501983465868048050/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://mattiaslife.blogspot.com/2006/10/so-it-had-gone-too-well-so-far.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/36409995/posts/default/7501983465868048050?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/36409995/posts/default/7501983465868048050?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MattiasSharedThoughts/~3/8ZCrr_9wAVA/so-it-had-gone-too-well-so-far.html" title="So it had gone too well so far..." /><author><name>Mattias Isegran Bergander</name><uri>https://profiles.google.com/116474370120379937309</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-jfLSS13VGn4/AAAAAAAAAAI/AAAAAAAAAJs/N65_Xc9VRZI/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://mattiaslife.blogspot.com/2006/10/so-it-had-gone-too-well-so-far.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkMGQXY4fyp7ImA9WBBRFU0.&quot;"><id>tag:blogger.com,1999:blog-36409995.post-5100265804044667071</id><published>2006-10-27T23:50:00.000+02:00</published><updated>2006-11-03T00:00:20.837+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2006-11-03T00:00:20.837+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="conference" /><category scheme="http://www.blogger.com/atom/ns#" term="OOPSLA" /><category scheme="http://www.blogger.com/atom/ns#" term="work" /><title>Final day at OOPSLA</title><content type="html">&lt;span style="font-family:verdana;"&gt;Thursday started a little later than usual for some reason. *cough* Directly followed by a power outage that made things interesting both at the hotel and conference center.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;"&gt;&lt;strong&gt;Agile tutorial&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;"&gt;Alistair Cockburn is really good. Good presentation skills, extensive knowledge with very interesting ideas and concepts of ways of handling them. What else can one ask for? I'll buy some of his books, I haven't read any of them but sure will now. Cockburn's description of general agile development makes me go "aha, I recognise that problem/situation, and that and that way of thinking really strikes a chord within me" all the time. More so than "just" reading directly about XP (SCRUM I sadly don't know much about). His description (of agile development) is more of a way of thinking with some nice guidelines and nice helping ideas and key techniques for things to try out. Doing it better than XP it seems to me. XP is one type of agile development of course though. What Cockburn describes though is an ever changing, very pragmatic and efficiency based agile development.  Almost like a meta-methodology. What works for us NOW? What does not? What shall we try next? Constantly adapting over and over and handling the situation from where we are NOW. No company, group, project, technology used or customer is the same. Adapt to what works for you in your project taking inspiration from a wide array of agile methods and tricks.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;"&gt;The icing on the cake for me was the Musashi (1685, on sword fighting) reference and how his ideas relate programming/projects. They were actually quite good, not a bad or very constructed analogy at all. Add in the fact that i train such martial art techniques in bujinkan and I got this warm feeling inside...&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:Verdana;"&gt;&lt;/span&gt;&lt;span style="font-family:Verdana;"&gt;Too bad they had planned the tutorial at the only time he was unable to be there the full time, his flight was leaving the same time the tutorial would end. Anyway it was a really great tutorial, probably the best of them all that I had.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;"&gt;&lt;strong&gt;Evening/night&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;"&gt;Final night out! No one cared about their flights the next day. But still home at a decent time, around 2 in the morning after having had a nice american dinner at Rock Bottom followed by a visit to the Irish pub Paddy's.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36409995-5100265804044667071?l=mattiaslife.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MattiasSharedThoughts/~4/doyCy81BcmQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mattiaslife.blogspot.com/feeds/5100265804044667071/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://mattiaslife.blogspot.com/2006/10/final-day-at-oopsla.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/36409995/posts/default/5100265804044667071?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/36409995/posts/default/5100265804044667071?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MattiasSharedThoughts/~3/doyCy81BcmQ/final-day-at-oopsla.html" title="Final day at OOPSLA" /><author><name>Mattias Isegran Bergander</name><uri>https://profiles.google.com/116474370120379937309</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-jfLSS13VGn4/AAAAAAAAAAI/AAAAAAAAAJs/N65_Xc9VRZI/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://mattiaslife.blogspot.com/2006/10/final-day-at-oopsla.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUUBQ3wzfip7ImA9WBBSGU0.&quot;"><id>tag:blogger.com,1999:blog-36409995.post-639860559142134283</id><published>2006-10-27T01:39:00.000+02:00</published><updated>2006-10-27T02:00:52.286+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2006-10-27T02:00:52.286+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="java" /><category scheme="http://www.blogger.com/atom/ns#" term="conference" /><category scheme="http://www.blogger.com/atom/ns#" term="OOPSLA" /><category scheme="http://www.blogger.com/atom/ns#" term="work" /><title>...and Wednesday at OOPSLA</title><content type="html">&lt;span style="font-family:verdana;"&gt;&lt;strong&gt;Keynotes&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Fortress presentation by Guy Steele. Many interesting details and concepts such as for a new programming language. Notation (&lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_0"&gt;ASCII&lt;/span&gt; with special notation but also &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_1"&gt;Unicode&lt;/span&gt; is taken advantage of)It is built for growth, what does that mean then? If it can be done by a library let it be done in a library instead for example.Most interesting was the &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_2"&gt;parallelism&lt;/span&gt; possibilities that was automatically provided and possibly never seen by programmers just library authors. Furthermore and more importantly, automatically and easily exploited when you set up your data types for example.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;&lt;strong&gt;Onward! stuff&lt;/strong&gt;&lt;br /&gt;Intentional software, basically Domain specific languages deluxe, very interesting. Switching notations and using different representation models on the fly and they are perfectly transformable back and forth. Also started off with a interesting motivation example for domain specific languages. From a project description and discussion. Consider a 400pages long specification of a specific application in certain domain resulting in a million lines of code (about 20,000pages). What have we done? Taken 400 pages and scrambled them into 20,000 pages? More importantly what do we do today when something changes in those 400pages? We try to find where this effects our 20,000pages and change it in there. &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3" onclick="BLOG_clickHandler(this)"&gt;DSL&lt;/span&gt; is of course about trying to have this all described in a domain specific language and generate the actual code. Meaning we change what we need in those 400pages and then generate the result. Simplified way of putting it but very nice concept!&lt;br /&gt;&lt;br /&gt;A nice insight for real world application of &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4" onclick="BLOG_clickHandler(this)"&gt;DSL&lt;/span&gt;: there are usually multiple domains involved. The specific customer's problem domain and perhaps a GUI domain. GUI domains and some examples of their representations in the cool tools shown here would have been very nice to have in our recent projects at work. Showing all the screens and the flow between them easily in one presentation model and then showing them in code and then in another outline model etc etc.&lt;br /&gt;&lt;br /&gt;Then we had Pegasus, naturalistic language programming. From &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_5"&gt;English&lt;/span&gt; text, understand it and generate the code. Example given: "If the first element of the second row in the matrix is less than 3, then print I understand you". Then showed how it is broken down into parts and understood and then generated java source code step by step. Very easy example of course, but showed the concept nicely. Interesting &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_6"&gt;side note&lt;/span&gt; he had: If you can translate natural text to code you can reverse it as well... to another language! &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7" onclick="BLOG_clickHandler(this)"&gt;Multi&lt;/span&gt;-language documentation.&lt;br /&gt;&lt;br /&gt;German and English for now and Java as the programming language it is translated into. Russian, Chinese, Turkish, .. are the next steps. As for programming languages Python and Haskell is next in line. Of course, at least that particular example, is even easier and shorter described in Ruby as Jon on my left and Anders on my right pointed out at the same time, both with example code on their laptops shown to me. Jon makes a good point when he says that a domain specific language would probably be much better suited for the task. I totally agree. If nothing else you would have to start off defining things first anyway, practically defining a domain specific &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_8"&gt;language&lt;/span&gt; and terminology. But maybe we just don't know or have experience enough. It's not hard to remember to be humble about your knowledge and experience here at &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9" onclick="BLOG_clickHandler(this)"&gt;OOPSLA&lt;/span&gt;...&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Tutorial&lt;/strong&gt;&lt;br /&gt;&lt;a href="http://www.oopsla.org/2006/submission/tutorials/effective_concurrent_programming_in_java.html"&gt;Effective Concurrent Programming in Java 5&lt;/a&gt;. This tutorial was held by Brian &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10" onclick="BLOG_clickHandler(this)"&gt;Goetz&lt;/span&gt; (my favourite &lt;a href="http://www.briangoetz.com/pubs.html"&gt;java article&lt;/a&gt; writer) and David Holmes. Extremely &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_11"&gt;knowledgeable&lt;/span&gt; guys. Now this is an area were I consider myself fairly &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_12"&gt;knowledgeable&lt;/span&gt; about, and indeed the tutorial was for the most part about things already familiar to me. Code &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_13"&gt;examples&lt;/span&gt; were great though and the second half of it provided me with some totally new things and hints such as the concept of "parking threads" (no not suspending but very lightweight co-operative suspension compared to the heavyweight wait/notify) and room synchronization combined with the implementation of your own locks using &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14" onclick="BLOG_clickHandler(this)"&gt;AbstractQueuedSynchronizer&lt;/span&gt;. I loved (but expected) the fact that they brought up things such &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15" onclick="BLOG_clickHandler(this)"&gt;compareAndSet&lt;/span&gt; and lock-free stuff. To end developers I think that there has been way too little talk about it, ever since I encountered it doing a project investigating lock-free data structures for super computers back at the university in -98/99. I'm &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_16"&gt;definitely&lt;/span&gt; buying their new book.&lt;br /&gt;&lt;br /&gt;Talking with Brian and David in the break and afterwards was very rewarding as well. Java 6 (Mustang) doesn't include much new things at all when it comes to the concurrent packages simply for the reason that they didn't get much feedback about it. Now this is probably due to not very many having even moved to Java 5 yet and even so, not that many taking advantage of the more advanced things in these packages. Combine this with the fact that this is all very well done in Java 5, who took great advantage of Doug Lea's expertise and libraries. &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17" onclick="BLOG_clickHandler(this)"&gt;JDK&lt;/span&gt; 7, not much planned there when it comes to the concurrent stuff, no &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18" onclick="BLOG_clickHandler(this)"&gt;JSRs&lt;/span&gt;, go ahead and make suggestions! Just some minor things.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Evening&lt;/strong&gt;&lt;br /&gt;In the evening all the conference participants had dinner at the Oregon Museum of Science &amp; Industry. I also got to speak quite a bit more with Brian &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19" onclick="BLOG_clickHandler(this)"&gt;Goetz&lt;/span&gt;, very nice fellow, covering such thing as his new job at Sun with the current temporary job title "trouble maker". ;-)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;After that some of us went out and downtown looking for different bars. Went sleep at about 3.30 in the morning...&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36409995-639860559142134283?l=mattiaslife.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MattiasSharedThoughts/~4/1tewVp5C5LE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mattiaslife.blogspot.com/feeds/639860559142134283/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://mattiaslife.blogspot.com/2006/10/and-wednesday-at-oopsla.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/36409995/posts/default/639860559142134283?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/36409995/posts/default/639860559142134283?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MattiasSharedThoughts/~3/1tewVp5C5LE/and-wednesday-at-oopsla.html" title="...and Wednesday at OOPSLA" /><author><name>Mattias Isegran Bergander</name><uri>https://profiles.google.com/116474370120379937309</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-jfLSS13VGn4/AAAAAAAAAAI/AAAAAAAAAJs/N65_Xc9VRZI/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://mattiaslife.blogspot.com/2006/10/and-wednesday-at-oopsla.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUUNRngyfyp7ImA9WBBSGU0.&quot;"><id>tag:blogger.com,1999:blog-36409995.post-3287140973609215608</id><published>2006-10-27T01:28:00.000+02:00</published><updated>2006-10-27T02:01:37.697+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2006-10-27T02:01:37.697+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="conference" /><category scheme="http://www.blogger.com/atom/ns#" term="OOPSLA" /><title>Another day at OOPSLA -tuesday</title><content type="html">&lt;span style="font-family:verdana;"&gt;&lt;strong&gt;Keynotes&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;What to say about these keynotes? Hard to describe without having been there. Let's just say that they were as far away from code examples as you can get. One about very large scale systems and their structure, ability to change and adapt the other one about the pleasure in computing combining animism with computing.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;This was followed by The Geography of Programming by Elisa Baniassad. Westerners think more of objects and easterners think more about relationships between objects. Quite interesting talk with some very good pictures and video to go a long with it. My own reflections. Obviously (or is it?) more suitable way of thinking for our modern systems, who it is getting increasingly hard to find all the dependencies between objects/modules.Relational languages instead of object oriented perhaps? Perhaps the move from relational databases object oriented ones should (also) be the other way around? Move the language to be relational instead of moving the database to be an object oriented one? How will it affect us, how should it effect us? In the near term maybe just think more about the relationships or roles between objects/components, or should we stop thinking/focusing about objects almost entirely?&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Lunch&lt;/strong&gt;&lt;br /&gt;A rather long lunch. Other than the usual suspects (Jon, Niclas, but no Jimmy) and some new found friends over here (Anders and Marcus), Laurence (UK) and Andrew (US, Arizona) also went to lunch with us today. Well actually Andrew had visited this nice place just "three blocks away" the night before or something like that. As it turns out his spatial judgement skills had been somewhat hindered by the amount of alcohol ingested that night. It was about 8-10 blocks away. Oh well we had a nice lunch anyway. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://photos1.blogger.com/blogger2/4747/4444/200/25-10-06_1253.jpg" border="0" /&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Jon with his laptop out, Marcus, Laurence, Anders and Andrew.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;&lt;strong&gt;Research papers&lt;br /&gt;&lt;/strong&gt;Design fragments among others seemed like novel concept to me at first, but isn't that a lot of work for the framework provider? On top of writing good examples I mean. Well of course it is, but enough for the gain? Maybe I just know too little about it or the examples were too simple.&lt;br /&gt;&lt;br /&gt;JTL seemed good in the simple cases and not so easy (which was the goal) in the more complicated cases. Other research paper presentations I listened to were about aspect oriented implementation details improvements (times two) and how to provide uniform dynamic proxies for java (not just for interfaces).&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Evening&lt;/strong&gt;&lt;br /&gt;In the evening there was the tribute to John Vlissides, the renowned co-author of "Design patterns". A dessert reception sponsored by IBM. It was followed by a panel discussion involving the other members of the Gang of Four.&lt;/span&gt;&lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36409995-3287140973609215608?l=mattiaslife.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MattiasSharedThoughts/~4/3rP9Wx-ttW4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mattiaslife.blogspot.com/feeds/3287140973609215608/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://mattiaslife.blogspot.com/2006/10/another-day-at-ooplsa-tuesday.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/36409995/posts/default/3287140973609215608?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/36409995/posts/default/3287140973609215608?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MattiasSharedThoughts/~3/3rP9Wx-ttW4/another-day-at-ooplsa-tuesday.html" title="Another day at OOPSLA -tuesday" /><author><name>Mattias Isegran Bergander</name><uri>https://profiles.google.com/116474370120379937309</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-jfLSS13VGn4/AAAAAAAAAAI/AAAAAAAAAJs/N65_Xc9VRZI/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://mattiaslife.blogspot.com/2006/10/another-day-at-ooplsa-tuesday.html</feedburner:origLink></entry></feed>

