<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-9111682929198509492</id><updated>2012-01-25T22:52:02.028+01:00</updated><category term='lean'/><category term='iPhone'/><category term='terminal'/><category term='scrum'/><category term='documentation'/><category term='business opportunity'/><category term='programming'/><category term='java IDE syntax'/><category term='mobile internet'/><category term='ssh'/><category term='#sj_ab'/><category term='programmering'/><category term='web server'/><category term='monitoring'/><category term='conference'/><category term='learning'/><category term='osx'/><title type='text'>Arne Evertsson</title><subtitle type='html'>I'm completely operational and all my circuits are functioning perfectly.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://arneevertsson.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9111682929198509492/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://arneevertsson.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Arne Evertsson</name><uri>http://www.blogger.com/profile/17025627238866719853</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>27</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-9111682929198509492.post-7330060388804709222</id><published>2012-01-25T20:35:00.000+01:00</published><updated>2012-01-25T20:40:09.397+01:00</updated><title type='text'>Safari Books Online</title><content type='html'>&lt;span style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;I signed up for Safari Books Online today because I wanted to refresh my iOS skills with the latest edition of&amp;nbsp;&lt;a href="http://my.safaribooksonline.com/book/-/9781430236054" style="background-color: white; color: #003399; line-height: 12px; outline-color: initial; outline-style: none; outline-width: initial; text-align: left;" title="Beginning iOS 5 Development: Exploring the iOS SDK"&gt;Beginning iOS 5 Development: Exploring the iOS SDK&lt;/a&gt;. The experience is however far from what I expected. Safari Books Online has been around for years and years so I thought they had figured it out and ironed out the rough edges with online reading.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;The big screen reader is Flash based and it has a number of problems:&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;span style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;li&gt;The text is blurry.&lt;/li&gt;&lt;li&gt;The pages are formatted for print, not for screen reading.&lt;/li&gt;&lt;li&gt;The scrolling speed is so fast it's almost not usable (at least on a MacBook trackpad).&lt;/li&gt;&lt;/span&gt;&lt;/ul&gt;&lt;span style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;/span&gt;&lt;span style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;The "mobile optimized site" is perhaps not so optimized:&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;The pages are shown as blurry images.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;The text is so small it is barely legible.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;There is no pinch-resizing.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;The zoom function makes the pages just too large to fit in landscape mode on an iPhone 4.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;The system doesn't remember where you left off, when you switch between the big screen reader and the mobile site.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;And there's more:&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Why aren't errors in the text fixed?&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Why are links in the text not clickable?&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;span style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Who said things are moving fast in our business? The IT sector is moving sloooowly.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;/span&gt;&lt;br /&gt;But guess what, I'll probably become a paying customer just because of the convenience of immediate and ubiquitous access.&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9111682929198509492-7330060388804709222?l=arneevertsson.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://arneevertsson.blogspot.com/feeds/7330060388804709222/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9111682929198509492&amp;postID=7330060388804709222' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9111682929198509492/posts/default/7330060388804709222'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9111682929198509492/posts/default/7330060388804709222'/><link rel='alternate' type='text/html' href='http://arneevertsson.blogspot.com/2012/01/safari-books-online.html' title='Safari Books Online'/><author><name>Arne Evertsson</name><uri>http://www.blogger.com/profile/17025627238866719853</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9111682929198509492.post-2565911964524783114</id><published>2011-11-16T11:55:00.001+01:00</published><updated>2011-11-29T16:30:28.504+01:00</updated><title type='text'>Go native. Web apps aren't there yet.</title><content type='html'>What's so great with a native app, when you can build a web app that works across all mobile devices? If you're just aiming to provide information and have no use of all the fancy hardware of smartphones, what's the point with learning Objective-C etc?&lt;br /&gt;&lt;br /&gt;Seems pointless and expensive to write that app.&lt;br /&gt;&lt;br /&gt;Hey, I want an app! Everybody's got an app, I want one too. They are.. you know.. apps.&lt;br /&gt;&lt;br /&gt;That's no good. Here is list of real reasons for writing that native app:&amp;nbsp; &lt;br /&gt;&lt;ol&gt;&lt;li&gt;Apple is running an apartheid system against web apps. Se below.&lt;/li&gt;&lt;li&gt;A web app can't cache data as easily as a native app, which leads to slow responsiveness (or is this true with html5?)&lt;/li&gt;&lt;li&gt;It is close to impossible to make a web app respond to taps as fast as a native app.&lt;/li&gt;&lt;li&gt;It's really difficult to make a web app as stable as native app. I've compared the Facebook native app and web app: The web app just simply does not do anything when I tap "Check In".&lt;/li&gt;&lt;/ol&gt;Apple's apartheid against web apps:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;A web app has to share browser windows, and there are just 8 of them, before one app gets kicked out.&lt;/li&gt;&lt;li&gt;A web app will reload even if it's already loaded =&amp;gt; slowness.&lt;/li&gt;&lt;/ul&gt;There you go. Make that app.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9111682929198509492-2565911964524783114?l=arneevertsson.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://arneevertsson.blogspot.com/feeds/2565911964524783114/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9111682929198509492&amp;postID=2565911964524783114' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9111682929198509492/posts/default/2565911964524783114'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9111682929198509492/posts/default/2565911964524783114'/><link rel='alternate' type='text/html' href='http://arneevertsson.blogspot.com/2011/11/go-native-web-apps-arent-there-yet.html' title='Go native. Web apps aren&apos;t there yet.'/><author><name>Arne Evertsson</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9111682929198509492.post-7775381670068695168</id><published>2011-09-14T16:28:00.000+02:00</published><updated>2011-09-14T16:38:45.285+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java IDE syntax'/><title type='text'>Writing our own stories</title><content type='html'>&lt;br /&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: right; margin-left: 1em; text-align: right;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;img alt="" src="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAMCAggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoICAgICgoKCAgLDQoIDQgICggBAwQEAgICCQICCQgCAgIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICP/AABEIAUABFAMBIgACEQEDEQH/xAAeAAAABgMBAQAAAAAAAAAAAAAAAQIHCAkDBQYECv/EAEoQAAICAQIDBQUECAQCBwkBAAECAwQRAAUGEiEHCBMxQQkUIlFhIzJx8BUzQlKBkaGxJDTB0UNyFiVTYoLh8UZjc5KTlKKjsjb/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/8QAFBEBAAAAAAAAAAAAAAAAAAAAAP/aAAwDAQACEQMRAD8AtT0NDQ0A0NDQ0A0NDQ0A0NDQ0A0NDRE6A9IZtEz64XtI7YaO1iJbMjNYsErUpVo3s37jKMlatSINLKB055SFij5gXkQddB2jT41oeMe0Klt8fjX7dWlF5eJbsRVkz8g0rpknyAXJz6HTYnZ+Id1/XTrw5SP/AAKhhu71KmSMS3HR6G3sy45kqw3JFJ6WVIB1vOC+7Vs1GX3lKSWLpIZtwvtJuO4Mw683vl1ppV6k4WIxqPQDQc8vfB2qbpt0W6bu3p+i9ov2Ij1IGLksVelg4PxmwEwPveWlt2ocSWDirwylRSoKy71vFWucfI19sj3OQHyyGdSD8+unubPr+fz+GlRoPoP6aBlYts4wkBD2uGqoP/Z0d0usn4NLdqK+PmY1z54Gs7cAcTn/ANotuBwMgcOHlz6+e8Fsfx083JocmgYjcF4zqqWRuHd3CAkRmPcNmsT4BPKsnjblWjkPkOZVTPmU89aW33vJqLKu+cN79takDmtQV49529D5nNjbHllAHmC9dCevwjGpHMmsJi88HH4dP7aBvOzLvG7HvHTbN1o3WxkxQzp44HoWrSclhf4x+enFitgnHkfkfP8AkdRN70ns8to38G1VVNq3dWV03CrEyrIU5jy2YIXiVi5YE2I+WdeVTzMAVMJt37U+0Ls/mjTcZZL+2hvDja47bhttgZ+7Fc+G1Tkx1SOR4yP+zcDQXKK+lA6hh3evac7DvJir23OzX3wvgXHBrSv+7XvYWI5JAC2FgbPTr0zMWvdDAEHzAI+oPkR6EH5jQejQ0QfShoDGj0WgW0B6GiB0egGhoaGgGi5tHpB0AJ0NJOi0GbQ0NDQDQ0NDQDQ0NDQDQ0R0ktoFE6xs+sc9gKCScAAkkkAADqSSegAHUk9Bpltp4qfiMv7sZIthSQqbYJjk3so2GjpkAMm083wPcDBroDJFiEmWUOi3vi+3e54NnaJQGMcu6TL4teBgSHWpCCovWUAPmyVo2xzvLhoj7ez3sfqbc8k6B7F2woW1uVt/Hv2gMELLOQOSIEArVrrDXj/YiXGuzp0ljVURVREUKqooVFVRgKirgKoAwFAA1n5dAlV1kK6AGj0CANKGjVdK0BjQ0Wi0BkawsNZhomXQICa1PEfDEFqGWvYhingmQpNBMiyQyofNJI2BVlP1GR6Y1uguiK6Cln2gPcJ/6PE7ttSu+zTS8s8DEu21yyEKiFzkyU5WJSKRxmJuSN2fKMzSd37vu8Q8OFIqttrNFcBttvl563L0BELc3jVD0yvu8irnqUby1fLxbwnBdrz1bMSzV7ETwzwuMpLFIpV0b5ZB6EdQcEdRr5+u9Z3eZ+Gd5sbbIHevnxtvsOP8xSkJETfLxIiGhmxjEiH95chav3bvaV7JvjR1rD/om+wA92uyoK8z9AVq3TyRyEk/DFMsEp8gr41LuDcsnB6fj06fP8Prr5ij8sA/Q+R/HUoO7P7QnfOHvDryN+lNsUj/AAVuRzJAgPVaVol3gGPKNxLF0+4M6C+RX0Z0xXdv72O08S1zNt8/2sYU2aM2Eu1Sen2sfMweMnos8RaJvLKH4dPhFOCOmgyg6WDrFy6UugyaGhoaAaSRozpJbQJOi0CdDQZtDQ0NANDQ0NANDQ0knQAtrDNJjSidcN2udo36MpSWBH487PHXo1gwVrd+y4hp1VJIwJZmXnfySJZHPRDoOE7QGffrsuyRMw2yp4Z4glQlGnMqLNBsUbjqvvMTR2NxdCCtWSKAHNxjE9NSoqKqIqoiKqIigKqKoAVVUAKqqOgUAAAAemuT7J+AjttJIJJPeLLM9i9a5QptXrDeJbsEAAhXkPJGhz4cKRRg4Qa7QDQADRsNLVdAjQIVdK5dGNKA0AUaVjQxo9AWNDGj0NAkjSSNZNFjQIGhzaU2kAaAMNRI9o13YhxBsckteIPue1iS3SwBzyxqA1unk9SJ4l50Ty8aOP8AeOpc681mPI+XyPToQcg9R+H8tB8wTMDg/PqNJP8AtqVftGe7yNi4glevGE2/dea/VVQQsUpbFysvkAI5j4iIB0imTUVQdBuODONLe3WobtGxLUt1354Z4W5XQ9cj1DIwJVo2DI6kqwIJ1cX3D+/5HxEP0fuCx1t4ijLjk+CvuEMY+OauhJ8OxGuGmrAnKkyJ8KusdLh1s+GuKLNKxBbqTPXs1pUmgmjOHjkjOVZT1yM+akYZSykEEgh9NtecMMgg/wCus4OmD7o3eIh4j2WruMYWObrXvV1P+XuwgeMgHpHICs0XmfDlGccun3jfQejQ0Q0egGsTjWXSWGgx6GiI0egzaGhoaAaGhotAROkFtGx0htAmSXz0yVNP0pxFJI2WpcNxiCJc/BJvd+ASTykA8rPt+2yRQoWHwvuE+Oqgjte2TtepbFt1ndNwdkq1VVn5BzSSO7hIoYkJUNLLIyqoJA6kkqATrW93fhWSrtNb3gEW7XibjdJHxG5uMrXJwx9TEZRAOp5UiVc4UaBx1P8AXWVNKA0YGgVjSNZMaLl0CcaVnRMdI0GUNoZ1jGlaBWdHpGlDQHoaGhoCI0kjS9ERoMZbRMNGV0NBDr2l/YOd34cnnhQNb2hjuVfC5d4EQregUjqBJXHjYAPM1dNUguPUdR6HOvp43GmrqVZQyMCrqRkMjDDKQehBUkEeoONfOD27dmzbRvO6bYfKldngQ4xzRBy8DAdcBoHjIHyxoOE0MaIaC/hoJ8+yH7THr7ze2p3Ih3CmbMSFsr73RYMSq+jPVkkUkYyIwD91dXCVD/pqhH2dt1ouM9j5cHxJ7ELD5xy0rAcf0zq+vbW+EfgP6gfn+Og940eiGj0A0R0eiOgxnRaM6LQZtDQ0NANEdHoaDHjWGYfka9JGvPL6fiP76CtzvM9qB4n442ThGHlfbdt3GKzuXJ8a2bNWFrViKQfd8GrEvu5UjrLNLn7qYsjgX8/6aqy9mPwyLnFvE+6yDLVGtonTp4u5blYaST1PMI67J5no+NWoxroDI0AdAnQUaBY0knShoEaBAGhnRldFjQGNDQA0fLoC0oaLl0egPQ0NDQDRHR6I6BB0kjSm0QGgTMmQR9NUg+1Y4NFXi6eYAAbhRpXOnQF1R6kh8zkk11ORjzx6avAfVRftmNuA3XZZevx7dai/+jdDY/h4p6emdBXeNA6InrozoJKezl2/xOM9jHQhZbcoz846M7L09Opz5nV823JhQP7apI9lJtXi8XRuRn3bbNxmBx0BZI4AfoftT11d3THQaD1DR6IaPQDSWOlaIjQYs6Gl40NAvQ0NDQDQ0NEdAl202/br220tg26fcr0ojiiBRBys7TWHVhBBGigs8kjjy6YUMxIAJ04Vh8AnVQftde2ySzutXY43/wAPt0EdydRj4r1xHKcxB8oKhQJ9Z5CfTQO17Gbb2NPiCwwH21+nHkdPjjrSyuo8zygzjGSc5zqyZTquj2M1rO0bynTpu0TgdOhelEPxAPIMfy+erFkGgA1kXWNNZRoD0NDQ0A0WNHoaAtHoaGgGhoaGgGhos6GdAeiOhnQzoEHRA6WV0XLoPPYbpqn72w/FCyb3tVUHLVdqeVx5hTctOVH4lIAevpjVvV5+mPn0HTPU9NUD9/DtEXdOLN5nRg0MNkUYSDkGOhGtYkehDSLI2froI/aBOlY0MaCwb2Nmy827bzZwfsdsggz6A2bisR8sssBPzxq3yuvQaqq9i/APE4jPqF2hfLzBa834efrq1ZD/AGGgyjR6IHR6AaGhoaBJ0WjOi0C9DQ0NANEdHojoPDuXVSPmMa+e3vnb21jiziKRupG62Yh6/DAVgQfgEjGB8tfQrc9P4f3184/ePkY8Q78W6sd63PP/AN3Jjz+gGgsQ9i5uBNTiCLrhLm3yAfIyV50J/wD1rn6asvQaqB9jz2hLBuu67a4AN6nDbiYsQfE2+RhJGB5Hmgss/wAx4f44t8jOdAY0tToBNAtoFZ0M6xl9F4v56aDNoaSp0edAekltGdY30Cg+lZ1jGieXQKc6xiXXlu7oiKzsyqiAlnZgqKB5lnYhVA+bEDTZWO89w/G7K+97OrA9Q2508j6HEpH9dA7PNoc+uK4X7Z9pusEqbjQtOeoSvcqzOfqEjlZyPwXXZpMD+R6aDKraDHWIvrBcsYUnQMh3v+31eHtlvbgGUTrH4FJWGfEvWAVrqFyCRH1mfB6LGTr5+JZixJYlmJJZiclmYlmYn5kksfqdTl9q726C/u8Gzwyc0GzoxsBTlG3GyAZAfma1cRxZ/ZZ5QPXUFtAefpouny0eiOgsa9jNuqrc4gi9XqbdKPi9IrE6E8v4zDr+Hz1bDXmzqh/2dHbFDs3E1drMghq7hDLts0jnEcTTFJK0khPQILMcalugTnyfI4vRpT+fmCOhB6EYPl+Og3anStYIZOmsnPoF6Gi0egSdFozotAvQ0NDQFoi2ks2uQ7S+1ShtFSa9uVqKpVhA55pT05mzyoijLySvjCRRqzuc4HTQb3ebYVc5wfr5DGvn076XD/uvFnEEWCAdznnXPny2wtlSD6jEnTGfL6alN3gfa8Xp5ZIdgqw1awLKt2/EJ7UhBIDx1y3u9cHGVWUTPgfFy+Qgh2hdo17drct7cbD27c3L4k0nKGIRQqKFjVURUUBVRVAA6Dy0HR933tUbZN623dQfhp243mGCS1aT7G0mBjPNXkkx1+8B9NfRjsV5ZI0dGDoyq0bjydHUMjD/AJkKt+BGvmK/mcjGPx/P5xq8v2avbsu7cNVYpZVe7tmNusjLc/LFkUpH5vMzVgo5wTzNG3qDgJdvLjUc+8Z35Nh4c5ordrx73QLt1LlnuczDKeKvMI6wbpgzMrEMCqNqNnf09o5LRnn2Dh9lN0KI7m5RsJjVaQDmgpLHzc1tAeWSZs+CxKqviKTGx/dj7HOKIgLm18JQruUrGZ+IOKJXdkeRs+JSq2PB8Jj1ZpjFanfJJcdAA6ztb9q7xBDLGtfYIdsjniE0B3ZbU1iWEkqJlQGrEI2ZSqkIwOPvHrjF2S+2HupIq73tleeAt8VjbC9eeNf3vdppJIZiB0KiWFsep6Z9Ha77PTiPd7Mu8cQ8RbFDMyRRzTlJo4IljHJHFzeHWrgKDjPNliepJJOmpfuH7N46Vl4/4fa0zKiR+GACzeS+Itwrk+XU+fToSNBb72Rdsu3b3TS9tlqO1XfpzocNG+AzRTRth4ZkBHNFIoPXI5h1Pcq+qaKnd3407PrbbzQEW400UNeNF5JK89RfiZL1J0SwiBcstuNJDD99XwTmyfuyd6nbOJ6Zs0JCJYggt0pios1HcfCHC/DJE5DeFZj+CQDyRgyKD6Z0hm0SydPx1oOM+MK9GtYuW5kr1q0TzzzufgijQEsxx1JPkqqCzsQqgkgaD1b7xHDWiknsSxwQQo0k00rrHHFGvVnd2IVVUeZJ/n5aro7w/tcYImlq8OVluuOZf0nbDLUBHm1aoeSayB1AkleFcgEK4I1G/vI96DeuPdyXadprWG28zE0dsiUeLa8Inlubg5IACgmTkkda9YYyWcFy6fDncB2Ph2mu68dbmnLzfBt1WR1hkfHN4LSxqLd+X9+OosMa4y0hGToIcdq3eD3ziKUDcr9m+ST4VVMrAg+9hKVZQmfI8zIzfCMk41w+48A24Y/Flo2oowPieSlOka+hJkeFV8/POB1/HVmvAHe9FSPHCPZzuPujDMdmKq1f3hf32khqWJJAT5ZtyZGfIg6dDsa9o5Uu2ztW/UrHDm5MQiQ7g0hqTOx5Vi8SxHE8DuSOX3iPwnPQS9QNBTPW5VKuh5WVgyvGeRlYdQVaPDKQQMEEEfPU8e6L7SvcdteGpv8ALNe2qRxXj3FlLWaLry58WblzehjRw8kbEzohDqWA5Gmj3j+4XsO+wTclOvtm5EMYdwpwLCRKcEG1BFyR2omxh+dPEAyyODjMFex3ZqW1x73wNxdWSlYtyi7tu4St/hI7yVjDWlhmPIEjlKqY7Ibw5Az15vDbpoLjuHt6SeJJI3SWN0WSOVGDJLG4DJIjLkMjqQysOhBB0zvfD7wsXDezWb7hXmx4NGFiPt7soPgjB80iw1iT5JER5sMx89k12mTTcOz1JWMn6M3B68PmSK9mFLUaKTnKpKZwq5HKpA8sDUUfapd4D9J72u1wt/hdmDRvj9vcZlU2T19II/DrjpgN4pHnoIW7tu0s8sk88jSzTO8s0rHLSyyMXkdj6lmYn+P0GvJzaS3mdDQLzoA6ToKdAec5Bxg6sW7mPtNfc44dq4jeR4YwsdXdcNJLHGoCxxbgi5eVFHwLbTmkVceIrgc4rpxoc/8APQfTBw5xVBZijsQTRTwTKHhmhdZYpV/ejkQsjj6qenkcEEa39ebm66+enu5d7neeGZM0ZhLTduafbbPM9OX95kAIavMQTiWAqf3g65GrhO6x3z9q4mhPurtXvRpz2dtsEe8RgHDSxMMLZr5OfGi6qCPESLIyEmlbS9eSvZBAPz16VOgB0WjOi0C9EdHojoPHeshVLMQqqCzMxwqqOpYn0AHUk9ABqhfv297OXijdGETsu00ZJItviz8Mp5isl6UAkNLYx9n5+HCEUYLOTezxTtazwSwOcJPHLC5HmFljaJm/gGzr5puM+EZ9vt2qNlSk9KearKpGMSQOYz09QQoYEdGByMjQahjoxpBOjVtAE1Lz2ZvbcNr38UZnC0t8QUZOYkKlwFjRkyOqlnZ62RjpPk/d1EXWanOyMroxR0KujqcMjqwZXB6HKsAQc9CNB9FnYr3dtm2OBYtt2+GvhixlYeNad26sZLU3PM5ycD4wAPIa5Lvgd5GtwttZ3CSL3izNKtajVLMDYssC2HdQzpDEgMkjAHPwxr8Uia2ndE7eE4h2GjuRZfHdDFdQH9Vdr4SypGOnOQJ1z5pKpHTUa+2C0eI+0jatpISTb+Fq/wClba45gbriOWNJM9P1jUkC/Fj7TI8wA4zg3uHb1xcU3jjTdLUHvCiWts9RFQ1IpBlEZJg0FMhevgpFJPhgZZQ/Moc/cPZF8KNXaGP9JxSlSFs++iR1bHRjC8Xu7jmxzIUGRnqNTM26XqfMnOTgZ6nqegyeuc5IHTW18b6f64wevl8vX5fTQVd9m3aVu/Z3u8HD3EFh73D1zlXbdzYHw6qsyp4iCQuyQRFglzbzIwiUiWPKNh9za7A4+FO0LYbW3TPDtu/zXa7VIVU+C7RMZahHMA9F5JIbETEc0WCFB5ATJHv8djUe+cObhEFBsUopNxpNnB8arGzSRg4J5bFbxoWAxnmXB6A6i37PvcbnFe6bXuG4BmrcIbSlOu7EkWdxtNKsU7jIUvFQCAnHMWjiZjk6CzqDooz54H9tQD9p7uV3cU2jhja69i3e3Cydwlgr45fdanNFD7ySeWOA2pPEMk3LEogJJLKo1P6SIkYHTyHz+n9P66YzsOotan3LfZ1QS7jOadIqWZo9k2yaaCiDzDo1uc2rzhPhbx41yeRdA2PYj2GbT2fbDa3C9Ij2xX8bdb4A5pSACm30Q+D4BlxFCgw08pEjjoix8d3Z+waXiW2OMuKYhNNaPNse0TASVNu27m/w8zwuOWSWQZkjDDBz47hnlURJ7YYX444m/wCjkTkcP8OTQ3N+kTlPvu4HmENBDk/AmJInI6KTZYjKRafPtL75PDGy5ju7vUjkTA91qE25l5fhCeDUEnJjooV2XAA6DQP/AAQ4AAJwMYAOAOnkAOgA+QAxpk+9f3Wdv4ooNVtqI7MYdqN4LzS1JiMAnyMtdzgTV2PK69RysqsG44b9qNwdPIsTbhPWZmChrVC1FGM+ReRVkSNMnqzkAeZwNSR4T7RqO4wmajbrXYvIyVJ4rCA+uTEzcvywwU6CHfs8O3C94u4cJb2FG58P/ZxTGRnazUilMTKSw+0915ofDmBy9eaLmAMRZn470vdP27iqite4GimgJkqXIFT3msxzzKOccssEucSQOQrYVgVZVbUVe9oq7Dx3wrxDD8Ee6yHbNw5RkSANHUd2LHlDPWtREkYOa/NkkHVilP7mD5rlT+IJH+mghBwB2L1+zjYeINwW/LfLRR2k8aBK6rYhjavUhCJK4kaWxMOYhkJRQMHBJpv3fdZJpJJZWMk0sjyyu/3nlkYvI7fVnYk/j9NWse2A7SDX2vbdqXH/AFjclsTfPwtvCeGB16Bp5xnIweTHQ9dVOuNAg/y0QycZ9B08v9tLK6S2gBfSk0WNAN9P7aBYHz0hBoeHpR0AYa2nC3Ec9OeK1VsS1bNdxLXnhLLKkgI6o6/dyCc5+FhlTkHWqDaA0F1PcS7+kXEiLQuhK+9wxlmRMLBuEUY+OesCfgmQYaar+yOaSP4A6xzZrSAgH6Z18yPCnFVmjZguVJWgtVpUngmQ4aOSNsqw88j0ZTlWUspBDHN/fdD7x0HEuz19wQJHOPsL9dT/AJa7GFMqgZJEUuRNCf8As2A6lDoH4LaPSAdDQZtJYaVrG50HPca8SQ1K8tixLHBXgjeaeaQ8qRQxAvJIx69FUZxjqcAdSuqFu+53kKvE28G7TpRVYIY/d45ioW3eVT8Ni5j4QeUBYo8M0cfws7HAWc/tg+3hq9KnsEDkPuJNy6AcEUq8nLBEeueWxaHOfQiufnqpkP8Aj/HQDGjA0kPpegGiI0eiOgl77OnvVJsG5PRvS+Hte6vGskhPwU7ikJBab92GRCYJyPJfCkJ+yOn57s/btDW3DivcYK7btvu98QyUts2yrLGstmCuJZ/Had+f3eggdDLaKlAEXGfNa8+y3s9l3XcKu3wnlew7c0nIXEUMUbTWJyi/E4hrxySFBgvy8o89S89lv2sbDte5Xl3CZa924sFfb7dhUjqmsGLSV/FJ/wALNafwmxK/hOqCMuhB5gkH22dlvEs5WzxPvs+37ZYq20UcPmeHatkvgK1Nt4YIbFzb5QWWS4WCpKio0kaOrjltj7C9pEcc9KtxPt24qGEd7h3f6W5bVKxZTJZr3re4IGgnZVaSOz7tIoIDJlQ2rMJd2iKZHxBx0A6qynp59VZD+JU/XTX8W9ifC6QPatbPsSxxZmknsbfRjjTGXaWR3iEYwMklup+R0EFZO9/v2y0rlbiE09/qT1bdKDddrlWaStemqzLBS3KxWRacsrg5cQu00XK7F5eg1JL2YHZkNs4Uos4+33NpNzl6HPJNyxVgSflXhjP/AIzqDXfn758O9JHw/wAPqo2mN4gXirCIW7KPy146MAVWgqxlgAyxo87HoFVRm3fs04SSjRqVIxypUqVqqKf2VrwRxYJIySCrZJ8zoMHa7vkkG32DCcTyqlWt5/5i3ItaEgDBJV5Q5+inqMHTL95rtqq8I7A3gkizHUNDZ4OR3554IEiikYqpUJWjxZlLsmVjOCSTp3eI3NncaldP1VNX3Cx0BDSMHr0YjkZB5zYs5BVlNePzDaYD2kvZBNuXC9loEMk+3TwbjGqjmkaKESR2gi/tN7tK7lR1bk8jgDQQ67mnct3jeNsS1a3+xt+yblK9l6u3TM1zcXR3glksyDljhywkGJmsN1bMSliTM2P2dHDdTbLlWht1VLVirNFDuF9DuM8M0kZWOY+MeVArkEiBIzjJUqQuqo+7r3wt64ZlUUrBnoF/Em22wWepICfjaPPxVrDj4hNAR1wXWQAqbd+wP2gnDe+xRqL0e33WUmSjuEiwSKV6Hw525K84J6qY3DEfsJ1GginL2bw7dXfbdz4W2TwfEnaJdwp7rWaASzNI8NXf9q2/c4b1SMtmvYsSU7ghKRzRc0ZZm42/ujtZmktcMTWdqtAIkUG02N6uVg5cMJLu9X6mzxVaqBSxSJb8vTIVvum4AX4wvPzqI8c3PzAJgjPNz55CCOucnpqLnea7/ewbHGyraTc9wCN4VCjMs3xjy96sIWhqR8xXmJLSkZCpnqArr74/aHxbBDt20cVw13ena/SFLco2RpbcaAQNmWAiGUJlWZmhhmzyc4OQdXZbDb54w/74Dj8HAYH+uqMewyhf444yqy7iTZU2RfvISfd6u2VHEhrRI2RHXLGKtGijLtJlslmOr0dqQheoA+g6Y+gHoB1wPloKf/bDcWCbf9vpDypbYJG+Qe7YeQj6Hw4UORnzHy1ArOpb+1Ms83Gd8Fs8lTbUA6/CPdFcr+GWLf8Ai1EkLoEsf9/4Dz/kOv8AA6lR3cvZ077xAsdqRV2rbpAGjt20YzTofJqlMFJZVboVklaGJgchm07ns3O4/HuYTiDd4uelHKRttN0yl2WI4Nudf26kMgKRReU0qNzZROWSyPd+bdnnpV5GSnG7QbjbhbkaVlysu3UpVxyuM+HbsxkGAFoImEwdoAgnQ7iHCVVZUkh37eYauI9z3qvYhgpbc5YrJJDFD1s+6cvPcWv78KkZBk5mDqsXO+Z3MJuFpoZ4Jmu7PdOKdw8jOr+GJPd7JiAiLtHmSKaP4Jo8kKpVgLzds4XgrxQ14YY4q8SpDHBGgSKOIDl8NIwOULykry+RBOcknMPO2LhOGx2e7rVsp4g2utucVckdUfZb80NOxESSVxCixgg/dLp0BxoKXxonGix+fP00DoBotA6CjQA/76mR7L/t8O08QpQmblpb3yVH5jhY7qczUJhnyLsXqtjzE6Z+4NQ55dZ6N6SJ0liYpLEySROvmskbB4yD6EOAR+Gg+niKTp+f4/10NNr2Ndpg3Tadt3JcH3+lXtMBjCySRr4ydcfdmEi+XpotA62sM51m1imH+ugou9qVvDy8Z7gjZ5a1Xbq8ec/cNZZ8/wAXmfUSBqentguz5q3EFPcMHwdx25I+blwvvFGRo5Vz16+DJAw8uhPoM6gZoEhNL0WdAnQJdtGmixpcS6CxL2R3YX4ti/v9hCYa6ttlTIBzNOqtekXIyfCrlIOZfWdh6HUJu2fs2l2fddx2yxGUenblhAb9qIuXgkHzSWBo3U+RB+mrpPZ2cLLBwdsYUDMtea056dXs2p3LH5/CFH8APTWk77fcQg4nhS1WeKnvFdSkVhk+ytRAErVtlPjCxn9TYAcw5YFShwoVB9n/AHht92pfC2/d9wpxYKiGKy/gDJ/Zhk54k+eUVTrVcd9rW67nj9IbnuF9Q/OqWrU06LIehKQs3hBjnlHKvngadTde4NxhBMIW2C47MxRZK5gsQMR15vHSbw1QjrzyFB5/hqVfdy7jq8LxNxLxRGktmm8Q23Zq5S0zXp5I4aYkdcxS3JLMix14V5ooWPju55MIDfdi/dMl23e+Bq1+DG5bhdtbxci5wzU6NFYpKdeVQMI3PFLLKckCR+QYMbauNXAXqcdCST6epJJ+Xnk+nnqLvY/3et6ffhxPv+4QC4K09GDaNvj56dSlOecQSXJQkk08cpLyukeHkXPiMpCq9Pblwvfu7dNS2+xDUmtla8luZDKK1WQ4tSRQDAnmMQMUcbPGuZCzOAuCGPsw3JZIbO5OVWK7YeeKRyFUUogtamxZsKBJFH7wBnp4wPmcntKu8xTAmGWOTkI5vCkSQKfMBuRm5c/I4zpnds7ru2OVk3P3je5lA5W3WUTVo+UAYrbXCIdsqqmByCKrzKMfGTknT8VdmW37Tu2w39upVqUtu++1WxUjFYWqlihcmRZo4+WOQ17FaKdGkQuvKwVhzOGCrr2gvdZbh7eHsVouXaN0klsU2VSI60zHnsUGOMIUdi8C/tQnAz4TaikcH73Kfp54PQ58seRx6+WvpM7ROzmlu1Kfb79dLNSzGUlibz6j4XRvvRyxseeOVCrRsAykY1W52vexxsq7ybDukLxMWK1d0R45Ix5hFuVkkSU56AyQQn5lvUK3RccoIWeQxA8wi8SQxj6+GW5FPywus/DnDk9meKtVhksWJ3EcMEERkmkc+SpEgyzY69MADqSB11N3gz2Q3Ec02LlvaqUIwGlSWa7Ic9D4cMcUIPTr9rKg+urAe7J3Htm4W5paiy2b8qeHLuNoq05QnLRwIgWOtEzeaRhmcBQ7uBjQcd7Ozuhy8NbdNLfWMbtuLq1oKyye6148+BTEgyrMGLSzNGeXxGVQX8INqX8i4U/ho4Ux00qXyx8+mgoY9pDbD8ab4QSeWSkhz0wUoVwQPmoPkemcnTWd3fsYl4g3qjtMZKCzMPeJV84akQ8S3N1BGUgVuTPnI0Y9em674fEgucU8Qzg5B3a1EDn9iswrL/ACL0+Wpi+xs7Jy9nd96dR4cUUe2QOepMsjrZtFfkFiWBWPr4uPQ6CxexwW0W2S0NrKVGj296e3sSwWsVrmGs3wDI8M8rFlBPNlvi10fB3DsVGtXrRRrHHBDFEiISVXkQBsE9WJfmZnb4nZixJJOt8tYZzpZUaDneMbljwWWoAJ3+zSRsFK5fINl1P3xCPiESgl35F6Aswix32+OKvD/B9yshPNZrNtFJGK+JNNbVvHmk8uZvD94tTOB99x5c41Kbjjjqlt9We7dsRVqtZDJPNKfgjUDPpks7eSRqC7sQqgk6oO73Peds8Ubo9tw0VKDnh22oWyIK5b9ZIuSvvVjAknYeR5Yx8MY0DI8v8AQaxnSydJOgSp0pT56SujRtAA2s0J6j8jWPGs1c9Ob0+f4dT/AEzoL2PZz5m4L2Jm6lYLEY9fhjvWlXzPoAOmi1tO4lw+9Lg/h+GRSrtR94IPmBbnmspnp0ykqnH10Wgk3rG66yaLQMV3uO7DW4p2tqM0hgnjk94pWgvP7vZCsg5085IJUJjljBBKkEEMq6o77eu7bu/Ddj3fdapiVyRXtRkyUbQHUmvYwATggmJwkq/tKNfRs6603EvCla5C9e3XgtV5PvwWIY5oX+XNHIGU/jjOg+ZXwT8j/AZ1jljxjOr7N79nVwZYfxH2GshJzivNarJk/wDu4Z1jAHoFAGstfuIcH14pY02Db+SVDG7yrLLIqFSGZJ55pHgZVy3ixlSpHN6aCgzWSM4103ahSoRbjdi2uSabbo7MsdOWxyGWSBGKq7GP4WDEEo2AWTlYqpJGuZXQfQR3EaZThDh4NjP6MhP4BmkYD8QDg+n4afadRj8/n++ol+zP7WY7/ClGPI8bbWl22wMjI8FjJAxHoJIJVIPqVbqddx3oOMJHbZdkgmkrNxDufuU9iFjHPFt9au9y8K8ikNFPYjjSqsw6xLMzrhlU6B9K0a4+fX6aY3tl3BJOI+FKEqgwNJvO6IrDIe7tlOFKgB9DEt2xYUdTzRKcdNPlTiyM+WcdPpgevr+Oml7xXYzJuiUpqNpaO7bXcW7tlx42ljWVlMU9WxGrK71LsLeDMqHPRWw3KQQdmlCoAI/v/v6/X1+em+7Zu1Y0I4Yq8Pvm5XZDW2yiG5TashDIzyuAfBpVYwZ7VnGIowAOZ5I1aFHFvtao6LWakuzNPuNWWSvL7pucMm2PLE5RmgtGDxnhLDoDCW815mxnUE+1bvc7/u25Tbm1+xRkeE1o4dvmlqxwUxIJfdkZGErq0gWWV3YmWTDMMKiqFr/dop8UpauW+IGuRwy0YjKl2xt604txS1KX/RVWoW902+Opyp4t2bx525XcZ6ByODtwXerse5Jyttm3mVdsfzW9ckUwWNzhJP8AlYYTLTqSD9cZbUy/AYGaiOh22bmJ4Zp7k18Qy+N4G5yvuFWR+gbxa9oywvzgBSzRkqMEYIB1ef3b+8jtO/0q8+3z11fwo1m27xY1tU5FQB67V/hcRxtlIpI0MTxhSp6EAHwr6Obp+fz5eevFDax5/Ccnoen98HWV7HN5DP4ZP9tBlJ/9f9vXQU6j5vHaad73qHZ9ptyCvtUsN/f79KQBAY2b3TY1mXIaW5Mvi2wh5VrV3iLc0pCSCi+vn/roPYp1puLuI46laezIfs60E1iQ/JIInmY9MnoEPkNbg6jZ7QDtAWhwnvcpJDTUzRj5WKky3pFrLy465VGdjj9kHQUO7xuxnllnc/HNI8756jMrtMx69SfjPX5Y89Xr+zj7NP0ZwltaMpWa5G+5T5AB5rreJGD+FdYAPpqhicdG+XKwHT5KQv8At66+k/sdoPFttGGTk8SKjSjfwgRGHjqQq3hqeoQEHA+X46DqptzUHHmcgeXz1Crt49qRse1y2KlWK5utyCWSB44E93qrPGxR0a3MCW5WUofAgl6g4J64kPS3GWLdN2hlldomgqbjW52LLChimqWY4uboiJYqpL4eSvNOzYHNr54NztF5JXYklpJH5iep55GcnocDJOen+ugd7vJd7XduKJkkvSLDVhJNbb63MtWEnp4jAsTPYxgePLlgMhRGDjTLE6SDoY0BZ0edAjQ0AI0PD0pdHoAB/PXs2fZJLM0VaIc0tmWKvGvoZJ5FiQY+ZZh/LXi5dTI9l32HtunESX5Yy1PZV97ZiMxtdYFKMZPLjmVuezgHoIlOguO4P4ZSnUrU0+5UrwVU/wCSvCkK+fz5M/x0euhjQYHn5aLQbPQ0THSc6BWkMujLaAbQYHXTY94hZv0DvXu4Pj/oncvB5SebxPdJeXlx64zj+Xrp1G14NxrB1KsoZWBUqfJgQQyn6FSQfodB8wqnopHyX+XKNLGnw74Xdsn4Y3mekyH3OdnsbZN+zNTaQhUJ6/b1iRBKhwQQj45ZFJZHl0Ev/Zn94Ndm3z3Kw5WlvIjqN1+CG6rYpTtkgBWLvWZh1AmTz5RiePtDKt+tt228Qbaha1w3uqbhImCwNSSM17fMoDHwx8CynGY4mkbpykilKHI6gkEHIZTgqQcqwPoykZBHkcHV23cP718HEm1pWuzRHeasZguwSPGGvQhPs7scJP2scsXwWQqnllD8wAddAns69qRwnbjU2Lc21ylQzwXq0xVWIyyxWKyTxSqDkKx8MuMHlGcaZLvZ+1NrNVelwyz2JrEMiSbo8UsCVA4KEU45VSSWzglhOwEcQKkB2+653al7Jnh/cJZJ6E9vZ3kZmaGv4c9IMTzZjrTANCM5IjinVADgBR001sfsXgGyeJJOTPxY2lBIVwOnMbhUfyI+mgrBBJOOmXIA5nGSxIzhnIyeY9SxHnkkdSJ7cLeyps2+HlvxbhE28yK88dSGWtPt7IuVFI3o3eP3vKnmsLI0CviIgjMupv8Adr7nnDGy+91KscG5XovBh3KxeWKzYRpEFmKIxMhhqxujLMsMSgkcjOzFV10vGHYNZpW47/DHuNCaeTk3SlYWVNpuwOhBtvUq4CbjWdVZJa3gNZV5IpnZeV4woW4o4Os0rMtO5XmrWoH8OavOnhyofTmU4yCCGDrlWBBUkEHXgiUq4YHlZCCGBKOnL5crKQwbPUYYY19AHEfdE2zdUV+IIxvlkIUWewgrLXU4LR0oajRmrESAwUyzydBmViWJYPj32QnDtg81K1uW2N+4sqXYPPphbKmUEeQxNoK3OFO+JxVRi8Ovv+5JGgwqy2BYjAH7Km0kxX8ASPl8tPd2c8M9oXG4jil3DdRtr4Mt20zUNuETHDMscCV23FwpJSOIMpOOZ4xkiZ3BfcN4L4WjS7ujR25UYFLO9SxmLxT1CVaKhYJJGOCqeFZkzjGTjUxNi3SOxDFLFzeHJGrx88bwnkYDlPhSKjx5XBCsiHBHwjyANt3cO7dt3DG3LQ29XOW8WzYl5TPbnKqplk5QAoULyxwqOSNOgyS5Z2oE0pY9ZQNBjmfAzqsj2xXaUEqbPtSEc1mxNuMw6FglVTBWOfMK0s0x8vi5PkNWRb1uKqCWZURQWd3IVEQAlncnoERQWYkgAAk4xqgTvp9tg3/iK9eicNUQrSokeRqVcqki9TkTymWfPTIkU4GcaBjXXpg+vr/b+R66+hrunds0G87Dt24K688teNLKg9Y7cCLFaiYYBUiVSwXA+B0I6HXzyj8/n56dbsV7z++cPiRNrvvDDKweWtJHHYrSOBy85hlDBJCMAyRFGYAZzgaC6fvPdrlLYtuu7xYKeKlWWnUUseezPOC0NSNQfj55QJnIBMcaSOcDOaAM+h8+gJ+ZA6/z89ON20d4HduIZ0sbraawYlKwxqiwV4F/aENeICNC56u+GdzjLYAGm60AB0ekc2lDQHotALoydAgHWSNfTRlP467Lsp7J9w3u7Ft221pLNuXrhcLHFEMc008hHLBCnm0rkZBVVDMyghq+CeDLO4WoKNGA2bllmSvAjIpldUZyAZGRR8Kk9WHlgZJGr0e4j2XbbtnDm3pt7+8LZU2rVoxmKSe832dkTRMS0L1HQ0/Ab4ovBKn4i+W77Me4hX2DYJkqLFa4gUQbkL5jzzbhtzi5Vq1g/WGmzxvWLKFkkEpd+vIqunwTucVbdKluqSu28WwPcEOcxwbylWO2ZISDhP0jSWYzoAAbNISgc88vMD/Rn6Z0WsqHR6DORpOl6QdAR0Q0oaJhoBjWORdZBpLnQM93lu7fQ4m2yTb7qhGBMlS2qhpqVkD4Jo845lIHJLFkCRCQcEKy0ydrXcO4o2mzJA21Wr8SAulzbYJbdaWIft/APEicYPPFKiuuCfiGGN9G/b/DWikmnlSGKNeZ5JG5UQZxlmPTqcKB1LMQAGJALM8ab/JdMaTwWVrzAmps8Z8K/u/L0Mu4Ekfo/ao+ZeeOV0LjAnIytSYKou7P3D7u9QHc9ysLsmxIfiv2gFlsANyFacUhVOUsDH7xKQhchY0nYFdTe3TsPXY9vj33hna4NvTYY5bgS3HL+lt+psFTcY7ssrIacE1UNYgWVJLAlihYQ01PhySu4Z7LXeZLu5tFYsx8vuleJCNv2xV6AU4X+/Yx0a/KvikALElWP7PR9v3BwvbLu9NjgWtsvw5JwAz1pCrE56AOqk/QaD1difbHQ3zb6+47dMJa1gHlzhZIpF/W150ySk8R6OvkRhxzKyk91JFnrqhbuL97N+GNzQzvI20XeSPcYVywiJCiO/Gnl4tZurhfikgLp8XLHi9jY9/jmijlikSWOVEkhljYPHJG6hkkR1JDo6kMGB6gjy6gAz3aV2K3kvS73w9aiqbpMkKX6twO+17zFXXkhS4EzLVtQp8MF+tllXKOkit8Olj7ze61fg3fg/fo5R/xNnFbfKbqP21kglgsLzefLJXDDyyfWSCjRLAPQf6aCPO397eSf4avC3F8zn7vi7VDQjOfLmmv3IEUY8yf5emtwkvFW44HJt3DkGfiZnG97ocYJ5FUQbZVbHQO7bgAevhkAcz3tB8/65P99GqY0Dd8DdhlGlKbXLLc3BgBJue4Se933xzDCyuAlWPDEeBTjrxAeSacRF0o6xyS40GQtjWu3HcQuckAAEknoAB1JJJwAACSxIA8yQNaPjrtCqbfVmuXbMVSrAhaWxMwVEx1wM9XdvupGgZ3OAqsTqoHvqe0Ysb+Jdt2nxqWzksk8pPJb3JQ3TnC/HWqMAD7uGLyDHinB5AG97//AH/v0uZtk2WUjbAxju3UJDbmUb9RCejLQBHxMMGyV9IxiSA5OPwGsjen9NIC56H8/n6aA2T8/X8/ny1sd24fmrYFmGeuWBKieGWEsB6r4qpzfwzqbHs4e5RLu9yHfdxhZNqqSCWpHIuBudqJspyg/epVpF55JACssirGObEhW3TibgWpfhMF6tXuxE58K3DHZiyRjPJKGCnBPVcY0HzSNH5EfUev4/66xuNXWdrXso+Gdx5npLY2Wc9Qab+LV5j+/TsFlCj92CWH+AxqL/E/sY95Ut7pvG1zp+ybEVuqx9RkRraQfiHxoK8xpSrqZ172SfFqNhf0TMMgcyX2UfiRLXQ/0zroeGPY98RS4Nm9tFUZGQstq0+PXCxwImfp4gz89BA9k16K9YsyoFLSMQqIqlnYnyCqoLMfTCqdWw9n/sbNriIfc92vXSOpjqRRUIj5ZBZjZmKjy6Mhx8vPUu+xrur7BsPXa9srVpcEe8spnuNkYbNqcyTAEEgqjKp+Wgql7uPsxd93kxz7grbJQJBLWoyb0yHGfApnBjyOgltGMAkEJJ5G2XsL7vW1cPVPc9rrLBGSGmlY+JatSD/iWrBAeVs55V+GNM4REGnNWv8Ax65/jjWVItBjji8vxH99Rf3Tbfd+G7DRhi3D282bdcAZaOHbN4efwlBPVTt8s1cHI+zYA+RBlK69NM1tnDwsVOJ6hDGOxd3OEeYOLO3QeKFOPLxJHwcHqT5kaB4wvy8vT8PT+mi1yXZJurTbTtczMeabbqMrEjqWetEzEj0OScjQ0HbnSeXS9E2gQdDQGgdACdaDi7i6ClCZp2IHMsaIimSWaZ+kUEES5eWaQ9FjQZPUnlUFhk4n4liqwvNKWIXACIvPLJIxxHDFGCC80rYSNAcliPTOmz3CzYE8Tskcm9WI290rMTJW2emzBZrEzLjmIGBNKpVrcwWtEyxI7KHn3a/YmsxLLClncVxLU2/m56O0oebwtw3SROj2iAwjEeSWBjrKAs9vTg8Gdn8dXxJHY2LljlNu7IqiawyZ5AOXpDXiyRDWjPhxAk/E7yu+fgngmKlEY0LySPI01ieQ5ms2H/WTzHpl28lQYSKNUjRVRFUdOi6BKJjWt37blljeJvuyo8Tf8sqNGf6NrbNryWkz+fpoPmY37h2SnZnqShllqzzVpVIKsrwSPGwYdCrfBnBwf9bAPZl99MU3i4b3SU+7TS8u0WJCOWtNISxoSsxHLBO5zXb/AIczMh+CQcivatd1qSva/wCk9RAa1tooNzjVAvu9nk8OC23L96O0AI5XYLyzKmWbxhiu2VPMEdD0x9P/AE/PTQfTZWu+nr8vz/UehyPTXqW6NVY9zv2nMEFaPbeJJXQ10SKruqxyTiWNcqqX0QF1eJQiLYRH8Rf1gUrztMKfvucKCs9n/pBthiRSxCzMZz/3Vqcgsu59EWMsfpoJFncl+Y9PXr1GR0+o6jPmPLSHu6qb7PvaY06/FG+X56cx2jdTRhjliXNuFNsjkggtSV2cLL7wkjmaJWV4wI+XmKMGkpY9qXwesZdbt6RsZ8FNssCT/lBcpED+MpGgmRLfxj+A+fn0H8/TUUu9X7QjaOHWkqoRuW7Lke4wSciVm5ehv2QGWHGesCB5j0BEeQdQZ7yPtR903RZKuzI+0UX5kabmDbnYRhg5lX7OmhBIK1uaTyzMcnUJTJ1JOSTkknzJPqSerEnJJJySToHT7fe8tvHEs/jbna50Ry1anFmOjUBAH2EGerkfemkLytnqw8tNX4mdANpKLoDHlnUzu497Pa1xC8O57mklbY1YOoOUn3QA/qoPJoqh6iS3gFlykQYkvHxXcK7pjcUbsBYVxtFDlm3BwComJOYaCOOoewQTKQQUhWQ5Usmb2dr21IkSONVjjjRUSNBhERFCqiKBgKqgKo9AANBj2LYoq8UUEMSRQwxpFFFEgSOKKNeWOONB0VEUBQo6YH1Otqq6CrpYGgRyaT4esuiA0GPw9GI9ZsaGNAgR6MJpWj0CeXREaXpLDQY3HTH8NNx2Y8pi3OUElZd03NstnB8JhWPKDkhfsD0UYJBOOuNd/uF5YkaRzhI1aR29AqKXYn8ACdNJwndatwx7zL8LnarW4S4OeSSzDPflAbA6q0pyxHmNB0XYbVI2TZ1DBuXa6IDBSgYCtHhuVviXK4OD1H00Wtx2WbZ4O2bdDggRUKcQB8x4daJMHPr00NB2GsbtpTaSRoC15dw3FY0eR2VEjRnd2OFRUHMzMfRVXqT6azu2m14j3GO1M7SuE23bWZ7bMCRatQ8rrDhcloKbAPKoz4tnwohnwZVYPJNursV3GaJ2lcmLZ9vf7OTndGHiyK2eSxYTmkkZgTTpgjCsZ+fq+AODPdkaSVhNdsESXLAGPGkAIVIwesdWuCY68OcJH1PM8krv5eFeHmknbcLSETuHjqxP19zqMQeTlJISxYIEtlh8WfDiJ5YQD3CLoAqaXoaQW0Cm1glXWbOsbDQc9xhwtXu1p6luJJ61mJ4Z4ZBlZIpFKuh6ZGR1BGCGAIIIGqKO+d3RLHCt/kHiT7XaJfb7j/eI6lqlgr097gXqSAFlTlkXGXVL9JE9NcP2tdlG37zSnoblXSzVmxzIxKsjrkpLFIvxQzRkkpIhBBJB5gSCHzec+PLpg4z6n+Okk/z9D6jzzg/y07Per7FBw/v+5bUjSNBXmRqzynMj1bEQmgZmAUO4VijOqgZQ9AemmjI/OdArP+n9NEx+X/kPw0YGsYbr/L/bQKaTroDREdTpYXQDTj9gvYNuHEW4QbfQilbnkjFmyI2eCjC5+KxZcYRFWMOyKzAyMoReYnW87Ge6Nv2/VpLe2UWmrR2IqpmdgiNPK8aNyDPM8ddZBLYlUcsMYJJLYU3ed2Tu4UuGdrh2+qqtJyh7trlAlvWuXDzOfMIpJWGIkiOMKB1LEh1vZJ2U09m2+rttGMRVqsSxoMANI4H2k0x83mmfmkkc9SzEeQA126rokTSsaBWgNBRpQGgTy6UBo9DQDQ0NDQJLaAbSWXRqugXpLHQLaxu2g4Dt13J02q4sfL4liNKUWW5ftb8sdNMH5gzkjp6fjrX9u9cx7NarQ5Q2Er7bEFxkC5YhpDAPQ4jlJI/dU69XaEPeL21UxkhZ5NznAI6RUY+WHm6+TXbFcgeZMbeinRdozCa3s9Q5PNbkvydMjwtti5xnPytz1MD7xPX9k6BxMY9NDRAaPQZWOkk6B14N33OOGN5ZXCRxo0jufuoiKWZj9FUE4wdBz3HG+y5ip1iVtWuYCQBW91gXAmtsrAgmPmWOJGBDzyRjBAcjkuGdtjuTxxQLy7TtknLFgnF3ca7sGbmzmatRk5+eRifHvFmJPup8Tw7jYstGAC0G5723hx5yX27boQWdvTlatXcuc4zftovXA07WxbPFXhiggjEcMUaRxRgYCRoAFXr16D55JOSTkk6DYImNZRpHNoeJoF6Ll0gTaPxPodAvl0RXWl3XjWpB+vtVoP8A4tiGP/8Atxrn9w7dNnjBL7nRwP3bMbn+AQsT+A0HbNrCx011vvTbCmM31bPl4de5MT+AirOTpDd5naD5SX28uqbLvTDr5dRQxoIce137vvvNKpv9auz2KTGruDRpzE0H5mhmmCqTyVZ8p4hICJO3N5LipzP5/P5OvoY3vt82OzFLXnW/LDYieKWKTYd6eKSKRSkkcinb+VldcgofMHVQnfr7G6lLdZb20QTR7Pc8NkT9G7hQipWeRUkrYtVYIwspQzwhGOcyLgcnUIwjQ6fLRn+X0/1/jo8fz/uT5AfUnoNAqOIkgAHJIAA6nJ6AADrk/LUx+5h7Oy5xGItxvtJR2Qk8rKALm4cpwRVDBhFBzAq1uQEHGI0kwWSSPc17kvC1WmLO9XNn3fcbUJD1jerTVNvjlTDQoqTYktgEiS105GyIuUAu8/OFNy29Ioq1OWmIYI0hhhrzQckUcahUiRI3IVUUAKuOg/HQe3gvgmrt9aGnSrxVqtdBHDBCgREUADyH3mY/E7tlnYliSSTrfqukqemcfy6/2zo2fH/p5aDJjR6QsmjzoFA6MNpHNoZ0GXQ0kNo86A9DRZ0egGiOj0R0GMnWFpNZnOuY474rFGpPaKmQxITHGM5lmdljrwrj9qWd44x6DmPy0HM8DN4+4brcB5ljeHaocgjC0VaW0w9MtbtOhI8/d1z90aPZCLG+Xpcty0KNWiB+yJ7btes8uD0PgrSB6Z8tbfgrYE2yhHHNIv2Mck9yck4edy9m9OxPUB5Xlk+i8o9BrX9itF/cvepQVm3GaXcpVb7yC23PBEcgEGGoK8PKRkFCPTQOCNHoBdDQLc64Pif/ABlqKkMGGv4du6PRjz5o1m8wRJKjWJF/cgQEYmGeu3ndEhjkllYJFEjySMfJY4153Y/IKoJ/h9dcDs+x3Ttlp4nWDc78Vuyksoyte1YiYUlkUrkrTQV4mGD+rbp10CezZxctXtzyWV5X2+mSFwKtGVkmkjIGcWr3juzE/EkMHoinS+Ke8Hs1JxDNuNfxycCtXL3bR6gf5WktifzOMmMZOdcdwN3dZvcKlXe77bgsFaCJ6NZPctraRY0ErSxRMLF53lDuzWp/CkZi/u6Z5Q6Feht2013ZEpbZVXq5Va9Guv1ZgIUH4k6Dkoe169YGaOx33UnpLuTw7RCev3uSZprvLjr/AJPP06jQPDnElj9buO2bcufuUaM16cDr0Fq/NFDnHr+j/PPTGkHvE0ZT/wBXQ3d3bmIzttSSaDIwMm9P4FHBJGGWy3TrggHSpd44ks/qKm2bWhJ+PcJ5dxsfiatAwV1IHp+kJBn6eYZ37F3k/wA3vO9WSQuQtyOihK9cqm3QVSOb1XmK/Qa2lfsU2xclqvi5GWa1PZtE9OpLWZZP5j+Wudbsi3af/O8R3cese01KW2RN9DJIl64OvTK2lPnjGsid1vZmKvary7lIv/E3S7c3E/8AyWp3hX8FiUfTQeDfuMuEtuk5ZX2WKxnpFFFWmtnHygrRzWSfT7nU6z1+8hSP+U27e7Q/ZatsN+NG/wCWSzDWjx9WZR9dOTwxwTTpKUp1KtRD0K1a8VdSB5DESIOmt2U/JydA0ads24SgmDhremwcf4mXaKeenQqJdyJI/Bc+fTWKXtK4g/Y4bGenSbfacZGfPPhRTjI+hI+R074gHyH8tKA0DOL2i8REf/5yAH0zxBBy/wAxSJ//AB/jrl+1Cru280LW27jwxXlqWozFIi8QQc46gpJEWoqEmhcLLG/7LqvmOmpF+HoFNB8/3eJ7lO+cPRtct0nG3NN4cdlZq9kxc36tbfuxZYSx+zEpCxs+AOUsq6kZ7LXYKdRL2+z7fut6fxG22Fqm1tdr1Y0ENiZg8cjO9iXmjDBYB4SKAGfxmC2xcQ8N17UE1azDHPXsRtDNDKoaOWKQcrxupBBVgdMX3Re6u3CabrUiue9bfbupbopIrLPWBhEcsczcxikPwRhZI1Rn5Sz9WAUM93tg4cfHvu3WIWby9/4Z3BOYfPnO3yIAPXmYY+msFDingScsA3DIZTyss0O315AT6ctiOF8/QddSEP56n/fTZds/a/su3iOHcpIZp5sGrtqV/f8AcLTdQBV26JJbMvUEeIsYRepZ1AJ0Hkod37h2ZfFq7dQCsCBLQxASPM8stOWM+o+63y17W7DYAT4NzeavQKBDut1kXHkwS086FvxDD8dcHwt3a+H90j/SFnheLa7E7MTBMkda34SP9i9hdunEUbSqokaHmZl+7J8WRrr9u7sW1QKVrJeq5z/lt33aIL16eGnvrRpjz6JjQZ5eyvcY1IqcQ7gpwcC9X2+/GGJ6MR7tWnIH7qzoPn5aHPxJXJJXZtzQDpyG5s8x8gPv/pSBj5kjmiH89YU7F70QPu3EW8p8ktDbtwjHX1Nil47D6mfm/wC9pAr8T1cfbbLuyLkkPDb2ewwz0AlSTcq5bHzhiUnz5RoNhL2xSwY9/wBq3KqpBLTwxpuVdAP3moPNOo9ctWHTzx0Guq4T7RKV4E1LUNgr95I3HiIevSSE4ljP0dFOuEg7bp4cDcdk3al85q8Me61RkgZWTbXmsAdfOSrHgeYGvTU4m4e3tuVJ6FqyvQKJBDuMJUZxjMO4V2Ax5BGx+OgdNH0vm02MnCG61f8AI7is8ajC1d3iaYnrnlTcIGSyqgZw08NxunUnrrznthtVmxuWz360YbBtU+TdamPRm90AvRg9CS9FQuep9dA6+jzrmuC+0KluMZlo2oLSKeVzBIrmNv3JYwfEiceqSKjD5a6FH0GYHQOkLozoMcp03G+j33cYK4HNBtpS9ZOBytbdWXb6465JiBkuuP2CKnn4nTtOJN9StBLO4JWKNn5R95yPuxpnALyOVjRc9WZR661PAOySQwA2BGLk58e40QKo9qRV5wMsxKxqEgU5+5Gp6ZwA5/tiPjxQbWjENuc3gS4z8NGLE24uSOih4AKwJOee0nmTpxB+R8h8tN52dD3yxZ3UnmjkzT2/5ClXkbxZx6f460rS8wGGghqeeMlxVGgWuj0BoaDgO0xveJKW3gEi3OZrGBlRSomOecM3kFmmNWsQfvCZh5Zxr9z7dqhkaCgsu7WkbkeHbVSdIXP7Nm4zpRqlTjImsBh1wh8ifGfd92/cr6Xr6zWfDqCmlR55Vo8gn94Z5asbIlh5HEYZbHiRhYo8JkZ04G07LDBGkMEUcMMYxHFEiRRIAeipGiqigfIAaBsk4f36+D73bg2aBiMV9rxbvchHUS7laiEETN6irRJXJ5Z26HWw2Pu8bTG6zy1BetKBi3ubvuVoEHPMstxpREcgfqFiHQAAY05iJpQXQYjH+c9P5Zx/TS1XWTGhjQYiNLA0rGhoC5dDl0rQ0CeXRFNL0NAjl0kDWQ6TjQFjRY0rGgBoPBvNEyRSRrI8LPG6LLFy+JEWUqJI+dXTxIyeZedGXmAyrDI1HjgvuZttsliajxHvkVi23PatSx7Lbt2XyMGe3Z2qSxIq4AWIyiJB0VF1JcrpITQMdJ2Q8Rp+o4skfA+EX9j2ywvnn4jT/R7kHy+FhrCOJeMqn6/a9k3debHNt24WNsn5fQ+67hBYg5sfsi+Bk+Yxp+GGkkaBlIu8i8WBuOxb/t/78hoJuVdBnqTNtE10hAPNmjXA66aaPvNvu00toWdw2nZqTySqlfarjbjukFV+d7Vm3Zp+6bZtcixnESP7zLESzz1cmPUwTH/v0yNePediisxSQWIo54JlaOWGZBLFIjDBSSNwyupHQgjGgYHZ+1jfN2hbcaUVPh/aBAZ4Lm/wvNbtIMOLD0oLlaLb9vMfPiSxaM7qUfw4l+/yfDXaHb3yN5LvDVHiCjE/JDudSMVhZHIHebb6m+rHLLAjYQWa14o7j7JpQOYSQ457M6O5RxQ368dqGGxFaSGXmMJng5vCaWIMEnSMtzCKYPHzBW5copDedsHBXFNiYvs297dt8AjULDPtBtTGQD4+a005VY2bqvJVyn/f0HAw79tlZxHHuu/8Myk8sdfc1l9wL4GEjbdo7lEgnChK95B6JjOdOGd+4hohWkq1d9rYDePtrjb7/h4zzilamkpWSV6/YXoeY+UfxAFoLPA+8Rh139OJNwhYcssuybxDZqsGB5i2316m031j8wI0iueXXPTPb92bauEqEtitsUvu9mflE9G3bvpbzGWI/wCr9zkWRMFn5nhhAPkWIAwHUU22DfpSGiQbjAoZ45opdu3qoOmCceBeRM9BJG7wsR0Z9bSO1ue2OBJ4267cQftlRTulTAGBLGnIu4wY6eLEi2kYfFHZDF4+m457NaO4qi24FkaJueCYM0Vms/8A2la1EUsV3/70Tr0zkEdNcTFBvW1Mer79tw6hW5It7qoqeQb4Ku7L8OV5vc7Xxfett5A43CXGVa7EJqs6TR8xQlchkkX70csbASRSr+1FKqOvqo1uxINNFNHW3QHc9nsxxbjAVjdyroZBGWzt281WVZ0jYMygTRrYqswmiPQrJ76/bbXFKzYmjkgs0wI7W2OVNyO24Pg1ECk+ObjgLUmh5kshlZCfiCh7OKE993CrUX4oaTJfu+eDKOYbfXbBwftOe4ynqorwHH2iHWftRtu0UdGu5SxuDGBXX70NZcNesgj7pirkojAgiaaHHUjWXst4VmrVi1rka/bka3fdAeQ2pVUGOMkk+DViWKrEc9Y4QT1Zs+Ps8T3ue1uZPMkx92o+QC0a7kGRegP+NsiWct054kreYRdB2+3bekSLHGoSONFREHRVRFCIoHoFUAY+Q17ANEV0YOgPl0WljQ0BeHoBNZNDQENDOknQ0Cs6GdJ0RbQLzoZ0nOhoFZ0M6ToaBWj0ldK0A0NDQ0A0NDQ0A0NDQ0BaGNHoaBDLpIOltpI0AI0XLpWiOgSU/wDL6fhrm+N+zWhuUXg7hTr3IxnlWxCkvIT+1GzDnjb1DxsrDAwRrpV0ZOgY6XsY3Lbfj2LdZPCXP/VW9PPuFAr1ASvdJbdKGM9G8W5EMKPdzjWz4Y7eVNmLb93qSbNuM7cleGw6zU7z9em27jHy17LFcH3aUV7YB618ddO4y60HGvAdTcqs1K9WhtVZ15ZYJ0DxuPQ4PUOpwyOhV0YBlZSAQHO8e9j1e5ILcby0NzjGIdyp8qWQF+7FYBUx3qvzq3Elj6kqI2w4bqtttSbdqR4j2yim91D4ez7sE/w19QGkxSd3L1bcbF5DttlpJI8vJA9hOdkfzbNtSKOOJF5Y4kSNF6/CiKFVcksThQBkkn5k61/FnCNe7BLWtQpPBMvLJFIuVbByp9GV0YBkkQq8bBWVlKggOU7Vt4blg22u7pZ3ORq6yR4LV6sa+JftZ/Y8KA+DHJ+zYsVhg5Gu826kkaLHGoSNFVERQAqIihUQAeQVQAB6Y00nZh2W7hT3TcJ7d73+kalCrtHvDeJeqwxGaS5HPKIUEwnlaE+8O8k8orx+KT4aszxRaBbLpAGsuiK6ADR6LOk6D//Z" style="margin-left: auto; margin-right: auto;" /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;"I write my own stories. Honestly, I do"&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;div style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;I attended the &lt;a href="http://www.javaforum.se/jf/archive.jsp#m79"&gt;Java 7 meet-up&lt;/a&gt; the other day where Oracle spoke about the Java 7 release as well as about the development of Java taking place here in Stockholm. I didn't know the Stockholm offices of Oracle had so much to say about the future of Java, but obviously they do.&lt;br /&gt;&lt;br /&gt;They also promised to answer all our questions as long as we didn't ask anything about any ongoing lawsuits. Right, Oracle hates Google, or as they put in the talk: "We have a bad story" with smart phones. A bad story. It seems they are writing that bad story themselves. I just can't see how I as a developer can benefit from company A suing company B about patents. None of that makes sense to me. Lawsuits are symptoms of large corporation disease ("corporitis"?). The questions is: What can big Oracle do that a small startup in Gamla Stan cannot?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;So what's new in good old Java. Nothing much it seems, apart from a candy bag of &lt;i&gt;syntactic sugar&lt;/i&gt;: &lt;a href="http://weblogs.java.net/blog/editor/archive/2009/09/01/project-coin-final-update-list-jdk-7"&gt;Project Coin&lt;/a&gt;. Syntax is our user interface into the programming language and I find syntax enhancements very important. But it's of course hard to &lt;a href="http://brendaneich.com/2010/11/paren-free/"&gt;change the syntax of an existing language&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;There is a solution that requires no committee meetings or consensuses. The &lt;b&gt;IDE makers can innovate freely&lt;/b&gt; and provide new views of your code (without changing the actual source). I think the time has come to go beyond font size and line length in code editor view settings. There is even the opportunity to scratch our own itch and make an IDE plugin with the sugar we crave. IDE:s have come along quite a bit since I started programming and the next chapter is even more promising.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9111682929198509492-7775381670068695168?l=arneevertsson.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://arneevertsson.blogspot.com/feeds/7775381670068695168/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9111682929198509492&amp;postID=7775381670068695168' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9111682929198509492/posts/default/7775381670068695168'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9111682929198509492/posts/default/7775381670068695168'/><link rel='alternate' type='text/html' href='http://arneevertsson.blogspot.com/2011/09/writing-our-own-stories.html' title='Writing our own stories'/><author><name>Arne Evertsson</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9111682929198509492.post-5754826772543401135</id><published>2011-08-31T14:38:00.000+02:00</published><updated>2011-10-30T16:02:12.939+01:00</updated><title type='text'>Victoria Tower</title><content type='html'>The new skyscraper in Kista, the Victoria Tower, is not as bland as I first thought. Modern architecture can be just incredibly boring. Everything is straight and grey.&lt;br /&gt;But this building seems to change both color and shape with the weather. Or is it just a grey tall box like most other new buildings? Not sure yet.&lt;br /&gt;&lt;br /&gt;&lt;img border="0" height="320" src="http://2.bp.blogspot.com/-YwYbgVEngvI/TnGnKDI9O2I/AAAAAAAABHI/OhlNVZtUwWs/s320/vicky2.JPG" width="238" /&gt;&lt;img border="0" height="320" src="http://4.bp.blogspot.com/-JxTAHrhwS8U/TnGnSVJKRfI/AAAAAAAABHQ/4mA7QJe87go/s320/vicky4.JPG" width="239" /&gt;&lt;img border="0" height="320" src="http://3.bp.blogspot.com/-gaIZE93PtHw/TnnQ4NkErJI/AAAAAAAABHY/2-l02pdQEIc/s320/photo.JPG" width="239" /&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5646999003198613154" src="http://4.bp.blogspot.com/-FiSSwe1mLm4/Tl4rrKCjZqI/AAAAAAAABGA/TkHGn1wFbIQ/s320/photo-711455.JPG" /&gt;&lt;img border="0" height="320" src="http://3.bp.blogspot.com/-UJoMNMidwcc/TnGnSGaAJ2I/AAAAAAAABHM/rX4Fspdn1vw/s320/vicky3.JPG" width="239" /&gt;&lt;img border="0" height="320" src="http://2.bp.blogspot.com/-V33clalE4q0/TnGnS0KIN-I/AAAAAAAABHU/Fvqcgtw9zP4/s320/vicky5.JPG" width="239" /&gt;&lt;img border="0" height="320" src="http://1.bp.blogspot.com/-OMnrhV5WMMg/Tnwxvh0qJnI/AAAAAAAABHc/dgSX1EgBfIM/s320/photo.JPG" width="239" /&gt;&lt;img border="0" height="320" src="http://1.bp.blogspot.com/-Wxj3dipAzSE/ToQVRXymZKI/AAAAAAAABHg/BL0FABXFpHc/s320/photo.JPG" width="239" /&gt;&lt;img border="0" height="320" src="http://4.bp.blogspot.com/-b9Kcs5_0ss4/Tq1mmlevw4I/AAAAAAAABJU/MCaVUJjacME/s1600/vicky1.JPG" width="239" /&gt;&lt;img border="0" height="320" src="http://1.bp.blogspot.com/-QfLMyymsfb0/Tq1mnOs60-I/AAAAAAAABJc/BfMTAHj4JHw/s1600/vicky2.JPG" width="239" /&gt;&lt;img border="0" height="320" src="http://4.bp.blogspot.com/-XlLJ-a0PKpY/Tq1moLJYqNI/AAAAAAAABJg/MOAa9CaN1zI/s1600/vicky3.JPG" width="239" /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9111682929198509492-5754826772543401135?l=arneevertsson.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://arneevertsson.blogspot.com/feeds/5754826772543401135/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9111682929198509492&amp;postID=5754826772543401135' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9111682929198509492/posts/default/5754826772543401135'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9111682929198509492/posts/default/5754826772543401135'/><link rel='alternate' type='text/html' href='http://arneevertsson.blogspot.com/2011/08/victoria-tower.html' title='Victoria Tower'/><author><name>Arne Evertsson</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-YwYbgVEngvI/TnGnKDI9O2I/AAAAAAAABHI/OhlNVZtUwWs/s72-c/vicky2.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9111682929198509492.post-4175022711916595448</id><published>2011-08-29T09:57:00.001+02:00</published><updated>2011-08-29T09:57:44.109+02:00</updated><title type='text'>Att skriva filmmanus</title><content type='html'>&lt;p class="mobile-photo"&gt;&lt;a href="http://1.bp.blogspot.com/-Sioza9YD7tY/TltGeGBL8TI/AAAAAAAABF4/2stlh3Ic4-c/s1600/photo-764110.JPG"&gt;&lt;img src="http://1.bp.blogspot.com/-Sioza9YD7tY/TltGeGBL8TI/AAAAAAAABF4/2stlh3Ic4-c/s320/photo-764110.JPG"  border="0" alt="" id="BLOGGER_PHOTO_ID_5646184040664658226" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Jag var p&amp;#229; Filmstadens Dag ig&amp;#229;r vilket &amp;#228;r en trevlig liten fest. Man fr&amp;#229;gar sig om man &amp;#228;r i fel bransch (inte f&amp;#246;rsta g&amp;#229;ngen). Kanske kan jag kombinera IT-branschen med filmbranschen via ett uppdrag p&amp;#229; SF?&lt;br&gt;&lt;br&gt;Jag kunde inte l&amp;#229;ta bli att k&amp;#246;pa boken &amp;quot;Att skriva filmmanus&amp;quot; av Fredrik Lindqvist. Om det &amp;#228;r n&amp;#229;gon konst som &amp;#228;r inh&amp;#246;ljd i en Avalons dimma av mystik och magi s&amp;#229; &amp;#228;r det hur man skriver ett bra manus, till en film, en bok, en serie eller ett spel. Manuset &amp;#228;r nyckeln till kvalitet. Men hur tusan g&amp;#246;r man? Jag har aldrig brytt mig om att ta reda p&amp;#229; det, &amp;#228;ven fast jag slitit mitt h&amp;#229;r i skolans uppsatsskrivningar och under mina sommarlovs serietecknande.&lt;br&gt;&lt;br&gt;Jag har en k&amp;#228;nsla av att ber&amp;#228;ttarteknik kan till&amp;#228;mpas p&amp;#229; m&amp;#229;nga olika omr&amp;#229;den, &amp;#228;ven om man h&amp;#229;ller ett tekniskt f&amp;#246;redrag eller kanske till och med f&amp;#246;r skrivandet av blogginl&amp;#228;gg?&lt;br&gt;&lt;br&gt;Kan man ber&amp;#228;tta en story i ett GUI f&amp;#246;r en nytto-app? Det t&amp;#229;l att sp&amp;#229;na &amp;#246;ver. I vilket fall kan manus vara en viktig komponent i l&amp;#228;roappar, speciellt om man g&amp;#246;r dom som spel. Det skall bli en intressant l&amp;#228;sning (n&amp;#228;r jag nu skall hinna l&amp;#228;sa, vilket &amp;#228;r en annan fr&amp;#229;ga).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9111682929198509492-4175022711916595448?l=arneevertsson.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://arneevertsson.blogspot.com/feeds/4175022711916595448/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9111682929198509492&amp;postID=4175022711916595448' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9111682929198509492/posts/default/4175022711916595448'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9111682929198509492/posts/default/4175022711916595448'/><link rel='alternate' type='text/html' href='http://arneevertsson.blogspot.com/2011/08/att-skriva-filmmanus.html' title='Att skriva filmmanus'/><author><name>Arne Evertsson</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-Sioza9YD7tY/TltGeGBL8TI/AAAAAAAABF4/2stlh3Ic4-c/s72-c/photo-764110.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9111682929198509492.post-3262004578685985037</id><published>2011-08-26T13:45:00.000+02:00</published><updated>2011-08-26T13:46:05.187+02:00</updated><title type='text'>Desperation</title><content type='html'>&lt;p class="mobile-photo"&gt;&lt;a href="http://3.bp.blogspot.com/-G0V-Hg11AMo/TleHfXPoOsI/AAAAAAAABFo/jm4Z33eEGHE/s1600/photo-765187.JPG"&gt;&lt;img src="http://3.bp.blogspot.com/-G0V-Hg11AMo/TleHfXPoOsI/AAAAAAAABFo/jm4Z33eEGHE/s320/photo-765187.JPG"  border="0" alt="" id="BLOGGER_PHOTO_ID_5645129630817467074" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Google tror att jag vill ha ytterligare ett plastkort i pl&amp;#229;nboken. Tv&amp;#228;rtom, om Google kan f&amp;#229; mig att sl&amp;#228;nga n&amp;#229;gra kort &amp;#228;r jag beredd att &amp;#246;ppna pl&amp;#229;nboken (i dubbel bem&amp;#228;rkelse). &lt;br&gt;&lt;br&gt;P&amp;#229; baksidan av kortet erbjuder dom att hj&amp;#228;lpa mig skapa ett AdWordskonto. Men sn&amp;#228;lla n&amp;#229;n, jag har ju redan ett s&amp;#229;dant och det vet Google om.&lt;br&gt;&lt;br&gt;Det k&amp;#228;nns lite desperat att skicka mig direktreklam. I st&amp;#228;llet borde dom nyttja all data dom har om mig, mitt f&amp;#246;retag och mina webbtj&amp;#228;nster. Jag anv&amp;#228;nder tex AdSense f&amp;#246;r att tj&amp;#228;na n&amp;#229;gra kronor p&amp;#229; &lt;a href="http://sprend.com"&gt;sprend.com&lt;/a&gt;. Google vet d&amp;#228;rmed att jag driver den tj&amp;#228;nsten och antagligen skulle vilja marknadsf&amp;#246;ra den ocks&amp;#229;. Google vet ocks&amp;#229; vilka s&amp;#246;kord som driver trafik till &lt;a href="http://sprend.com"&gt;sprend.com&lt;/a&gt;. &lt;br&gt;&lt;br&gt;Vad s&amp;#228;gs om f&amp;#246;ljande. N&amp;#228;r jag personligen bes&amp;#246;ker Sprend skulle Google i st&amp;#228;llet f&amp;#246;r reklam kunna visa en AdWords-dialog i reklamrutan: &amp;quot;Vi bjuder dig p&amp;#229; 500 nya bes&amp;#246;kare under den n&amp;#228;rmaste veckan vilket motsvarar X kr. Ja tack! / Nej tack&amp;quot;. &lt;br&gt;&lt;br&gt;Ett klick senare och bes&amp;#246;ken skulle b&amp;#246;rja rulla in genom att Google automatiskt k&amp;#246;pt r&amp;#228;tt s&amp;#246;kord f&amp;#246;r min r&amp;#228;kning.&lt;br&gt;&lt;br&gt;Eller s&amp;#229; kan dom skicka plastkort som &amp;#229;ker rakt i tunnan.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9111682929198509492-3262004578685985037?l=arneevertsson.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://arneevertsson.blogspot.com/feeds/3262004578685985037/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9111682929198509492&amp;postID=3262004578685985037' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9111682929198509492/posts/default/3262004578685985037'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9111682929198509492/posts/default/3262004578685985037'/><link rel='alternate' type='text/html' href='http://arneevertsson.blogspot.com/2011/08/desperation.html' title='Desperation'/><author><name>Arne Evertsson</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-G0V-Hg11AMo/TleHfXPoOsI/AAAAAAAABFo/jm4Z33eEGHE/s72-c/photo-765187.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9111682929198509492.post-7867758492878556027</id><published>2011-08-25T14:34:00.002+02:00</published><updated>2011-08-25T14:36:20.066+02:00</updated><title type='text'>Telia e-legitimation</title><content type='html'>Jag tycks bara kunna uppbåda energi att blogga då jag är arg. Detta är inget undantag.&lt;br /&gt;&lt;br /&gt;Jag har länge haft Telias e-legitimation även om det ibland krävts handpåläggning för att få det att funka. Häromsistens fick jag från Telias kundtjänst ett shell-script tillsänt mig att köra! Och ja, det funkade faktiskt efter detta.&lt;br /&gt;&lt;br /&gt;Idag har jag försökt ändra mitt företags adress via &lt;a href="http://verksamt.se/"&gt;verksamt.se&lt;/a&gt;. Det krävs en signering som skall göras via e-legitimation. Jag provade först med min vanliga browser, Firefox 6, men fick bara en blank ruta där inloggningdialogen skulle ha varit. Därefter provade jag med Safari som tyckte jag skulle välja ett av två likadana e-leg. Inget funkade för inloggning. Plan C, jag provar Chrome, och hurra! det funkar att logga in. Däremot visar det sig att det inte går att signera utan signeringsdialogen är okontaktbar (om än synlig på skärmen).&lt;br /&gt;&lt;br /&gt;Boven i detta drama tycks vara en programvara som heter Net ID. Man kan fråga sig varför Telia använder sig av Net ID som ständigt har problem med olika versioner av webbläsare och operativsystem. Bankerna kör med sina dosor vilka funkar utan problem. Dom är helt oberoende av just webbläsare och operativsystem och kräver ingen programvaruinstallation.&lt;br /&gt;&lt;br /&gt;Enligt Telias kundtjänst vet dom inte varför Net ID används. Personalen på kundtjänst saknar också en kanal att framföra kundens (min) synpunkt till dom som fattar beslut. Hmmm, detta känns bekant på nåt sätt. Varför låta den enda mänskliga kontakt man har med sina kunder bli en möjlighet att lyssna på kunden? Nä, det verkar knäppt.&lt;br /&gt;&lt;br /&gt;Till slut skaffade jag mig ett BankID i stället, också mjukvarubaserat, men det funkade. Åtminstone i en uråldrig version av Firefox.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9111682929198509492-7867758492878556027?l=arneevertsson.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://arneevertsson.blogspot.com/feeds/7867758492878556027/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9111682929198509492&amp;postID=7867758492878556027' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9111682929198509492/posts/default/7867758492878556027'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9111682929198509492/posts/default/7867758492878556027'/><link rel='alternate' type='text/html' href='http://arneevertsson.blogspot.com/2011/08/telia-e-legitimation.html' title='Telia e-legitimation'/><author><name>Arne Evertsson</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9111682929198509492.post-7904140617404965215</id><published>2011-05-18T10:02:00.003+02:00</published><updated>2011-05-18T10:30:19.881+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='#sj_ab'/><title type='text'>Att åka tåg är roligt, men...</title><content type='html'>Varje resa med SJ medför oundvikligen en injektion direkt i hjärtat av frustration.&lt;br /&gt;&lt;br /&gt;Förra gången jag bokade biljett fick jag spendera en halvtimme i telefon med kundtjänst för att förklara att jag inte bokat fyra resor på samma tåg i mitt eget namn. Att det möjligtvis kunde tänkas vara fel på den webbaserade bokningstjänsten förespeglade uppenbarligen inte personalen på kundtjänst. Till sist gav hon med sig och lät mig boka om biljetten. Givetvis hade priserna hunnit gå upp under tiden vi pratade. Bara att slanta upp såklart.&lt;br /&gt;&lt;br /&gt;&lt;table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: right; margin-left: 1em; text-align: right;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-4HUVJ9onx7c/TdOCVT-MVvI/AAAAAAAAA_4/-AAvbJGfOXA/s1600/indian-on-the-train.jpg" imageanchor="1" style="clear: right; margin-bottom: 1em; margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="271" src="http://1.bp.blogspot.com/-4HUVJ9onx7c/TdOCVT-MVvI/AAAAAAAAA_4/-AAvbJGfOXA/s400/indian-on-the-train.jpg" width="400" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Så här roligt är det att åka tåg om man slipper SJs kundtjänst&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;Idag bokade jag en ny biljett och valde alternativet &lt;i&gt;ombokningsbar&lt;/i&gt;. Därefter valde jag att betala med värdebevis (resegaranti för försenat tåg). På betalningssidan står det då: Om du betalar med värdebevis kan du inte använda det beloppet vid ombokning. Okej, det är godtyckligt och dumt i sig, men vad kan man vänta sig av ett monopolföretag. &lt;br /&gt;&lt;br /&gt;Jag backar då bokningen för att välja icke-ombokningsbar biljett för att slippa betala extra för en eventuell ombokning som inte kan göras. Går det att backa bokningen? Nej, givetvis inte utan att avbryta allt och börja om från början.&lt;br /&gt;&lt;br /&gt;Om man nu lyckas använda ett värdebevis för att betala, får man då växel på beloppet? Nä, såklart inte. Resten av värdet är.. ja.. värdelöst. Efter ett halvår brinner pengarna inne ändå.&lt;br /&gt;&lt;br /&gt;SJ erbjuder något som ingen annan erbjuder. Därför fortsätter jag vara kund. Ökad konkurrens medför inte alltid förbättringar. I det här fallet är jag dock villig ta risken.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9111682929198509492-7904140617404965215?l=arneevertsson.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://arneevertsson.blogspot.com/feeds/7904140617404965215/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9111682929198509492&amp;postID=7904140617404965215' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9111682929198509492/posts/default/7904140617404965215'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9111682929198509492/posts/default/7904140617404965215'/><link rel='alternate' type='text/html' href='http://arneevertsson.blogspot.com/2011/05/sj-igen.html' title='Att åka tåg är roligt, men...'/><author><name>Arne Evertsson</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-4HUVJ9onx7c/TdOCVT-MVvI/AAAAAAAAA_4/-AAvbJGfOXA/s72-c/indian-on-the-train.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9111682929198509492.post-7520212480317427608</id><published>2011-05-04T13:44:00.003+02:00</published><updated>2011-05-04T13:47:18.165+02:00</updated><title type='text'>Äpple eller köttkonserv - del 2</title><content type='html'>Det här är en uppföljning på &lt;a href="http://arneevertsson.blogspot.com/2011/04/apple.html"&gt;mitt tidigare inlägg&lt;/a&gt; angående Apples eventuella kundundersökning via företaget Medallia.&lt;br /&gt;&lt;br /&gt;Igår fick jag ytterligare ett mail från Medallia (se nedan). I mailet finns en mailadress jag kan använda om jag har problem med själva undersökningen. Det intressanta är dock följande:&lt;br /&gt;&lt;br /&gt;Om jag skickar ett mail till angiven adress, apple_surveysupport.cd3r4bhxk8h8vm9@express.medallia.com, så får jag omedelbart ett &lt;b style="background-color: #fff2cc;"&gt;identiskt mail&lt;/b&gt; tillbaka.&lt;br /&gt;&lt;br /&gt;Än så länge har jag heller inget svar från Apples kundtjänst på Irland, även om dom påstår sig undersöka om själva undersökningen är något Apple beställt. &lt;br /&gt;&lt;br /&gt;Just nu är min känsla att det är på riktigt, men dåligt skött från både Apples och Medallias sida. Låt oss se om jag nånsin får ett svar från Apple.&lt;br /&gt;&lt;br /&gt;Här är mailet:&lt;br /&gt;&lt;blockquote&gt;&lt;i&gt;Tack för att du har kontaktat iPhone’s kundundersökning. Du har svarat till en e-postadress som inte kan ta emot inkommande meddelande och därför kommer det här automatiska svaret att dirigera dig till rätt adress så att vi kan ta hand om dina frågor eller kommentarer.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;För att komma till undersökningen: Klicka direkt på länken som finns i din inbjudan eller kopiera och klistra in hela webbadressen i adressfältet i din webbläsare.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Undersökningshjälp: Om du får problem med att se eller avsluta undersökningen, kontakta Medallia på apple_surveysupport.cd3r4bhxk8h8vm9@express.medallia.com&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Tack,&lt;/i&gt;&lt;br /&gt;&lt;i&gt;Apple &lt;/i&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9111682929198509492-7520212480317427608?l=arneevertsson.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://arneevertsson.blogspot.com/feeds/7520212480317427608/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9111682929198509492&amp;postID=7520212480317427608' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9111682929198509492/posts/default/7520212480317427608'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9111682929198509492/posts/default/7520212480317427608'/><link rel='alternate' type='text/html' href='http://arneevertsson.blogspot.com/2011/05/apple-eller-kottkonserv-del-2.html' title='Äpple eller köttkonserv - del 2'/><author><name>Arne Evertsson</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9111682929198509492.post-4774405399185855551</id><published>2011-04-08T11:22:00.003+02:00</published><updated>2011-04-08T13:35:27.900+02:00</updated><title type='text'>Äpple eller köttkonserv?</title><content type='html'>Om Apple skickar ut en kundundersökning borde man kunna förvänta sig att ena armen vet vad den andra gör. Jag bifogar mailet från Apple (?) nedan. Är det på riktigt, eller är det spam?&lt;br /&gt;&lt;br /&gt;Några noteringar:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Kundtjänst i Sverige har ingen aning om företaget Medallia eller någon kundundersökning.&lt;/li&gt;&lt;li&gt;www.apple.se innehåller ingen information om någon undersökning&lt;/li&gt;&lt;li&gt;Mailet innehåller ingen information om mig eller mitt företag, såsom användarnamn hos Apple. &lt;/li&gt;&lt;li&gt;Diskussionsforumet på apple.com innehåller &lt;a href="http://discussions.apple.com/thread.jspa?threadID=1687831"&gt;en fråga från 2008 angående ett liknande mail&lt;/a&gt;, men den saknar tyvärr svar.&lt;/li&gt;&lt;li&gt;Medallia tycks vara ett riktigt företag som gör kundundersökningar&lt;/li&gt;&lt;li&gt;Länkarna i mailet leder till medallia.com.&lt;/li&gt;&lt;li&gt;Jag väntar på svar från &lt;a href="mailto:contactus.se@euro.apple.com"&gt;contactus.se@euro.apple.com&lt;/a&gt; angående detta mail. &lt;/li&gt;&lt;/ul&gt;Är Apple så amatörmässiga? Tja, kanske.&lt;br /&gt;&lt;br /&gt;Här är mailet:&lt;br /&gt;&lt;blockquote&gt;&lt;i&gt;Kära Apple iPhone-kund: &lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Tack för att du har köpt en Apple iPhone . Vi skulle vilja be dig besvara några frågor om dina upplevelser med din nya telefon. &lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Vi har bett Medallia, Inc att genomföra undersökningen och ta hand om dina svar. Vi hoppas att du har tid att lägga några minuter på vår undersökning. &lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;För att genomföra undersökningen behöver du bara klicka på nedanstående webbadressen (URL) eller kopiera och klistra in hela webbadressen i adressfältet i din webbläsare.&amp;nbsp; Ni kan fullfölja den här undersökningen på er iPhone.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;http://survey.medallia.com?cd3r4bhxk8h8vm9&amp;amp;lng=sv_SE&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Informationen som du lämnar kommer att användas till att förbättra vår produktsupport.&amp;nbsp; Vi kommer inte att använda dina svar för att sälja produkter eller tjänster till dig.&amp;nbsp; Om du har några fler frågor om hur vi kommer att an vända den här informationen kan du läsa om vår sekretesspolic (se nedan)&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Vi värdesätter och uppskattar dina svar. Tack för att du har deltagit!&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Apple&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;---------------------------------------------------------------------------------&lt;/i&gt;&lt;br /&gt;&lt;i&gt;Svara inte direkt på den här inbjudan&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Undersökningshjälp: Skulle du ha några problem med att se eller avsluta den här undersökningen, kontakta Medallia at mailto:apple_surveysupport.cd3r4bhxk8h8vm9@express.medallia.com&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;För mer information om Apple’s sekretesspolicy, gå till:&lt;/i&gt;&lt;br /&gt;&lt;i&gt;http://www.apple.com/legal/privacy/ &lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Dessutom förbinder sig Medallia att skydda all insamlad information. För att läsa mer om Medallias sekretesspolicy, gå till: http://www.medallia.com/privacy.php&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;För att lämna Medallia: Vi litar på information från våra kunder för att kunna vara säkra på att supporten som du får ska möte och överstiga dina förväntningar. Gå till: http://survey.medallia.com?cd3r4bhxk8h8vm9&amp;amp;lng=sv_SE&amp;amp;reject=yes om du inte vill få en liknande förfrågan i framtiden, &lt;/i&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9111682929198509492-4774405399185855551?l=arneevertsson.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://arneevertsson.blogspot.com/feeds/4774405399185855551/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9111682929198509492&amp;postID=4774405399185855551' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9111682929198509492/posts/default/4774405399185855551'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9111682929198509492/posts/default/4774405399185855551'/><link rel='alternate' type='text/html' href='http://arneevertsson.blogspot.com/2011/04/apple.html' title='Äpple eller köttkonserv?'/><author><name>Arne Evertsson</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9111682929198509492.post-3979871501980027329</id><published>2011-01-22T20:28:00.005+01:00</published><updated>2011-05-04T13:47:47.730+02:00</updated><title type='text'>Late adopter?</title><content type='html'>Suddenly I'm a late adopter of new technology: Until today I had never heard of &lt;a href="http://viber.com/"&gt;Viber&lt;/a&gt;. After installing it, the app plainly says that 41 of my contacts are already Viber users. Wow. What the heck &lt;i&gt;is&lt;/i&gt; Viber?&lt;br /&gt;&lt;br /&gt;&lt;table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: right; margin-left: 1em; text-align: right;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://art.uib.no/tegea_wp/wp-content/uploads/2009/07/033-TegeaBlog.jpg" imageanchor="1" style="clear: right; margin-bottom: 1em; margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="250" src="http://art.uib.no/tegea_wp/wp-content/uploads/2009/07/033-TegeaBlog.jpg" width="320" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;"Look at my new cool StoneAxe 4!" - Another late adopter(?)&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;b&gt;Viber is a Skype killer. Skype will have to move fast not to get wiped out.&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;What's so great about Viber then? After all, it's just a phone app - it even looks the same as the built in iPhone phone app. So nothing is new. But still, what makes it great are three little things:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;You can receive phone calls when the app is not running. I tried it on my non-multitasking iPhone 3G and it worked perfectly using the notification system of iOS.&lt;/li&gt;&lt;li&gt;Your contacts are all there. Viber lets you make &lt;i&gt;normal&lt;/i&gt; cellular phone calls to those of your contacts that do not have Viber.&lt;/li&gt;&lt;li&gt;Since your cell phone number is your user name, the registration process is incredibly simple and more importantly: Viber already knows which of your contacts who are Viber users, since your contact list contains their phone numbers. No need to build up a new buddy list.&lt;/li&gt;&lt;/ol&gt;Skype has &lt;b&gt;&lt;span style="background-color: #fff2cc;"&gt;none&lt;/span&gt; &lt;/b&gt;of the above features. The Viber app is how the Skype app should have worked all the time. &lt;br /&gt;&lt;br /&gt;I have 79 Skype contacts. Twelve of those are logged in. Six of them are at or near their computer. Correction, five, I shouldn't count the Skype Test Call. I mainly use Skype as an IM client. Very seldomly I make or receive calls. Why is that? Well, even though there are right now 25+ million users logged in, only 6% of my contacts are logged in. Equally important is the fact that I prefer a little bit of privacy as I talk on the phone. Even a laptop isn't so simple to carry around, especially if it's docked into other hardware on your desk.&lt;br /&gt;&lt;br /&gt;I want a phone when I want to talk on the phone.&lt;br /&gt;&lt;br /&gt;Everyone knows that the telecom companies are slowest-moving, least innovative companies in the world. But then there was Skype - and Skype created a client for my HTC Windows phone. Great I thought, since I'm already paying for unlimited data. But the app was a disappointment since it couldn't use the normal speaker of the phone. It also quickly drained the battery when running, and I had to keep it running for it to be useful.&lt;br /&gt;&lt;br /&gt;The Skype app for iPhone is better, but is mostly the same old application. Why start it up if I have nobody to call?&lt;br /&gt;&lt;br /&gt;Viber changes that. The whole reason Skype succeeded was: It worked! MSN Messenger didn't, ICQ didn't and so on. Skype made it possible to make voice calls with an IM client. Great.&lt;br /&gt;&lt;br /&gt;Now Viber does just that for the device that phone calls are supposed to be made on. Viber just works. On my phone.&lt;br /&gt;&lt;br /&gt;Those are my first impressions of the app and the service. Maybe Viber will prove not to be reliable enough. Maybe Skype will strike again. Maybe the Viber company will never find a working business model (Skype seems to making money though).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9111682929198509492-3979871501980027329?l=arneevertsson.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://arneevertsson.blogspot.com/feeds/3979871501980027329/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9111682929198509492&amp;postID=3979871501980027329' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9111682929198509492/posts/default/3979871501980027329'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9111682929198509492/posts/default/3979871501980027329'/><link rel='alternate' type='text/html' href='http://arneevertsson.blogspot.com/2011/01/late-adopter.html' title='Late adopter?'/><author><name>Arne Evertsson</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9111682929198509492.post-2056615608872599219</id><published>2010-09-08T13:21:00.003+02:00</published><updated>2010-09-08T16:06:38.319+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='learning'/><title type='text'>Learning to program the iPhone</title><content type='html'>Over the last year or so I've spent more than 300 hours learning to program the iPhone. I guess I haven't studied a topic so thoroughly since my university days. Or.. maybe even before that. Anyhow, this is how I went about becoming an iPhone programmer.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Learning&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;As always, Stack Overflow was my friend. My primary language is Java so I searched for "learn iphone java" and found this question:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://stackoverflow.com/questions/783321/whats-the-best-way-of-learning-iphone-programming-when-coming-from-java"&gt;What's the best way of learning iPhone programming when coming from Java?&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Then I used the top few answers as my guide:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;I read &lt;a href="http://developer.apple.com/mac/library/documentation/Cocoa/Conceptual/ObjectiveC/Introduction/introObjectiveC.html"&gt;The Objective-C Programming Language&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;I watched all the lectures from &lt;a href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewiTunesUCollection?id=384233225"&gt;CS 193P&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;I payed the $99 to join the developer program.&lt;/li&gt;&lt;li&gt;I got the &lt;a href="http://www.amazon.com/Cocoa-Programming-Mac-OS-3rd/dp/0321503619/ref=sr_1_1?s=books&amp;amp;ie=UTF8&amp;amp;qid=1283947106&amp;amp;sr=1-1"&gt;Hillegass book&lt;/a&gt; and worked my way through it.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;I got the &lt;a href="http://www.amazon.com/Beginning-iPhone-Development-Exploring-SDK/dp/1430224592/ref=sr_1_fkmr0_1?ie=UTF8&amp;amp;qid=1283947292&amp;amp;sr=1-1-fkmr0"&gt;Orange book&lt;/a&gt; and coded my way through it.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;Aaron Hillegass writes "Objective-C is a simple and elegant extension to C, and mastering it will take about two hours if you already know C and an object-oriented language, such as Java or C++".&lt;br /&gt;&lt;br /&gt;Not.&lt;br /&gt;&lt;br /&gt;I've worked 15 years as a C++/Delphi/Java programmer so I didn't exactly start from scratch, but there is still a lot more to Objective-C than that. Just begin with memory management...&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Cocoa Programming for Mac OS X&lt;/span&gt; by Aaron Hillegass is great book. Before each new programming exercise there is a description of &lt;span style="font-style: italic;"&gt;what&lt;/span&gt; is going to be made. If one feels adventurous one could just close the book and go ahead and do it. The book is there to help you should you need it. Completing every chapter is however not necessary. Skip the parts that are  relevant only for OSX.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Beginning iPhone 3 Development - Exploring the iPhone SDK&lt;/span&gt; by Dave Mark and Jeff LaMarche is also very good. It does however tend to be buggy towards the end, in both code samples and text. It seems they rushed the SDK 3 edition to print.&lt;br /&gt;&lt;br /&gt;For every paper book I read it gets more mysterious why there is no wiki version of it. With a wiki there would be &lt;span style="font-style: italic;"&gt;no errata&lt;/span&gt;. That alone is reason enough to move away from paper.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Xcode&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;As more than one Java programmer has noticed, Xcode aint IntelliJ. But it works, and version 4 seems to be a step in the right direction (but I have yet to try it out).&lt;br /&gt;&lt;br /&gt;Suggesting new and enhanced features on bugreport.apple.com feels like throwing your ideas into a black hole. Instead of doing that I've added my feature requests to &lt;a href="http://idev.uservoice.com"&gt;idev.uservoice.com&lt;/a&gt;. Even if Apple doesn't care, at least I can get some positive feedback from other developers.&lt;br /&gt;&lt;br /&gt;In the process of penetrating the jungle of beta testing I have become the &lt;span style="font-style: italic;"&gt;number one world authority&lt;/span&gt; on iPhone beta testing - at least &lt;a href="http://www.google.com/#hl=en&amp;amp;q=how+beta+test+iphone+app"&gt;if Google gets to decide&lt;/a&gt;. ;-)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Conclusion&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;iPhone is a fantastic platform that brings back the fun from when I took my first steps with Basic and C64 assembler. My plan is to make educational games and use my children as beta testers (there you go - I &lt;span style="font-style: italic;"&gt;am&lt;/span&gt; the authority of beta testing). If you're gonna get addicted anyway, why not get addicted to learning?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9111682929198509492-2056615608872599219?l=arneevertsson.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://arneevertsson.blogspot.com/feeds/2056615608872599219/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9111682929198509492&amp;postID=2056615608872599219' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9111682929198509492/posts/default/2056615608872599219'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9111682929198509492/posts/default/2056615608872599219'/><link rel='alternate' type='text/html' href='http://arneevertsson.blogspot.com/2010/09/learning-to-program-iphone.html' title='Learning to program the iPhone'/><author><name>Arne Evertsson</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9111682929198509492.post-4110742779800056539</id><published>2010-09-06T15:29:00.004+02:00</published><updated>2010-09-06T15:49:27.706+02:00</updated><title type='text'>Hide! Keep sending invoices. What problem?</title><content type='html'>So I updated my iPhone 3G to iOS4. Surprise surprise - it is now really slow and buggy.&lt;br /&gt;&lt;br /&gt;What do I do? I go to apple.com/support.&lt;br /&gt;&lt;br /&gt;Any information on the iPhone support page? No.&lt;br /&gt;&lt;br /&gt;Let's search. Any info? No, just angry iPhone users in the support forum.&lt;br /&gt;&lt;br /&gt;Maybe I can call Apple support? No, not outside the US or Canada.&lt;br /&gt;&lt;br /&gt;Send an email? Not.&lt;br /&gt;&lt;br /&gt;What the heck is wrong with Apple? Hide and the problem will go away?&lt;br /&gt;&lt;br /&gt;So forget about Apple. Let's try my operator, Telia.&lt;br /&gt;&lt;br /&gt;They do have email support! Wow.&lt;br /&gt;&lt;br /&gt;By now they've had two weeks to answer my support request. Nothing yet.&lt;br /&gt;&lt;br /&gt;Hide! Keep sending invoices. What problem?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9111682929198509492-4110742779800056539?l=arneevertsson.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://arneevertsson.blogspot.com/feeds/4110742779800056539/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9111682929198509492&amp;postID=4110742779800056539' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9111682929198509492/posts/default/4110742779800056539'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9111682929198509492/posts/default/4110742779800056539'/><link rel='alternate' type='text/html' href='http://arneevertsson.blogspot.com/2010/09/hide-keep-sending-invoices-what-problem.html' title='Hide! Keep sending invoices. What problem?'/><author><name>Arne Evertsson</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9111682929198509492.post-4972109078155456115</id><published>2010-03-15T09:01:00.015+01:00</published><updated>2010-03-17T10:10:36.817+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='web server'/><category scheme='http://www.blogger.com/atom/ns#' term='ssh'/><category scheme='http://www.blogger.com/atom/ns#' term='osx'/><category scheme='http://www.blogger.com/atom/ns#' term='monitoring'/><category scheme='http://www.blogger.com/atom/ns#' term='terminal'/><title type='text'>Automatically reconnecting ssh sessions at wakeup</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_xYCn2jnuOHc/S548Yduv8eI/AAAAAAAAAh4/eJlXPoifRVY/s1600-h/terminal_window_group.jpg"&gt;&lt;img style="float: right; margin: 0pt 0pt 10px 10px; cursor: pointer; width: 400px; height: 250px;" src="http://1.bp.blogspot.com/_xYCn2jnuOHc/S548Yduv8eI/AAAAAAAAAh4/eJlXPoifRVY/s400/terminal_window_group.jpg" alt="" id="BLOGGER_PHOTO_ID_5448858990160114146" border="0" /&gt;&lt;/a&gt;In order to keep the &lt;a href="http://sprend.com/"&gt;Sprend&lt;/a&gt; server running smoothly we use different kinds of monitoring and trouble alert systems.&lt;br /&gt;&lt;br /&gt;A part of that monitoring system is me keeping an eye on what is going on at the moment. I keep three Terminal windows open as shown in the screenshot. Each is connected with &lt;span style="font-style: italic;"&gt;ssh&lt;/span&gt; to the server itself.&lt;br /&gt;&lt;br /&gt;The topmost window is running &lt;span style="font-style: italic;"&gt;htop&lt;/span&gt; that shows the cpu and io load. The middle one is showing the log. The bottom window is logged in to an irc channel for team communication.&lt;br /&gt;&lt;br /&gt;Every morning when my developer machine wakes up from sleep the ssh sessions have disconnected of course. So I go into each of the windows to reconnect to the server, start up &lt;span style="font-style: italic;"&gt;htop&lt;/span&gt;, start up the log, and reattach to the irc session. Some mornings I'm just to lazy and stay disconnected. If only there was a way  to reconnect automatically...&lt;br /&gt;&lt;br /&gt;And yes, yes, yesterday was the day when I made it work. What was needed was simply a utility program that runs a script on wakeup from sleep that starts the Terminal which is set up to open up a group of three windows, each belonging to its own window profile that runs the ssh command when it opens, which logs in automatically via a public key stored on the server, and then opens a full terminal and runs the correct command in it.&lt;br /&gt;&lt;br /&gt;Or, in a step by step instruction, do the following:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;Step 1: Auto-login&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Set up a public/private key so that ssh can log in without a password. I didn't know it was  &lt;a href="http://superuser.com/questions/8077/how-do-i-set-up-ssh-so-i-dont-have-to-type-my-password"&gt;so simple to set up.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;Step 2: Prepare three calls to ssh&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Just logging in to the server is not enough. We need to run a command in a full terminal once we've logged in. Luckily that is only a flag away with ssh: -t.&lt;br /&gt;&lt;br /&gt;To log in and start htop:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;ssh -t user@server 'htop'&lt;/li&gt;&lt;/ul&gt;To log in and show the log I'm interested in:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;ssh -t user@server 'tail -f -n500 log.txt'&lt;/li&gt;&lt;/ul&gt;To log in and reattach to a &lt;a href="http://quadpoint.org/articles/irssi"&gt;&lt;span style="font-style: italic;"&gt;screen&lt;/span&gt;&lt;/a&gt; session with the name &lt;span style="font-style: italic;"&gt;irssi&lt;/span&gt;.&lt;ul&gt;&lt;li&gt;ssh -t user@server 'screen -d -r irssi'&lt;/li&gt;&lt;/ul&gt;The screen session was previously created with &lt;span style="font-style: italic;"&gt;screen -S irssi&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Once you have made sure the commands work as expected, move on to the next step.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_xYCn2jnuOHc/S6B-s33HaYI/AAAAAAAAAiI/0nE2oRYiGwg/s1600-h/terminal_settings.png"&gt;&lt;img style="float: right; margin: 0pt 0pt 10px 10px; cursor: pointer; width: 400px; height: 308px;" src="http://1.bp.blogspot.com/_xYCn2jnuOHc/S6B-s33HaYI/AAAAAAAAAiI/0nE2oRYiGwg/s400/terminal_settings.png" alt="" id="BLOGGER_PHOTO_ID_5449494858492766594" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;Step 3: Create three window profiles in Terminal&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Open the Settings for  Terminal. Pick your favorite window profile and make a duplicate. On the tab &lt;span style="font-style: italic;"&gt;Shell&lt;/span&gt; enter the first of the ssh commands from step 2 (see screenshot). Make two more duplicates and enter the other two ssh commands.&lt;br /&gt;&lt;br /&gt;Now quit Terminal and start it again. At least that's what I had to do to be able to use the three new window profiles.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;Step 4: Create the window group&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;In Terminal, go to &lt;span style="font-style: italic;"&gt;Shell / New Window&lt;/span&gt; and open up one window of each of your new profiles. Position the windows to your preference on the screen. If all works, this is the configuration you want to keep; three windows displaying htop, the log, and the irc channel.&lt;br /&gt;&lt;br /&gt;In the menu &lt;span style="font-style: italic;"&gt;Window&lt;/span&gt;, select &lt;span style="font-style: italic;"&gt;Save Windows as Group&lt;/span&gt;. Pick a good name and check the checkbox &lt;span style="font-style: italic;"&gt;Use window group when Terminal starts&lt;/span&gt;. Quit and restart Terminal to see if it works.&lt;br /&gt;&lt;br /&gt;You will also want Terminal to start on bootup. Rightclick its icon in the dock and make sure &lt;span style="font-style: italic;"&gt;Open at Login&lt;/span&gt; is checked.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;Step 5: Install SleepWatcher&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The last step is making sure Terminal starts when the computer wakes from sleep.&lt;br /&gt;&lt;br /&gt;1. Download &lt;a href="http://www.bernhard-baehr.de/sleepwatcher_2.0.5.dmg"&gt;SleepWatcher&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;2. Run both install packages, &lt;span style="font-style: italic;"&gt;sleepwatcher.pkg&lt;/span&gt; and &lt;span style="font-style: italic;"&gt;SleepWatcher StartupItem.pkg&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;3. Open a regular Terminal window.&lt;br /&gt;&lt;br /&gt;4. Create the &lt;span style="font-weight: bold;"&gt;.sleep&lt;/span&gt; text file and paste in the following:&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;ps axco pid,command | grep Terminal | awk '{ print $1; }' | xargs kill -9&lt;/li&gt;&lt;/ul&gt;Note that this is going to kill the Terminal process before going to sleep. It works for me but perhaps not for everyone else.&lt;br /&gt;&lt;br /&gt;5. Create the &lt;span style="font-weight: bold;"&gt;.wakeup&lt;/span&gt; text file and paste in the following:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;open -a Terminal&lt;/li&gt;&lt;/ul&gt;6. Make the scripts executable:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;chmod +x .sleep&lt;/li&gt;&lt;li&gt;chmod +x .wakeup&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;Done!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I hope somebody else will find the instruction useful. This problem has bugged me for some time and it was really nice to be able to put all the nuts and bolts together.&lt;br /&gt;&lt;br /&gt;The version of Terminal is 2.1.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9111682929198509492-4972109078155456115?l=arneevertsson.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://arneevertsson.blogspot.com/feeds/4972109078155456115/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9111682929198509492&amp;postID=4972109078155456115' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9111682929198509492/posts/default/4972109078155456115'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9111682929198509492/posts/default/4972109078155456115'/><link rel='alternate' type='text/html' href='http://arneevertsson.blogspot.com/2010/03/automatically-reconnecting-ssh-sessions.html' title='Automatically reconnecting ssh sessions at wakeup'/><author><name>Arne Evertsson</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_xYCn2jnuOHc/S548Yduv8eI/AAAAAAAAAh4/eJlXPoifRVY/s72-c/terminal_window_group.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9111682929198509492.post-3191932733399313272</id><published>2009-09-04T12:58:00.003+02:00</published><updated>2009-09-07T09:36:59.657+02:00</updated><title type='text'>Let's get down to business!</title><content type='html'>&lt;span id="dnn_ctr1857_HtmlModule_HtmlHolder" class="Normal"&gt;The &lt;a href="http://www.cipforum.org/"&gt;CIP FORUM 09&lt;/a&gt; conference will take place in a couple of days in Göteborg, themed "The Future Of Innovation". There will be talks about "management of intellectual assets", "building platforms to assure innovation", "new infrastructure adapted to knowledge-driven business creation", "asset value creation process", "contract management" and more!&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span id="dnn_ctr1941_HtmlModule_HtmlHolder" class="Normal"&gt;It's all very good. I guess. But I wish I had the guts to crash the conference, go down there and stand up at the keynote and say:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span id="dnn_ctr1941_HtmlModule_HtmlHolder" class="Normal"&gt;—  &lt;/span&gt;&lt;span id="dnn_ctr1941_HtmlModule_HtmlHolder" class="Normal"&gt;How many people in this room is a founder of a start-up? Who is actually working at a start-up now, raise your hand!&lt;br /&gt;&lt;br /&gt;Expecting no more than a handful of hands, I'd continue:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span id="dnn_ctr1941_HtmlModule_HtmlHolder" class="Normal"&gt;— &lt;/span&gt;&lt;span id="dnn_ctr1941_HtmlModule_HtmlHolder" class="Normal"&gt;So, who wants to keep &lt;span style="font-weight: bold;"&gt;talking&lt;/span&gt; about innovation, processes, assets, infrastructure, IP and all that, and who wants to &lt;span style="font-weight: bold;"&gt;get down to business&lt;/span&gt; and do something? Anyone? Come with me if you want to spend the next 24 hours doing just that, bringing an idea into the hands of actual customers. Think: The Apprentice with Donald Trump.&lt;br /&gt;&lt;br /&gt;Then I'd leave with hoards of fresh entrepreneurs following me out into a bright new world.&lt;br /&gt;&lt;br /&gt;Maybe not.&lt;br /&gt;&lt;br /&gt;Now for a more realistic idea: Since &lt;a href="http://www.24hbc.com/"&gt; 24 Hour Business Camp&lt;/a&gt;&lt;/span&gt;&lt;span id="dnn_ctr1941_HtmlModule_HtmlHolder" class="Normal"&gt; in Stockholm is already fully booked, how  about doing a Go:teborg version of that?&lt;/span&gt;&lt;span id="dnn_ctr1941_HtmlModule_HtmlHolder" class="Normal"&gt; Gothenburg cannot be all about motorized vehicles, please!&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/9111682929198509492-3191932733399313272?l=arneevertsson.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://arneevertsson.blogspot.com/feeds/3191932733399313272/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9111682929198509492&amp;postID=3191932733399313272' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9111682929198509492/posts/default/3191932733399313272'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9111682929198509492/posts/default/3191932733399313272'/><link rel='alternate' type='text/html' href='http://arneevertsson.blogspot.com/2009/09/lets-get-down-to-business.html' title='Let&apos;s get down to business!'/><author><name>Arne Evertsson</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9111682929198509492.post-5874689097063211059</id><published>2009-08-27T11:57:00.000+02:00</published><updated>2009-08-27T11:58:06.244+02:00</updated><title type='text'>I want my lawyer</title><content type='html'>&lt;p class="mobile-photo"&gt;&lt;a href="http://2.bp.blogspot.com/_xYCn2jnuOHc/SpZYrlmvY1I/AAAAAAAAATk/0-eXXNZM7Hg/s1600-h/photo-786245.jpg"&gt;&lt;img src="http://2.bp.blogspot.com/_xYCn2jnuOHc/SpZYrlmvY1I/AAAAAAAAATk/0-eXXNZM7Hg/s320/photo-786245.jpg"  border="0" alt="" id="BLOGGER_PHOTO_ID_5374580711165485906" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;I&amp;#39;m sitting here waiting to be interviewed for a gig. This room makes  &lt;br&gt;me want to scream &amp;quot;Where&amp;#39;s my lawyer? I&amp;#39;ll say nothing without my  &lt;br&gt;lawyer&amp;quot;. (okay, they are actually redecorating)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9111682929198509492-5874689097063211059?l=arneevertsson.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://arneevertsson.blogspot.com/feeds/5874689097063211059/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9111682929198509492&amp;postID=5874689097063211059' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9111682929198509492/posts/default/5874689097063211059'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9111682929198509492/posts/default/5874689097063211059'/><link rel='alternate' type='text/html' href='http://arneevertsson.blogspot.com/2009/08/i-want-my-lawyer.html' title='I want my lawyer'/><author><name>Arne Evertsson</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_xYCn2jnuOHc/SpZYrlmvY1I/AAAAAAAAATk/0-eXXNZM7Hg/s72-c/photo-786245.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9111682929198509492.post-563979063154082514</id><published>2008-11-20T13:31:00.006+01:00</published><updated>2008-11-20T17:17:44.400+01:00</updated><title type='text'>Agile usability</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.useit.com/jakob/jakob_nielsen.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 240px; height: 300px;" src="http://www.useit.com/jakob/jakob_nielsen.jpg" alt="" border="0" /&gt;&lt;/a&gt;Jakob Nielsen is writing about how to use &lt;a href="http://www.useit.com/alertbox/agile-methods.html"&gt;agile development methods without ignoring the usability aspect&lt;/a&gt;. This is a really interesting topic since usability is ignored to an equal degree within both waterfall and agile methods.&lt;br /&gt;&lt;br /&gt;In my experience, usability people usually favor the heavy up-front design. Because, in their view, once they've completed their sound usability engineering, what could possibly change? Their work is done and they leave before the first line of code is written. They continue on to the next project without ever learning that requirements always change, and ought to change.&lt;br /&gt;&lt;br /&gt;While I'm on the subject, let's look at the usability of Jakob's Alertbox column itself. Where is the Comments feature? Is he too smart for feedback? I've sent him an email about this. We'll see if his email address is actually usable...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9111682929198509492-563979063154082514?l=arneevertsson.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://arneevertsson.blogspot.com/feeds/563979063154082514/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9111682929198509492&amp;postID=563979063154082514' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9111682929198509492/posts/default/563979063154082514'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9111682929198509492/posts/default/563979063154082514'/><link rel='alternate' type='text/html' href='http://arneevertsson.blogspot.com/2008/11/agile-usability.html' title='Agile usability'/><author><name>Arne Evertsson</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9111682929198509492.post-668799382424042253</id><published>2008-10-15T13:35:00.000+02:00</published><updated>2008-10-15T13:34:59.935+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='documentation'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>The Mystery Sherlock Holmes Never Solved</title><content type='html'>I'm talking about the mystery of setting up your development environment for the project you are joining. You know, that step-by-step instruction that within 30 minutes leaves you with a complete environment that lets you check-out, check-in, build, debug, deploy, test, run and perform all your daily developer tasks.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_xYCn2jnuOHc/SOynBxqRaAI/AAAAAAAAAKY/gerAUL1iOYc/s1600-h/holmes2.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://3.bp.blogspot.com/_xYCn2jnuOHc/SOynBxqRaAI/AAAAAAAAAKY/gerAUL1iOYc/s400/holmes2.jpg" alt="" id="BLOGGER_PHOTO_ID_5254758514186872834" border="0" /&gt;&lt;/a&gt;Actually, that document is usually nowhere to be found. It could only be recreated by interviewing every developer that ever worked on the project. Sherlock would not have coped.&lt;br /&gt;&lt;br /&gt;The plot thickens since this very document is &lt;span style="font-style: italic;"&gt;the &lt;/span&gt;&lt;span style="font-style: italic;"&gt;single most important piece of documentation&lt;/span&gt; of any project. And I have proof, Dr. Watson. Let me come back to that in a short while.&lt;br /&gt;&lt;br /&gt;Having a good dev-setup instruction is all about respect for the new coder on the team. Do you want him to end his coding days like Sir Charles Baskerville or do you want him to get a good start?&lt;br /&gt;&lt;br /&gt;Also, if the setup takes a long time it is a sure sign that the system has grown more complex than it should be. Perhaps it's time for a thorough refactoring.&lt;br /&gt;&lt;br /&gt;How would you go about creating this document? I believe it shouldn't even exist. The setup ought to be fully automatized.&lt;br /&gt;&lt;br /&gt;If automization isn't an option I would suggest to try something I did on a recent project. Hire an external developer to come in and try out the existing setup instruction. Ask her to follow the instructions while updating them as needed. Time it. If you're not happy with the result, bring in another developer and iterate.&lt;br /&gt;&lt;br /&gt;Well Dr. Watson, allow me to present the result of some research I did before writing this post. I asked for the &lt;a href="http://stackoverflow.com/questions/177576/single-most-important-piece-of-documentation"&gt;Single most important piece of documentation&lt;/a&gt; on stackoverflow.com. At the time of writing the most voted answer by far was "How to set up the development environment".&lt;br /&gt;&lt;br /&gt;How is possible that I have never seen a good setup instruction for any project I worked in? Hmm, I believe we got work to do, my fellow coders.&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9111682929198509492-668799382424042253?l=arneevertsson.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://arneevertsson.blogspot.com/feeds/668799382424042253/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9111682929198509492&amp;postID=668799382424042253' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9111682929198509492/posts/default/668799382424042253'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9111682929198509492/posts/default/668799382424042253'/><link rel='alternate' type='text/html' href='http://arneevertsson.blogspot.com/2008/10/mystery-sherlock-holmes-never-solved.html' title='The Mystery Sherlock Holmes Never Solved'/><author><name>Arne Evertsson</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_xYCn2jnuOHc/SOynBxqRaAI/AAAAAAAAAKY/gerAUL1iOYc/s72-c/holmes2.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9111682929198509492.post-2576968542494727081</id><published>2008-10-09T14:54:00.004+02:00</published><updated>2008-10-09T14:30:20.476+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='conference'/><category scheme='http://www.blogger.com/atom/ns#' term='lean'/><category scheme='http://www.blogger.com/atom/ns#' term='scrum'/><title type='text'>What I hate about Scrum</title><content type='html'>I attended the &lt;a href="http://www.crisp.se/lean/20080925/"&gt;Deep Lean conference&lt;/a&gt; held in Stockholm on September 25-26 2008, with Mary &amp;amp; Tom Poppendieck, Jeff Sutherland and Henrik Kniberg. They were as brilliant and full of energy, as was the crowd full of smart questions.&lt;br /&gt;&lt;br /&gt;Especially Mary impressed me and it was a joy to listen to her presentations. During on of those she suddenly said "Let me tell you what I hate about Scrum". Jeff Sutherland sharpened his ears as did the rest of us. Let me get back to what she said in a moment.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_xYCn2jnuOHc/SO3wlq16pWI/AAAAAAAAAKo/Xp681WBMvmQ/s1600-h/deeplean2.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 375px; height: 280px;" src="http://4.bp.blogspot.com/_xYCn2jnuOHc/SO3wlq16pWI/AAAAAAAAAKo/Xp681WBMvmQ/s400/deeplean2.jpg" alt="" id="BLOGGER_PHOTO_ID_5255120870157493602" border="0" /&gt;&lt;/a&gt;The best thing about the conference was that all of the speakers stayed in the room and listened to the presentations. To hear them interrupt each other and discuss something was great. The lesson learned from that is that these guys don't have all the answers. You need to think for yourself. I certainly need to repeat that for myself every once in a while.&lt;br /&gt;&lt;br /&gt;Let me mention just a few things that stuck with me from this conference.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Keep your backlog short&lt;/span&gt;&lt;br /&gt;Why spend time elaborating on things that perhaps will never get done? I immediately started deleting things off of my project backlog as well as my private Outlook task list. If the items I deleted ever become important they will certainly bubble up to the top of my mind again.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Story point deflation&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;This is a question that came up and I don't remember it getting a good answer from any the speakers.&lt;br /&gt;&lt;br /&gt;Let's say you estimate a story to five points during the first sprint planning. A number of sprints later you get a similarly difficult story to estimate. This story gets an estimate of only two points, since the team is equaling story points with ideal man days. The result is that the team gets more and more done but the velocity stays the same.&lt;br /&gt;&lt;br /&gt;Is the solution to make estimations relative to a medium sized reference story? Even though the days needed for the story is only two, it will still get five points since it is about as complex as the reference story. I don't know if this works, but perhaps somebody else does?&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Product Champion&lt;/span&gt;&lt;br /&gt;Mary spoke of the product champion as somebody who is the product owner and the system architect in one person. That's a role I would like to have. The product owner has always struck me as somebody too far away from the technology. She also abolished the scrum master altogether. A functioning team will remove impediments by itself.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Unnecessary features&lt;/span&gt;&lt;br /&gt;Lean is a lot about waste, and the worst waste is the implementation of unused features. Probably very, very true. But how about this: Features sell products. I buy dishwasher detergent based on whether is has that red ball in middle. I feel I need that feature. And the big corporation buys the application server from IBM since their product is just incredibly complex and has so many features. Then it must be good, and worth all that money. Solution, anybody?&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Ok, so now let's get back to the question of love and hate.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;What was it that Mary hated about Scrum? As I recall it she said "What I hate about Scrum is that only team members get to speak during the Scrum meeting. If anyone else attend they should stay silent and listen. That is totally disrespectful."&lt;br /&gt;&lt;br /&gt;At this moment Jeff desperately (?) reached for the microphone and said "That is a misinterpretation of Scrum".&lt;br /&gt;&lt;br /&gt;I'm glad he set that straight.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Two other blog posts about Deep Lean:  &lt;a href="http://damonpoole.blogspot.com/2007/11/agile-bazaar-deep-lean-trip-report.html"&gt;Damon Poole&lt;/a&gt;, &lt;a href="http://djellison.blogspot.com/2007/11/deep-lean-conference.html"&gt;David Jellison&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9111682929198509492-2576968542494727081?l=arneevertsson.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://arneevertsson.blogspot.com/feeds/2576968542494727081/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9111682929198509492&amp;postID=2576968542494727081' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9111682929198509492/posts/default/2576968542494727081'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9111682929198509492/posts/default/2576968542494727081'/><link rel='alternate' type='text/html' href='http://arneevertsson.blogspot.com/2008/10/what-i-hate-about-scrum.html' title='What I hate about Scrum'/><author><name>Arne Evertsson</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_xYCn2jnuOHc/SO3wlq16pWI/AAAAAAAAAKo/Xp681WBMvmQ/s72-c/deeplean2.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9111682929198509492.post-3706556782144702947</id><published>2008-10-08T12:35:00.004+02:00</published><updated>2008-10-09T09:01:49.037+02:00</updated><title type='text'>Carl Bildt leads the way</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_xYCn2jnuOHc/SOyNCzMHfFI/AAAAAAAAAKA/1or3lnkcVfo/s1600-h/carlbilldt.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://1.bp.blogspot.com/_xYCn2jnuOHc/SOyNCzMHfFI/AAAAAAAAAKA/1or3lnkcVfo/s400/carlbilldt.jpg" alt="" id="BLOGGER_PHOTO_ID_5254729944474811474" border="0" /&gt;&lt;/a&gt;Frequent blogger, our Minister for Foreign Affairs Carl Bildt just made the switch. His only regret is &lt;a href="http://carlbildt.wordpress.com/2008/10/04/en-ny-varld/"&gt;that he didn't make it earlier (Swedish)&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;And now the time has come for me, I've ordered an iMac this morning. I would have waited longer if it wasn't for the strange noise coming from the harddrive(?) of my four year old Dell desktop.&lt;br /&gt;&lt;br /&gt;That machine has served me well, and I'm not the geek who craves the fastest processor every six months. Actually I always buy the second fastest machine available and usually save at least 25% on the price. An intresting fact is that the Dell runs at 2.66 GHz and the iMac at 2.8 Ghz. Whats is going on, Mr. Moore? ;-)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_xYCn2jnuOHc/SOyNHIcSjaI/AAAAAAAAAKI/Oedrmje9Up8/s1600-h/cto_imac_24.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://1.bp.blogspot.com/_xYCn2jnuOHc/SOyNHIcSjaI/AAAAAAAAAKI/Oedrmje9Up8/s400/cto_imac_24.jpg" alt="" id="BLOGGER_PHOTO_ID_5254730018899266978" border="0" /&gt;&lt;/a&gt;I'm not totally new to the Mac. There is a green iMac 1G on a table in my office, and there is Mac Mini we use as a media server sitting on top of the tv set. What worries me a bit is that I rely a lot on Outlook and Exchange. Is Entourage as good as Outlook?&lt;br /&gt;&lt;br /&gt;I do hope that my current machine will survive the month it takes for Apple to deliver the new one.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9111682929198509492-3706556782144702947?l=arneevertsson.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://arneevertsson.blogspot.com/feeds/3706556782144702947/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9111682929198509492&amp;postID=3706556782144702947' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9111682929198509492/posts/default/3706556782144702947'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9111682929198509492/posts/default/3706556782144702947'/><link rel='alternate' type='text/html' href='http://arneevertsson.blogspot.com/2008/10/carl-bildt-leads-way.html' title='Carl Bildt leads the way'/><author><name>Arne Evertsson</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_xYCn2jnuOHc/SOyNCzMHfFI/AAAAAAAAAKA/1or3lnkcVfo/s72-c/carlbilldt.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9111682929198509492.post-1361808014282216830</id><published>2008-06-19T20:05:00.003+02:00</published><updated>2008-10-03T09:28:30.204+02:00</updated><title type='text'>En dator är en bil</title><content type='html'>På en avgörande punkt har vi som är systemutvecklare misslyckats totalt. Nämligen vad gäller användarens/förarens kontroll av maskinen. Lika lite som en förare kan godta att förlora kontrollen över bilen, bör en användare godta att förlora kontrollen över applikationen i sin dator.&lt;br /&gt;&lt;br /&gt;När det gäller förlorad kontroll av en bil kan det sluta med döden. Riktigt så allvarligt kanske inte förlorad kontroll av en dator är. Men det finns få saker som är så frustrerande när ett program låser sig, om så bara för två sekunder, när man behöver ha någonting gjort.&lt;br /&gt;&lt;br /&gt;Detta är sannerligen inte ett olösbart problem, rent tekniskt. Det handlar snarare om vår inställning (som utvecklare) mot våra användare. Bristande respekt. Ofta mot oss sjäva fascinerande nog.&lt;br /&gt;&lt;br /&gt;Men vissa operationer tar lång tid, eller hur? Andra är beroende av att operativsystemet skall svara, eller hur? Javisst. Men nu finns ju en magisk sak som kallas tråd. Låt gui:et få en tråd. Gui:et vill ha en tråd.&lt;br /&gt;&lt;br /&gt;Sen är det såklart så att operativsystemsmakarna måste skärpa sig i lika hög grad. Frågan är om vi inte skall lära av Intel och andra som gör CPU:er?&lt;br /&gt;&lt;br /&gt;Användarna måste få tillbaka kontrollen. En dator är en bil. När man svänger på ratten skall bilen svänga nu, inte om tio sekunder.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9111682929198509492-1361808014282216830?l=arneevertsson.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://arneevertsson.blogspot.com/feeds/1361808014282216830/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9111682929198509492&amp;postID=1361808014282216830' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9111682929198509492/posts/default/1361808014282216830'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9111682929198509492/posts/default/1361808014282216830'/><link rel='alternate' type='text/html' href='http://arneevertsson.blogspot.com/2008/06/en-dator-r-en-bil.html' title='En dator är en bil'/><author><name>Arne Evertsson</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9111682929198509492.post-3657465919959198008</id><published>2008-06-12T10:55:00.001+02:00</published><updated>2008-10-03T09:28:08.963+02:00</updated><title type='text'>Verktyg för Scrum på distans</title><content type='html'>I mitt nuvarande uppdrag är projektlaget utspritt, men vi kör ändå Scrum. Följande verktyg gör det möjligt.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Google Spreadsheets: Task board och backlog.&lt;/li&gt;&lt;li&gt;Skype: Ständig uppkoppling med ljud gör att man nästan jobbar i samma rum.&lt;/li&gt;&lt;li&gt;Trac på assembla.com: Wiki och subversion-repo gratis.&lt;/li&gt;&lt;li&gt;X2000: Förenklar IRL-möten (så länge det inte är skogsbrand)&lt;/li&gt;&lt;li&gt;3G-modem och flatrate: Hit the road!&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9111682929198509492-3657465919959198008?l=arneevertsson.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://arneevertsson.blogspot.com/feeds/3657465919959198008/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9111682929198509492&amp;postID=3657465919959198008' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9111682929198509492/posts/default/3657465919959198008'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9111682929198509492/posts/default/3657465919959198008'/><link rel='alternate' type='text/html' href='http://arneevertsson.blogspot.com/2008/06/verktyg-fr-scrum-p-distans.html' title='Verktyg för Scrum på distans'/><author><name>Arne Evertsson</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9111682929198509492.post-377454019659199779</id><published>2007-11-30T13:11:00.000+01:00</published><updated>2007-11-30T13:09:34.210+01:00</updated><title type='text'>Kärt barn</title><content type='html'>&lt;div class=Section1&gt;  &lt;p class=MsoNormal&gt;Jag har just börjat använda NIC-SEs domänhanterare och den funkar utmärkt. Men vänta nu, vad heter dom nu igen?&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;&amp;#8212; NIC-SE? Nä, dom har bytt namn.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;&amp;#8212; Stiftelsen för Internetinfrastruktur? Ja så heter dom, fast dom kallar sig något annat.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;&amp;#8212; .SE? Ja, så kallar dom sig, fast det är dom ju inte ensamma om.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;&amp;#8212; iis.se är domänen, undrar vad det står för?&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;Är det för mycket begärt att organisationen som står för Internet i Sverige heter det dom kallar sig och har motsvarande domännamn? Lika bra att fortsätta använda NIC-SE så att folk förstår.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9111682929198509492-377454019659199779?l=arneevertsson.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://arneevertsson.blogspot.com/feeds/377454019659199779/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9111682929198509492&amp;postID=377454019659199779' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9111682929198509492/posts/default/377454019659199779'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9111682929198509492/posts/default/377454019659199779'/><link rel='alternate' type='text/html' href='http://arneevertsson.blogspot.com/2007/11/krt-barn.html' title='Kärt barn'/><author><name>Arne Evertsson</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9111682929198509492.post-5269902389582866482</id><published>2007-10-17T14:06:00.001+02:00</published><updated>2008-09-08T10:40:47.507+02:00</updated><title type='text'>Är Sony Ericsson bara hårdvara?</title><content type='html'>&lt;div class="Section1"&gt;  &lt;p class="MsoNormal"&gt;Jag noterar att 50% av UIQ säljs av Sony Ericsson till Motorola. UIQs mobilplattform bygger vidare på Symbian och erbjuder ett goare gui och ett antal applikationer. Systemet används bland annat av Sony Ericsson och Motorola.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Frågan jag ställer mig är: Konkurrerar Sony Ericsson endast med hårdvara? Kan en mobiltillverkare verkligen släppa allt som har med operativsystem, gui och applikationer att göra, och fortfarande stå ut från mängden?&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Vad vore iPhone utan Apples eget operativsystem, gui, och applikationer? En stor gäspning skulle jag tro. Tänk om Apple hade släppt iPhone med UIQ Symbian i stället för Mac OS.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Men HTC då? Dom gör ju finfina mobiler som kör någon annas operativsystem, nämligen Microsofts Windows. Skillnaden är att Windows är det bästa systemet om man vill vara synkad med Exchange och Outlook. Detta faktum gör HTCs val av Windows till en merit snarare än en belastning.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Problemet är nog därmed inte vem som bygger ens operativsystem och applikationer, utan hur bra systemet är, hur coolt det är, och hur nyttigt det är. Jag måste därför mana Sony Ericsson och Motorola till kamp, för att skapa något som tar det bästa från iPhone, det bästa från Windows och därefter lägger till någonting lika fint själva. Kom igen nu!&lt;/p&gt;  &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9111682929198509492-5269902389582866482?l=arneevertsson.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://arneevertsson.blogspot.com/feeds/5269902389582866482/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9111682929198509492&amp;postID=5269902389582866482' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9111682929198509492/posts/default/5269902389582866482'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9111682929198509492/posts/default/5269902389582866482'/><link rel='alternate' type='text/html' href='http://arneevertsson.blogspot.com/2007/10/r-sony-ericsson-bara-hrdvara.html' title='Är Sony Ericsson bara hårdvara?'/><author><name>Arne Evertsson</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9111682929198509492.post-6962238876411321985</id><published>2007-10-12T11:38:00.000+02:00</published><updated>2007-10-12T12:16:30.327+02:00</updated><title type='text'>Goda fördomar</title><content type='html'>Mina fördomar om vad virusdödare och säkerhetsprogram gör med din dator infriades tyvärr med besked.&lt;br /&gt;&lt;br /&gt;Efter att ha hört &lt;a href="http://itc.conversationsnetwork.org/shows/detail1782.html"&gt;Mikko Hypponen snacka på Technometria&lt;/a&gt;, och läst Datormagazins test av säkerhetsprogram bestämde jag mig för att installera F-Secure Internet Security 2008. Hittills har jag hållit mig till ZoneAlarm och sporadiska virusskanningar med testversioner av McAfee. Men om Mikko har rätt, och han verkade ju smart, räcker det inte med en enkel brandvägg mot dagens hot.&lt;br /&gt;&lt;p class="MsoNormal"&gt;Men ack vilket misstag! Jag fick helt rätt i min bild av att virusprogram segar ner datorn och skapar allmänt strul. För att sammanfatta:&lt;br /&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;För att installera testversionen av F-Secure var jag tvungen att avinstallera ZoneAlarm. Det räckte inte att stänga ner programmet, utan naturligtvis måste allt bort.&lt;/li&gt;&lt;li&gt;Applikationer skall kunna installeras utan ombootningar. Allt annat är ett tecken på att utvecklarna inte vet vad dom håller på med. Jag har ett antal applikationer körandes och att starta om datorn tar ett bra tag, så det slipper jag helst. För ett säkerhetsprogram kan kanske EN ombootning vara okej, med tanke på hur lågt programmet måste hålla till i operativsystemet. F-Secure kräver givetvis två ombootningar.&lt;/li&gt;&lt;li&gt;Väl uppe och kör är själva F-Secure-appen otroligt seg. Det tar 10 sekunder att få upp en dialogruta för inställningar. Dialogerna går inte att förstora trots att dom innehåller listor som både är längre och bredare än vad som får plats. Man ställer sig genast frågan: Om dom inte ens får till GUI:et, hur ser då koden ut under skalet?&lt;/li&gt;&lt;li&gt;Att starta upp IntelliJ tar vanligtvis över en minut, och nu då? Jag mätte inte tiden men det tog mer än fem minuter med F-Secure installerat!&lt;/li&gt;&lt;/ul&gt;Droppen som fick mig att avinstallera skräpet var ändå att Outlook slutade skicka mail. Alla mail lågt snällt kvar i outboxen, utan klagomål från varken Outlook eller F-Secure.&lt;br /&gt;&lt;p class="MsoNormal"&gt;&lt;o:p&gt;Jag har mailat F-Secure om problemen utan att få något svar. Hmm, vad väntade jag mig. Sorry, Mikko, men jag hoppas du förstår min frustration. Jag  hoppas att ni  kan  åtgärda dessa problem och fortsätta vara en nordisk förebild i it-branschen.&lt;br /&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9111682929198509492-6962238876411321985?l=arneevertsson.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://arneevertsson.blogspot.com/feeds/6962238876411321985/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9111682929198509492&amp;postID=6962238876411321985' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9111682929198509492/posts/default/6962238876411321985'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9111682929198509492/posts/default/6962238876411321985'/><link rel='alternate' type='text/html' href='http://arneevertsson.blogspot.com/2007/10/goda-frdomar.html' title='Goda fördomar'/><author><name>Arne Evertsson</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9111682929198509492.post-4331694052349433083</id><published>2007-01-23T10:48:00.000+01:00</published><updated>2007-01-23T12:19:27.167+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='programmering'/><title type='text'>Htmlvalidering som en del av enhetstester</title><content type='html'>Jag har använt &lt;a href="http://htmlvalidator.com/"&gt;CSE HTML Validator&lt;/a&gt; för att validera genererad html. Programmet utför inte bara validering utan ger bra tips om vad som bör finnas på en sida. Allt detta är bra men hur automatiserar jag valideringen och gör den till en del av mina enhetstester? Denna funktion erbjuder inte CSE HTML Validator så jag har googlat men utan att hitta ett bra svar.&lt;br /&gt;&lt;br /&gt;Men nu har jag svaret! Inspirerad av Tim O'Reilly som för länge sen insett att &lt;a href="http://www.oreillynet.com/pub/a/network/2002/04/09/future.html"&gt;internet är ett operativsystem&lt;/a&gt; kom jag på att använda &lt;a href="http://validator.w3.org/"&gt;W3Cs valideringssida&lt;/a&gt;, tillsammans med &lt;a href="http://htmlunit.sourceforge.net/"&gt;HtmlUnit.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Så här går det till:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Fråga din webbapp efter den html du vill validera.&lt;/li&gt;&lt;li&gt;Stoppa in denna html in rätt formulär på validator.w3.org.&lt;/li&gt;&lt;li&gt;Submitta och kolla sedan att texten "Passed validation" finns på svarssidan.&lt;/li&gt;&lt;/ol&gt;Klart. Busenkelt. Här kommer all javakod som behövs:&lt;br /&gt;&lt;pre&gt;public class HtmlTest extends TestCase {&lt;br /&gt;&lt;br /&gt; public void testPage() throws IOException {&lt;br /&gt;   // Get the WebClient that is part of HtmlUnit.&lt;br /&gt;   WebClient webClient = new WebClient();&lt;br /&gt;&lt;br /&gt;   // Get the html we want to validate, in this case the front page&lt;br /&gt;   // of skickafilen.se.&lt;br /&gt;   Page htmlPage = webClient.getPage("http://skickafilen.se");&lt;br /&gt;   String htmlToValidate = htmlPage.getWebResponse().getContentAsString();&lt;br /&gt;&lt;br /&gt;   // Get the validator page from W3.&lt;br /&gt;   HtmlPage validatorPage =&lt;br /&gt;     (HtmlPage) webClient.getPage("http://validator.w3.org/");&lt;br /&gt;&lt;br /&gt;   // Find the textarea and enter the html we want to validate.&lt;br /&gt;   HtmlForm form = (HtmlForm) validatorPage.getForms().get(2);&lt;br /&gt;   HtmlTextArea textarea =&lt;br /&gt;     (HtmlTextArea) form.getTextAreasByName("fragment").get(0);&lt;br /&gt;   textarea.setText(htmlToValidate);&lt;br /&gt;&lt;br /&gt;   // Submit the validator page and store the resulting page in a string.&lt;br /&gt;   String result = ((HtmlPage) form.submit()).asText();&lt;br /&gt;&lt;br /&gt;   // Make sure our html validated ok.&lt;br /&gt;   assertTrue(result.contains("Passed validation"));&lt;br /&gt; }&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;W3C har även ett SOAP-gränssnitt mot valideringstjänsten men vem orkar bry sig om något så überkomplicerat som SOAP?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9111682929198509492-4331694052349433083?l=arneevertsson.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://arneevertsson.blogspot.com/feeds/4331694052349433083/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9111682929198509492&amp;postID=4331694052349433083' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9111682929198509492/posts/default/4331694052349433083'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9111682929198509492/posts/default/4331694052349433083'/><link rel='alternate' type='text/html' href='http://arneevertsson.blogspot.com/2007/01/htmlvalidering-som-en-del-av.html' title='Htmlvalidering som en del av enhetstester'/><author><name>Arne Evertsson</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9111682929198509492.post-3054257216262180583</id><published>2006-12-13T08:17:00.000+01:00</published><updated>2008-10-03T09:25:51.215+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='business opportunity'/><category scheme='http://www.blogger.com/atom/ns#' term='mobile internet'/><title type='text'>Rocket Science</title><content type='html'>In Computer Sweden, 12/11/2006, there is an article on how &lt;a href="http://computersweden.idg.se/2.2683/1.87840"&gt;badly it works to sync your cell phone&lt;/a&gt; with Exchange. Déjà vu!&lt;br /&gt;&lt;br /&gt;Like most people in the IT business I have owned a number of handheld computers, in my case, from the not unknown brand Palm. I still use my Palm in spite of the fact that the synchronization with Outlook has never worked well. Initially Palm lacked a sync program to Outlook, and one was obliged to use third party plug-ins. No matter what Palm model or sync program, there has constantly been trouble with lost items and duplicates. Recently I even bought a program that removes duplicates from Outlook. In short, I want to use my handheld computer and I’m not ready to give up just yet!&lt;br /&gt;&lt;br /&gt;- Synchronization? It’s all about copying a bit of contact info to this location and a few appointments for meetings to that location, really easy stuff! We’re not going to waste much energy on such a tiddly thing.&lt;br /&gt;&lt;br /&gt;Is this what the reasoning has been like over the years, at Palm, SonyEricsson and other successful companies? When CS last rang around, it looks as if the problem continues to be made light of.&lt;br /&gt;&lt;br /&gt;In survey after survey it has become apparent that mail is the killer app of the mobile Internet. Year after year we see that using mail via the cell phone does not work. The technical challenge for mobile mail is the same as for other types of synchronization. It doesn’t matter whether you use a cell phone net or cable, nor whether you sync only mail or mail + contacts + calendar.&lt;br /&gt;&lt;br /&gt;The companies behind handheld computers have not solved the problem. The cell phone companies have not solved the problem. Third party suppliers have not solved the problem. You would have thought that the cell phone operators might realize this and set about doing something about it themselves. I also have a suspicion that a large number of software developers don’t take some of their tasks seriously.&lt;br /&gt;&lt;br /&gt;Maybe Microsoft have managed to sort it out now with later versions of Exchange and Windows Mobile. However, I’m not prepared to buy a pig in a poke, but no shop is willing to let me borrow a HTC TyTN for a trial run before I spend quite a bit of money.&lt;br /&gt;&lt;br /&gt;When it comes to Symbian, &lt;a href="http://computersweden.idg.se/2.2683/1.87841"&gt;Gartner’s analyst says&lt;/a&gt;&lt;a style="border-bottom-style: groove;" href="http://computersweden.idg.se/2.139/1.87841"&gt;&lt;/a&gt;: "Within a week or so, these problems should be resolved”. Yeah right! After so many years of problems, we’re supposed to be only a few weeks away from the solution?! (Is there ever any follow-up on the forecasts of the analysis companies?)&lt;br /&gt;&lt;br /&gt;My forecast is that this area will carry on offering entrepreneurs fantastic business opportunities for a long time to come. There are, in spite of everything, those who have taken this issue seriously and succeeded, such as BlackBerry.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9111682929198509492-3054257216262180583?l=arneevertsson.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://arneevertsson.blogspot.com/feeds/3054257216262180583/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9111682929198509492&amp;postID=3054257216262180583' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9111682929198509492/posts/default/3054257216262180583'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9111682929198509492/posts/default/3054257216262180583'/><link rel='alternate' type='text/html' href='http://arneevertsson.blogspot.com/2006/12/rocket-science.html' title='Rocket Science'/><author><name>Arne Evertsson</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
