<?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-5189846</id><updated>2011-07-31T10:03:33.211+02:00</updated><category term='mobile'/><category term='C#'/><category term='pdalive'/><category term='Embarcadero'/><category term='MS Surface'/><category term='PDC2008'/><category term='Microsoft'/><category term='General'/><category term='Delphi'/><category term='Samples'/><category term='Windows7'/><category term='DevExpress'/><category term='Silverlight'/><category term='Dutch'/><title type='text'>Sevensteps</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default?start-index=101&amp;max-results=100'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>118</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5189846.post-8177602817230641160</id><published>2010-02-15T16:32:00.001+01:00</published><updated>2010-02-15T16:32:33.405+01:00</updated><title type='text'>How to completely stress your end users</title><content type='html'>&lt;p&gt;I’m supporting one of our partners in filling out some forms for getting our software certified with Microsoft. Upon creating a user account on the designated site for that, we are presented with the following passwordrules:&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Password Requirements: Contain 8 - 16 characters with both upper and lower case (e.g., a-z, A-Z). Have digits and punctuation/symbol characters as well as letters e.g., 0-9, !@#$%^&amp;amp;*()_+|~-=\`{}[]:&amp;quot;;'&amp;lt;&amp;gt;?,./). One or more of the characters from the second (2) to sixth (6) positions must not be an alphabet character e.g. between A-Z or a-z.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Are the *COMPLETELY* insane? We have to read this 20 times to even begin to understand what is asked from us.&lt;/p&gt;  &lt;p&gt;I love Microsoft, but this is crazy.&lt;/p&gt;  &lt;p&gt;Bye,&lt;/p&gt;  &lt;p&gt;Bart&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-8177602817230641160?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/8177602817230641160/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=8177602817230641160' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/8177602817230641160'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/8177602817230641160'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2010/02/how-to-completely-stress-your-end-users.html' title='How to completely stress your end users'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-4483394512898384108</id><published>2010-02-13T18:22:00.001+01:00</published><updated>2010-02-13T19:06:15.908+01:00</updated><title type='text'>Having Outlook 2007 and Outlook 2010 coexists next to each other</title><content type='html'>&lt;p&gt;Update: it does look that Outlook 2010 touches the seperate profile after all, even without starting. First time the profile is created fine, subsequent launches of Outlook fail. So, maybe there is a reason for not allowing 2007 next to 2010. So, scratch all below :-(&lt;/p&gt;  &lt;p&gt;&lt;strike&gt;When installing Office 2010 you get an message that Outlook 2010 and Outlook 2007 don’t mix together. I subesequently removed Outlook 2007 as I had worked with Office 2010 before and with great pleasure.&lt;/strike&gt;&lt;/p&gt;  &lt;p&gt;&lt;strike&gt;However, for development purposes I had to install Office 2007 again. I noticed that Outlook 2007 installs fine.&lt;/strike&gt;&lt;/p&gt;  &lt;p&gt;&lt;strike&gt;I took a precaution to create a separate profile for both versions (starting Outlook 2007 with a command line switch /profile to select the correct profile).&lt;/strike&gt;&lt;/p&gt;  &lt;p&gt;&lt;strike&gt;So far, it looks like there isn’t a problem to be found. It might be that me having an Office 2010 64 bits version and a 32 bits Office 2007 version make them coexist. But, it looks like it runs fine, which I really like since the Microsoft CRM client doesn’t support the 64 bits version of Office.&lt;/strike&gt;&lt;/p&gt;  &lt;p&gt;Hope it helps anyone.&lt;/p&gt;  &lt;p&gt;Bye,&lt;/p&gt;  &lt;p&gt;Bart&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-4483394512898384108?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/4483394512898384108/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=4483394512898384108' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/4483394512898384108'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/4483394512898384108'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2010/02/having-outlook-2007-and-outlook-2010.html' title='Having Outlook 2007 and Outlook 2010 coexists next to each other'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-7344254953181763697</id><published>2009-12-03T13:04:00.001+01:00</published><updated>2009-12-03T13:04:52.368+01:00</updated><title type='text'>Visual Studio keeps crashing on me</title><content type='html'>&lt;p&gt;I’m experiencing a very annoying thing in VS. Every 1 in 10 (or so) builds of my project makes VS crash. I started Visual Studio in WinDbg and this is the last exception thrown before VS dies:&lt;/p&gt;  &lt;p&gt;(1460.1288): CLR exception - code e0434f4d (first chance)   &lt;br /&gt;ModLoad: 5e0a0000 5e0bb000&amp;#160;&amp;#160; C:\Windows\Microsoft.NET\Framework\v2.0.50727\alink.dll    &lt;br /&gt;ModLoad: 11da0000 11daa000&amp;#160;&amp;#160; cvtres.exe    &lt;br /&gt;eax=000000c0 ebx=123aeba4 ecx=19074c30 edx=000641d3 esi=00000001 edi=00000000    &lt;br /&gt;eip=76e764f4 esp=123aeb54 ebp=123aebf0 iopl=0&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; nv up ei pl zr na pe nc    &lt;br /&gt;cs=001b&amp;#160; ss=0023&amp;#160; ds=0023&amp;#160; es=0023&amp;#160; fs=003b&amp;#160; gs=0000&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; efl=00000246    &lt;br /&gt;ntdll!KiFastSystemCallRet:    &lt;br /&gt;76e764f4 c3&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ret&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;If anyone has a clue what’s up, please let me know. Your help is much appreciated.&lt;/p&gt;  &lt;p&gt;Bye,&lt;/p&gt;  &lt;p&gt;Bart&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-7344254953181763697?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/7344254953181763697/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=7344254953181763697' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/7344254953181763697'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/7344254953181763697'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2009/12/visual-studio-keeps-crashing-on-me.html' title='Visual Studio keeps crashing on me'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-6973355011435214961</id><published>2009-11-22T07:33:00.005+01:00</published><updated>2009-11-22T07:52:28.516+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><title type='text'>Twitter to the rescue</title><content type='html'>Since I can remember I am annoyed by the site expert-exchange.com. It might hold good information, but I just don't like the idea that people are making money the way they do. Might be my tight Dutch ass, but there you have it.&lt;div&gt;So, I mentioned this on Twitter and, voila, @bruljaap came to the rescue with a link that solved it. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;How to exclude a domain from your google search results:&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.greghughes.net/rant/HowToExcludeADomainFromYourGoogleSearchResults.aspx"&gt;http://www.greghughes.net/rant/HowToExcludeADomainFromYourGoogleSearchResults.aspx&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Thanks Jaap.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;You can now search  Google, exclude expert-echange.com, using the Bart's search on my blog. It not only excludes expert-echange, but also favors stackoverflow.com.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;You can make the search engine the default in Google chrome by adding the following URL as a search engine using the options:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.google.com/cse?cx=015049114767233452977:zdgdlhiqwvq&amp;amp;ie=UTF-8&amp;amp;q=delphi&amp;amp;sa=Zoeken&amp;amp;siteurl=www.google.com/cse/home%3Fcx%3D015049114767233452977:zdgdlhiqwvq"&gt;http://www.google.com/cse?cx=015049114767233452977:zdgdlhiqwvq&amp;amp;ie=UTF-8&amp;amp;q=%s&amp;amp;siteurl=www.google.com/cse/home%3Fcx%3D015049114767233452977:zdgdlhiqwvq&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I'm sure you can create a search provider for Internet Explorer the same way (but I'm really becoming a Chrome addict lately so I will dig into that later).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Hope this helps.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Bye,&lt;/div&gt;&lt;div&gt;Bart&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-6973355011435214961?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/6973355011435214961/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=6973355011435214961' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/6973355011435214961'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/6973355011435214961'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2009/11/twitter-to-rescue.html' title='Twitter to the rescue'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-2193467437765255584</id><published>2009-11-06T15:35:00.001+01:00</published><updated>2009-11-06T15:35:38.911+01:00</updated><title type='text'>Problem with Outlook plugin and WebBrowser</title><content type='html'>&lt;p&gt;Below you find a question (and my own answer to it) on StackOverflow. It has given me headaches for the last couple of days. But maybe this story will help others.&lt;/p&gt;  &lt;p&gt;Hi, I've created a couple of Office plugins. The plugin shows a set of html files installed on the clients computer. The plugin uses a COM-accessible assembly which shows a WinForm with a WebBrowser on it. The plugin makes the WebBrowser navigate to a file on the clients computer. The assembly is also used in other programs to show the same information.&lt;/p&gt;  &lt;p&gt;When showing the local html files using a 'normal' browser (e.g. double clicking a file in Windows Explorer) the browser popup a security warning about running active content. This is because we have some javascript in it. This warning is supressed by setting the 'Allow active content to run in files on My Computer' in the Internet Explorer settings. This solves the issue using a 'normal' browser.&lt;/p&gt;  &lt;p&gt;Funny enough the 'active content' warning is not shown when getting the same file using a Word/Excel/PowerPoint plugin. It calls the same assembly, using the same WinForm and using the same content. Despite the setting 'Allow active content to run from My Computer' being false, the content is shown without a warning and the javascript is executed.&lt;/p&gt;  &lt;p&gt;Now, the problem and the real question is that Outlook does the reverse. No matter what I use for 'Allow active content to run from My Computer' the browser warning about the active content in the html file is shown. When I confirm the message and allow the scripts to continue, the javascript runs fine. So, even when I set the 'Allow active content to run from My Computer' to true, the warning is given.&lt;/p&gt;  &lt;p&gt;I've gone through all (sort of) relevant settings in Outlook, but nothing helps.&lt;/p&gt;  &lt;p&gt;I assume that Outlook is using some kind of private context for a webbrowser (probably because it is using a webbrowser object internally).&lt;/p&gt;  &lt;p&gt;The real question is: how can I make the Outlook plugin respect the IE settings?&lt;/p&gt;  &lt;p&gt;(I understand this is a long story and maybe not clear enough. Please let me know if I have to elaborate more).&lt;/p&gt;  &lt;p&gt;&lt;a name="sort-top"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h4&gt;&lt;u&gt;1 Answer&lt;/u&gt;&lt;/h4&gt;  &lt;p&gt;I couldn't get rid of the security warning without lowering the security setting. And that is not an option: we are talking about a project that will be installed on millions of computers.&lt;/p&gt;  &lt;p&gt;I decided to go another route. Let's see if we can make the browser trust the html pages. So, what to do to get rid of the 'Active content' warning.&lt;/p&gt;  &lt;p&gt;First I investigated what exactly triggers the warning. That was easy: any tag in your html file will do. And I need script, so removing that isn't an option. But, when hosted from a website, the scripts run fine and don't suffer from a warning. So, I investigated if it is possible to run my files in the Internet-context.&lt;/p&gt;  &lt;p&gt;I found out there is a way, at least for IE (which in my case is sufficient). If you save a webpage as a complete HTML file from IE, the browser adds a comment to the html to signal its origin. Something like: . If you later open that stored html file, the file is shown in the Internet context.&lt;/p&gt;  &lt;p&gt;So, I tried adding to the html file. And, voila, the file is opened in the Internet context. The security warning about active content is gone and the scripts are executed fine.&lt;/p&gt;  &lt;p&gt;But, that raised another problem. We have a couple of window.open statements in the scripts and using that causes he cross domain browsing problems that in recent IE versions are blocked. Even if you use a relative path in the window.open call, if fails and you end up with a blank window.&lt;/p&gt;  &lt;p&gt;In our case, we can (probably) decide to get rid of the window.open calls. But, if a reader ever finds a solution for using window.open &lt;/p&gt;  &lt;p&gt;&lt;em&gt;Hope this helps anybody&lt;/em&gt;,&lt;/p&gt;  &lt;p&gt;Bye Bart&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-2193467437765255584?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/2193467437765255584/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=2193467437765255584' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/2193467437765255584'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/2193467437765255584'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2009/11/problem-with-outlook-plugin-and.html' title='Problem with Outlook plugin and WebBrowser'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-2664981454518611387</id><published>2009-10-19T21:31:00.001+02:00</published><updated>2009-10-19T21:31:15.830+02:00</updated><title type='text'>Summing up my experiences on Surface / WPF in the last few months</title><content type='html'>&lt;p&gt;As you may have read on my blog, I’m a self taught software developer that started many moons ago with assembler and basic. Using Clipper, Cobol, Fortran, Smalltalk, C, C++ as substations I ended up being a Delphi developer for some 8 years (and I still use Delphi).&lt;/p&gt;  &lt;p&gt;About a year ago we started an endeavour with Microsoft Surface. It is hard work to get some commercial success (companies are very tight at the moment with their budgets) but still we spend a lot of time getting some things together. We delivered a couple of applications to customers, one large application to one of our partners and even a shrink wrapped Surface product that will be sold through our partner &lt;a href="http://www.learningguidesolutions.com"&gt;LearningGuide Solutions&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Some time ago I complaint about &lt;a href="http://blogs.sevensteps.com/2009/06/why-i-having-difficulties-with-wpf.html"&gt;my struggle&lt;/a&gt; to grasp the concepts behind WPF. I can easily say that’s all water under the bridge now. I am fully enjoying WPF/Xaml because of its elegant design and complete separation of code and visuals. Sometimes you need to go into the code behind (or at least you think you need to). Most of times you discover later on that there are more possibilities with the data binding, templates, styles, template selectors and value converters that you thought possible.&lt;/p&gt;  &lt;p&gt;I would like to advise every programmer that is looking for some sharper looking applications to dig into WPF/Xaml. It can’t do more than other concepts can, but it will enable you to divide responsibilities amongst your software team members a bit better. At least, that’s what I take from it; our UX designer is now more in his field and programmers can concentrate on code even more, taking advantage of each others strengths.&lt;/p&gt;  &lt;p&gt;Keep your eyes open for some Surface announcements later on.&lt;/p&gt;  &lt;p&gt;Bye for now,&lt;/p&gt;  &lt;p&gt;Bart&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-2664981454518611387?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/2664981454518611387/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=2664981454518611387' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/2664981454518611387'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/2664981454518611387'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2009/10/summing-up-my-experiences-on-surface.html' title='Summing up my experiences on Surface / WPF in the last few months'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-5466871872560172852</id><published>2009-09-12T16:24:00.001+02:00</published><updated>2009-09-12T16:24:30.819+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='Silverlight'/><title type='text'>Merging dictionaries in Silverlight 3</title><content type='html'>&lt;p&gt;In Silverlight 3 you can merge dictionaries. Something that I really like because it enables you even better to separate reusable things from one time things.&lt;/p&gt;  &lt;p&gt;When you try to do that, watch for a couple of things. &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&amp;lt;Application.Resources&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;ResourceDictionary&amp;gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;ResourceDictionary.MergedDictionaries&amp;gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;ResourceDictionary Source=&amp;quot;&lt;strong&gt;&lt;em&gt;&lt;u&gt;&lt;font color="#ff0000"&gt;/&lt;/font&gt;&lt;/u&gt;&lt;/em&gt;&lt;/strong&gt;S7Silverlight;&lt;strong&gt;&lt;em&gt;&lt;u&gt;&lt;font color="#ff0000"&gt;component/&lt;/font&gt;&lt;/u&gt;&lt;/em&gt;&lt;/strong&gt;Themes/Generic.xaml&amp;quot; /&amp;gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/ResourceDictionary.MergedDictionaries&amp;gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/ResourceDictionary&amp;gt;       &lt;br /&gt;&amp;lt;/Application.Resources&amp;gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Don’t forget: (1) the slash before the name of the Assembly and (2) to put component/ before the path to the resource file in the assembly&lt;/p&gt;  &lt;p&gt;Just thought it might save you the hour I just spent.&lt;/p&gt;  &lt;p&gt;Bye,&lt;/p&gt;  &lt;p&gt;Bart&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-5466871872560172852?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/5466871872560172852/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=5466871872560172852' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/5466871872560172852'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/5466871872560172852'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2009/09/merging-dictionaries-in-silverlight-3.html' title='Merging dictionaries in Silverlight 3'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-472937529251115221</id><published>2009-07-01T16:13:00.001+02:00</published><updated>2009-07-01T16:13:57.560+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><category scheme='http://www.blogger.com/atom/ns#' term='MS Surface'/><title type='text'>Surface user group Netherlands kicked off</title><content type='html'>&lt;p&gt;As you may know we started a &lt;a href="http://surface.dotned.nl/"&gt;Surface user group&lt;/a&gt; together with &lt;a href="http://www.capgemini.com "&gt;Cap Gemini&lt;/a&gt; and &lt;a href="http://www.dotned.nl"&gt;dotNed&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Below you find an impression of the first meeting we held at our office.&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:6a03e49e-42c1-49c4-8781-8fa7b7636959" class="wlWriterEditableSmartContent"&gt;&lt;div id="096d0f04-9919-43d0-861a-60cc4f541aa1" style="margin: 0px; padding: 0px; display: inline;"&gt;&lt;div&gt;&lt;a href="http://www.youtube.com/watch?v=IlWIhv4JNpA" target="_new"&gt;&lt;img src="http://lh3.ggpht.com/_hstdHC3GUMc/SktvJehiRaI/AAAAAAAAAK0/4YrL91AXmGI/video6c426eb2d330%5B2%5D.jpg?imgmax=800" style="border-style: none" galleryimg="no" onload="var downlevelDiv = document.getElementById('096d0f04-9919-43d0-861a-60cc4f541aa1'); downlevelDiv.innerHTML = &amp;quot;&amp;lt;div&amp;gt;&amp;lt;object width=\&amp;quot;425\&amp;quot; height=\&amp;quot;355\&amp;quot;&amp;gt;&amp;lt;param name=\&amp;quot;movie\&amp;quot; value=\&amp;quot;http://www.youtube.com/v/IlWIhv4JNpA&amp;amp;hl=en\&amp;quot;&amp;gt;&amp;lt;\/param&amp;gt;&amp;lt;embed src=\&amp;quot;http://www.youtube.com/v/IlWIhv4JNpA&amp;amp;hl=en\&amp;quot; type=\&amp;quot;application/x-shockwave-flash\&amp;quot; width=\&amp;quot;425\&amp;quot; height=\&amp;quot;355\&amp;quot;&amp;gt;&amp;lt;\/embed&amp;gt;&amp;lt;\/object&amp;gt;&amp;lt;\/div&amp;gt;&amp;quot;;" alt=""&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;  &lt;p&gt;For more information about the Surface user group, you can &lt;a href="mailto://bart@dotned.nl"&gt;contact&lt;/a&gt; me or any of the other founds of the user group.&lt;/p&gt;  &lt;p&gt;Bye,&lt;/p&gt;  &lt;p&gt;Bart&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-472937529251115221?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/472937529251115221/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=472937529251115221' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/472937529251115221'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/472937529251115221'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2009/07/surface-user-group-netherlands-kicked.html' title='Surface user group Netherlands kicked off'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_hstdHC3GUMc/SktvJehiRaI/AAAAAAAAAK0/4YrL91AXmGI/s72-c/video6c426eb2d330%5B2%5D.jpg?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-5113170519272126749</id><published>2009-06-24T21:25:00.001+02:00</published><updated>2009-06-24T21:29:34.075+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Samples'/><category scheme='http://www.blogger.com/atom/ns#' term='MS Surface'/><title type='text'>Surface tagged objects coming up</title><content type='html'>&lt;p&gt;&lt;a href="http://lh3.ggpht.com/_hstdHC3GUMc/SkJ9u_C1T_I/AAAAAAAAAKk/hAgEe6UA6D0/s1600-h/3poppetjes%5B3%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="3poppetjes" border="0" alt="3poppetjes" align="right" src="http://lh3.ggpht.com/_hstdHC3GUMc/SkJ9vdjva1I/AAAAAAAAAKo/DjBqBpvdqf4/3poppetjes_thumb%5B1%5D.png?imgmax=800" width="244" height="205" /&gt;&lt;/a&gt;As you may know from my blog, we are pretty active on Surface. We develop and design for Surface and talk about it (a lot…). But, we are also trying to come up with some tagged objects, especially for Surface.&lt;/p&gt;  &lt;p&gt;These objects (it &lt;em&gt;is&lt;/em&gt; a photo of the real objects, not a render of their design) are tagged at the bottom so the Surface unit can detect which one is placed on the Surface unit.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_hstdHC3GUMc/SkJ9wOvsQTI/AAAAAAAAAKs/BCjUKq3ffCg/s1600-h/poppetje_batterij%5B3%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="poppetje_batterij" border="0" alt="poppetje_batterij" align="left" src="http://lh3.ggpht.com/_hstdHC3GUMc/SkJ9w-qZTrI/AAAAAAAAAKw/nPadbMiOQ0s/poppetje_batterij_thumb%5B1%5D.png?imgmax=800" width="244" height="244" /&gt;&lt;/a&gt; These are trial objects, based on our company logo. We are evaluating the production process. E.g. we now know that the ‘neck’ of our logo is too fragile and we will have to redesign it to be more robust. Also, it is a bit too large to make a good object for the unit. But, we are learning along the way and I think the next batch with a bit of a redesigned object will be a lot better.&lt;/p&gt;  &lt;p&gt;More designs will follow and these objects will be for sale. We are thinking of creating branch specific objects, but also some abstract, more versatile objects. They will have a fixed tag on the bottom (for now) which are routed out. There is no more need for that bit awkward sticker at the bottom of your object.&lt;/p&gt;  &lt;p&gt;You will be able to buy these objects made from a synthetic material. They are solid though and feel pretty robust. You will be able to order these in wood, which will be hand made (and will have a higher price and a longer delivery time of course). We haven’t set the price yet, but they will be &lt;em&gt;reasonably priced.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;If you have any thought on this (suggestions for designs, material, otherwise) please let me know at &lt;a href="mailto:bart.roozendaal@sevensteps.nl"&gt;bart.roozendaal@sevensteps.nl&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Bye,&lt;/p&gt;  &lt;p&gt;Bart&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-5113170519272126749?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/5113170519272126749/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=5113170519272126749' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/5113170519272126749'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/5113170519272126749'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2009/06/surface-tagged-objects-coming-up.html' title='Surface tagged objects coming up'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_hstdHC3GUMc/SkJ9vdjva1I/AAAAAAAAAKo/DjBqBpvdqf4/s72-c/3poppetjes_thumb%5B1%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-8414847006289239639</id><published>2009-06-16T09:16:00.001+02:00</published><updated>2009-06-16T09:16:49.289+02:00</updated><title type='text'>Why I'm having difficulties with WPF</title><content type='html'>&lt;p&gt;Through Twitter I stumbled upon this article: &lt;a title="http://www.thejoyofcode.com/If_you_cant_beat_XAML_improve_it.aspx" href="http://www.thejoyofcode.com/If_you_cant_beat_XAML_improve_it.aspx"&gt;http://www.thejoyofcode.com/If_you_cant_beat_XAML_improve_it.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;I think it’s an interesting post. Below you find my comments on that post. Any thoughts on the issue?&lt;/p&gt;  &lt;p&gt;I am a very experienced programmer and have worked on a great number of languages (C, Basic, Smalltalk, Pascal, Fortran, Cobol, C++,, C#). Recently I started working on WPF. And I am one of those developers that is experiencing more difficulty grasping WPF than I did with other languages. &lt;/p&gt;  &lt;p&gt;I don't think that it's because of XAML per se though. I don't mind typing in long XML element names and attributes. I don't mind writing all the end tags. I don't mind typing at all. Visual Studio / DevExpress' CodeRush offers me all the aide that I need for that. Code completion, templates, short cuts, et cetera make that real easy. &lt;/p&gt;  &lt;p&gt;What I do have problems with is the actual concepts in WPF. One thing that I find really difficult to learn and to accept really is the fact that one must/can implement a lot of functionality in the XAML, which in my mental model represents the display part of the application, not the code. I seem to be that old fashion developer that wants to type a=b if I want to assign the value of b to a. &lt;/p&gt;  &lt;p&gt;WPF/XAML drives me away from that mental model and I'm very much aware of that. It is beginning to win its place in my brains, but it's taking longer than I thought. Even being aware that another mental model is needed for WPF doesn't make it easier for me. &lt;/p&gt;  &lt;p&gt;Maybe XAML *is* for designers. That is why I'm trying to work more closely with our visual designer (i.e. having him learn Blend) and leave more of the work to him. &lt;/p&gt;  &lt;p&gt;But, it's really new and sometimes hard to go this way. I'm so much used to being able to do everything in our software. That is no longer the case. I will get used to it, but it may take me a bit more time. &lt;/p&gt;  &lt;p&gt;My 2cts worth. &lt;/p&gt;  &lt;p&gt;Bye,   &lt;br /&gt;Bart&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-8414847006289239639?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/8414847006289239639/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=8414847006289239639' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/8414847006289239639'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/8414847006289239639'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2009/06/why-i-having-difficulties-with-wpf.html' title='Why I&amp;#39;m having difficulties with WPF'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-7803408302789178942</id><published>2009-06-15T23:11:00.001+02:00</published><updated>2009-06-16T15:02:40.708+02:00</updated><title type='text'>How to crash Visual Studio…</title><content type='html'>&lt;p&gt;&lt;em&gt;Update. Thanks to my new friend Josh Twist (&lt;a href="http://www.thejoyofcode.com"&gt;http://www.thejoyofcode.com&lt;/a&gt;) I found out that a hotfix by Microsoft solves this issue. Based on the articles on his website I managed to tidy up my XAML-code to. You can find information about the hotfix at &lt;a href="http://support.microsoft.com/kb/958017/"&gt;http://support.microsoft.com/kb/958017/&lt;/a&gt; and download it from &lt;a title="http://code.msdn.microsoft.com/KB958017/Release/ProjectReleases.aspx?ReleaseId=1719" href="http://code.msdn.microsoft.com/KB958017/Release/ProjectReleases.aspx?ReleaseId=1719"&gt;http://code.msdn.microsoft.com/KB958017/Release/ProjectReleases.aspx?ReleaseId=1719&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;In a &lt;a href="http://blogs.sevensteps.com/2009/06/just-few-more-words-about-switch-from.html"&gt;previous post&lt;/a&gt; I stated that Visual Studio never crashed on me. I have to take that back since it now happens to me a lot.&lt;/p&gt;  &lt;p&gt;I am pretty sure that it is because I’m doing all kind of things wrong in my code (I still need to learn WPF), but VS should &lt;em&gt;never&lt;/em&gt; crash because I mistype some code. Below is a code snippet from a XAML-file that crashes VS every time. If I open up the XAML file in MS Blend, I get an error message (probably pointing into the right direction of the error):&lt;/p&gt;  &lt;p&gt;&lt;b&gt;TargetType van ControlTemplate BoardPiece komt niet overeen met sjabloontype TagVisualization&lt;/b&gt;.&lt;/p&gt;  &lt;p&gt;(which is Dutch for telling me the TargetType of the ControlType doesn’t match the TemplateType TagVisualization).&lt;/p&gt;  &lt;p&gt;Below is the contents of the XAML file. &lt;u&gt;IsAcceptingNewRelation&lt;/u&gt; is a user defined dependency property. I specified the Oase.BoardPiece type in the TargetType of the ControlTemplate for the code to solve the &lt;strong&gt;IsAcceptingNewRelation&lt;/strong&gt; dependency property of my TagVisualization. There probably is another/proper way of doing that, but I’m getting WPF blind. Anyway, this crashes VS if I take it to the design mode.&lt;/p&gt;  &lt;pre style="border-bottom: #cccccc 1px dashed; text-align: left; border-left: #cccccc 1px dashed; padding-bottom: 0px; line-height: 20px; padding-left: 0px; width: 100%; padding-right: 0px; font-family: arial; background: url(http://2.bp.blogspot.com/_z5ltvMQPaa8/SjJXr_U2YBI/AAAAAAAAAAM/46OqEP32CJ8/s320/codebg.gif) #f0f0f0; height: auto; color: #000000; font-size: 12px; overflow: auto; border-top: #cccccc 1px dashed; border-right: #cccccc 1px dashed; padding-top: 0px"&gt;&lt;p&gt;&lt;code style="color: #000000"&gt;1:  &amp;lt;s:TagVisualization&lt;br /&gt;2:    xmlns=&amp;quot;http://schemas.microsoft.com/winfx/2006/xaml/presentation&amp;quot;&lt;br /&gt;3:    xmlns:x=&amp;quot;http://schemas.microsoft.com/winfx/2006/xaml&amp;quot;&lt;br /&gt;4:    xmlns:s=&amp;quot;http://schemas.microsoft.com/surface/2008&amp;quot;&lt;br /&gt;5:    xmlns:local=&amp;quot;clr-namespace:Oase&amp;quot;&lt;br /&gt;6:    xmlns:d=&amp;quot;http://schemas.microsoft.com/expression/blend/2008&amp;quot;&lt;br /&gt;7:    xmlns:mc=&amp;quot;http://schemas.openxmlformats.org/markup-compatibility/2006&amp;quot;&lt;br /&gt;8:    x:Class=&amp;quot;Oase.BoardPiece&amp;quot;&lt;br /&gt;9:    mc:Ignorable=&amp;quot;d&amp;quot;&lt;br /&gt;10:   s:Contacts.ContactDown=&amp;quot;TagVisualization_ContactDown&amp;quot;&lt;br /&gt;11:   s:Contacts.ContactChanged=&amp;quot;TagVisualization_ContactChanged&amp;quot;&lt;br /&gt;12:   s:Contacts.ContactUp=&amp;quot;TagVisualization_ContactUp&amp;quot;&lt;br /&gt;13:   &amp;gt;&lt;br /&gt;14:  &lt;br /&gt;15:    &amp;lt;s:TagVisualization.Resources&amp;gt;&lt;br /&gt;16:      &amp;lt;ImageBrush x:Key=&amp;quot;tvBackground&amp;quot; Stretch=&amp;quot;UniformToFill&amp;quot; Opacity=&amp;quot;1&amp;quot; ImageSource=&amp;quot;pack://application:,,,/Resources/speelstuk.png&amp;quot;/&amp;gt;&lt;br /&gt;17:      &amp;lt;ImageBrush x:Key=&amp;quot;tvBackgroundHighlight&amp;quot; Stretch=&amp;quot;UniformToFill&amp;quot; Opacity=&amp;quot;1&amp;quot; ImageSource=&amp;quot;pack://application:,,,/Resources/speelstukHighlight.png&amp;quot;/&amp;gt;&lt;br /&gt;18:      &amp;lt;ImageBrush x:Key=&amp;quot;itemHomeBackground&amp;quot; Stretch=&amp;quot;UniformToFill&amp;quot; Opacity=&amp;quot;1&amp;quot; ImageSource=&amp;quot;pack://application:,,,/Resources/home.png&amp;quot;/&amp;gt;&lt;br /&gt;19:    &amp;lt;/s:TagVisualization.Resources&amp;gt;&lt;br /&gt;20:  &lt;br /&gt;21:    &amp;lt;s:TagVisualization.Template&amp;gt;&lt;br /&gt;22:      &amp;lt;ControlTemplate TargetType=&amp;quot;{x:Type local:BoardPiece}&amp;quot;&amp;gt;&lt;br /&gt;23:        &amp;lt;Grid x:Name=&amp;quot;mainGrid&amp;quot; Width=&amp;quot;126&amp;quot; Height=&amp;quot;142&amp;quot; Background=&amp;quot;{StaticResource tvBackground}&amp;quot; /&amp;gt;&lt;br /&gt;24:  &lt;br /&gt;25:        &amp;lt;ControlTemplate.Triggers&amp;gt;&lt;br /&gt;26:          &amp;lt;Trigger Property=&amp;quot;IsAcceptingNewRelation&amp;quot; Value=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;27:            &amp;lt;Setter TargetName=&amp;quot;mainGrid&amp;quot; Property=&amp;quot;Background&amp;quot; Value=&amp;quot;{StaticResource tvBackgroundHighlight}&amp;quot; /&amp;gt;&lt;br /&gt;28:          &amp;lt;/Trigger&amp;gt;&lt;br /&gt;29:          &amp;lt;Trigger Property=&amp;quot;IsAcceptingNewRelation&amp;quot; Value=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;30:            &amp;lt;Setter TargetName=&amp;quot;mainGrid&amp;quot; Property=&amp;quot;Background&amp;quot; Value=&amp;quot;{StaticResource tvBackground}&amp;quot; /&amp;gt;&lt;br /&gt;31:          &amp;lt;/Trigger&amp;gt;&lt;br /&gt;32:        &amp;lt;/ControlTemplate.Triggers&amp;gt;&lt;br /&gt;33:      &amp;lt;/ControlTemplate&amp;gt;&lt;br /&gt;34:    &amp;lt;/s:TagVisualization.Template&amp;gt;&lt;br /&gt;35:  &lt;br /&gt;36:  &amp;lt;/s:TagVisualization&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&amp;#160;&lt;/p&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;If anyone out there know how I can prevent VS from crashing (probably by pointing out what part of WPF I don’t understand here …) it’s much appreciated if you tell me :-)&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Bye,&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Bart&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-7803408302789178942?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/7803408302789178942/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=7803408302789178942' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/7803408302789178942'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/7803408302789178942'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2009/06/how-to-crash-visual-studio.html' title='How to crash Visual Studio…'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-4027927812779238676</id><published>2009-06-11T23:54:00.001+02:00</published><updated>2009-06-11T23:54:25.909+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Samples'/><category scheme='http://www.blogger.com/atom/ns#' term='DevExpress'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>My first unit test</title><content type='html'>&lt;p&gt;As mentioned before I’m starting the (re)design for our upcoming major release. This is an exciting time because we will be using a couple of new techniques here. One of which is DevExpress’ XPO, eXpress Persistent Objects.&lt;/p&gt;  &lt;p&gt;I had done some tests before, but now the real work starts I find that typing the object model rather than drawing is a big down side for XPO. I’m afraid that in this day and age you really need a visual modeller.&lt;/p&gt;  &lt;p&gt;That said, I’ve bitten the bullet and started the design. I took that a bit light-hearted and thought I would have done that in a couple of hours. You know, thinking: “what do I need to do different compared to our current object model? It’s all been done and we know exactly what we want”.&lt;/p&gt;  &lt;p&gt;Not, I can tell you. I find that rethinking over the object model brings up a couple of flaws that only become apparent if you don’t think of databases anymore. If you think in objects only, you experience another kind of designing entirely. I’ve been object modelling for quite some time, but doing it for real while reverse engineering a larger model is quite different to what I did before.&lt;/p&gt;  &lt;p&gt;But, the reason I started this post is I wanted to share my first unit test with you. I was looking in the XPO software for a ‘model checker’. Since XPO &lt;em&gt;is&lt;/em&gt; about storing data, &lt;em&gt;and&lt;/em&gt; you need to specify the object relations using ‘code’, I suspected I might have mistyped something somewhere and wanted to check of all was well.&lt;/p&gt;  &lt;p&gt;That’s quite easily done, using a unit test. It’s ever so simple, but helps you to check the object model while designing. Just make the test project your current project, add a reference to the assembly that holds your XPO model (everyone puts that in a separate assembly, right?) and run the test when you want to check your model.&lt;/p&gt;  &lt;p&gt;This is the single line test that has been my friend for today:&lt;/p&gt;  &lt;p&gt;&lt;font color="#800000" face="Courier"&gt;[TestMethod]     &lt;br /&gt;public void CheckValidityOfDicationary()      &lt;br /&gt;{      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; new ReflectionDictionary().GetDataStoreSchema(typeof(S7XPO_Base).Assembly);      &lt;br /&gt;}&lt;/font&gt; &lt;/p&gt;  &lt;p&gt;Replace S7XPO_Base with any of your persistent classes and you’re off. If there is an error, an exception is thrown and your test will fail, telling you exactly where the problem is.&lt;/p&gt;  &lt;p&gt;Hope this is of use to anyone. It certainly helped me a lot.&lt;/p&gt;  &lt;p&gt;Bye,&lt;/p&gt;  &lt;p&gt;Bart&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-4027927812779238676?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/4027927812779238676/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=4027927812779238676' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/4027927812779238676'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/4027927812779238676'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2009/06/my-first-unit-test.html' title='My first unit test'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-6960323372753369554</id><published>2009-06-07T12:16:00.001+02:00</published><updated>2009-06-07T12:16:58.149+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Samples'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><title type='text'>Application Architecture Guide 2.0</title><content type='html'>&lt;p&gt;&lt;a title="http://apparchguide.codeplex.com/" href="http://apparchguide.codeplex.com/"&gt;http://apparchguide.codeplex.com/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;I am in the middle of redesigning our software and was thinking through some major parts of our software design. We notice the number of clients grow, the size of the companies that uses our software gets larger (Microsoft, SAP, Google, Unit4Agresso, Shell are all companies that use our software) and the number of topics in the Sevensteps projects increase. Our software was designed for documentation projects of around 5000 topics per project (we have projects that are over 400.000 topics in size, but performance is an issue there) and I want to redesign (part of) our software to accommodate larger projects.&lt;/p&gt;  &lt;p&gt;Another reason for redesigning is that we currently support one rich client interface. And I want to extend that with a content API (which will give access to the information from, let’s say, an ASP.Net application) and some light weight, web based interfaces. Some other parts of the software could do with a looking over too.&lt;/p&gt;  &lt;p&gt;Going all over the net for some background information, I stumbled on the &lt;a href="http://apparchguide.codeplex.com/"&gt;Microsoft Application Architecture Guide 2.0&lt;/a&gt;. I’ve now read the first 2 chapters and already got some very valuable information. I find that most things discussed, I already know about and have some experience with. But, to see them listed helps a lot.&lt;/p&gt;  &lt;p&gt;I will be reading the next 300 pages or so to see how the topics are elaborated on. I’m not a very keen IT book reader, but will make an exception this time. Anyone looking for some guidance in designing (Microsoft based) software might find it a valuable resource too. If after reading I think a follow up is required, I will do so of course.&lt;/p&gt;  &lt;p&gt;Bye,&lt;/p&gt;  &lt;p&gt;Bart&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-6960323372753369554?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/6960323372753369554/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=6960323372753369554' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/6960323372753369554'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/6960323372753369554'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2009/06/application-architecture-guide-20.html' title='Application Architecture Guide 2.0'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-9192358706995835683</id><published>2009-06-06T09:19:00.001+02:00</published><updated>2009-06-06T09:19:18.126+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><category scheme='http://www.blogger.com/atom/ns#' term='PDC2008'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='MS Surface'/><title type='text'>Just a few more words about the switch from Delphi to C#</title><content type='html'>&lt;p&gt;Thanks for all your comments to &lt;a href="http://blogs.sevensteps.com/2009/06/contemplating-mvc-for-our-software.html"&gt;my post&lt;/a&gt; about switching from Delphi to C#. Although I didn’t intend to stir up that discussion again, I would like to answer some of the questions and suggestions raised/&lt;/p&gt;  &lt;p&gt;I appreciate everyone telling me about teaching C# programmers Delphi. I know it's not too hard; I've done it myself :-) But, the number of programmers out there does reflect the popularity of a platform, doesn't it? And some applicants bluntly told me they didn’t want to work in Delphi. They obviously didn’t get the job, but it did make me think a bit.&lt;/p&gt;  &lt;p&gt;But, the lack of programmers wasn't the main reason for us to switch at all. Despite somewhat (...) critical sounds about Microsoft (some of which I tend to kind of share) there is a lot of development in the Microsoft world. Way more than in the Delphi world. Some may be good, some may be not so good or terrible, fact is that there is a lot of effort put in the MS platform. &lt;/p&gt;  &lt;p&gt;What really did it for me were two things. &lt;/p&gt;  &lt;p&gt;(1) We had to wait for Delphi 2009 for Unicode support, which (IMHO of course) is a major misjudgement. I haven't been able to deliver Unicode software, even though there was a bit of pressure out there. I know for a fact that I did lose sales because of that. &lt;/p&gt;  &lt;p&gt;(2) About the same time Delphi 2009 (and Prism) came out, I attended the Microsoft PDC. It opened my eyes regarding to the scale of things. One may not like MS being enormous in size, but there are so many exciting things going on out there, that it made me decide to go the other way.&lt;/p&gt;  &lt;p&gt;In fact, I particularly went to check out &lt;a href="http://www.microsoft.com/surface"&gt;MS Surface&lt;/a&gt;. Just one of those things that MS can do and Embarcadero won’t. That’s not to hold against them, and it doesn’t have anything to do with my choice for C# really, but it did tell me that there was a lot more going on than I really wanted to realize.&lt;/p&gt;  &lt;p&gt;Just a quick note on quality of tools: I was getting used to Delphi crashing on me several times a day. It was getting to a point that I did take that into account when starting a days work. I am so glad that is over: Visual Studio hasn’t crashed on me once since I started using it. Not a real argument for the choice either, but I’m glad that’s out of the way.&lt;/p&gt;  &lt;p&gt;I will always love Delphi and will be programming in it for the next couple of years, I’m sure. But for the next few generations of our software engine, C#/.Net will be the platform of choice.&lt;/p&gt;  &lt;p&gt;Now, that still doesn’t solve those designing issues for me :-) Guess I’ll have to do some investigation.&lt;/p&gt;  &lt;p&gt;Bye,&lt;/p&gt;  &lt;p&gt;Bart&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-9192358706995835683?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/9192358706995835683/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=9192358706995835683' title='15 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/9192358706995835683'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/9192358706995835683'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2009/06/just-few-more-words-about-switch-from.html' title='Just a few more words about the switch from Delphi to C#'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><thr:total>15</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-4951544709822797494</id><published>2009-06-05T12:16:00.001+02:00</published><updated>2009-06-05T12:16:09.209+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><category scheme='http://www.blogger.com/atom/ns#' term='PDC2008'/><category scheme='http://www.blogger.com/atom/ns#' term='DevExpress'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='MS Surface'/><title type='text'>Contemplating MVC for our software</title><content type='html'>&lt;p&gt;I’m currently in the process of redesigning our software for a new implementation in C#/.Net. Our current implementation is great of course (…) but some considerations made us decide to move away from Delphi into C#/.Net. I’ve listed the reasons before, but to summarize here is a part of the introduction of our formal business case for going C#/.Net.&lt;/p&gt;  &lt;h2&gt;Microsoft will always invest more than Embarcadero will&lt;/h2&gt;  &lt;p&gt;As much as I like the Delphi world, there will be more development into C#/.Net than there ever will be into Delphi/Win32. It’s just a matter of size: MS is way bigger than Embarcadero and the number of developers for C#/.Net will always exceed the Delphi/Win2 group.&lt;/p&gt;  &lt;h2&gt;There are more C# developers than Delphi Developers&lt;/h2&gt;  &lt;p&gt;It’s a fact. I had a hard time to find experience local Delphi developers. There are plenty C# developers. To just mention a fact: the Delphi user group that I attended had between 5 and 8 developers on each meeting (every 3 months) and I was presenting on every meeting I attended. The &lt;a href="http://www.dotned.nl/"&gt;dotned&lt;/a&gt; group I recently joined has meetings every month with between 20 and 50 developers every time. And the dotnet group is just one of many C#/.Net groups out there.&lt;/p&gt;  &lt;p&gt;And there are numerous other considerations to make the move that I won’t mention here. All of them are commercial and strategic considerations, not technical ones.&lt;/p&gt;  &lt;p&gt;So, there we go, we will redesign and implement our software.&lt;/p&gt;  &lt;h1&gt;Design decisions&lt;/h1&gt;  &lt;p&gt;There are a couple of little draw back to redesigning and reimplementing software (it will set you back a hell of an amount of money) but there are a couple of good aspects too. You can reconsider some design decisions you made earlier. You can apply new technology if you want to. Stuff like that. &lt;/p&gt;  &lt;p&gt;There are two major decisions I am currently thinking over:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Will I use DevExpress XPO or will I use the Microsoft Entity Framework for my ORM?&lt;/li&gt;    &lt;li&gt;Will I implement a ‘simple’ 3-tier model or will I go for a MVC model?&lt;/li&gt; &lt;/ol&gt;  &lt;h2&gt;Deciding Object Relational Model&lt;/h2&gt;  &lt;p&gt;There is a bit of information available regarding the decision between XPO and the Entity Framework. I found &lt;a href="http://community.devexpress.com/blogs/garyshort/archive/2008/08/01/xpo-will-benefit-from-the-entity-framework.aspx"&gt;Gary’s Blog&lt;/a&gt; (by DevExpress) highly informative. It’s been noted here that I am a huge DevExpress fan and am really considering building our software using XPO. But, the fact that Microsoft is behind the Entity Framework does play a role in my considerations. I haven’t gone into great detail investigating either technology (and I think I must to make a sound decision). It will be between those two I guess.&lt;/p&gt;  &lt;h2&gt;3-tier model or MVC model?&lt;/h2&gt;  &lt;p&gt;Our current app is more of a 2-tier model. The business logic is implemented next to the user interface and I want to move away from that. I am currently contemplating a &lt;a href="http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller"&gt;MVC&lt;/a&gt; model or a ‘traditional’ &lt;a href="http://en.wikipedia.org/wiki/3-tier"&gt;3-tier&lt;/a&gt; model. Our software will have a WinForms user interface as its main interface and most of the stuff out there is using ASP.Net (which I will use for only part of the editing work in our software).&lt;/p&gt;  &lt;p&gt;I found this blog (&lt;a title="http://rdn-consulting.com/blog/2008/02/01/selecting-a-mvcmvp-implementation-for-a-winforms-project/comment-page-1/#comment-1663" href="http://rdn-consulting.com/blog/2008/02/01/selecting-a-mvcmvp-implementation-for-a-winforms-project/comment-page-1/#comment-1663"&gt;http://rdn-consulting.com/blog/2008/02/01/selecting-a-mvcmvp-implementation-for-a-winforms-project/comment-page-1/#comment-1663&lt;/a&gt;) that kind of sums up my considerations.&lt;/p&gt;  &lt;p&gt;I haven’t made any decisions on these issues, so any thoughts that you think are worth sharing are much appreciated.&lt;/p&gt;  &lt;p&gt;Bye,&lt;/p&gt;  &lt;p&gt;Bart&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-4951544709822797494?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/4951544709822797494/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=4951544709822797494' title='20 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/4951544709822797494'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/4951544709822797494'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2009/06/contemplating-mvc-for-our-software.html' title='Contemplating MVC for our software'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><thr:total>20</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-2285309945427275186</id><published>2009-05-30T09:38:00.001+02:00</published><updated>2009-05-30T09:38:45.809+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='General'/><category scheme='http://www.blogger.com/atom/ns#' term='MS Surface'/><title type='text'>DevDays are over</title><content type='html'>&lt;p&gt;The last couple of days I was at the &lt;a href="http://www.devdays.nl"&gt;DevDays&lt;/a&gt; and I enjoyed it for most of the time. There were a couple of sessions that made me waste some of my time (at some I even dozed off). But there were others that I fully enjoyed. The session by &lt;a href="http://blogs.msdn.com/saraford/"&gt;Sara Ford&lt;/a&gt; was fun because of her enthusiasm and energy. At one point in the session she (tried to) persist that a particular functioned wouldn’t work. But, I’ve go to hand it to her, she still followed some hints from me (sitting in the front row as ever) and was perplexed that that function &lt;em&gt;did&lt;/em&gt; work. She got down from the stand and bowed for me in front of a 100 people or so. That was fun.&lt;/p&gt;  &lt;p&gt;I also very much liked &lt;a href="http://www.robmiles.com/"&gt;Rob Miles’&lt;/a&gt; session on Micro .Net. He is a fun speaker and he showed how easy it is to create software for embedded (tiny) systems. I will definitely try some of that stuff out, if I can get my hands on some hardware that doesn’t need fiddling with. I’m a software guy and definitely not a hardware guy. Rob’s session on XNA was not much more that the first two pages of the tutorial, so that was a waste of time I’m afraid. I was baffled that he didn’t know &lt;a href="http://www.microsoft.com/surface"&gt;MS Surface&lt;/a&gt; supports &lt;a href="http://www.microsoft.com/xna"&gt;XNA&lt;/a&gt; too. Should have known…&lt;/p&gt;  &lt;p&gt;I also ran into some former colleagues and it was nice to get up to date about their (working) lives.&lt;/p&gt;  &lt;p&gt;Monday it’s back to work again. Although the rest of the Netherlands will enjoy a day off, I won’t (because I forgot it was a holiday and I promised some work to be done).&lt;/p&gt;  &lt;p&gt;Not much technical stuff this time, but: if you are a Visual Studio user, check out Sara Ford’s web site for the VS tips. I’m sure there are a couple that you didn’t know and will like. I know I picked up a tip or two.&lt;/p&gt;  &lt;p&gt;Bye,&lt;/p&gt;  &lt;p&gt;Bart&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-2285309945427275186?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/2285309945427275186/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=2285309945427275186' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/2285309945427275186'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/2285309945427275186'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2009/05/devdays-are-over.html' title='DevDays are over'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-818066434101363507</id><published>2009-04-29T11:28:00.002+02:00</published><updated>2009-04-29T11:31:21.790+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MS Surface'/><title type='text'>Running MS Surface SDK on Win Vista 64 / Windows 7</title><content type='html'>I just found this great post (&lt;a href="http://www.grumpydev.com/2008/12/26/surface-sdk-on-vista-x64/"&gt;http://www.grumpydev.com/2008/12/26/surface-sdk-on-vista-x64/&lt;/a&gt;) on how to install the SDK on Windows Vista 64 bits and used it to get it working on my Win7 64 bits machine. Removing a couple of more launch conditions in the MSI did the trick for Win7.&lt;br /&gt;&lt;br /&gt;As mentioned in the original post, no guarantees, but I'm happy I can leave our MS Surface unit outside my room now. You don't need additional heating in your room with the unit on :-) but you do need ear plugs due to the fan :-(. Ok for public spaces I guess but not in my office.&lt;br /&gt;&lt;br /&gt;Bye,&lt;br /&gt;Bart&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-818066434101363507?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/818066434101363507/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=818066434101363507' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/818066434101363507'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/818066434101363507'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2009/04/running-ms-surface-sdk-on-win-vista-64.html' title='Running MS Surface SDK on Win Vista 64 / Windows 7'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-1557424367349061817</id><published>2009-04-08T14:01:00.001+02:00</published><updated>2009-04-08T14:05:01.829+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MS Surface'/><title type='text'>Developing for MS Surface – First project experiences</title><content type='html'>&lt;p&gt;Our client and of course my Twitter followers got a couple of updates during our first implementation of a real world MS Surface application. But I thought it would be nice to summarize my experiences.&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Sorry about the quality of the videos: I will buy a more professional camera in due course. &lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:8d23148d-b1c6-48fa-8b6d-b375ea68ae69" class="wlWriterEditableSmartContent"&gt;&lt;div id="23b468fc-566a-4e0b-86eb-fd336f37be25" style="margin: 0px; padding: 0px; display: inline;"&gt;&lt;div&gt;&lt;a href="http://www.youtube.com/watch?v=4lY2RwvYdYw" target="_new"&gt;&lt;img src="http://lh4.ggpht.com/_hstdHC3GUMc/SdyS6zDg29I/AAAAAAAAAJI/NQrlTjZgcDQ/video93f748f642f0%5B2%5D.jpg?imgmax=800" style="border-style: none" galleryimg="no" onload="var downlevelDiv = document.getElementById('23b468fc-566a-4e0b-86eb-fd336f37be25'); downlevelDiv.innerHTML = &amp;quot;&amp;lt;div&amp;gt;&amp;lt;object width=\&amp;quot;425\&amp;quot; height=\&amp;quot;355\&amp;quot;&amp;gt;&amp;lt;param name=\&amp;quot;movie\&amp;quot; value=\&amp;quot;http://www.youtube.com/v/4lY2RwvYdYw&amp;amp;hl=en\&amp;quot;&amp;gt;&amp;lt;\/param&amp;gt;&amp;lt;embed src=\&amp;quot;http://www.youtube.com/v/4lY2RwvYdYw&amp;amp;hl=en\&amp;quot; type=\&amp;quot;application/x-shockwave-flash\&amp;quot; width=\&amp;quot;425\&amp;quot; height=\&amp;quot;355\&amp;quot;&amp;gt;&amp;lt;\/embed&amp;gt;&amp;lt;\/object&amp;gt;&amp;lt;\/div&amp;gt;&amp;quot;;" alt=""&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;  &lt;br /&gt;&lt;em&gt;The final product …&lt;/em&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;As said before a couple of times already: Microsoft deserve a big compliment for the software (and hardware) they delivered. It is so comfortable developing for the MS Surface unit if you have any experience in C# and Visual Studio. Even though I didn’t have any experience in WPF (which would have made it even easier) I was able to take off quite quickly and within matters of hours come up with the first working prototype of the application.&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:ebe48983-60e2-4808-9f00-45e0bcb37cd0" class="wlWriterEditableSmartContent"&gt;&lt;div id="9c164122-7533-4311-a649-baca03040cb0" style="margin: 0px; padding: 0px; display: inline;"&gt;&lt;div&gt;&lt;a href="http://www.youtube.com/watch?v=aQJwpQUS5dw" target="_new"&gt;&lt;img src="http://lh4.ggpht.com/_hstdHC3GUMc/SdySE5Dc3jI/AAAAAAAAAJM/f8bclD3X_x0/videofc7c8b8a1ce8%5B2%5D.jpg?imgmax=800" style="border-style: none" galleryimg="no" onload="var downlevelDiv = document.getElementById('9c164122-7533-4311-a649-baca03040cb0'); downlevelDiv.innerHTML = &amp;quot;&amp;lt;div&amp;gt;&amp;lt;object width=\&amp;quot;425\&amp;quot; height=\&amp;quot;355\&amp;quot;&amp;gt;&amp;lt;param name=\&amp;quot;movie\&amp;quot; value=\&amp;quot;http://www.youtube.com/v/aQJwpQUS5dw&amp;amp;hl=en\&amp;quot;&amp;gt;&amp;lt;\/param&amp;gt;&amp;lt;embed src=\&amp;quot;http://www.youtube.com/v/aQJwpQUS5dw&amp;amp;hl=en\&amp;quot; type=\&amp;quot;application/x-shockwave-flash\&amp;quot; width=\&amp;quot;425\&amp;quot; height=\&amp;quot;355\&amp;quot;&amp;gt;&amp;lt;\/embed&amp;gt;&amp;lt;\/object&amp;gt;&amp;lt;\/div&amp;gt;&amp;quot;;" alt=""&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;  &lt;p&gt;The application itself isn’t that hard or special. It presents product information, triggered by a couple of tags which are glued to the back of the business cards of the sales persons.&lt;/p&gt;  &lt;p&gt;In this project we didn’t do the visual elements, but left that up to out partner’s visual designers. That kept me worried for a bit, because I know from experience that integrating visual designs sometimes can be a pain. Not this time though; the VDs of &lt;a href="http://www.heuvelman.nl"&gt;Heuvelman&lt;/a&gt; (the partner) did an excellent job and it must be said: everything fitted the first time.&lt;/p&gt;  &lt;p&gt;During the development I had to take a couple of hurdles. First, I had to get acquainted with WPF and XAML. Since this was my first WPF program, all of that was a first. I did some experimenting some time ago, but working on a real project is a different cookie as we say in Dutch. But, I got the hang of it quite soon and information on &lt;a href="http://www.stackoverflow.com"&gt;http://www.stackoverflow.com&lt;/a&gt; came to the rescue more than once.&lt;/p&gt;  &lt;p&gt;Also, the &lt;a href="http://community.surface.com"&gt;Surface Community&lt;/a&gt; site came to the rescue on a couple of occasions. And even though that site isn’t the best Microsoft ever created (to be very mild), the information on it helped on a number of occasions.&lt;/p&gt;  &lt;p&gt;But the best part of this project was actually delivering the project and seeing it in action on &lt;a href="http://www.event2009.nl"&gt;Event 2009&lt;/a&gt;. The salespersons were going berserk seeing the end result and were full of adrenaline to start using the unit and software. I think a lot of sales deals will be done at the Heuvelman stand :-)&lt;/p&gt;  &lt;p&gt;It was great fun working on this project, but the working schedule (14 continuous days of working from 8am until 12pm or even later) almost did me. Next project will have a much more healthy schedule.&lt;/p&gt;  &lt;p&gt;I’ll keep you posted about next projects. If you want to look at all the stages of the project you can always check out Youtube at &lt;a href="http://www.youtube.com/brooz2001"&gt;http://www.youtube.com/brooz2001&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Bye,&lt;/p&gt;  &lt;p&gt;Bart&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-1557424367349061817?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/1557424367349061817/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=1557424367349061817' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/1557424367349061817'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/1557424367349061817'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2009/04/developing-for-ms-surface-first-project.html' title='Developing for MS Surface – First project experiences'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_hstdHC3GUMc/SdyS6zDg29I/AAAAAAAAAJI/NQrlTjZgcDQ/s72-c/video93f748f642f0%5B2%5D.jpg?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-6081775267574047204</id><published>2009-04-05T01:31:00.002+02:00</published><updated>2009-04-05T01:34:35.460+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MS Surface'/><title type='text'>Getting the hang of things in WPF</title><content type='html'>Today I found this website (&lt;a href="http://nerdplusart.com/"&gt;http://nerdplusart.com/&lt;/a&gt;) with this movie (&lt;a href="http://msstudios.vo.llnwd.net/o21/mix08/08_WMVs/BC01.wmv"&gt;http://msstudios.vo.llnwd.net/o21/mix08/08_WMVs/BC01.wmv&lt;/a&gt;) on it.&lt;br /&gt;&lt;br /&gt;I've been busy for about two weeks on a real WPF/MS Surface project now and I kindof got going pretty well. But only after seeing that video I really start to get WPF and appreciate Blend. I still think it can be improved (I'm using the Preview of version 3), but I think MS will get there. Right now, I think WPF/Surface/Blend totally rocks.&lt;br /&gt;&lt;br /&gt;I will update in a couple of days and write about the then finished project.&lt;br /&gt;&lt;br /&gt;Bye,&lt;br /&gt;Bart&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-6081775267574047204?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/6081775267574047204/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=6081775267574047204' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/6081775267574047204'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/6081775267574047204'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2009/04/getting-hang-of-things-in-wpf.html' title='Getting the hang of things in WPF'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-1843132145074387868</id><published>2009-04-01T18:29:00.002+02:00</published><updated>2009-04-02T21:47:08.996+02:00</updated><title type='text'>Weird problem in Windows Explorer on XP and Windows 2003</title><content type='html'>&lt;p&gt;&lt;b&gt;&lt;span style="font-family:verdana;"&gt;UPDATE&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:verdana;"&gt;The cause of the problem is found. Somehow something screw up a part of the registry (and it wasn't me!)&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:verdana;"&gt;Adding the info below to the registry solves the problem. So if you have problems selecting or moving items in Windows Explorer under Windows XP or Windows Server 2003, this might help you too.&lt;/span&gt;&lt;/p&gt;&lt;pre&gt;&lt;span style="font-family:verdana;"&gt;REGEDIT4&lt;br /&gt;[HKEY_CLASSES_ROOT\Interface\{0000010e-0000-0000-C000-000000000046}]&lt;br /&gt;@="IDataObject"&lt;br /&gt;[HKEY_CLASSES_ROOT\Interface\{0000010e-0000-0000-C000-000000000046}\NumMethods]&lt;br /&gt;@="12"&lt;br /&gt;[HKEY_CLASSES_ROOT\Interface\{0000010e-0000-0000-C000-000000000046}\ProxyStubClsid32]&lt;br /&gt;@="{00000320-0000-0000-C000-000000000046}"&lt;br /&gt;[HKEY_CLASSES_ROOT\CLSID\{00000320-0000-0000-C000-000000000046}]&lt;br /&gt;@="oleprx32_PSFactoryBuffer"&lt;br /&gt;[HKEY_CLASSES_ROOT\CLSID\{00000320-0000-0000-C000-000000000046}\InprocServer32]&lt;br /&gt;@="C:\\WINDOWS\\system32\\ole32.dll"&lt;br /&gt;"ThreadingModel"="Both"&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt; &lt;/pre&gt;&lt;pre&gt;&lt;span style="font-family:verdana;"&gt;&lt;hr /&gt;&lt;br /&gt;&lt;span style="color:#999999;"&gt;I have posted this question at the &lt;/span&gt;&lt;/span&gt;&lt;a href="http://forums.techguy.org/windows-nt-2000-xp/814787-weird-problem-windows-explorer-xp.html"&gt;&lt;span style="font-family:verdana;color:#999999;"&gt;Tech Support Guy&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;color:#999999;"&gt; forum too. In case you’re not reading that, here it is again. Your help is much appreciated.&lt;/span&gt;&lt;/pre&gt;&lt;p&gt;&lt;span style="color:#999999;"&gt;&lt;span style="font-family:verdana;"&gt;=============&lt;br /&gt;I have a weird problem, that you might be able to help me with. Our software is distributed using MSI's. We do regular builds and releases, about twice a month. Now, suddenly reports are coming in that by *deinstalling* our software Windows Explorer is acting weird. Usings cannot select files/folders with a mouse anymore. When our software is installed, all is well.&lt;br /&gt;This only happens on XP machines and I've seen it on our own Windows 2003 server.&lt;br /&gt;Does this give anybody a clue about where to look? How should I go about to find out what's wrong here.&lt;br /&gt;&lt;b&gt;Some background information&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:verdana;color:#999999;"&gt;Nothing spectacular has changed in our MSI projects. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;color:#999999;"&gt;The effects show up only after rebooting after de deinstallation of the software. When installing the software, no reboot is needed to have Windows Explorer act normally again. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;color:#999999;"&gt;We create the MSIs using Wise version 6, using AutomatedBuildStudio to build and package the software. Nothing hs changed in those procedures. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;color:#999999;"&gt;The effects aren't present on WIndows Vista or Windows 7 machines. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;color:#999999;"&gt;I have used VeriTest-Rational Install Analyzer to compare before and after snapshots, but no clear signs of anything wrong there. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;color:#999999;"&gt;There is one entry in the VeriTest-Rational Install Analyzer log about an entry at HKCU\Microsoft\Windows\CurrentVersion\Shell Extensions\Cached\{2559A1F4-21D7-11D4-BDAF-00C04F60B9F0} {000214E6-0000-0000-C000-000000000046} 0x401 being changed &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;color:#999999;"&gt;There is another entry in the VeriTest-Rational Install Analyzer log about an entry at HKCU\Microsoft\Windows\CurrentVersion\Shell Extensions\Cached\{2559A1F5-21D7-11D4-BDAF-00C04F60B9F0} {000214E6-0000-0000-C000-000000000046} 0x401 being changed &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;color:#999999;"&gt;This already happened before April 1. No relation to Conficker suspected. &lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="color:#999999;"&gt;&lt;span style="font-family:verdana;"&gt;ANYTHING that you can come up with is much appreciated.&lt;br /&gt;Thanks for now,&lt;br /&gt;Bart&lt;br /&gt;&lt;/dib&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-1843132145074387868?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/1843132145074387868/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=1843132145074387868' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/1843132145074387868'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/1843132145074387868'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2009/04/weird-problem-in-windows-explorer-on-xp.html' title='Weird problem in Windows Explorer on XP and Windows 2003'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-5612109492198207684</id><published>2009-04-01T11:00:00.001+02:00</published><updated>2009-04-01T11:00:52.535+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MS Surface'/><title type='text'>First release of first Surface app delivered</title><content type='html'>&lt;p&gt;It has been extremely hard work (the project has an insane schedule), but the first release of my first Surface app has been delivered.&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:fcd11897-ecd9-4d09-8070-8660866e411e" class="wlWriterEditableSmartContent"&gt;&lt;div id="67a1a3d1-ffc8-4797-bfcd-634d5f722061" style="margin: 0px; padding: 0px; display: inline;"&gt;&lt;div&gt;&lt;a href="http://www.youtube.com/watch?v=j7bKfpfjRhQ" target="_new"&gt;&lt;img src="http://lh5.ggpht.com/_hstdHC3GUMc/SdMtQ41-rSI/AAAAAAAAAI8/jZV74C_SraE/video0834f93f37ba%5B2%5D.jpg?imgmax=800" style="border-style: none" galleryimg="no" onload="var downlevelDiv = document.getElementById('67a1a3d1-ffc8-4797-bfcd-634d5f722061'); downlevelDiv.innerHTML = &amp;quot;&amp;lt;div&amp;gt;&amp;lt;object width=\&amp;quot;425\&amp;quot; height=\&amp;quot;355\&amp;quot;&amp;gt;&amp;lt;param name=\&amp;quot;movie\&amp;quot; value=\&amp;quot;http://www.youtube.com/v/j7bKfpfjRhQ&amp;amp;hl=en\&amp;quot;&amp;gt;&amp;lt;\/param&amp;gt;&amp;lt;embed src=\&amp;quot;http://www.youtube.com/v/j7bKfpfjRhQ&amp;amp;hl=en\&amp;quot; type=\&amp;quot;application/x-shockwave-flash\&amp;quot; width=\&amp;quot;425\&amp;quot; height=\&amp;quot;355\&amp;quot;&amp;gt;&amp;lt;\/embed&amp;gt;&amp;lt;\/object&amp;gt;&amp;lt;\/div&amp;gt;&amp;quot;;" alt=""&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;  &lt;p&gt;I have to give my respect to Microsoft (again) for the quality of their software with the MS Surface unit. Although I’m &lt;a href="http://blogs.sevensteps.com/2009/01/wpf-beginner-begins.html"&gt;not an experienced WPF programmer&lt;/a&gt; at all it has taken me about a week to come up with this first release. I am a pretty experienced programmer though, but still, coming up with this, learning along the way, after only a week is pretty awesome I think. And that has as much to do with the quality of the MS stuff as with my own capabilities (cough…).&lt;/p&gt;  &lt;p&gt;I’ll be working on this for the next week or so. Next week the units will be a the &lt;a href="http://www.event2009.nl/"&gt;Event2009 event&lt;/a&gt;, together with this little app to show off the products and services of our &lt;a href="http://www.heuvelman.nl"&gt;(MS Surface) partner&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Bye,&lt;/p&gt;  &lt;p&gt;Bart&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-5612109492198207684?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/5612109492198207684/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=5612109492198207684' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/5612109492198207684'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/5612109492198207684'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2009/04/first-release-of-first-surface-app.html' title='First release of first Surface app delivered'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_hstdHC3GUMc/SdMtQ41-rSI/AAAAAAAAAI8/jZV74C_SraE/s72-c/video0834f93f37ba%5B2%5D.jpg?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-3042479631430228599</id><published>2009-03-24T08:59:00.002+01:00</published><updated>2009-03-24T09:01:08.385+01:00</updated><title type='text'>Cool MIT Stuff</title><content type='html'>It has been quoted a couple of times already of course, but I still wanted to point you to some real cool stuff. A &lt;a href="http://www.ted.com/index.php/talks/pattie_maes_demos_the_sixth_sense.html"&gt;personal floating surface unit&lt;/a&gt;?&lt;br /&gt;&lt;br /&gt;Bye,&lt;br /&gt;Bart&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-3042479631430228599?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/3042479631430228599/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=3042479631430228599' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/3042479631430228599'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/3042479631430228599'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2009/03/cool-mit-stuff.html' title='Cool MIT Stuff'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-8721651085957739467</id><published>2009-03-23T23:39:00.006+01:00</published><updated>2009-03-24T09:03:14.506+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MS Surface'/><title type='text'>Some 3D manipulation on a MS Surface</title><content type='html'>A couple of clients are interested in a MS Surface unit, but only if it can handle 3D. Well, it can! And pretty good too. In a very short time I created a small demo that will make you view a 3D model from all sides. It's not very sofisticated (yet) but will do quite nicely as a demo.&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/aR0PuzoY1wU&amp;hl=nl&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/aR0PuzoY1wU&amp;hl=nl&amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Update: this is what you can do if you have a bit more resources to spend :-) Our day will come!&lt;br /&gt;&lt;br /&gt;&lt;object width="480" height="295"&gt;&lt;param name="movie" value="http://www.youtube.com/v/V94EVrp9nWk&amp;hl=nl&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/V94EVrp9nWk&amp;hl=nl&amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="295"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Bye,&lt;br /&gt;Bart&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-8721651085957739467?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/8721651085957739467/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=8721651085957739467' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/8721651085957739467'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/8721651085957739467'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2009/03/some-3d-manipulation-on-ms-surface.html' title='Some 3D manipulation on a MS Surface'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-4401480620818513841</id><published>2009-03-05T09:35:00.002+01:00</published><updated>2009-03-05T09:38:34.533+01:00</updated><title type='text'>HTC Touch Pro</title><content type='html'>Just a quick message about something else today: my HTC TouchPro. I was already pretty impressed with this phone, but  couple of things bothered me. The performance just wasn't good enough, switching orientation when activating something from the main menus was troublesome (most of times you would return to the start screen) and a couple of other little things that made you go 'grrrrrr'  everytime it happens.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;But, HTC has released a ROM update which fixed all that. Especially the improved performance is great! One wonders why that isn't good enough in the first place :-|&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So, if you have a HTC Touch Pro, go to the HTC website and pick your new ROM software up.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Bye,&lt;/div&gt;&lt;div&gt;Bart&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-4401480620818513841?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/4401480620818513841/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=4401480620818513841' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/4401480620818513841'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/4401480620818513841'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2009/03/htc-touch-pro.html' title='HTC Touch Pro'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-5040232266483899006</id><published>2009-02-25T09:10:00.002+01:00</published><updated>2009-03-24T09:03:33.947+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MS Surface'/><title type='text'>Progress on the Surface unit</title><content type='html'>&lt;p&gt;The title might give you the idea that there’s any. Well there is, sort of. I haven’t done any development lately, partly because there’s a lot of other stuff to do, but also because we had a &lt;strong&gt;lot&lt;/strong&gt; of visitors coming to peek at the Surface unit.&lt;/p&gt;  &lt;p&gt;Besides all that it is, it is also a very good marketing instrument for our company. Simply having it make the crowds turn up. And if we show the small examples on it that we have, probably convinces people already.&lt;/p&gt;  &lt;p&gt;We now have two developers working on it full time (that also is a reason for me not to really press for development time on it for myself). One of them will be working on a Concierge-like program (using a map to display information about buildings) and the other will be working on moving stuff around on a 2D-map of a building, calculating all kinds of things doing that.&lt;/p&gt;  &lt;p&gt;I will be focusing on marketing and finding business partners for the development on the Surface unit.&lt;/p&gt;  &lt;p&gt;So, if you have any suggestions, don’t hesitate to &lt;a href="mailto:bart.roozendaal@sevensteps.nl"&gt;contact&lt;/a&gt; me.&lt;/p&gt;  &lt;p&gt;Bye,&lt;/p&gt;  &lt;p&gt;Bart&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-5040232266483899006?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/5040232266483899006/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=5040232266483899006' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/5040232266483899006'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/5040232266483899006'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2009/02/progress-on-surface-unit.html' title='Progress on the Surface unit'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-9168905495251044070</id><published>2009-01-24T15:08:00.001+01:00</published><updated>2009-02-01T09:07:43.063+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MS Surface'/><title type='text'>WPF beginner begins…</title><content type='html'>&lt;table border="0" cellspacing="0" cellpadding="2" width="604"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="338"&gt;I am a programmer since day one of the PC. However, I have always been working on business applications, mostly working on documentation software. I recently started work on a MS Surface unit and that involves programming using &lt;a href="http://en.wikipedia.org/wiki/Windows_Presentation_Foundation"&gt;WPF&lt;/a&gt; (Windows Presentation Foundation)&amp;#160; or &lt;a href="http://en.wikipedia.org/wiki/Microsoft_XNA"&gt;XNA&lt;/a&gt;. Since we also do a lot of web stuff, I chose WPF for my current development work.           &lt;p&gt;Programming in WPF is a much more visual experience than what I was brought up with (Cobol, Fortran, Basic, Pascal, C, C++, Smalltalk, et cetera, et cetera). An important part of WPF are the definitions in &lt;a href="http://en.wikipedia.org/wiki/XAML"&gt;XAML&lt;/a&gt; (Extensible Application Markup Language). This XML file defines the objects in your window and application. I am currently using Microsoft Blend to edit the XAML files, but you can of course edit them with Visual Studio too.&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="264" align="right"&gt;         &lt;p align="center"&gt;&lt;em&gt;I’m just beginning with C#, .NET, WPF, XAML and Surface. Our company software is written in Delphi/Win32, but we will make a transition to C# and .NET this year.I won’t be programming on that myself (that much) anymore, but I want to know all about the technology we will be using of course. So, I’ve taken up the challenge to write some software for our MS Surface unit to learn our new environment.              &lt;br /&gt;&lt;/em&gt;&lt;em&gt;I might use some ‘wrong’ terms and concepts. I will make some beginner mistakes. Bear with me though: I’m learning along the way. This blog shares my experiences doing so for you to learn from or laugh at…&lt;/em&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;As said, I’m not brought up with a lot of graphics in my software, let alone handling or animating them. So, I’m not that comfortable (yet) with the way WPF-programmers work. But, I will learn along the way and will share my thoughts and experiences for others to learn or to laugh at.&lt;/p&gt;  &lt;h2&gt;My first program&lt;/h2&gt;  &lt;p&gt;I am targeting the MS Surface unit and I thought it would be nice to begin with a small game: Memory (I’m assuming here that everybody knows the Memory game). The logic in that is simple, it’s quite suited for the MS Surface unit, it will be a nice gift for new Surface customers, but most of all, it will be a good subject for my learning experience.&lt;/p&gt;  &lt;p&gt;So, the functional specs are:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;The images used for the memory cards will be taken from the clients computer &lt;/li&gt;    &lt;li&gt;The difficulty can be set using a slider &lt;/li&gt;    &lt;li&gt;The memory cards animate when flipped. &lt;/li&gt;    &lt;li&gt;(there’s a couple of more specs, but those will come later) &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;So, how to start? The first steps were easy. Create a board with images. The actual flipping will come later.&lt;/p&gt;  &lt;p&gt;Update #1: I was writing this while working on my game. I have now proceeded a bit more, but I got word that Microsoft had planned for a programmers course coming week. So, I’ll be going to Paris a bit later this week and I hope to get a bit of a head start. I &lt;em&gt;will&lt;/em&gt; finish this game and I might even make it open source. I’ll let you know how I get along.&lt;/p&gt;  &lt;p&gt;Update #2: I am also really not introduced to the world of 3D. However, I found this &lt;a href="http://www.kindohm.com/technical/WPF3DTutorial.htm"&gt;great little&lt;/a&gt; article that helped me on my way. So, the first hurdles are taken. Maybe I will be able to do some nice stuff on my own to coming days.&lt;/p&gt;  &lt;p&gt;Let’s regard this post as a first in a series.&lt;/p&gt;  &lt;p&gt;Bye,&lt;/p&gt;  &lt;p&gt;Bart&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-9168905495251044070?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/9168905495251044070/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=9168905495251044070' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/9168905495251044070'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/9168905495251044070'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2009/01/wpf-beginner-begins.html' title='WPF beginner begins…'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-5804607800633982180</id><published>2009-01-21T20:04:00.001+01:00</published><updated>2009-01-21T20:41:50.440+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MS Surface'/><title type='text'>MS Surface – Dead Easy</title><content type='html'>&lt;p&gt;As mentioned, yesterday our surface unit arrived. It was my day off, so it was not until today that I could get my hands on it. Now, fact is that I am swamped in regular work, so I have to work late to get some extra stuff done. And, of course the family suffers, because I won’t be at home at night.&lt;/p&gt;  &lt;p&gt;So, the family has to come to me, which has the added benefit of having a representative test user group around me:&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:823c0ee5-7265-46bf-9dd8-ade91702e14c" class="wlWriterEditableSmartContent"&gt;&lt;div id="2bd88636-650e-4352-89f8-0a7ebfb221bf" style="margin: 0px; padding: 0px; display: inline;"&gt;&lt;div&gt;&lt;a href="http://www.youtube.com/watch?v=yx8_BqeSsAE&amp;amp;hl=en&amp;amp;fs=1" target="_new"&gt;&lt;img src="http://lh3.ggpht.com/_hstdHC3GUMc/SXd6fX3elPI/AAAAAAAAAIo/hMKMWG6Q0_M/video7b678b91ebc6%5B2%5D.jpg?imgmax=800" style="border-style: none" galleryimg="no" onload="var downlevelDiv = document.getElementById('2bd88636-650e-4352-89f8-0a7ebfb221bf'); downlevelDiv.innerHTML = &amp;quot;&amp;lt;div&amp;gt;&amp;lt;object width=\&amp;quot;425\&amp;quot; height=\&amp;quot;355\&amp;quot;&amp;gt;&amp;lt;param name=\&amp;quot;movie\&amp;quot; value=\&amp;quot;http://www.youtube.com/v/yx8_BqeSsAE&amp;amp;hl=en&amp;amp;fs=1&amp;amp;hl=en\&amp;quot;&amp;gt;&amp;lt;\/param&amp;gt;&amp;lt;embed src=\&amp;quot;http://www.youtube.com/v/yx8_BqeSsAE&amp;amp;hl=en&amp;amp;fs=1&amp;amp;hl=en\&amp;quot; type=\&amp;quot;application/x-shockwave-flash\&amp;quot; width=\&amp;quot;425\&amp;quot; height=\&amp;quot;355\&amp;quot;&amp;gt;&amp;lt;\/embed&amp;gt;&amp;lt;\/object&amp;gt;&amp;lt;\/div&amp;gt;&amp;quot;;" alt=""&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;  &lt;p&gt;The guy is four years old, doesn’t own a Wii, Playstation or Xbox (or any other electronic equipment). He can however handle the remote DVD control. The images show him only a mere minute after first laying his eyes and hands on the Surface unit.&lt;/p&gt;  &lt;p&gt;I think it’s quite amazing and a good advertisement for the technology that a kid this young can start working with it immediately without any help. It won’t be too difficult to convince our clients that usability is not an issue.&lt;/p&gt;  &lt;p&gt;Bye,&lt;/p&gt;  &lt;p&gt;Bart&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-5804607800633982180?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/5804607800633982180/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=5804607800633982180' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/5804607800633982180'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/5804607800633982180'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2009/01/ms-surface-dead-easy.html' title='MS Surface – Dead Easy'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_hstdHC3GUMc/SXd6fX3elPI/AAAAAAAAAIo/hMKMWG6Q0_M/s72-c/video7b678b91ebc6%5B2%5D.jpg?imgmax=800' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-627986311459050640</id><published>2009-01-18T14:39:00.002+01:00</published><updated>2009-03-24T09:03:53.247+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MS Surface'/><title type='text'>Surface unit will arrive on Tuesday</title><content type='html'>&lt;p&gt;We got word that our Surface unit will be arriving on Tuesday. All preparations are done. We also learned that MS will reuse the package material (40kg or so in weight :-|). I think that’s a good thing: package material that large in size would be a waste when simply disposed off.&lt;/p&gt;  &lt;p&gt;Tuesday is my day off though, so it will be Wednesday before I can lay my hands on them. Our new programmers will be working on other things for the next 4 weeks now (we had it planned that they could start at the very beginning of the year). A bit of a set back in our planning, but we’ll have to take it as it comes.&lt;/p&gt;  &lt;p&gt;I’ll keep you posted.&lt;/p&gt;  &lt;p&gt;Bye,   &lt;br /&gt;Bart&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-627986311459050640?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/627986311459050640/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=627986311459050640' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/627986311459050640'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/627986311459050640'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2009/01/surface-unit-will-arrive-on-tuesday.html' title='Surface unit will arrive on Tuesday'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-5133921776130263854</id><published>2009-01-12T21:13:00.001+01:00</published><updated>2009-01-12T21:13:41.716+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Windows7'/><title type='text'>Windows 7 up and running</title><content type='html'>&lt;p&gt;I just upgraded my Vista Ultimate 64 bits installation to Windows 7 beta, build 7000. All is well and running smoothly I might add. It already feels like Win7 is much faster and responds quite a bit better than Vista does.&lt;/p&gt;  &lt;p&gt;Also, good to find that Bitdefender simply continues to run, which was a concern to me.&lt;/p&gt;  &lt;p&gt;All our own software runs fine too, so I’m happy for now.&lt;/p&gt;  &lt;p&gt;Starting real work on this system starting tomorrow.&lt;/p&gt;  &lt;p&gt;Bye,&lt;/p&gt;  &lt;p&gt;Bart&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-5133921776130263854?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/5133921776130263854/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=5133921776130263854' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/5133921776130263854'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/5133921776130263854'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2009/01/windows-7-up-and-running.html' title='Windows 7 up and running'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-2249217436041589011</id><published>2009-01-12T10:21:00.001+01:00</published><updated>2009-01-12T10:21:10.224+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MS Surface'/><title type='text'>Look out, Microsoft Surface - the iTable might just trump you in every way</title><content type='html'>&lt;p&gt;This is presented as an alternative to MS Surface. I think it might be a Windows multi touch alternative though. Still, pretty cool stuff. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.crunchgear.com/2009/01/10/look-out-microsoft-surface-the-itable-might-just-trump-you-in-every-way/"&gt;Look out, Microsoft Surface - the iTable might just trump you in every way&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-2249217436041589011?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/2249217436041589011/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=2249217436041589011' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/2249217436041589011'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/2249217436041589011'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2009/01/look-out-microsoft-surface-itable-might.html' title='Look out, Microsoft Surface - the iTable might just trump you in every way'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-1075571206412744484</id><published>2009-01-08T11:22:00.001+01:00</published><updated>2009-01-08T11:22:00.172+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='MS Surface'/><title type='text'>Using Virtual Earth on Surface</title><content type='html'>&lt;p&gt;I still haven't got the actual unit, but it should be somewhere between Germany and our office. Maybe today?&lt;/p&gt;  &lt;p&gt;In the mean while I found &lt;a title="http://blogs.msdn.com/publicsector/archive/2008/06/24/wpf-and-virtual-earth-revisited.aspx" href="http://blogs.msdn.com/publicsector/archive/2008/06/24/wpf-and-virtual-earth-revisited.aspx"&gt;http://blogs.msdn.com/publicsector/archive/2008/06/24/wpf-and-virtual-earth-revisited.aspx&lt;/a&gt;. This is an example on how to use virtual earth in a (proper) user control.&lt;/p&gt;  &lt;p&gt;This helps a lot, as it will make virtual earth a 'normal' control. And it is now also pretty easy to use it on the surface unit (or at least the simulator). For our demo stages, this is good enough.&lt;/p&gt;  &lt;p&gt;O the wonders of the work of others...&lt;/p&gt;  &lt;p&gt;Bye,&lt;/p&gt;  &lt;p&gt;Bart&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-1075571206412744484?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/1075571206412744484/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=1075571206412744484' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/1075571206412744484'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/1075571206412744484'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2009/01/using-virtual-earth-on-surface.html' title='Using Virtual Earth on Surface'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-9195306867279398158</id><published>2008-12-31T10:22:00.001+01:00</published><updated>2008-12-31T10:22:51.824+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MS Surface'/><title type='text'>Starting work on MS Surface</title><content type='html'>&lt;p&gt;As you might know I will start work on a MS Surface unit shortly. Now, I've come up with a couple of ideas to implement. Some are more obvious (photos from one of our projects presented on a map) but others are more intriguing (using the unit as an aid for biological determination work). I also want to do some work on a 'social networking' application which can be used by 'customers' to interact with each other, even when they are not in the same location.&lt;/p&gt;  &lt;p&gt;However, a client of ours came up with another idea. This client works in the 'office cleaning business' and would like an application that will scan a map of a building and by adding information to the map (dragging people to rooms, coloring floors to indicate complexity) the application will calculate the price for cleaning that building.&lt;/p&gt;  &lt;p&gt;So, I think that will be the first application I will be working on. I will keep you posted - for as far as the MS license agreements allow me to - about the progress.&lt;/p&gt;  &lt;p&gt;Bye,&lt;/p&gt;  &lt;p&gt;Bart&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-9195306867279398158?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/9195306867279398158/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=9195306867279398158' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/9195306867279398158'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/9195306867279398158'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2008/12/starting-work-on-ms-surface.html' title='Starting work on MS Surface'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-2102419327632808820</id><published>2008-12-24T12:38:00.001+01:00</published><updated>2008-12-24T12:38:35.355+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><title type='text'>When to take matters in your own hands?</title><content type='html'>&lt;p&gt;Some time ago &lt;a href="http://blogs.sevensteps.com/2008/04/spending-lot-of-time-on-your-support.html"&gt;I wrote&lt;/a&gt; about the poor support on a component that I'm using (ProfDHTMLEdit). For some time now, &lt;a href="http://profgrid.newsgrouphosting.com/profgrid.htmledit.support/1319/Re--Porting-TProfDHTMLEdit-to-D2009.html"&gt;it seems&lt;/a&gt; the component (or the author) is dead and buried. I've given up hope for a D2009 version of the control any time in the future.&lt;/p&gt;  &lt;p&gt;Now, for me that doesn't matter, since I won't be porting my software to D2009 after all (at least, that's the current thinking). But, what about the other customers? As you can read in the newsgroup the customers are getting more desperate and - if I were allowed to - I would like to help them.&lt;/p&gt;  &lt;p&gt;So, what would my (legal) position be? I think I could offer my services as a consultant to an individual ProfDHTMLEdit user. No problems in hiring somebody that will do some work on a component that you purchased with the sources included I think. But, to most people that won't be an option, because it would become too expensive (the control itself only costs $100 or so).&lt;/p&gt;  &lt;p&gt;Another matter would be if I would make a D2009 version of the component available for all to download. Let alone if I would sell it. I think there would be some legal problems if I did.&lt;/p&gt;  &lt;p&gt;But, when would enough be enough? When would I (or anyone) be allowed to publish a new version of a control that no longer is supported? What are your thoughts?&lt;/p&gt;  &lt;p&gt;Bye,&lt;/p&gt;  &lt;p&gt;Bart&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-2102419327632808820?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/2102419327632808820/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=2102419327632808820' title='14 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/2102419327632808820'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/2102419327632808820'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2008/12/when-to-take-matters-in-your-own-hands.html' title='When to take matters in your own hands?'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><thr:total>14</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-8817986858348068441</id><published>2008-12-19T13:08:00.001+01:00</published><updated>2008-12-19T13:08:51.734+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='MS Surface'/><title type='text'>Starting to blog about my C# experiences</title><content type='html'>&lt;p&gt;Regular visitors to my blog know that I have been working with Delphi for the last decade or so. The love between Delphi and I has grown, although my old love (just about everything that Microsoft did and does) never died out. At regular intervals I did some things with VB, C++, C#, ASP and ASP.Net.&lt;/p&gt;  &lt;p&gt;For me, 2009 will be a year where I will say goodbye to Delphi (for new things that is) and will move to C# and .Net for all of our software. There is just too big a gap between development in the C#/.Net world and the Delphi world, despite the recent releases of Delphi 2009 and Prism. Of course, that's IMHO only, but in my company that's what counts.&lt;/p&gt;  &lt;p&gt;So, I will be writing more and more about C# and not that much anymore about Delphi.&lt;/p&gt;  &lt;p&gt;The first new product that we will do will be using the MS Surface unit, which will be installed in my office the first week of 2009. I can't wait to get going with that. I'll keep you posted (as far as I'm allowed by MS, because I'm bound to a pre release agreement for the MS Surface unit).&lt;/p&gt;  &lt;p&gt;Bye,&lt;/p&gt;  &lt;p&gt;Bart&lt;/p&gt;  &lt;p&gt;Ps: From now on I will only tag postings that are about Delphi only with the Delphi tag. Other postings (not tagged Delphi) won't get picked up by delphifeeds.com, so if you want to stay in touch, please RSS subscribe or come back on a regular basis.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-8817986858348068441?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/8817986858348068441/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=8817986858348068441' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/8817986858348068441'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/8817986858348068441'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2008/12/starting-to-blog-about-my-c-experiences.html' title='Starting to blog about my C# experiences'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-811139694300831625</id><published>2008-11-17T17:49:00.001+01:00</published><updated>2008-11-17T17:49:40.678+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'>Twitter in outer space</title><content type='html'>&lt;p&gt; I have fallen in love with &lt;a href="http://www.twitter.com"&gt;Twitter&lt;/a&gt;. Somehow it's interesting to know what people are doing. I find myself simply picking random Twitterers to find out what they are up to. I also found it very entertaining to follow &lt;a href="http://www.twitter.com/stephenfry"&gt;Stephen Fry&lt;/a&gt; on his trip to Madagascar.&lt;/p&gt;  &lt;p&gt;Is it voyeurism? Yes, probably, though not in a sexual way :-) I mean, watching the &lt;a href="http://twitter.com/delphifeeds"&gt;Delphi Twitters&lt;/a&gt; arouses only the geekiest of geeks ;-)&lt;/p&gt;  &lt;p&gt;I also found that the astronauts on the Endeavour are &lt;a href="http://twitter.com/SSEndeavour"&gt;twittering&lt;/a&gt;. That reminded me of a project of many moons ago that I did for Nasa.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_hstdHC3GUMc/SSGgoQq-AdI/AAAAAAAAAHk/dA6kR_ZaWQ8/s1600-h/4fe5_1%5B3%5D.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="244" alt="4fe5_1" src="http://lh3.ggpht.com/_hstdHC3GUMc/SSGgoziqraI/AAAAAAAAAHo/rhJwDlodFZE/4fe5_1_thumb%5B1%5D.jpg?imgmax=800" width="184" align="left" border="0" /&gt;&lt;/a&gt;I developed an application that used an Apple portable computer and a pen table of some sort. A &lt;a href="http://en.wikipedia.org/wiki/HyperCard"&gt;Hypercard&lt;/a&gt; stack contained a lot of information (images, text, maps, et cetera). We developed a nice little application to browse that information. The table was used to draw something on top of the pages displayed.&lt;/p&gt;  &lt;p&gt;Now, the fun thing was that there was one portable in the space shuttle and one on the ground. Whatever page was navigated to on either end, the others got to see too. And whatever was drawn on top of that page was shown on the other end too.&lt;/p&gt;  &lt;p&gt;This helped communication between the astronauts and the ground people in explaining what to do at certain times. People on the ground would simply find a photo of the door to open and mark an X next to the lever to pull.&lt;/p&gt;  &lt;p&gt;As someone that only failed to make a pilot due to a stupid motor cycle accident, you can understand that this little project (it wasn't that hard to do) is one of the dearest to me. I even got some memorabilia sent to me when that flight was over.&lt;/p&gt;  &lt;p&gt;So, every time I see a little twitter from outer space, I think back to the time when I was still hacking my way through Hypercard. Sometimes it's fun being the older guy in the room :-)&lt;/p&gt;  &lt;p&gt;Bye,&lt;/p&gt;  &lt;p&gt;Bart&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-811139694300831625?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/811139694300831625/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=811139694300831625' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/811139694300831625'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/811139694300831625'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2008/11/twitter-in-outer-space.html' title='Twitter in outer space'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_hstdHC3GUMc/SSGgoziqraI/AAAAAAAAAHo/rhJwDlodFZE/s72-c/4fe5_1_thumb%5B1%5D.jpg?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-2388914283170799283</id><published>2008-11-04T16:06:00.002+01:00</published><updated>2008-11-04T17:04:46.166+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><title type='text'>Now, who would be the best Delphi programmer?</title><content type='html'>&lt;p&gt;Would that be Obama, or would it be McCain? I think Nader, as an independent, would be the best choice.    &lt;br /&gt;    &lt;br /&gt;Ok, so I’ve got to make this a more interesting posting. Here goes one attempt.&lt;/p&gt;  &lt;p&gt;If you would go for McCain, you’ve got an oldy with a lot of experience (much like myself I might add). You would probably get an excellent programmer, but not going beyond the possibilities of the VCL. He would stick to the VCL, maybe buy a component pack or two, but the single EXE would be his target. He’s heard of webservices and code injection, but doesn’t really know what it means. He just manages to get a setup program out (of course using Installshield, not writing something himself). The freakiest thing he does, is implement skinning using DevExpress.&lt;/p&gt;  &lt;p&gt;Now, when you look at Obama, he probably would write his own VCL components from scratch. While programming he would have a couple of visions in sight. The client should be satisfied, but maybe the components are good enough to sell later on to another client. He’d keep his eyes open to other platforms all the time, but would stick to Delphi as his primary development tool. Unless, there is some major upset. Then, after careful deliberation, he would drop Delphi. The first attempt will be with a couple of softening arguments, but when there is another upset, it’s out with the tool all together. The end result would be a set of well designed components, all working together on various levels. Of course, one component can crash, but that’s all part of the development strategy. The one that crashes, is out of the door and the next one can be developed.&lt;/p&gt;  &lt;p&gt;And Nader? Well, of course he would stick to using Smalltalk. All very well designed, but commercially not very viable.&lt;/p&gt;  &lt;p&gt;So, go for it. Where do I go wrong? Make my day!&lt;/p&gt;  &lt;p&gt;Bye,    &lt;br /&gt;Bart     &lt;br /&gt;    &lt;br /&gt;&lt;span style="font-size: 78%"&gt;(just a day off, as you probably can tell :-)&lt;/span&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-2388914283170799283?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/2388914283170799283/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=2388914283170799283' title='10 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/2388914283170799283'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/2388914283170799283'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2008/11/now-who-would-be-best-delphi-programmer.html' title='Now, who would be the best Delphi programmer?'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><thr:total>10</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-4905893853229323907</id><published>2008-11-02T12:02:00.001+01:00</published><updated>2008-11-02T12:03:10.459+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><category scheme='http://www.blogger.com/atom/ns#' term='PDC2008'/><title type='text'>Passion for Research</title><content type='html'>&lt;p&gt;I’ve been blogging about the Microsoft PDC the last week and, although it strictly didn’t have anything to do with the Delphi community, I still think it is interesting to know what happened there. I will do one last summing up tomorrow on the event, but there was one presentation I would like to highlight.&lt;/p&gt;  &lt;p&gt;I attended the talk on the &lt;a href="http://www.worldwidetelescope.org/"&gt;WorldWideTelescope&lt;/a&gt; Research project. I had installed the software earlier and was really amazed at its quality. At the presentation I found out that it basically was a one man project by a guy named Jonathan Fay. I didn’t know that before and my respect goes out to that guy. I regard myself as a pretty good programmer, but what he has come up with is out of my league. So, respect to you Jonathan.&lt;/p&gt;  &lt;p&gt;You can watch the presentation at &lt;a title="http://channel9.msdn.com/pdc2008/PC48/" href="http://channel9.msdn.com/pdc2008/PC48/"&gt;http://channel9.msdn.com/pdc2008/PC48/&lt;/a&gt;. And, if you think of killing the video after a couple of minutes of watching, at least skip through to about 27 minutes and watch him talk about a presentation by a 6 year old kid, all done with his software. The passion that Jonathan shows after that really sums it up. That moment made this presentation the highlight of the conference to me.&lt;/p&gt;  &lt;p&gt;Bye,&lt;/p&gt;  &lt;p&gt;Bart&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-4905893853229323907?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/4905893853229323907/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=4905893853229323907' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/4905893853229323907'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/4905893853229323907'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2008/11/passion-for-research.html' title='Passion for Research'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-2256506901146709346</id><published>2008-11-01T14:20:00.001+01:00</published><updated>2008-11-01T14:22:08.040+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><category scheme='http://www.blogger.com/atom/ns#' term='DevExpress'/><title type='text'>DevExpress will have a localizer tool</title><content type='html'>&lt;em&gt;The TcxLocalizer component helps you localize those of your applications that use our controls, as well as third-party or standard controls. This component provides centralized control over an application’s UI language or locale. Using this component, switching to another locale is as simple as changing a single option.&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;/em&gt;&lt;br /&gt;&lt;a href="http://community.devexpress.com/blogs/ctodx/archive/2008/10/31/vcl-subscription-new-localization-tool-coming-in-next-build.aspx"&gt;http://community.devexpress.com/blogs/ctodx/archive/2008/10/31/vcl-subscription-new-localization-tool-coming-in-next-build.aspx&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-2256506901146709346?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/2256506901146709346/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=2256506901146709346' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/2256506901146709346'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/2256506901146709346'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2008/11/devexpress-will-have-localizer-tool.html' title='DevExpress will have a localizer tool'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-933172335233288890</id><published>2008-10-30T15:59:00.001+01:00</published><updated>2008-10-30T15:59:46.106+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><category scheme='http://www.blogger.com/atom/ns#' term='PDC2008'/><category scheme='http://www.blogger.com/atom/ns#' term='MS Surface'/><title type='text'>Things that make you go humble – update</title><content type='html'>&lt;p&gt;Please go to the blog again to see two videos on SecondLight and on Boku. Really worth the time they take.&lt;/p&gt;  &lt;p&gt;&lt;a title="Things that make you go very humble" href="http://blogs.sevensteps.com/2008/10/things-that-make-you-go-very-humble.html"&gt;Things that make you go very humble&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Bye,&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Bart&lt;/strong&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-933172335233288890?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/933172335233288890/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=933172335233288890' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/933172335233288890'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/933172335233288890'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2008/10/things-that-make-you-go-humble-update.html' title='Things that make you go humble – update'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-7038337410040640170</id><published>2008-10-29T18:41:00.001+01:00</published><updated>2008-10-30T15:57:58.366+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><category scheme='http://www.blogger.com/atom/ns#' term='PDC2008'/><title type='text'>Things that make you go very humble</title><content type='html'>&lt;p&gt;Todays keynote was exceptional. The topics were coming from Microsoft Research and although the first half hour or so was full of stuff mentioning how important Microsoft Research is to Microsoft and to the world, the remainder of the presentation was unbelievable good.&lt;/p&gt;  &lt;p&gt;&lt;strike&gt;Sorry about the lack of pictures and videos this time; I didn’t have the camera ready. Sorry. The most cool stuff is at the end of the article so keep reading.&lt;/strike&gt;&lt;/p&gt;  &lt;h2&gt;Keep reading to read about SecondLight&lt;/h2&gt;  &lt;p&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/fM8sH0A_Hzc&amp;amp;hl=en&amp;amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/fM8sH0A_Hzc&amp;amp;hl=en&amp;amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/p&gt;  &lt;p&gt;There was a talk about how MSR works in the field of medicine, helping researchers analyzing fast amounts of data. And although you really got the point that Microsoft’s technology is helping in that field, it didn’t feel really special.&lt;/p&gt;  &lt;p&gt;There also was a talk about very tiny measuring devices for temperature and humidity and things like that, that are actually installed at the convention centre. The devices itself use about 4K of memory (remember that from the old days?) and only have a circuit board that’s the size of a quarter coin. It has a radio transmitter and, to give you a sense of things, there are about 100 of those sensors installed in the main hall. Microsoft has gathered the data about temperature and such during the last couple of days and presents the (vast amount of) data in nice graphical form. It really showed how the cooling system works and what the impact of the equipment, audience, and the cooling system is to the conditions in the hall.&lt;/p&gt;  &lt;p&gt;Next, a new programming language for kids, called Boku, was shown. It uses a XBox console to let kids program a ‘games world’ and do really fantastic cool stuff using iconized commands. The speaker spoke quicker than a rapid firing machine gun, but what he showed was really AWESOME and I want one of those for my kids! This will be a very good reason for me to by an XBox (not quite sure if it was a PC or XBox that was used). &lt;strike&gt;Go look up the videos on Boku that are probably out there.&lt;/strike&gt; It really was amazing to watch.&lt;/p&gt;  &lt;p&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/dR9zmVkIb-Q&amp;amp;hl=en&amp;amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/dR9zmVkIb-Q&amp;amp;hl=en&amp;amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/p&gt;  &lt;p&gt;But, the real highlight of the key note was the stuff on what Microsoft calls SecondLight. Really DO GO find videos on that. It comes down to this. It uses a special kind of LCD and infrared cameras. The LCD can be made transparent by applying some kind of current to the screen.The effect is that the LCD will not only display the images as you know, but also lets a &lt;strong&gt;second&lt;/strong&gt; image go through, to be projected on a simple piece of paper. And the fun thing is: this second image can be &lt;strong&gt;&lt;u&gt;&lt;em&gt;totally different&lt;/em&gt;&lt;/u&gt;&lt;/strong&gt; from the image that is shown on the LCD. The effect is that you can display secondary information about (pieces of) the image on the primary LCD. (Side note: I just hear a fellow programmer calling home about this and he calls it “Freaking Cool”). You can hold a piece of simple paper just &lt;em&gt;above&lt;/em&gt; the screen and show some detail information about the stuff that’s under that. &lt;/p&gt;  &lt;p&gt;I find it hard to express in words, but really, really, go find videos and other information on this. It is &lt;strong&gt;freaking cool&lt;/strong&gt;.&lt;/p&gt;  &lt;p&gt;It really made me ponder about my own work. What a amazing boring job I have! I want to be working for Microsoft Research!&lt;/p&gt;  &lt;p&gt;Bye,&lt;/p&gt;  &lt;p&gt;Bart&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-7038337410040640170?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/7038337410040640170/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=7038337410040640170' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/7038337410040640170'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/7038337410040640170'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2008/10/things-that-make-you-go-very-humble.html' title='Things that make you go very humble'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-2417922973823939882</id><published>2008-10-29T02:04:00.001+01:00</published><updated>2008-10-29T02:11:16.581+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><category scheme='http://www.blogger.com/atom/ns#' term='PDC2008'/><title type='text'>Windows 7 installed</title><content type='html'>&lt;p&gt;&lt;a href="http://lh5.ggpht.com/brooz2001/SQe2dvi3DJI/AAAAAAAAAHY/L2RiMvd7INk/s1600-h/Win7%5B3%5D.png"&gt;&lt;img title="Win7" style="border-right: 0px; border-top: 0px; display: inline; margin-left: 0px; border-left: 0px; margin-right: 0px; border-bottom: 0px" height="204" alt="Win7" src="http://lh6.ggpht.com/brooz2001/SQe2elT09cI/AAAAAAAAAHc/FrCmbGXW8BU/Win7_thumb%5B1%5D.png?imgmax=800" width="244" align="left" border="0" /&gt;&lt;/a&gt;I installed the pre-beta Windows 7 that we got. About the Windows 7 client itself: it looks a lot like Vista but has a couple of nice new things. You will find others blogging about all the new things found in there, so I won’t.&lt;/p&gt;  &lt;p&gt;But, here’s a little tip. It runs excellently in a Sun’s VirtualBox box. Just point to &lt;a href="http://www.virtualbox.org"&gt;http://www.virtualbox.org&lt;/a&gt; to get your copy and try it. I got it up and running within the hour without a hitch and that’s on a good but not very modern portable. VirtualBox feels a lot faster than Virtual PC. I &lt;em&gt;will&lt;/em&gt; need Virtual PC though, because the Visual Studio 2010 copy that we got is made available as a VirtualPC image.&lt;/p&gt;  &lt;p&gt;The goodies are delivered on a very nice and small 150Gb hard disk that I probably keep using because of its physical size. It’s nice and small yet very useful.&lt;/p&gt;  &lt;p&gt;I also got to shake hands finally with Nick Hodges, Allen Bauer, Marc Hoffman and Jim McKeeth. My Dutch accent prevents me from taking part in the little interview that Jim did (I’m just too embarrassed), but I will definitely listen to it when it’s online.&lt;/p&gt;  &lt;p&gt;We are getting ready to go to the party at the universal Studios now. And some people were already getting ready for that :-)&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.flickr.com/photos/accordionguy/2982712000/"&gt;&lt;img title="2982712000_c453190cef" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="484" alt="2982712000_c453190cef" src="http://lh3.ggpht.com/brooz2001/SQe2gEe38HI/AAAAAAAAAHg/fYiEzf6mnD4/2982712000_c453190cef%5B5%5D.jpg?imgmax=800" width="644" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Bye,&lt;/p&gt;  &lt;p&gt;Bart&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-2417922973823939882?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/2417922973823939882/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=2417922973823939882' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/2417922973823939882'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/2417922973823939882'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2008/10/windows-7-installed.html' title='Windows 7 installed'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/brooz2001/SQe2elT09cI/AAAAAAAAAHc/FrCmbGXW8BU/s72-c/Win7_thumb%5B1%5D.png?imgmax=800' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-676510971763969503</id><published>2008-10-28T20:51:00.001+01:00</published><updated>2008-10-28T20:51:55.579+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><category scheme='http://www.blogger.com/atom/ns#' term='PDC2008'/><title type='text'>Presentation on Azure/Live/Mesh on the PDC</title><content type='html'>&lt;p&gt;I just watch a presentation on the PDC on MS Azure and Windows Live by Chris Anderson and Don Box. These guys had a great presentation prepared and it was pretty fun to watch. They showed a bunch of great techniques and demo-ed how Azure will host your stuff (applications and data alike). They also showed how easy it is to get something going with techniques and languages that we already know like C#, LinQ, et cetera. In my mind it shows the counter part to the Google Apps platform (and probably beyond that).&lt;/p&gt;  &lt;p&gt;However, they hardly got any applause which I think was very funny in itself. Although the stuff they showed was excellent and pretty ground breaking. Now, why didn’t they got the applause that they were quite obviously expecting?&lt;/p&gt;  &lt;p&gt;A couple of reasons are possible: &lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;The audience didn’t get it. Nah, there are a couple of thousand developers in the audience and probably all very smart programming on a day to day basis. That can’t be it.&lt;/li&gt;    &lt;li&gt;The stuff isn’t that special and people thinking: what’s so special about that? That can be it, but that would probably because the stuff is so easy to do. From within Visual Studio and with a couple of easy mouse clicks you can deploy your software out there and the same goes for your data.&lt;/li&gt;    &lt;li&gt;Now, the third reason might be it (and it is the reason why I didn’t clap my hands a lot). This is ground breaking stuff that gives companies and developers&lt;strong&gt; a lot of &lt;/strong&gt;power to create new solutions quickly and much faster than before. But, &lt;em&gt;would you trust your applications and data in the hands of Microsoft?&lt;/em&gt;&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;I think that for applications that provide public services, like route finding applications, this all is great stuff. You can very quickly create your app, deploy it out there in the cloud for others to use. However for you business application you would like to keep your stuff on your own machines.&lt;/p&gt;  &lt;p&gt;Now, what was shown in the demo, and maybe wasn’t emphasized enough, is the lack of needing to know where stuff is. It might be in the clouds or on your own machines, it might be in an Azure SQL Server database or in your own: it doesn’t matter. Simply by changing a root URI you can use the stuff from where ever it is.&lt;/p&gt;  &lt;p&gt;So far I think Azure and the like is great stuff and I will certainly be thinking on how to use it. It is just not clear to me yet how I can use it in our software (which creates documentation solutions). But, maybe I should give myself a bit of time to think about that.&lt;/p&gt;  &lt;p&gt;Bye,&lt;/p&gt;  &lt;p&gt;Bart&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-676510971763969503?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/676510971763969503/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=676510971763969503' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/676510971763969503'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/676510971763969503'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2008/10/presentation-on-azurelivemesh-on-pdc.html' title='Presentation on Azure/Live/Mesh on the PDC'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-1107857394136361353</id><published>2008-10-28T03:23:00.001+01:00</published><updated>2008-10-28T04:29:57.612+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><category scheme='http://www.blogger.com/atom/ns#' term='MS Surface'/><title type='text'>Summary of my first day at the PDC</title><content type='html'>&lt;p&gt;After a wonderful Sunday at Venice beach, having a beer and fish and chips at a Irish pub, the jet lag hit us and we had a hard time staying awake. It made us miss one of the parties of the PDC, but after all, we are here for work, aren’t we?&lt;/p&gt;  &lt;p&gt;So this morning we got up at 6:30 AM but still didn’t make it to the start of the key note speech on Monday. But, when we got there, I felt we hadn’t missed much. Key note speeches don’t make a successful conference. We sat it out, but next time, I will leave early if the speeches are that boring.&lt;/p&gt;  &lt;p&gt;I attended a (what turned out to be) basic demonstration of Sharepoint and having learned my lesson at the key note speech I did leave that early this time.&lt;/p&gt;  &lt;p&gt;I visited the CodeGear booth, got a t-shirt, and was told the Prism DVD doesn’t have anything that I don’t already have. I got to speak to my family using Skype (which was a first to me) and was able to kiss my son to sleep which was a great bonus.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/brooz2001/SQZ3u4DNhWI/AAAAAAAAAHQ/fd2u4msocGc/s1600-h/IMG_1196%5B3%5D.jpg"&gt;&lt;img title="IMG_1196" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; margin-left: 0px; margin-right: 0px; border-right-width: 0px" height="184" alt="IMG_1196" src="http://lh5.ggpht.com/brooz2001/SQZ3vs4MmLI/AAAAAAAAAHU/J8m_gCKcXwY/IMG_1196_thumb%5B1%5D.jpg?imgmax=800" width="244" align="left" border="0" /&gt;&lt;/a&gt; I had a chance to catch up with the ‘Partner manager’ for MS Surface and later attended a presentation on MS Surface. And to me, that was the absolute top of the Monday. The presentation was pretty funny, and the stuff the guys showed was really awesome. If you never had your hands on a MS Surface table: try to do so. It’s a fun and exciting experience.&lt;/p&gt;  &lt;p&gt;The presentation showed what Microsoft has done to make the life of the developer easier and it appears they have done an excellent job on that. It is amazing to see how good the assembly for using the MS Surface library matches the things you know already about programming in the modern MS languages. It’s looks to be very easy to sit down and write your first Surface program.&lt;/p&gt;  &lt;p&gt;And if you were there, you will get the Surface SDK and you can do so. And I for one will definitely will, because I have some great ideas for it. I will also try to use it from Prism (no reason why we couldn’t). I will let you know the results when doing so…&lt;/p&gt;  &lt;p&gt;&lt;object width="425" height="350"&gt; &lt;param name="movie" value="http://www.youtube.com/v/m5CgkGjEhiM"&gt; &lt;/param&gt; &lt;embed src="http://www.youtube.com/v/m5CgkGjEhiM" type="application/x-shockwave-flash" width="425" height="350"&gt; &lt;/embed&gt; &lt;/object&gt;&lt;/p&gt;  &lt;p&gt;Bye,&lt;/p&gt;  &lt;p&gt;Bart&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-1107857394136361353?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/1107857394136361353/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=1107857394136361353' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/1107857394136361353'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/1107857394136361353'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2008/10/summary-of-my-first-day-at-pdc.html' title='Summary of my first day at the PDC'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/brooz2001/SQZ3vs4MmLI/AAAAAAAAAHU/J8m_gCKcXwY/s72-c/IMG_1196_thumb%5B1%5D.jpg?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-788553691381542053</id><published>2008-10-15T10:47:00.009+02:00</published><updated>2008-10-15T11:27:56.363+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><title type='text'>Visiting the Microsoft PDC</title><content type='html'>We've just decided that I will be visiting the &lt;a href="http://www.microsoftpdc.com/"&gt;Microsoft PDC&lt;/a&gt;. That is, if there are any tickets, hotels and flights still available :-&lt;br /&gt;&lt;br /&gt;I'm sure I will have a peep at the place where Prism will be available. Since I am always on the look out for new technology, and looking for opportunities to move our software to the .Net platform, I will definitely want to have a look at Codegear's product in that market. I really hope to get my hands on a trial version and/or have a close look to see why I would choose for Prism and not for C#.&lt;br /&gt;&lt;br /&gt;Also, I'm pretty interested in Windows 7. So, that I will give that a close look too (and maybe even &lt;a href="http://www.microsoftpdc.com/View.aspx?post=91d46819-8472-40ad-a661-2c78acb4018c:8979182&amp;amp;tag=PDC2008"&gt;try our software &lt;/a&gt;on it).&lt;br /&gt;&lt;br /&gt;If any of you want to schedule a meeting or demo of our Sevensteps Studio product or any other Sevensteps software product, please let me know and we'll schedule a meeting. I'm always on the look out for new business partners to setup a new product. If you want to get first hand knowledge about what our software can do for you, this might be a right time.&lt;br /&gt;&lt;br /&gt;Cu in LA.&lt;br /&gt;&lt;br /&gt;Bye,&lt;br /&gt;Bart&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-788553691381542053?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/788553691381542053/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=788553691381542053' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/788553691381542053'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/788553691381542053'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2008/10/visiting-microsoft-pdc.html' title='Visiting the Microsoft PDC'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-7407306658514899192</id><published>2008-09-25T15:42:00.002+02:00</published><updated>2008-09-25T15:45:07.167+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><title type='text'>DevExpress releases beta for controls supporting D2009</title><content type='html'>&lt;p&gt;Well, I just got that email that I was waiting for. DevExpress has its first (beta) release out supporting D2009. I now have placed my order for D2009. I hope everything works out as smooth as you read out elsewhere. And it looks like I can finally get my feet wet with regards to the anonymous methods, so I will know better what I’m talking and complaining about.&lt;/p&gt;&lt;p&gt;When I’ve set everything up I will definitely publish my experiences…&lt;/p&gt;&lt;p&gt;Bye,&lt;/p&gt;&lt;p&gt;Bart&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-7407306658514899192?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/7407306658514899192/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=7407306658514899192' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/7407306658514899192'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/7407306658514899192'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2008/09/devexpress-releases-beta-for-controls.html' title='DevExpress releases beta for controls supporting D2009'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-7072877691743557616</id><published>2008-09-24T09:54:00.002+02:00</published><updated>2008-09-24T10:01:53.423+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><title type='text'>Proof of the concept is in the eating...</title><content type='html'>Marco &lt;a href="http://blog.marcocantu.com/blog/anonymous_3.html"&gt;published &lt;/a&gt;a little example of anonymous methods. I already commented about it on his blog, but to me this is the very proof of the uglyness of anonymous methods.&lt;br /&gt;&lt;br /&gt;To me the beauty in object oriented languages is the ability to create easy readable code if you take care of your object design and naming conventions. If you have a sound object model and you choose the names of properties and methods wisely, your code will be very easy to read and to understand. If you keep you code logic simple and short (I very much favor methods and functions that have a very limited amount of code in them) no one will have trouble reading (and if necessary maintaining) your code.&lt;br /&gt;&lt;br /&gt;Marco's example, to me, proofs that anonymous methods are terrible. One has to read his little piece of code a couple of times to see what's going on and still it would probably need a bit of documentation. Or, maybe it's me, and only I have to read his code a couple of times.&lt;br /&gt;&lt;br /&gt;In my book the anonymous methods will remain very much what their name suggests: not very well known.&lt;br /&gt;&lt;br /&gt;Bye,&lt;br /&gt;Bart&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-7072877691743557616?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/7072877691743557616/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=7072877691743557616' title='12 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/7072877691743557616'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/7072877691743557616'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2008/09/proof-of-concept-is-in-eating.html' title='Proof of the concept is in the eating...'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><thr:total>12</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-1360593728417221100</id><published>2008-09-06T09:45:00.004+02:00</published><updated>2008-09-06T09:56:24.777+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><title type='text'>AutomatedQA know their support</title><content type='html'>Some time ago I &lt;a href="http://blogs.sevensteps.com/2008/08/thinking-about-switching-from-automated.html"&gt;reported &lt;/a&gt;serious problems that prevented me from compiling my projects using AutomatedBuildStudio from Automated QA. I already had some support emails going back and forth but the solutions was nowhere near.&lt;br /&gt;&lt;br /&gt;So, I decided to switch to FinalBuilder and installed the trial version. That was a good experience and it got me going with my projects in a half a day.&lt;br /&gt;&lt;br /&gt;I still was in contact with AutomatedQA though and they asked an opportunity to try to solve the problem. I gave them the length of the trial period of FinalBuilder (which is a month). To make a long story short: I ended up letting an AutomatedQA programmer take over my developers computer (using the ever excellent TeamViewer) and after an hour or so fiddling with configuration files, temporary files during the build, et cetera, they concluded to have found an offending compiler setting generating during the build process.&lt;br /&gt;&lt;br /&gt;They promissed a solution by the next day and they delivered that. Compiling my projects works fine again.&lt;br /&gt;&lt;br /&gt;That makes me happy for a couple of things:&lt;br /&gt;1) Apparently the problems of a single use does mean a thing to AutomatedQA. They could have said: sorry we lost you, but there's nothing we can do. They didn't do that and really digged in.&lt;br /&gt;2) I discovered a problem with FinalBuilder and Wise v6 in creating installer packages. After a compilation of the Wise package from Finaler Builder, the Wise project is damaged and from that point on unusable. I had to compiling my packages 'by hand' which was pretty unconvenient. I'm sure I would have found some sort of automated build process if I had to stick with FinalBuilder, but it wasn't as problem free as I first thought.&lt;br /&gt;&lt;br /&gt;Most important of all, I can still use my original build scripts, which are pretty advanced and saved me a lot of time in the past and now probably will do in the future.&lt;br /&gt;&lt;br /&gt;Just to let you know and to do justice to the support team of AutomatedQA. It just tells me again that &lt;a href="http://blogs.sevensteps.com/2008/04/spending-lot-of-time-on-your-support.html"&gt;having great support &lt;/a&gt;pays off in the end to both parties.&lt;br /&gt;&lt;br /&gt;Bye,&lt;br /&gt;Bart&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-1360593728417221100?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/1360593728417221100/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=1360593728417221100' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/1360593728417221100'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/1360593728417221100'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2008/09/automatedqa-know-their-support.html' title='AutomatedQA know their support'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-7772539852238138704</id><published>2008-08-29T13:10:00.003+02:00</published><updated>2008-08-29T13:15:06.735+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><title type='text'>To further on all the non(sense) news about Tiburon...</title><content type='html'>I may be too sceptical, under too much work stress, or maybe I'm catching some flew or the other. But really, is the news about the handling of a password character worth the bits over the internet? (oops, now I've done it myself).&lt;br /&gt;&lt;br /&gt;See: &lt;a href="http://glooscapsoftware.blogspot.com/2008/08/delphi-2009-passwordchar.html"&gt;http://glooscapsoftware.blogspot.com/2008/08/delphi-2009-passwordchar.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Come on everybody out there. I love to read about generics and implementation (problems) with the Unicode stuff. I even find the reports about the installation time more worthwhile than this.&lt;br /&gt;&lt;br /&gt;It's probably me... Lunch time is over: back to business!&lt;br /&gt;&lt;br /&gt;Bye,&lt;br /&gt;Bart&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-7772539852238138704?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/7772539852238138704/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=7772539852238138704' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/7772539852238138704'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/7772539852238138704'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2008/08/to-further-on-all-nonsense-news-about.html' title='To further on all the non(sense) news about Tiburon...'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-8402817887214029068</id><published>2008-08-27T09:32:00.006+02:00</published><updated>2008-08-27T09:36:15.238+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><title type='text'>So, installation time is shorter. Who cares????</title><content type='html'>I've now seen a couple of blogs about the improved install speed of the new Delphi version. It may be me, but I &lt;strong&gt;really&lt;/strong&gt; don't get it why people get so enthousiastic about that. Who cares if your installation takes 10, 20 or 60 minutes? It's something that you (should) do only once in a long while and then you're done with that. I much rather see 10% improvement in compile speed than 1000% improvement in installation time.&lt;br /&gt;&lt;br /&gt;Am I crazy or what? Let's state it once again and never mention it after this:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;installation time of Delphi 2009 has improved!&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;(now, back to work...)&lt;br /&gt;&lt;br /&gt;Bye,&lt;br /&gt;Bart&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-8402817887214029068?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/8402817887214029068/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=8402817887214029068' title='10 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/8402817887214029068'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/8402817887214029068'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2008/08/so-installation-time-is-shorter-who.html' title='So, installation time is shorter. Who cares????'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><thr:total>10</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-2214872817314358290</id><published>2008-08-26T08:01:00.003+02:00</published><updated>2008-08-26T08:12:17.044+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><category scheme='http://www.blogger.com/atom/ns#' term='DevExpress'/><title type='text'>Would you buy Delphi 2009?</title><content type='html'>Now the new version is in the open I found me talking to myself yesterday (...) about when and why I should buy the new version. I am curious enough to want to get my hands on it, but really haven't found an argument for upgrading yet. The new features in the language are not the ones that will solve all my remaining whishes for my software. I am using DevExpress components and not using ribbon toolbars (yet), so there's not a lot of new things in the VCL for me.&lt;br /&gt;&lt;br /&gt;I do want unicode though, badly, so that is a good reason. But I'm using the DevExpress components so I need to wait for those to be 2009-ready. So, I have decided to wait for them to come with a unicode compatible release of their components before buying 2009. Since everybody says that implementing unicode with 2009 is so easy, it shouldn't take long, but I'm not really sure about that to be honest. We'll see...&lt;br /&gt;&lt;br /&gt;What about you? Can you control yourself and find a decent reason to upgrade? Or are you susceptible for the hype-like messages about 2009 and find you running to the shop already?&lt;br /&gt;&lt;br /&gt;Bye,&lt;br /&gt;Bart&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-2214872817314358290?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/2214872817314358290/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=2214872817314358290' title='37 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/2214872817314358290'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/2214872817314358290'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2008/08/would-you-buy-delphi-2009.html' title='Would you buy Delphi 2009?'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><thr:total>37</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-8836306162423145494</id><published>2008-08-11T09:52:00.003+02:00</published><updated>2008-08-11T10:23:44.055+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><title type='text'>Exceptions, return value checking, pre- and postconditions</title><content type='html'>I never actually worked with Eiffel but when I first heard about it (that is some decades ago, really...) there is one concept that I remembered for the whole of my professional career and I adhered as a 'coding principle' in my own code. I'm talking about the concept of pre- and postconditions.&lt;br /&gt;&lt;br /&gt;As I remember it in Eiffel you can write your method/function/procedure (whatever it's called) and define some conditions that must be met before and at the end of that. E.g. you could define a precondition for a function that will ensure that a passed parameter is larger than zero. For the remainder of your code you can assume that the passed parameter IS larger than zero.&lt;br /&gt;&lt;br /&gt;Now, whenever I write a function/method I do the same. E.g. if I do a typecast somewhere in my code, I try to check for the correctness of the object that is typecast as soon as possible in my code. Something like this (from the top of my head, forgive me typos, simplicity of the examples and such):&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#3333ff;"&gt;procedure Foo(const aControl: TWinControl);&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#3333ff;"&gt;begin&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#3333ff;"&gt; // Beginning of preconditions&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#3333ff;"&gt; if not Assigned(aControl) then exit;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#3333ff;"&gt; if not (aControl is TEdit) then exit;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#3333ff;"&gt; // End of preconditions&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#3333ff;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:#3333ff;"&gt; // You can now safely execute the code below&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#3333ff;"&gt; TEdit(aControl).Text := 'foo';&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#3333ff;"&gt;end;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The above works fine if there actually is something that you can check at the beginning of the code. But, what if you cannot, until right before you start to use an object? Like below:&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#3333ff;"&gt;procedure Foo();&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#3333ff;"&gt;var&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#3333ff;"&gt;  aControl: TEdit;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#3333ff;"&gt;begin&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#3333ff;"&gt; (**&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#3333ff;"&gt;    A Whole Bunch of Code Here&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#3333ff;"&gt; **)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#3333ff;"&gt;  aControl := MyFunctionSomeWhereThatReturnsTEdit();&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#3333ff;"&gt;  if (not Assigned(aControl)) then exit;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#3333ff;"&gt;  if (not (aControl is TEdit)) then exit;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#3333ff;"&gt;  aControl.Text := 'foo';&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#3333ff;"&gt;end;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;In this case you would add your check just below the aControl := line. And if you have a lot of those, your code can become complex and hard to read. And you would end up with a lot of not so interesting code which in the end doesn't really matter to your program.&lt;br /&gt;&lt;br /&gt;Now, until now I used assertions for this type of checking, mainly because you can turn those off easily using a compiler switch.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#3333ff;"&gt;aControl := MyFunctionSomeWhereThatReturnsTEdit();&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#3333ff;"&gt;Assert(Assigned(aControl));&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#3333ff;"&gt;Assert(aControl is TEdit);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;But, of course, this doesn't work if the 'failing conditions' might be ligitimate circumstances in your code. So, for those types of checks I used the if..then constructions from the first example.&lt;br /&gt;&lt;br /&gt;But, I am now thinking that I'd better use exceptions for this. Currenlty I only use exceptions for 'error circumstances' and never really used them as a way to signal pre- and postconditions. It would go like this:&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#3333ff;"&gt;procedure Foo();&lt;br /&gt;var&lt;br /&gt;  aControl: TEdit;&lt;br /&gt;begin&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#3333ff;"&gt;  try&lt;br /&gt; (**&lt;br /&gt;    A Whole Bunch of Code Here&lt;br /&gt; **)&lt;br /&gt;  aControl := MyFunctionSomeWhereThatReturnsTEdit();&lt;br /&gt;  aControl.Text := 'foo';&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#3333ff;"&gt;  except&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#3333ff;"&gt;    on E: MyConditionException do&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#3333ff;"&gt;    begin&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#3333ff;"&gt;      // This will be an exception raised from within MyFunctionSomeWhereThatReturnsTEdit&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#3333ff;"&gt;    end;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#3333ff;"&gt;    on E: Exception do // There probably are seperate exceptions for nil and class type mismatch exceptions, but this will do for the example&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#3333ff;"&gt;    begin&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#3333ff;"&gt;       // Something else should be done.&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#3333ff;"&gt;    end;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#3333ff;"&gt;  end;&lt;br /&gt;end;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This will work (and I think I will give it a go in some small program to see if it works our for my style of programming), but I'd much rather see the concept of pre- and postconditions introduced in Delphi.&lt;br /&gt;&lt;br /&gt;What do you think? If..Then constructions at the beginning? Exceptions? Push Embarcadero for pre-/postconditions? Something else?&lt;br /&gt;&lt;br /&gt;Please let me know; I'm really curious.&lt;br /&gt;&lt;br /&gt;Bye,&lt;br /&gt;Bart&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-8836306162423145494?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/8836306162423145494/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=8836306162423145494' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/8836306162423145494'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/8836306162423145494'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2008/08/exceptions-return-value-checking-pre.html' title='Exceptions, return value checking, pre- and postconditions'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-5992084301352904673</id><published>2008-08-07T12:49:00.002+02:00</published><updated>2008-08-07T12:53:14.090+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><title type='text'>FinalBuilder it is...</title><content type='html'>As reported yesterday I was experiencing problems with AutomatedBuildStudio. With a little pain in my heart,  but in the end with great relief I can tell you that I decided to switch to FinalBuilder.&lt;br /&gt;&lt;br /&gt;The pain is caused by the memory of some great experiences with ABS. So I feel a little sad to leave them. But, to my joy I was up and running (for the project that gave me problems for the last week) in about 10 minutes (really!) time with FinalBuilder. I can't tell yet if it's quicker/better/easier to use than ABS, but the fact is that I now have an automated build script for one of my main products in just a couple of minutes time. With almost all the things in there that I want (I will have to tweak it here and there to do some script based automated things).&lt;br /&gt;&lt;br /&gt;So, yes, it's a joy to say: I'm in the FinalBuilder camp too.&lt;br /&gt;&lt;br /&gt;Thanks to everyone responding to my previous post about this. It really helped to make the decision to move over.&lt;br /&gt;&lt;br /&gt;Bye,&lt;br /&gt;Bart&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-5992084301352904673?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/5992084301352904673/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=5992084301352904673' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/5992084301352904673'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/5992084301352904673'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2008/08/finalbuilder-it-is.html' title='FinalBuilder it is...'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-898712324273925297</id><published>2008-08-06T10:04:00.004+02:00</published><updated>2008-08-06T10:14:07.047+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><title type='text'>Thinking about switching from Automated Build Studio to FinalBuilder</title><content type='html'>Some time ago I purchased an update to Automated Build Studio. I whish I never did. I was pretty happy with the previous version, but encountered a problem (or wanted a feature - can't remember) that was solved/available in the new version only. Since I was very happy in the &lt;a href="http://www.automatedqa.com/about/comments.asp"&gt;past&lt;/a&gt; I never thought twice about purchasing the update.&lt;br /&gt;From the word go I ran into problems. I got access violations and had problems with search paths that were used when compiling Delphi software. It took me some intensive emaling with the support department before I got our most important projects compiling again. The access violations still happen intermittedly and a solution was never provided.&lt;br /&gt;Now, I started using a new component pack some time ago (VideoLabs) and the problems with the search paths were back again. Things compile fine using the IDE or from the command line, but using AutomatedBuildStudio I get some unexplainable errors. I emailed support a couple of time, but they all seem to be on holiday: I can't get a reply.&lt;br /&gt;&lt;br /&gt;So, I'm thinking about switching to another tool. Even though I have created a workaround (calling a batch file compiling the projects, using another tool to update the version numbers of my software), I don't want that as a permanent solution on my build system.&lt;br /&gt;&lt;br /&gt;I found quite a lot of praize about FinalBuilder. It seems pretty affordable too (maybe there's even a competetive upgrade prize available if I ask).&lt;br /&gt;&lt;br /&gt;What's your experience? What build systems can you recommend?&lt;br /&gt;&lt;br /&gt;Thanks for letting me know.&lt;br /&gt;&lt;br /&gt;Bye,&lt;br /&gt;Bart&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-898712324273925297?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/898712324273925297/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=898712324273925297' title='10 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/898712324273925297'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/898712324273925297'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2008/08/thinking-about-switching-from-automated.html' title='Thinking about switching from Automated Build Studio to FinalBuilder'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><thr:total>10</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-517814169389046079</id><published>2008-08-04T20:47:00.005+02:00</published><updated>2008-08-04T21:05:18.568+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><title type='text'>I now get anonymous methods: but I really dislike them already...</title><content type='html'>The example below was taken from &lt;a href="http://blogs.codegear.com/andreanolanusse/2008/07/17/tiburon-anonymous-methods/"&gt;Andreano Lanusse's blog &lt;/a&gt;on anonymous methods.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://bp0.blogger.com/_hstdHC3GUMc/SJdSp7QwWfI/AAAAAAAAAGk/IxFLDk2KNv4/s1600-h/anonymous2_664.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5230740372450204146" style="CURSOR: hand" alt="" src="http://bp0.blogger.com/_hstdHC3GUMc/SJdSp7QwWfI/AAAAAAAAAGk/IxFLDk2KNv4/s400/anonymous2_664.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;After examining this example for a couple of minutes (yes, really it took me that long...) and looking at the other example in his blog, I think I've made my mind up. I detest anonymous methods already. IMHO (of course as always), I can only conclude that using anonymous methods make your code less readable (to me at least) and don't add any real value to the language. Still, I haven't found examples or explanations that help me to get into the anonymous camp. Even &lt;a href="http://blogs.teamb.com/craigstuntz/2008/08/04/37828"&gt;Craig Stuntz's&lt;/a&gt; doesn't help me get there.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;I also realize that there is one principle that I live by that renders some of the 'advantages' of anonymous methods useless. Sure, using anonymous methods can help you to limit the amount of 'real' code in a method and thus make it a bit more easy to overview. Or, at least, that's one of the reasons give to use anonymous methods.&lt;/p&gt;&lt;p&gt;However, this 'advantage' is only of use if you write really long methods and functions. The more code you have, the sooner you will find yourself repeating things and the quicker an anonymous method can help you reduce your code. But, if I look at my own coding style, I try to make small methods and functions, archieving only a couple of things in it. That hardly ever takes more than 10-20 lines of code per method. If you are writing longer code, chances are that you better start that refactoring utility and split your code up. Most of times that will make your code better reusable and easier to maintain.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;As for Craig's argument of being able to do things that a designer of a framework didn't think of: I think you are working against the principles in that framework or the framework simply is not well designed. But, that's maybe another personal style of programming. If I use somebody else's framework, I try to use it as intended. Maybe the 'hacking' you are talking about becomes a bit easier, but I for one are against hacking.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;The last sentence reminds me: due to some technical problems, you might have missed my posting on &lt;a href="http://blogs.sevensteps.com/2008/08/why-would-developers-want-to-become-cio.html"&gt;why a developer wants to be a CIO (or not)&lt;/a&gt;. If you are border tonight, you might want to have a peek.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Bye,&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Bart&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-517814169389046079?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/517814169389046079/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=517814169389046079' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/517814169389046079'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/517814169389046079'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2008/08/i-now-get-anonymous-methods-but-i.html' title='I now get anonymous methods: but I really dislike them already...'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_hstdHC3GUMc/SJdSp7QwWfI/AAAAAAAAAGk/IxFLDk2KNv4/s72-c/anonymous2_664.png' height='72' width='72'/><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-4455551322743213067</id><published>2008-08-02T16:15:00.006+02:00</published><updated>2008-08-02T17:28:32.635+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><title type='text'>Why would developers want to become a CIO?</title><content type='html'>I found these articles today:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.cio.com/article/440304/_Reasons_Why_a_Developer_Might_Want_to_Become_a_CIO?contentId=440304"&gt;5 Reasons why a developer would want to become a CIO&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;and&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.cio.com/article/440303/_Reasons_Why_a_Developer_Would_NEVER_Want_To_Be_a_CIO?contentId=440303"&gt;8 Reasons why a developer would never want to become a CIO&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;They are about reasons why a developer might want to or might not change his position for a position as a CIO.&lt;br /&gt;&lt;br /&gt;Now, I'm going to discard all the financial arguments. I'm not interested in money, at least not to the level that it will make me decide in favor of or against a job. Maybe it's because I'm Dutch and not American, I don't know. But I couldn't look at myself in the mirror if I would take a job just for the money. I would deny a job if they wouldn't pay what I'm worth though, but I think that's another matter. Bottom line: money couldn't get me into a job, but could keep me out of it.&lt;br /&gt;&lt;br /&gt;Now, for the other reasons that a developer would want to be a CIO (only 2 of the 5 arguments remain after removing the financial reasons...) #2 is bullocks. It tells us that you want to be king of the company because you will have power over the people. To me, that's not a reason to be the king. I want to have the power over the faith of the software, not the people. I want to be able to tell which directions we need to take with the software. That's the real beauty of being king, not that you can tell people they need to fill in form A,B, or C.&lt;br /&gt;&lt;br /&gt;Reason #5 (you get tired of solving the bugs) is bollocks too. Every programmer knows solving bugs is part of the job and you want to improve your software each day to give your customers a better product &lt;strong&gt;and&lt;/strong&gt; toe get you less bugs on your todo list. If you are solving bugs each and every day and nothing but bugs, you're a bad programmer and you won't survive the business. If you have to do that because you're the bug solving programmer, you probably are just starting (solving bugs is a great way to learn the software and learn programming) and chances are you're not CIO material yet.&lt;br /&gt;&lt;br /&gt;So, a nice article that draws some attention but, IMHO of course, full of nonsens.&lt;br /&gt;&lt;br /&gt;As for the other article: the 8 reasons why you DON'T want to be the CIO, it's much the same.&lt;br /&gt;&lt;br /&gt;Reason #1: we live to write code. True, but I guess that CIOs that have a developer background still continue to write code, or at least will research (new) code developments. You will be the senior in the company (after all, you started as a developer) and chances are there will be some hungry young dogs trying to learn from you. You won't leave your code: you only get to pick the nice pieces to be involved in.&lt;br /&gt;&lt;br /&gt;Reason #2: seeing the fruits of your labor. Being a CIO for once you can make the decisions that you think are good for the software and the company. If you have sound ideas, the company will improve with your leadership and you will see the best measurable results possible: an increase in turnover. The results of a days work as a programmer is a nice piece of code that makes it through the unit test cleanly. The results as a CIO will show in the daily sales of licenses and positive customer feedback. I'd rather have the latter.&lt;br /&gt;&lt;br /&gt;Reason #3: being able to speak Java/C/et cetera &lt;strong&gt;is a must &lt;/strong&gt;for a CIO. That's the only way you won't get fooled by the developers that tell you that something isn't possible (anything is!). But, sure, you need to be able to express yourself as a human too, but I require that from my programmers too! If you can't talk Dutch (or English :-)) you would have a hard time surviving in my company. It's not a CIO-only requirement: it's a human's requirement to be able to express yourself.&lt;br /&gt;&lt;br /&gt;Reason #4: there probably are a couple of people that want to be remembered for their hacking capabilities. But, again IMHO, hacking is stupid. If you are such a good programmer that you can do some facinating stuff, apply your abilities to do some &lt;strong&gt;good and useful&lt;/strong&gt; work. It's a waste to spend your talents at stuff that gets people mad. You can do a lot better in making people happy.&lt;br /&gt;&lt;br /&gt;Reason #5: sucking up to other people with jobs beginning with C's. What nonsense. If you are a good CIO, you will be taken as an equal amongst those C's. If you're not, you're not in a technology company and/or you're no good. If you find yourself sucking up the whole time you probably did it before (and you might even have gotten the C-job for it), but you won't make it.&lt;br /&gt;&lt;br /&gt;Reason #6: the reference in the article to point #1 is a good one, because the same counter arguments apply. As the CIO you for once get to pick the directions and you &lt;strong&gt;will&lt;/strong&gt; be able to do some real innovation that has an impact in the company. As a developer you will find you write just a bit more clever code that nobody will see. You'll take pride in that, but it will only matter to yourself.&lt;br /&gt;&lt;br /&gt;Reason #7: not liking Powerpoint. If so, use something else: easy. Use video, music, exotic dansers. You're the guy with the 'C': pick your own tools. Now you can!&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;And for reason #8: that will all change, once YOU are the CIO. All the other developers will think: thank god, we now DO HAVE somebody that has a clue.&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Again, Just My 2Cents Worth.&lt;br /&gt;&lt;br /&gt;Bye,&lt;br /&gt;Bart&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-4455551322743213067?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/4455551322743213067/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=4455551322743213067' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/4455551322743213067'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/4455551322743213067'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2008/08/why-would-developers-want-to-become-cio.html' title='Why would developers want to become a CIO?'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-8301828568374892624</id><published>2008-08-01T21:22:00.004+02:00</published><updated>2008-08-01T21:33:19.919+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><title type='text'>I don't get anonymous methods...</title><content type='html'>Today I watched a presentation by Adreano Lanusse and David I on Tiburon. Nothing really new was shown from the things we already know. Luckily there were a couple of exceptions showing up as my installation does from time to time :-) And I now know that showing recorded videos using Microsoft Live Meeting is not a very good idea. The upload speed of the host was just not good enough. The rest of the presentation was pretty good to watch.&lt;br /&gt;&lt;br /&gt;During the presentation we could ask questions and mine was: what's up with anonymous methods?&lt;br /&gt;&lt;br /&gt;We've probably all seen the example of anonymous methods shown at &lt;a href="http://blogs.codegear.com/davidi/2008/07/23/38915"&gt;http://blogs.codegear.com/davidi/2008/07/23/38915&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I just don't get why you want to use anonymous methods and I'm afraid Adreano and David were not able to explain it to me.&lt;br /&gt;&lt;br /&gt;Why wouldn't you use a private class method? Or an local procedure? I really tried but I can't think of a situation where you want to use an anonymous method.&lt;br /&gt;&lt;br /&gt;Who can explain this to my satisfaction? Why would I be happy with those???&lt;br /&gt;&lt;br /&gt;Bye,&lt;br /&gt;Bart&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-8301828568374892624?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/8301828568374892624/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=8301828568374892624' title='12 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/8301828568374892624'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/8301828568374892624'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2008/08/i-dont-get-anonymous-methods.html' title='I don&apos;t get anonymous methods...'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><thr:total>12</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-4667596747963021305</id><published>2008-08-01T10:00:00.003+02:00</published><updated>2008-08-01T10:04:25.579+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><title type='text'>What are those prizes in the race - (part of) part 3</title><content type='html'>You might be wondering what's keeping part 3 of the reviews on the prizes in the race. To be honest: I started looking at RemObjects'  &lt;a href="http://www.remobjects.com/product/?id={E5C06C0F-B41C-4468-B0AD-DDB5F164EF73}"&gt;DataAbstract&lt;/a&gt; but business has kept me from looking at the software properly. It's not your daily component pack that your can write a quick review about. It's a proper software framework that needs a good looking at before coming up with an impression. So, please bear with me, the review will come, but it may take me a bit of time.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Bye,&lt;/div&gt;&lt;div&gt;Bart&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-4667596747963021305?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/4667596747963021305/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=4667596747963021305' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/4667596747963021305'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/4667596747963021305'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2008/08/what-are-those-prizes-in-race-part-of.html' title='What are those prizes in the race - (part of) part 3'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-8440744557427197851</id><published>2008-08-01T08:54:00.003+02:00</published><updated>2008-08-01T09:12:09.533+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><title type='text'>Impressions from the webcast by Embarcadero</title><content type='html'>Yesterday I attended (half of) a webcast by Embarcadero presenting their products. Everytime I attend such a webcast I am amazed that it actually works. LiveMeeting (and all their competitors for that matter) really work and help to do a presentation from a distance. &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;But, the presentation itself gave me some strange feelings. I must tell you that I am probably not in the target group of Embarcadero of their ' original'  products. I only have one database to maintain (the one that is used by Sevensteps' software) and that is not a complex one at all. That's also why I only saw half of the presentation: I realized that I probably won't use their products and will look at the Tiburon presentation later today. That's more my cup of tea.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;There's another thing that I noticed in the presentation: the user interfaces that I saw were terrible! I saw an enormous amount of cluttered screens, about a trillion buttons in toolbars, 'old fashioned' icons and very complex dialogs. There was one tabbed dialog that had about 20 pages with numerous controls on each page. There were also wizards that help you do some complex work, but the wizards themselves were very complex and did not have a clear and clean design.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I probably understand were that's coming from. From what I saw the software can do a lot of complex tasks for you and you can pick from a large range of database (formats) to choose from. That probably is the reason why the user interface is so complex: there is a lot to do on a lot of database formats.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;If I were to redesign the user interface I would start with one option screen where you can pick the database formats that your are interested in. Probably there's only one or two formats that you will be working on (in that session). Based on that choice I guess you can lose half of the buttons, options and windows&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Also, in a dialog or wizard, when an page is not available due to previously made decisions: hide the page, don't just make it disabled. It will clean up the windows a lot and will make the software a bit easier to use. There was a wizard with a couple of tabbed pages which only had one active page of the 10 available. That's not a good design. If you only have one page available: lose the tab. There is no point in showing the other, disabled tabs.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;That's just my 2 cents worth for now. I only hope that we get better user interfaces in Tiburon...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Bye,&lt;/div&gt;&lt;div&gt;Bart&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-8440744557427197851?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/8440744557427197851/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=8440744557427197851' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/8440744557427197851'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/8440744557427197851'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2008/08/impressions-from-webcast-by-embarcadero.html' title='Impressions from the webcast by Embarcadero'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-734684068428744860</id><published>2008-07-30T10:35:00.002+02:00</published><updated>2008-07-30T10:41:14.783+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><title type='text'>And the winner is: Werewolf</title><content type='html'>The results are final. &lt;a href="http://www.darwinraceoflanguages.com/html/topic_2D49188D-D790-463C-A0C8-711502E0CA12_607CC420-AA54-4142-9281-4D0C79C6956C_2.htm"&gt;Werewolf&lt;/a&gt;, our superfast, late entry, has just won the &lt;a href="http://www.darwinraceoflanguages.com/"&gt;race&lt;/a&gt; by a couple of votes from &lt;a href="http://www.darwinraceoflanguages.com/html/topic_2D49188D-D790-463C-A0C8-711502E0CA12_EB312833-DF2A-4DD6-99FD-4BBD46DF44A1_5.htm"&gt;Jan Wicher&lt;/a&gt;. Werewolf, Jan and third place &lt;a href="http://www.darwinraceoflanguages.com/html/topic_2D49188D-D790-463C-A0C8-711502E0CA12_89BF74C2-CF37-4AFD-9683-C085F56DFDFA_8.htm"&gt;Tom Glenn&lt;/a&gt; will pick their prizes from the prizes made available by our &lt;a href="http://www.darwinraceoflanguages.com/html/topic_22E00D06-54FA-440D-A8A1-6CD1130C9F8D_25E832BF-BCF6-4474-92E1-2366CA3A7AE4_1.htm"&gt;sponsors&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;First and second prizes were won with Delphi programs. Third place Tom Glenn made a fine contribution using C#.&lt;br /&gt;&lt;br /&gt;Congratulations to them and thanks a lot to the contenders that didn't win a prize. To me, it was a lot of fun to be involved in this, albeit not as a contender. Who know, this might become an anual event. I will keep the website alive for the next year or so.&lt;br /&gt;&lt;br /&gt;Bye for now,&lt;br /&gt;Bart&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-734684068428744860?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/734684068428744860/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=734684068428744860' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/734684068428744860'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/734684068428744860'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2008/07/and-winner-is-werewolf.html' title='And the winner is: Werewolf'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-1809652803658501948</id><published>2008-07-28T08:04:00.002+02:00</published><updated>2008-07-28T08:05:56.620+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><title type='text'>Two days of voting left...</title><content type='html'>It is becoming a very tight &lt;a href="http://www.darwinraceoflanguages.com/"&gt;race&lt;/a&gt;. There are three contenders for first place and the are only seperated by a couple of cotes. If you want to be the deciding vote, go to the site now and pick your winner.&lt;br /&gt;&lt;br /&gt;Bye,&lt;br /&gt;Bart&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-1809652803658501948?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/1809652803658501948/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=1809652803658501948' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/1809652803658501948'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/1809652803658501948'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2008/07/two-days-of-voting-left.html' title='Two days of voting left...'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-9211291677956311358</id><published>2008-07-25T09:36:00.003+02:00</published><updated>2008-07-25T09:42:27.223+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><title type='text'>Races within the race</title><content type='html'>Now the voting has started for the winner of the &lt;a href="http://www.darwinraceoflanguages.com/"&gt;Darwin Race of Languages&lt;/a&gt; the favorites are seperating from the pack. Two contenders are battling it out for the first two places and two others are fighting for third place. As you may know, there are three prizes to win, so there will be a couple of disappointments I'm afraid.&lt;br /&gt;&lt;br /&gt;You can still have your say about the entries and make a difference for the contenders, so go the the &lt;a href="http://www.darwinraceoflanguages.com/"&gt;website&lt;/a&gt;, try the &lt;a href="http://www.darwinraceoflanguages.com/html/topic_2D49188D-D790-463C-A0C8-711502E0CA12_F924C511-6D53-4E89-BD75-FCCC9B64DB03_1.htm"&gt;published programs&lt;/a&gt; and vote the winner. The published programs are all well worth looking at and you might even find them usefull. I know I have one of them as a startup utility installed already - I will tell you which when the race is over :-)&lt;br /&gt;&lt;br /&gt;Bye,&lt;br /&gt;Bart&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-9211291677956311358?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/9211291677956311358/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=9211291677956311358' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/9211291677956311358'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/9211291677956311358'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2008/07/races-within-race.html' title='Races within the race'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-4155416066497552849</id><published>2008-07-23T11:48:00.002+02:00</published><updated>2008-07-23T11:52:03.330+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><title type='text'>You can now vote for the winner of the race...</title><content type='html'>The results are in and you can now vote the winner in the &lt;a href="http://www.darwinraceoflanguages.com/"&gt;Darwin Race of Languages&lt;/a&gt; competition. Seven of the participants entered a solution to one of the three problems and I think they are all worth examining. There are some very usefull utilities to be found there.&lt;br /&gt;&lt;br /&gt;Go to the website and check out what the participants did and how they did it. On 30 July the winners to the competition will be announced and &lt;a href="http://www.darwinraceoflanguages.com/html/topic_22E00D06-54FA-440D-A8A1-6CD1130C9F8D_25E832BF-BCF6-4474-92E1-2366CA3A7AE4_1.htm"&gt;prizes &lt;/a&gt;will be handed over.&lt;br /&gt;&lt;br /&gt;Bye,&lt;br /&gt;Bart&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-4155416066497552849?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/4155416066497552849/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=4155416066497552849' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/4155416066497552849'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/4155416066497552849'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2008/07/you-can-now-vote-for-winner-of-race.html' title='You can now vote for the winner of the race...'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-6129758521622902128</id><published>2008-07-21T12:23:00.002+02:00</published><updated>2008-07-21T12:26:18.004+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><title type='text'>Hans Starborg submits his entry</title><content type='html'>As time is running out for the &lt;a href="http://www.darwinraceoflanguages.com/"&gt;race&lt;/a&gt; - there is only one day of programming left - Hans Starborg has &lt;a href="http://www.darwinraceoflanguages.com/html/topic_9167210B-54F0-4000-A0A9-4B0B6D71EADC_2DC3A939-E888-42E7-AE38-C9F7AE12FC19_2.htm"&gt;published&lt;/a&gt; his results. All the results must be in by the end of tomorrow. From Wednesday on the audience can vote for the winners in the race. If you like you can already check some of the entries out.&lt;br /&gt;&lt;br /&gt;Bye,&lt;br /&gt;Bart&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-6129758521622902128?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/6129758521622902128/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=6129758521622902128' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/6129758521622902128'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/6129758521622902128'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2008/07/hans-starborg-submits-his-entry.html' title='Hans Starborg submits his entry'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-7362344182337300722</id><published>2008-07-16T12:04:00.003+02:00</published><updated>2008-07-18T13:01:56.660+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><title type='text'>Late entry Werewolf publishes his solution too...</title><content type='html'>Well, the guys are not holding back. Werewolf, although a late entry only entering a couple of days ago, already submitted his solution for a &lt;a href="http://www.darwinraceoflanguages.com/html/topic_04F5E6F9-8B13-45D3-9553-C38DB6E21A21_7A54ED6A-8077-45B7-BD5A-509DA9E6B9B6_4.htm"&gt;GUI to a command line utility&lt;/a&gt;. He also added his documentation on the project.&lt;br /&gt;&lt;br /&gt;Go &lt;a href="http://www.darwinraceoflanguages.com/html/topic_9167210B-54F0-4000-A0A9-4B0B6D71EADC_607CC420-AA54-4142-9281-4D0C79C6956C_3.htm"&gt;check his work&lt;/a&gt; out.&lt;br /&gt;&lt;br /&gt;Bye,&lt;br /&gt;Bart&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-7362344182337300722?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/7362344182337300722/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=7362344182337300722' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/7362344182337300722'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/7362344182337300722'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2008/07/late-entry-werewolf-publishes-his.html' title='Late entry Werewolf publishes his solution too...'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-1590947654903266240</id><published>2008-07-16T09:48:00.003+02:00</published><updated>2008-07-16T09:51:22.240+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><title type='text'>The first multi clipboard utility is in...</title><content type='html'>Yogi Yang was the first to come up with a result in the &lt;a href="http://www.darwinraceoflanguages.com/"&gt;Darwin Race of Languages&lt;/a&gt;. He used Visual Basic to implement a multi clipboard utility that you can go and check out from the darwin site. IMHO I think this is a very usefull implementation. Go and check it out. In a weeks time the results of the others are in and you get the chance of voting for the winner in the race.&lt;br /&gt;&lt;br /&gt;Yogi is till thinking about making the sources available, but for now you can go and have a look at the end result.&lt;br /&gt;&lt;br /&gt;Bye,&lt;br /&gt;Bart&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-1590947654903266240?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/1590947654903266240/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=1590947654903266240' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/1590947654903266240'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/1590947654903266240'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2008/07/first-multi-clipboard-utility-is-in.html' title='The first multi clipboard utility is in...'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-2241352734576566606</id><published>2008-07-12T10:53:00.003+02:00</published><updated>2008-07-12T12:33:13.897+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><title type='text'>What are those prizes in the race? - Part 2</title><content type='html'>Next up in the list of pizes for the &lt;a href="http://www.darwinraceoflanguages.com/"&gt;race &lt;/a&gt;to be evaluated is SmartInspect. I must be honest here: I'm a CodeSite user and quite satisfied. My evaluation will inevatably be influenced by my CodeSite experiences and there will be a couple of comparisions. This is my second easiest evaluation because I already know the concepts from CodeSite.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Installing&lt;/strong&gt;&lt;br /&gt;Installing was like it should be: no hassle and flawless. SmartInspect can be used in Delphi, Visual Studio and Java. I've only looked at the Delphi implementation: I guess VS and Java implementations will be compareble.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Using SmartInspect&lt;/strong&gt;&lt;br /&gt;Basically SmartInspect is an advanced logging tool. You start a session, send out information and that is caught by either a server, a file or in memory. When logging to a server (which is built in into the viewer) the logging information is displayed live while running your program. When logging to a file, you can later view the file with a viewer.&lt;br /&gt;&lt;br /&gt;You can of course log a simple string, but more usefull things can be done. You can log objects, the properties of which are available in the viewer. You can log images, stacks traces, system memory information, a screendump of the current window or the desktop window. There's a lot too choose from.&lt;br /&gt;&lt;br /&gt;For more advanced debugging tracing methods/functions can be quite helpfull. Now, it basically is a minor thing, but I found the TrackMethod statements vary valuable. The working is comparable to the EnterMethod/LeaveMethod combination. But, EnterMethod/LeaveMethod must be used in pairs. And that means you best add a try/finally construction to your code to make sure the LeaveMethod is executed alwas.&lt;br /&gt;&lt;br /&gt;TrackMethod however works with an interface and relies on the reference counting of the interface. This means you only need to add one call at the beginning of amethod/function to track it. There's no need for the try/finally construction. To me, that is a good thing because it won't clutter the readabilty of your code as much. Nice.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;The console&lt;/strong&gt;&lt;br /&gt;Until now CodeSite and SmartInspect are about equal. The only real difference I found was the TrackMethods in SmartInspect, but CodeSite has functionallity to log to the windows event logs. So, the scores are equal at half time. But the real difference is in the console. While the CodeSite viewer isn't bad at all and gives you good possibilities to view and filter log messages, I think SmartInspect wins on points in that department. You have various viewers (a watch pane, some detail panes) for information from you log file. There's plenty to filter and various ways of finding specific information in your log file.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;br /&gt;SmartInspect is just a very good product. From experience I can tell you that having these kinds of logging capabilities out of the box helps you to debug your software immensely. I couldn't program without them anymore. CodeSite and SmartInspect are comparable products with (about) equal prices. Download the trial versions to see what's your favourite.&lt;br /&gt;&lt;br /&gt;Bye,&lt;br /&gt;Bart&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-2241352734576566606?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/2241352734576566606/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=2241352734576566606' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/2241352734576566606'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/2241352734576566606'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2008/07/what-are-those-prizes-in-race-part-2.html' title='What are those prizes in the race? - Part 2'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-2816607049652875076</id><published>2008-07-10T09:28:00.003+02:00</published><updated>2008-07-10T10:48:42.292+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><category scheme='http://www.blogger.com/atom/ns#' term='DevExpress'/><title type='text'>What are those prizes in the race? - Part 1</title><content type='html'>While the &lt;a href="http://www.darwinraceoflanguages.com/"&gt;race&lt;/a&gt; is one I will write a little report about the prizes that the contenders are programming for. First up will be the DevExpress components. This one is easiest for me, as I am a current user of the VCL subscription package.&lt;br /&gt;&lt;br /&gt;I've written about various parts of the DevExpress components &lt;a href="http://blogs.sevensteps.com/search/label/DevExpress"&gt;before&lt;/a&gt;. If you've read those postings it's not a great surprise to you that I am a big fan of the DevExpress components. This posting is basically a song of praise. I've written before that the standard that DevExpress works on, is what we strive for in our company. That sums it up really...&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;DevExpress website&lt;/strong&gt;&lt;br /&gt;While technically not a part of any of their packages, the first thing that you experience is the DevExpress website. I thought I'd mentioned this because it can make a huge difference in the first opinion that you have about a company and their products. The DevExpress site is beautifully layed out (although a bit bombastic for my taste) and you can find any information that you like very quickly. Their support sections is up there with the best to be found on the web. All of this gives you great confidence about the products you are about to buy.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;VCL subscription&lt;/strong&gt;&lt;br /&gt;Now, here's a tip that will actually save you money. Go for the VCL subscription package immediately instead of buying that one companent pack that you think you are looking for. I started with the navigation controls first, purchased the grid controls later and ended up buying the VCL subscription. Although you get some discounts of you ask for them, in the end you will pay more money. If you go for the VCL subscription in the first place, you get the lot immediately. And you will get all the beta releases of new components first, so you can immediately dig into those.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Overall quality&lt;/em&gt;&lt;br /&gt;The overall quality of the controls is really excellent, with good online help and examples. All the components have plenty of properties to tweak them to your liking. Special attention is given to the look and feel of the controls. There's about nothing that you can't reconfigure with regards to the way the controls appear in your program.&lt;br /&gt;&lt;br /&gt;However, a couple of things can be said. There are some components that haven't been updated in a while. I found myself using the navigation controls, the grid controls, the editors of course and the cxLayout components a lot. The other controls I don't use that much.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Look and feel&lt;/em&gt;&lt;br /&gt;Recently DevExpress released the ExpressSkins libray which is used to apply skinning to your controls. That means you can give your application a very unique look and feel. There's a skinning editor to create your own skins and of course there are plenty of ready made skins to choose from. It took me about a day to add a user configurable skinning option to our software so each end user can select the look and feel of their choice. Great stuff.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Grid controls&lt;/em&gt;&lt;br /&gt;I think DevExpress is best know for their incredibly good grid controls. DevExpress grids are very versatile, very fast, user friendly and offer unrivaled filtering and sorting capabilities. The only 'negative' thing that somebody told me once is that you can configure &lt;em&gt;too&lt;/em&gt; much. True, it takes a bit of time to learn all the properties of the grids, but once you've got the concept behind the properties, it's not that difficult to find your way. And of course, a lot of properties also means that the control probably can do what you want.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Layoutcontrols&lt;/em&gt;&lt;br /&gt;On different occasions I wrote about one of the frustrations of the last year or so. I started looking at the layoutcontrols once we got the VCL subscriptions. Before, I had read about the layoutcontrols, but to be honest, I didn't believe what DevExpress put up on their website. How could a set of controls relieve me from all the positioning that I was used to do on my dialogs? Not in a milion years a set of controls could do a better job than I did.&lt;br /&gt;That was one of the biggest mistakes I made the last couple of years. I should have had a look before. If I had done, I would have started to use the Layoutcontrols ages ago. They are &lt;strong&gt;&lt;em&gt;&lt;u&gt;SO&lt;/u&gt;&lt;/em&gt;&lt;/strong&gt; good that I still am amazed every time I use them. Positioning controls on a dialog has been removed from my tasks completely. The DevExpress layout controls take over all the hassle of making sure my dialogs look good.&lt;br /&gt;The Layoutcontrols don't get much exposure but I honestly think those are the best controls that I ever worked with. You're a fool if you still are positioning your controls yourself. Go on, have a look at those and your life as a user interface programmer will change completely.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Schedular controls&lt;/em&gt;&lt;br /&gt;Now, I haven't actually used the schedular controls yet from in demos and experiments. But, everytime I use them I am amazed at what I find. You can literally with adding one component implement a calendar feature to your application. There's not much more to it that adding the control and filling it with data. Of course to use the information in your software you would need to program a bit more, but the actual calendar and storing the calendar data is all taken care of. An excellent component that - if you have any use for it - will be much appreciated by your end users.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Navigation controls&lt;/em&gt;&lt;br /&gt;The navigation controls (menu bars, navigation panes, ribbon controls) is what started me as a DevExpress user. Needless to say that using them is dream. Using the navigation controls means it's a no hassle, painless way of implementing a professional navigation interface to your software. One excellent thing is: there is a cxImageList control that supports PNG images. If you use PNG images (like &lt;a href="http://www.famfamfam.com/lab/icons/silk/"&gt;http://www.famfamfam.com/lab/icons/silk/&lt;/a&gt;) you get excellent results. Much better than that old Win95 icons that you might be looking at in your software right now.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;No trial version&lt;/strong&gt;&lt;br /&gt;I've seen comments on the web complaining that DevExpress doesn't offer trial versions of their software. That is true for the VCL components, although there are demos and there is a 'money back guarantee'. The .Net controls do come with a trial version though. To me, a money back guarantee is good enough but I think it would be better for DevExpress to see if they can implement a trial systems for their controls. Especially if you have large development teams, purchasing the controls means serious money and I think one is 'entitled' to be able to test the controls in real life. But that of course is a business decision DevExpress needs to make.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Summary&lt;/strong&gt;&lt;br /&gt;I'm not a dxExperience user, although I am using the ASPx packages. To summarize the C#/.NET packages: IMHO they are at least of equal quality to the VCL components, if not better. I think that the comments I have on the VCL package should be applicable to the dx components too. I've use the dx-components in their trial version and I really like what I saw. Very familiar way of working compared to the VCL controls.&lt;br /&gt;&lt;br /&gt;All and all I couldn't give more praise to a company than what I did here. I truly believe (and not because they sponsor the race) that DevExpress has a great philosophy, offers unrivaled value for money and actually will save you a lot, a lot of time as a programmer. Their support is great and the VCL components still get their updates and new features. I only whish they had even more programmers working on the VCL components (it's quite obvious that their money is in the C#/.Net controls).&lt;br /&gt;&lt;br /&gt;Bye,&lt;br /&gt;Bart&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-2816607049652875076?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/2816607049652875076/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=2816607049652875076' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/2816607049652875076'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/2816607049652875076'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2008/07/what-are-those-prizes-in-race-part-1.html' title='What are those prizes in the race? - Part 1'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-1959437703201934021</id><published>2008-07-10T07:53:00.002+02:00</published><updated>2008-07-10T07:55:39.412+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><title type='text'>Race on in its way: first reports are in...</title><content type='html'>The &lt;a href="http://www.darwinraceoflanguages.com/"&gt;Race &lt;/a&gt;has started and the first progress reports are coming in. Go and read the website on a regular basis to see how the contenders are doing. Some don't publish their reports on the website, but on their own blog, like here: &lt;a href="http://beauhinks.com/category/programming/darwin-race/"&gt;http://beauhinks.com/category/programming/darwin-race/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Bye,&lt;br /&gt;Bart&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-1959437703201934021?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/1959437703201934021/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=1959437703201934021' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/1959437703201934021'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/1959437703201934021'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2008/07/race-on-in-its-way-first-reports-are-in.html' title='Race on in its way: first reports are in...'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-6007759674492406333</id><published>2008-07-08T19:46:00.004+02:00</published><updated>2008-07-08T19:55:35.966+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><title type='text'>DevExpress donates a great prize for the contest</title><content type='html'>&lt;a href="http://www.devexpress.com/"&gt;DevExpress&lt;/a&gt; will give away a license to &lt;a href="http://www.devexpress.com/Products/NET/DXperience/editionEnt.xml"&gt;DXperience Enterprise&lt;/a&gt; or the &lt;a href="http://www.devexpress.com/Products/VCL/Subscription/"&gt;VCL Subscription&lt;/a&gt;, the winner gets to pick either one. I think this is a great gesture and will be welcomed by the contenders. If ever you needed an incentive to make yours a last minute entry, now is the time.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;For more information point to &lt;a href="http://www.darwinraceoflanguages.com/"&gt;http://www.darwinraceoflanguages.com/&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Bye,&lt;br /&gt;&lt;br /&gt;Bart&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-6007759674492406333?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/6007759674492406333/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=6007759674492406333' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/6007759674492406333'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/6007759674492406333'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2008/07/devexpress-donates-great-prize-for.html' title='DevExpress donates a great prize for the contest'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-8522333957476942474</id><published>2008-07-08T11:16:00.002+02:00</published><updated>2008-07-08T11:22:58.163+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><title type='text'>The race has started: 8 contenders rumble for the prizes</title><content type='html'>The &lt;a href="http://www.darwinraceoflanguages.com/"&gt;race&lt;/a&gt; has started. 8 &lt;a href="http://www.darwinraceoflanguages.com/html/topic_202A1F8C-6915-4211-B5CE-886DCD8592D6_1269764A-614D-42AE-9990-4EB1244814CA_1.htm"&gt;Contenders&lt;/a&gt; will program their tool of choice to win the &lt;a href="http://www.darwinraceoflanguages.com/html/topic_22E00D06-54FA-440D-A8A1-6CD1130C9F8D_25E832BF-BCF6-4474-92E1-2366CA3A7AE4_1.htm"&gt;prizes&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;They will work on the problem that they picked and will keep a record of things that come up, documenting their experiences while programming. After two weeks (the duration of the race) their software and experiences will be published on the website for all of you to judge.&lt;br /&gt;&lt;br /&gt;If you want to enter the race, you still can. You won't get more time, but if you think you are up for the challenge, please drop me a note.&lt;br /&gt;&lt;br /&gt;Best of luck to all of them and I will post their notes when I get them during the race. So go check the &lt;a href="http://www.darwinraceoflanguages.com/"&gt;website&lt;/a&gt; every now and then to read about their progress.&lt;br /&gt;&lt;br /&gt;Bye,&lt;br /&gt;Bart&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-8522333957476942474?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/8522333957476942474/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=8522333957476942474' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/8522333957476942474'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/8522333957476942474'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2008/07/race-has-started-8-contenders-rumble.html' title='The race has started: 8 contenders rumble for the prizes'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-1404178868435268896</id><published>2008-07-07T13:52:00.003+02:00</published><updated>2008-07-07T13:55:45.666+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><title type='text'>6 contenders in the contest...</title><content type='html'>But, it is still the 7th of July, so you can still enter the race. The prices are good enough and you will help your fellow programmers in supplying valuable information about your tool of choice.&lt;br /&gt;&lt;br /&gt;Tomorrow the race starts and the contenders start programming. After tomorrow you can still enter the race, but you will lose valuable time (the race ends at 22 July, no matter what).&lt;br /&gt;&lt;br /&gt;So, go to &lt;a href="http://www.darwinraceoflanguages.com"&gt;http://www.darwinraceoflanguages.com&lt;/a&gt; and pick up the challenge.&lt;br /&gt;&lt;br /&gt;Bye,&lt;br /&gt;Bart&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-1404178868435268896?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/1404178868435268896/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=1404178868435268896' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/1404178868435268896'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/1404178868435268896'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2008/07/6-contenders-in-contest.html' title='6 contenders in the contest...'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-4030756259828457011</id><published>2008-07-05T08:14:00.005+02:00</published><updated>2008-07-05T08:35:57.002+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><title type='text'>Branden Tanga enters the race!</title><content type='html'>&lt;a href="http://www.beigehat.com/2008/06/my-annoyances-with-codegear-rad.html"&gt;Branden Tanga&lt;/a&gt;, the guy that gave me the idea for this race, just entered the race AND he will enter a Delphi program watching CPU load and temperatures.&lt;br /&gt;&lt;br /&gt;Now, that's bravery for you. In my book he gets extra points just for entering.&lt;br /&gt;&lt;br /&gt;So, come on everybody out there. We all (including me) were a &lt;a href="http://blog.marcocantu.com/blog/user_finds_delphi_annoyances.html"&gt;bit harsh on him &lt;/a&gt;and told him that he should use the tool first, was completely false in some departments and do some real work before criticizing our favorite tool.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;&lt;strong&gt;&lt;u&gt;He&lt;/u&gt;&lt;/strong&gt;&lt;/em&gt; picked up the challenge! How about you??????&lt;br /&gt;&lt;br /&gt;Go to &lt;a href="http://www.darwinraceoflanguages.com/"&gt;http://www.darwinraceoflanguages.com/&lt;/a&gt; and read all about it. To enter, just drop me an email at &lt;a href="mailto:bart.roozendaal@sevensteps.nl?subject=Darwin%20race%20of%20languages"&gt;bart.roozendaal@sevensteps.nl&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Bye,&lt;br /&gt;Bart&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-4030756259828457011?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/4030756259828457011/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=4030756259828457011' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/4030756259828457011'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/4030756259828457011'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2008/07/branden-tanga-enters-race.html' title='Branden Tanga enters the race!'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-5669678466975968944</id><published>2008-07-03T16:51:00.003+02:00</published><updated>2008-07-03T16:53:47.618+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><title type='text'>Three languages are now represented...</title><content type='html'>But, we need more than one programmer per language :- . So, are there any more programmers that want to join the race? You still have 5 days to register at &lt;a href="http://www.darwinraceoflanguages.com/"&gt;http://www.darwinraceoflanguages.com/&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Bye,&lt;br /&gt;Bart&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-5669678466975968944?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/5669678466975968944/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=5669678466975968944' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/5669678466975968944'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/5669678466975968944'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2008/07/three-languages-are-now-represented.html' title='Three languages are now represented...'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-6666408372490715233</id><published>2008-07-02T09:19:00.003+02:00</published><updated>2008-07-02T09:23:06.231+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><title type='text'>The first participants in the race</title><content type='html'>The first two participants in the race (&lt;a href="http://www.darwinraceoflanguages.com/"&gt;DarwinRaceOfLanguages.com&lt;/a&gt;) have entered: one Delphi guy and one Mac guy. We need (a lot) more to make it a true race. So, go on, go to the website and see how to enter this race.&lt;br /&gt;&lt;br /&gt;There's also a suggestion by one of the participants that applications suitable for portableapps.com can get extra points. I think that's a very good suggestion.&lt;br /&gt;&lt;br /&gt;If you think I should twist this or that rule, or maybe add another problem to the list to pick from, don't hesitate to let me know. The rules are still open for debate until 8 July when the race starts.&lt;br /&gt;&lt;br /&gt;Bye,&lt;br /&gt;Bart&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-6666408372490715233?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/6666408372490715233/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=6666408372490715233' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/6666408372490715233'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/6666408372490715233'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2008/07/first-participants-in-race.html' title='The first participants in the race'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-1869702948995874351</id><published>2008-07-01T01:34:00.002+02:00</published><updated>2008-07-01T01:37:45.706+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><title type='text'>The Darwin Race of Languages is on...</title><content type='html'>The race is on. A couple of hours later than I promised (sorry, I've got work to do also :-)) I put up the website and you can now officially enter the race.&lt;br /&gt;&lt;br /&gt;Please point to &lt;a href="http://www.darwinraceoflanguages.com/"&gt;http://www.darwinraceoflanguages.com&lt;/a&gt; for more information on what to do. If nobody enters the race, I get to keep the prizes! There were over 50 people that said they would enter the race: let's see how many of you will!&lt;br /&gt;&lt;br /&gt;Please comment to this posting if you have any remarks about the problems to pick from, the rules, the schedule or otherwise. It's an open competition, but after 8 July the rules cannot change.&lt;br /&gt;&lt;br /&gt;Good luck everybody!&lt;br /&gt;&lt;br /&gt;Bye,&lt;br /&gt;Bart&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-1869702948995874351?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/1869702948995874351/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=1869702948995874351' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/1869702948995874351'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/1869702948995874351'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2008/07/darwin-race-of-languages-is-on.html' title='The Darwin Race of Languages is on...'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-3488097887469994963</id><published>2008-06-29T09:35:00.003+02:00</published><updated>2008-06-29T09:40:01.610+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><title type='text'>The Darwin Race of Languages - Part 4</title><content type='html'>Another sponsor has volunteered to give away a prize. &lt;a href="http://www.rembojects.com/"&gt;RemObjects &lt;/a&gt;will give away a copy for &lt;a href="http://www.remobjects.com/product/?id={E5C06C0F-B41C-4468-B0AD-DDB5F164EF73}"&gt;Data Abstract&lt;/a&gt;. The winner gets to pick which version, .NET or Delphi.&lt;br /&gt;&lt;br /&gt;Tomorrow will be the launch of the website with the rules of engagement, so keep your eyes on &lt;a href="http://www.darwinraceoflanguages.com/"&gt;http://www.darwinraceoflanguages.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Bye,&lt;br /&gt;Bart&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-3488097887469994963?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/3488097887469994963/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=3488097887469994963' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/3488097887469994963'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/3488097887469994963'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2008/06/darwin-race-of-languages-part-4.html' title='The Darwin Race of Languages - Part 4'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-370332316619154824</id><published>2008-06-27T16:19:00.003+02:00</published><updated>2008-06-27T16:26:32.218+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><title type='text'>The Darwin Race of Languages - part 3</title><content type='html'>The first sponsor has offered to come up with a price. GurockSoftware will kindly offer a license to &lt;a href="http://www.gurock.com/products/smartinspect/"&gt;SmartInspect&lt;/a&gt; as a prize for the race. I'm in contact with a couple of other companies out there. If you are a company that has products suitable for Delphi as well as/or for Visual Studio or any of the other IDEs out there, this might be a good time to have some cheap publicity.&lt;br /&gt;&lt;br /&gt;To reassure any of the companies that are thinking of sponsoring: this is not a bashing contest. It's about getting and sharing real life experiences writing software. Taking away the basing of a product just because you &lt;em&gt;&lt;u&gt;think&lt;/u&gt;&lt;/em&gt; it's bad, is just exactly what started this little contest. Any bashing through comments or otherwise won't get published on the website.&lt;br /&gt;&lt;br /&gt;So, if you are still thinking about it, maybe this little notice will help :-)&lt;br /&gt;&lt;br /&gt;Bye,&lt;br /&gt;Bart&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-370332316619154824?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/370332316619154824/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=370332316619154824' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/370332316619154824'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/370332316619154824'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2008/06/darwin-race-of-languages-part-3.html' title='The Darwin Race of Languages - part 3'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-8686227633190224653</id><published>2008-06-27T00:09:00.006+02:00</published><updated>2008-06-27T07:20:29.761+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><title type='text'>The Darwin Race of Languages - Part 2</title><content type='html'>So, the race is on :-) If within 24 hours more than 20 people think they will enter the race, there's no holding back.&lt;br /&gt;&lt;br /&gt;There will be a little web site next week on &lt;a href="http://www.darwinraceoflanguages.com/"&gt;http://www.darwinraceoflanguages.com/&lt;/a&gt;. I will need a bit of time to work things out and put them up there, but it's already work in progress.&lt;br /&gt;&lt;br /&gt;There are a couple of things that you can help me with:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;Find C#, C++, Java or other programmers to enter the race. A race is not a race without different horses, is it? Spread the word amongst news groups, friends, colleagues, et cetera.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Help me pick a tool or program to build. I'm currently thinking of offering three subjects to pick from. I have the following suggestions:&lt;/li&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;A GUI for a Firebird compression tool&lt;/li&gt;&lt;br /&gt;&lt;li&gt;A tool to convert code on the clipboard to html for using it in a blog posting&lt;/li&gt;&lt;br /&gt;&lt;li&gt;(we need more!)&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;li&gt;Bug your boss to supply us with prices to give away. If you're the boss: handover those goodies :-). A small gesture is fine: it's all about honor anyway.&lt;/li&gt;&lt;li&gt;Go to &lt;a href="http://www.dzone.com/links/the_darwin_race_of_languages.html"&gt;http://www.dzone.com/links/the_darwin_race_of_languages.html&lt;/a&gt; and promote that up the ladder so more people in the developers community get a notice of this. &lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;The plan so far&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;1 July&lt;/strong&gt;: launch of the web site for the race. There will be some explanation on the race, what the purpose is, how to enter, et cetera. It will be a democratic race: there will be a voting system to pick a winner.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;8 July&lt;/strong&gt;: entry closes. The race begins. There will a short 2 week sprint in which you can spend as much time as you want to and can afford to. You don't necessarily need to enter a full working program; it's more about how the language and the tool helped or hindered you in your work - you will need to write something about that.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;22 July&lt;/strong&gt;: the race closes and the results will be published. Extra points will be awarded to people that documented their experiences during work. The voting begins.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;29 July&lt;/strong&gt;: the voting completes and the winner gets the price (whatever it will be...)&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Plans of course can be changed, and the format of the race is much open for debate. So, please send in your remarks.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Bye,&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Bart&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-8686227633190224653?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/8686227633190224653/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=8686227633190224653' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/8686227633190224653'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/8686227633190224653'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2008/06/darwin-race-of-languages-part-2.html' title='The Darwin Race of Languages - Part 2'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-1153678953646918201</id><published>2008-06-26T08:40:00.008+02:00</published><updated>2008-06-27T01:03:07.862+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><title type='text'>The darwin race of languages</title><content type='html'>&lt;em&gt;Update: &lt;a href="http://sevensteps.blogspot.com/2008/06/darwin-race-of-languages-part-2.html"&gt;the race is on&lt;/a&gt;&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;It's funny how fanatical people (including me) can get when we are talking about the IDEs that we favor. If &lt;a href="http://www.beigehat.com/2008/06/my-annoyances-with-codegear-rad.html"&gt;someone &lt;/a&gt;comes up with some (partly false) statements about out beloved (...) Delphi, we all (including me) jump up and start making a case for our pet. I don't think the guy was expecting that many comments after his posting. I can almost see him scratching his head :-)&lt;br /&gt;&lt;br /&gt;Now, I think that's a very good thing. &lt;a href="http://sevensteps.blogspot.com/2008/06/are-delphi-programmersa-dying-breed.html"&gt;My post&lt;/a&gt; about dying Delphi programmers was intended to stir up some things and in the end I might have found a (couple of) new programmer(s). Besides all the public comments I have had hundreds of reactions in my email box. So, I can concluded, the Delphi programmers are still fighting to come out of top of the Darwin race of languages.&lt;br /&gt;&lt;br /&gt;Now, I was thinking. There already must be a developer contest out there to compare Delphi to other languages. I couldn't find one though (but that might be because it's still early days yet :-))&lt;br /&gt;&lt;br /&gt;How about setting one up? Let's find a small program (if in the end it is also usefull, all the better) and let's see what the results are when developing it with, let's say, Delphi and C#.&lt;br /&gt;&lt;br /&gt;Now, before all the comments come in :-) I know that we would probably only compare the capabilities of the programmer, not the language. And, choosing C# would probably mean choosing .Net. If we would use Delphi for Win32 that means a comlpetely different platform. But, nevertheless, I think it would be fun to see what would happen.&lt;br /&gt;&lt;br /&gt;So, please send in your suggestions for a small, but usefull program that could be the subject for this. It could be something like my all time favorite &lt;a href="http://www.zhornsoftware.co.uk/stickies/"&gt;Stickies&lt;/a&gt;, but anything goes really.&lt;br /&gt;&lt;br /&gt;If you think this is a fun thing to do, I will try to arrange for this and maybe even find some sponsors for prices to award.&lt;br /&gt;&lt;br /&gt;Bye,&lt;br /&gt;Bart&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-1153678953646918201?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/1153678953646918201/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=1153678953646918201' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/1153678953646918201'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/1153678953646918201'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2008/06/darwin-race-of-languages.html' title='The darwin race of languages'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-7811373980674379414</id><published>2008-06-25T15:01:00.003+02:00</published><updated>2008-06-25T20:18:13.353+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><title type='text'>Delphi's Play Of The Day</title><content type='html'>&lt;p&gt;Nothing to do with Delphi, but this is my Play Of The Day&lt;/p&gt;&lt;br /&gt;&lt;object height="344" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/XwJWRZDpuZg&amp;amp;hl=nl"&gt;&lt;embed src="http://www.youtube.com/v/XwJWRZDpuZg&amp;amp;hl=nl" type="application/x-shockwave-flash" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;p&gt;Come on guys, don't say you saw this one coming!&lt;/p&gt;&lt;p&gt;Correction: &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;I &lt;/span&gt;didn't see it coming. As &lt;a href="http://www.shootonline.com/go/news-view.ev-web2-248024-1213907756-2.Top-Spot-of-the-Week--Director-Baker-Smith-Snags-A-Foul-Ball-For-Gatorade-And-Element-79-Partners.html"&gt;commented&lt;/a&gt;, this is a staged (I won't call it a fake) video. But, IMHO, that makes it twice as funny :-)&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-7811373980674379414?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/7811373980674379414/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=7811373980674379414' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/7811373980674379414'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/7811373980674379414'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2008/06/delphis-play-of-day.html' title='Delphi&apos;s Play Of The Day'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-2711978350713715622</id><published>2008-06-25T12:01:00.008+02:00</published><updated>2008-06-25T12:20:22.433+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><title type='text'>Creating an always on top web browser window</title><content type='html'>For one of the publications in the &lt;a href="http://www.learningguidesolutions.com/"&gt;LearningGuide Manager&lt;/a&gt; we needed an 'always on top'-browser window with some information in it. The Learning Guides provide support information to end users. This information needs to stay on top while working on other software.&lt;br /&gt;&lt;br /&gt;A normal browser window isn't suitable because you cannot make that always on top. In the past all kinds of hacks and workarounds were available, but tabbed browsing, increased security and the like make it impossible to do something from within the broser (I think ... if you think otherwise, please let me know).&lt;br /&gt;&lt;br /&gt;The publications are HTML based and must run on every browser possible. In the past we used OCX-es to implement such features but with the increase in diversity of browsers another solution was needed, since there are only a few (...) browser that support OCX-es.&lt;br /&gt;&lt;br /&gt;Here's what we did (I think it's kind of neat). We created a small application that is deployed on the client systems. This application does a lot of things, but also has a TIdHTTPServer which listens at the localhost of the client. It listens for special urls which can do special things.&lt;br /&gt;&lt;br /&gt;One the commands is to open an always on top window which has a TWebBrowser component in it and will serve a passed url. E.g. an url like &lt;a href="http://localhost/cgi-bin/show?http://www.google.com"&gt;http://localhost/cgi-bin/show?http://www.google.com&lt;/a&gt; will popup an always on top window with the google website in it. There's a whole range of commands that can do special things - one's only limited to the imagination of the day.&lt;br /&gt;&lt;br /&gt;Of course there are some measures to prevent abuse of this method (which I won't disclose here...) and in the end we have a platform and browser indepent solution to do all kinds of special things next to simply serve HTML files to the end user.&lt;br /&gt;&lt;br /&gt;Bye,&lt;br /&gt;Bart&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-2711978350713715622?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/2711978350713715622/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=2711978350713715622' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/2711978350713715622'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/2711978350713715622'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2008/06/creating-always-on-top-web-browser.html' title='Creating an always on top web browser window'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-6118191889133074526</id><published>2008-06-21T10:13:00.004+02:00</published><updated>2008-06-24T09:03:11.599+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><title type='text'>Are Delphi programmers a dying breed?</title><content type='html'>For some time now we are looking for new Delphi programmers in our company and were unsuccessful in finding any Dutch programmers. We hardly had any response to advertisements and posting on job sites.&lt;br /&gt;&lt;br /&gt;Of course, when you start doing that, you are approached by outsourcing companies. One of those contacted me 'at the right time' and we did a small trial project (not in Delphi though) to see what is involved when outsourcing software. The results were mixed (speed was low and quality was ... well poor). The price is right though, so that makes one hesitate. But, I found with this particular company - as well as with other outsourcing companies that approachedme - that they all could offer Delphi programmers, but "would start looking for one once the project goes through". None of the companies that approached me had any inhouse Delphi programmers.&lt;br /&gt;&lt;br /&gt;So, adding that up, no local Delphi programmers are available, and no outsourcing company (that I know off) have inhouse Delphi programmers.&lt;br /&gt;&lt;br /&gt;We are seriously considering switching to C#/.NET although programmers in that field don't come by the dozens either :- But at least, there are some outsourcing companies out there that say that they can deliver good C# programmers.&lt;br /&gt;&lt;br /&gt;It kind of feels to me like the days when I still was a Cobol programmer. That breed almost died, and of course as a contractor that made sure you got a good price for your work :-).&lt;br /&gt;&lt;br /&gt;Will the Delphi programmers go the same way? What do you think?&lt;br /&gt;&lt;br /&gt;And hey, while we're at it, if you know any affordable outsourcing company with inhouse Delphi programmers, please let me know.&lt;br /&gt;&lt;br /&gt;Bye,&lt;br /&gt;Bart&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-6118191889133074526?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/6118191889133074526/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=6118191889133074526' title='30 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/6118191889133074526'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/6118191889133074526'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2008/06/are-delphi-programmersa-dying-breed.html' title='Are Delphi programmers a dying breed?'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><thr:total>30</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-2718635165152412263</id><published>2008-06-12T12:28:00.005+02:00</published><updated>2008-06-12T14:09:46.158+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><title type='text'>SHFileOperation / Vista and oh boy ...</title><content type='html'>Yesterday I reported problems using SHFileOperation on Vista in a multi threading application. I experienced problems overwriting files when running Vista. The problems didn't occur running XP or Windows 2003 server.&lt;br /&gt;&lt;br /&gt;For starters: it has nothing to do with multi threading applications - that was a false assessment on my part. I should stop working so late :-(&lt;br /&gt;&lt;br /&gt;Comments from other programmers made me look again and create a small program that demonstrated the problem. I could not reproduce it using the small demo. So what gives?&lt;br /&gt;&lt;br /&gt;It turned out the problems were cause by the specification of the file paths. The program I'm working on synchronizes folders, having the source on the web or on a local file system.&lt;br /&gt;&lt;br /&gt;It turned out I was feeding paths using a '/' as a folder delimiter instead of a '\'. XP and Windows 2003 don't have a problem with that, Vista does...&lt;br /&gt;&lt;br /&gt;In this case, changing the forward slashes to backslashes solved the problem. Still, kind of weird, but a smaller problem than SHFileOperation not being thread safe.&lt;br /&gt;&lt;br /&gt;Bye,&lt;br /&gt;Bart&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-2718635165152412263?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/2718635165152412263/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=2718635165152412263' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/2718635165152412263'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/2718635165152412263'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2008/06/shfileoperation-vista-and-oh-boy.html' title='SHFileOperation / Vista and oh boy ...'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-4036683728051911415</id><published>2008-06-11T16:52:00.002+02:00</published><updated>2008-06-11T16:57:57.987+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><title type='text'>SHFileOperation not thread safe under Vista</title><content type='html'>I found the 'cause' of the problems with the SHFileOperation function in Vista I reported earlier. It turns out that this function is not thread safe under Vista. It works fine with earlier operating systems when used in a multi threading application.&lt;br /&gt;&lt;br /&gt;For now, the problem in my situation was (somewhat) easy to fix. I now execute the ShFileOperation in the main thread (using Synchronize) and that solved the problem with the utilities that I was working on. I can imagine that for larger application a bit more work would be involved. But maybe this little piece of information helps others.&lt;br /&gt;&lt;br /&gt;I will implement the IFileOperation interface for Vista later on, but for now it can wait...&lt;br /&gt;&lt;br /&gt;Bye,&lt;br /&gt;Bart&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-4036683728051911415?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/4036683728051911415/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=4036683728051911415' title='12 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/4036683728051911415'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/4036683728051911415'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2008/06/shfileoperation-not-thread-safe-under.html' title='SHFileOperation not thread safe under Vista'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><thr:total>12</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-6152277622405868033</id><published>2008-06-11T14:15:00.003+02:00</published><updated>2008-06-11T14:24:17.982+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><title type='text'>IFileOperation replaces SHFileOperation on Vista</title><content type='html'>Today I got some reports from users that part of our file handling functions gave irregular results. On my development machine (a Windows 2003 Server) all was well and I could not replicate the problems.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;After some digging into these issues I found a couple of postings (&lt;a href="http://msdn.microsoft.com/en-us/library/bb775771(VS.85).aspx"&gt;this &lt;/a&gt;one in de MSDN amongst others) about a new interface (IFileOperation) in Vista that replaces the SHFileOperation function.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Now, most of my code works just fine, but I have some specific problems with overwriting files that already exist. Some get overwritten, others don't. I suspect the SHFileOperation functions that (apparently) are still availble under Vista aren't quite backwards compatible.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Luckily I have created some wrapper functions in my code around the SHFileOperation functions, so it will be fairly easy to implement the IFileOperation method of Vista. But, being under pressure as always, this wasn't what I was waiting for right now :-o.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;If I encounter any special issues I will let you know.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Bye,&lt;br /&gt;&lt;br /&gt;Bart&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-6152277622405868033?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/6152277622405868033/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=6152277622405868033' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/6152277622405868033'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/6152277622405868033'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2008/06/ifileoperation-replaces-shfileoperation.html' title='IFileOperation replaces SHFileOperation on Vista'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-4073022005822327310</id><published>2008-05-29T10:30:00.003+02:00</published><updated>2008-05-29T14:07:06.898+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><category scheme='http://www.blogger.com/atom/ns#' term='pdalive'/><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'>I'll better my life as a designer, promised...</title><content type='html'>As you may read on my blogs I sometimes write for pdalive.com about using my smartphone and evaluating software on it. My last post was about Windows Mobile 6.1 on my TYTN II. Although the update was minor (from 6.0 to 6.1 is a small step after all), there is something in this update that made me realize something important about creating updates of my own software.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;There is a couple of things in WM 6.0 that I always did wrong. E.g. when I want to lock my phone, I press and hold the red 'hang up' button. This locks the device so I can't make an accidental call to someone (something that happened quite a lot before I made a habbit of locking my phone). But, when you lock the phone, it locks with the current application in front. Most of the times I want the home screen active before I lock it. So, I made a habbit of activating the home screen before I locked the device. Frequently this means unlocking the phone, activating the home screen, and lock the phone again. But, I also want the &lt;em&gt;first&lt;/em&gt; page of the HTC pluging (which displays a clock) active. So, most of the times, I unlock the phone yet another time, activate the first page on the HTC plugin before locking it finally.&lt;br /&gt;&lt;br /&gt;Besides all the 'major' improvements in the WM 6.1 update, this is something that either Microsoft or HTC now does for me. Whenever you press and hold the read 'hang up' button, the home screen is made the active application and the first page of the HTC plugin is selected before locking the device. Apparently, other users found themselves performing the same procedure as I did in WM 6.0.&lt;br /&gt;&lt;br /&gt;Now, what's all this got to do with my life as a designer? Well, I realized that I was very please to find such a small improvement in a new release of the software. It's not something a sales person can use to sell additional licenses with, but it is a change that makes the life of a uses just that tiny bit better.&lt;br /&gt;&lt;br /&gt;I want to add more of such things to the releases of our own software. I want my users to get the same pleased feeling about our software when they start using a new release. I want them constantly thinking: hey, that's great! Simply because a little function or feature just does it's job a bit better.&lt;br /&gt;&lt;br /&gt;From a commercial point of view it might be much better to have big new features in your release (like support flow charts in our upcoming main release version 6). But, and that is the promise, I will make sure that version 6.1 will have a big focus on all those little things that can make you go oooh. I think in the end, that will pay off, even from a commercial point of view.&lt;br /&gt;&lt;br /&gt;Bye,&lt;br /&gt;Bart&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-4073022005822327310?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/4073022005822327310/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=4073022005822327310' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/4073022005822327310'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/4073022005822327310'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2008/05/ill-better-my-life-as-designer-promised.html' title='I&apos;ll better my life as a designer, promised...'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-8943873394584045464</id><published>2008-05-23T12:21:00.001+02:00</published><updated>2008-05-23T12:23:15.805+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='pdalive'/><title type='text'>TYTN II Rom update: go for it</title><content type='html'>I couldn't hold myself. Yesterday some sites (I saw it first on the Dutch site &lt;a href="http://www.allaboutphones.nl/"&gt;www.allaboutphones.nl&lt;/a&gt;) reported the leaking of the offical to be ROM update for my HTC TYTN II. This update should include Windows Mobile 6.1 and - reportedly - speed improvements of the display drivers.&lt;br /&gt;&lt;br /&gt;Of course I am also reading the forums of the XDA developers (&lt;a href="http://forum.xda-developers.com/"&gt;http://forum.xda-developers.com/&lt;/a&gt;) where a lot of work is done on 'custom' ROMs. WM 6.1 is out there for quite some time now. But, since I am still in the warranty period of my HTC TYTN II, I never decided to install a ROM-update, although I was longing for it very much.&lt;br /&gt;&lt;br /&gt;But I believed the posters yesterday, telling us that the leaked updates are the offical ones. The story is that they are leaked to have some 'cheap' evaluation with expert users by HTC. Fine by me. So this time I jumped in and installed this update and am now running on WM 6.1 on my TYTN II.&lt;br /&gt;&lt;br /&gt;SO, what is it like? I can only say: great! The phone responds much faster, feels a lot quicker. It boots quicker and I get the feeling that the phone has come to life. I never found it that bad, despite my agreement with things stated at &lt;a href="http://www.htcclassaction.org/"&gt;www.htcclassaction.org&lt;/a&gt;). But having the WM 6.1 update installed I can relate to the frustration of the guys behind htcclassaction.org even more. IMHO it's a disgrace that HTC has sold me a phone for a lot of money that could perform a lot better, simply by installing the right drivers.&lt;br /&gt;&lt;br /&gt;Now, I also understand that the improvements are only partial of what the chips are capable of. I'm keeping an even closer eye now on all those hacker sites. I want more of these improvements, absolutely. My call to HTC: make these improvements even better en implement them for all phones. You will gain a lot of respect if you do and customer satisfaction leads to increase in sales in the end. To read my opinion on how great customer support helps sales, please read my &lt;a href="http://sevensteps.blogspot.com/2008/04/spending-lot-of-time-on-your-support.html"&gt;blog item&lt;/a&gt; on that. I was seriously considering the upcoming iPhone 3G, but this improvement will make me wait a while. At least until WM 7 is out... I hope Microsoft will deliver something that is stunning. It needs to I'm afraid :-)&lt;br /&gt;&lt;br /&gt;That's that on the speed improvement. Now, what about WM 6.1. Of course a lot is already said on that subject. Most find the improvements minor. You can't disagree with that, but I think threaded sms, zooming in IE and the overall speed improvement is very valuable. I was getting hooked on Opera mini, but the zooming in IE makes me doubt that a bit. So, here's another call to HTC: make Opera 9.5 mobile available on *all* your phones, not just the Diamond. It will hook your customers to your products even more. Most of us buy a new phone every 6 - 24 months and chances that being a HTC improve vastly if the customer is satisfied.&lt;br /&gt;&lt;br /&gt;So, if you're not a hero, wait for the official ROM update, but get it as soon as it's there. It is very much worthwhile. If you are a hero, go get it now.&lt;br /&gt;&lt;br /&gt;Google for RUU_Kaiser_HTC_WWE_3.28.405.0_radio_sign_25.83.40.02_1.65.16.25_Ship and you'll find the English update.&lt;br /&gt;Google for RUU_Kaiser_HTC_NLD_3.29.404.0_radio_sign_25.83.40.02_1.65.16.25_Ship and you'll find the Dutch update.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I'm only so sorry for everyone that doesn't get this update on their HTC phone...&lt;br /&gt;&lt;br /&gt;Bye,&lt;br /&gt;Bart&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-8943873394584045464?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/8943873394584045464/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=8943873394584045464' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/8943873394584045464'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/8943873394584045464'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2008/05/tytn-ii-rom-update-go-for-it.html' title='TYTN II Rom update: go for it'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-1442653818445422489</id><published>2008-05-14T22:05:00.003+02:00</published><updated>2008-05-14T22:14:44.705+02:00</updated><title type='text'>Windows Ultimate Extras is a sham... I agree</title><content type='html'>Today I finished installing Windows Vista Ultimate edition. My machine was ready for a fresh install, something I do about once a year. Since we have a partnership with Microsoft I decided to install the Ultimate edition. Who doesn't want that anyway? I want everything in the Ultimate edition if that's available :-)&lt;br /&gt;&lt;br /&gt;When I finished installing this version I went looking for all the extras that I remembered that were promised by Microsoft. I only found the poker game. The DreamScene did't want to start when I had two monitors connected to my portable. After disconnecting the external monitor I enjoyed the videos on the desktop for at least a minute or so. Then I realized that M$ was asking a ton of money for, well, just a handfull of useless things. Yes, more fun, but not for longer than a minute or so. Not worth the money at all. Although I am very MS-minded, I was very disappointed with what MS calls the Ultimate. I found &lt;a href="http://www.istartedsomething.com/20070614/windows-ultimate-extras-sham/"&gt;this &lt;/a&gt;nice looking website which I wouldn't have otherwise, so there is something good in all this :-)&lt;br /&gt;&lt;br /&gt;Btw, I had some problems installing update 2 of the BDS 2006 I am using, but found &lt;a href="http://support.codegear.com/article/36203"&gt;this&lt;/a&gt; article that solved the problem. I had to read it three times to realize I had to start the command box as an Administrator, but I'm up and running now.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-1442653818445422489?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/1442653818445422489/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=1442653818445422489' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/1442653818445422489'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/1442653818445422489'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2008/05/windows-ultimate-extras-is-sham-i-agree.html' title='Windows Ultimate Extras is a sham... I agree'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-1295573031143082090</id><published>2008-05-09T14:10:00.004+02:00</published><updated>2008-05-09T14:42:31.625+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><category scheme='http://www.blogger.com/atom/ns#' term='Embarcadero'/><title type='text'>Embarcadero: you'd better keep Delphi/Win32!</title><content type='html'>The storm of postings has died out (a bit), so let's give my two cents worth. First of all: I'm only thinking about Delphi for Win32 here. I'm not particularly interested in the other CodeGear products I'm afraid. So I won't bother you with my comments about those.&lt;br /&gt;&lt;br /&gt;All the postings on the aquisition are quite positive about the future of the products, Delphi for Win32 not excluded from that. I'm not so sure though. A take over/merger like this inevitably will lead to a refocus of the future of products and services. Embarcadero will probably take this opportunity to save and extend profitable products and cut those that are not. Now is the time to do so: everybody (employees / customers / partners) will be open for that and will understand such moves. It's common sense, right?&lt;br /&gt;&lt;br /&gt;If the above thought is true: what are the chances for Delphi/Win32? Somewhere along the line the following discussion will come up:&lt;br /&gt;&lt;br /&gt;(boss/financial manager/commercial manager): Ok, we've cut the number of products. What do we do?&lt;br /&gt;(A): Let's drop Delphi/Win32&lt;br /&gt;(B,C,D..Z): NO! We can't! There are too many developers and products out there.&lt;br /&gt;(A): Well, let them move to Delphi/.NET!&lt;br /&gt;(B,C): That's a thought. Yeah, why not. I never had a problem with that...&lt;br /&gt;(D,E,F..Z): But, that's a completely different way of working for them...&lt;br /&gt;(A,B,C): They probably will have to anyway in the future and most of them won't mind.&lt;br /&gt;(D,E,F,G): That's right, I never had but positive effects since I changed.&lt;br /&gt;(H,I,...Z): But, what about the Tiburon? Didn't we just update the roadmap for that?&lt;br /&gt;(A,B,...Y): If they want Unicode and stuff: let them use .Net. It's the future. And of course, they can always keep using Delphi2007.&lt;br /&gt;(Z): Why doesn't anybody ever listen to me?&lt;br /&gt;&lt;br /&gt;I would really hate it if this happens, but - to be open and frank - I could relate to such a thought. Cut the (large) number of products and focus on the ones that have the real future. It would give &lt;em&gt;me&lt;/em&gt; an immediate problem (well, not that immediate, there's always Delphi2007, right?) but I would understand it, really.&lt;br /&gt;&lt;br /&gt;But, I don't think I would switch to Delphi.Net to be honest. I think C#/.Net would really come into the picture in that case. Give the problems I have to find good Delphi developers (if you know a good Dutch Delphi developer send him/her to me now!) I would really consider leaving Delphi.&lt;br /&gt;&lt;br /&gt;Others might go that line too. So, Embarcadero: you'd better keep Delphi/Win32!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-1295573031143082090?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/1295573031143082090/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=1295573031143082090' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/1295573031143082090'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/1295573031143082090'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2008/05/embarcadero-youd-better-keep.html' title='Embarcadero: you&apos;d better keep Delphi/Win32!'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-5377378863454630851</id><published>2008-04-28T07:31:00.002+02:00</published><updated>2008-04-28T07:41:36.428+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><category scheme='http://www.blogger.com/atom/ns#' term='Samples'/><title type='text'>Folders kept in use</title><content type='html'>Some time ago I noticed that a couple of small (conversion) programs of mine showed some strange effect. Folders that were used were kept in use. If, even after closing down the program, I tried to delete the folders, Windows told me they were in use.&lt;br /&gt;&lt;br /&gt;I looked high and low for this, but in the end found the cause of it all. I didn't close a Find in the folders. Putting a try..finally in the code did the trick. This guaranteed closing the Find, no matter what. So, if you experience that folders are kept in use, go look for this one.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;procedure foo;&lt;br /&gt;var&lt;br /&gt; sr: TSearchRec;&lt;br /&gt; ok: boolean;&lt;br /&gt;begin&lt;br /&gt; ok := (FindFirst('*.*', faAnyFile, sr)=0);&lt;br /&gt; try&lt;br /&gt;  while ok do&lt;br /&gt;  begin&lt;br /&gt;   goDoSomething();&lt;br /&gt;   ok := (FindNext(sr)=0);&lt;br /&gt;  end;&lt;br /&gt; finally&lt;br /&gt;  FindClose(sr);&lt;br /&gt; end;&lt;br /&gt;end;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Bye,&lt;br /&gt;Bart&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-5377378863454630851?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/5377378863454630851/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=5377378863454630851' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/5377378863454630851'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/5377378863454630851'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2008/04/folders-kept-in-use.html' title='Folders kept in use'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-6720344818745766387</id><published>2008-04-22T15:14:00.004+02:00</published><updated>2008-04-22T16:48:19.453+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'>The top 10 tools every (Delphi) programmer needs</title><content type='html'>This week I was at a client site to talk about our ways of developing software. Our client uses Delphi for developing their software too and are contemplating using DevExpress' components for their next generation software.&lt;br /&gt;&lt;br /&gt;I was stunned to find that (until now) they only use Delphi. That's it. No other support tools or component libraries (apart from the Virtual Tree List).&lt;br /&gt;&lt;br /&gt;That meeting inspired me to list the tools I think are absolutely necessary or at least very helpfull in developing (Delphi) software.&lt;br /&gt;&lt;br /&gt;1) A professional component library.&lt;br /&gt;&lt;br /&gt;As you may have guessed DevExpress is my top one favorite. I hardly need any other components to implement a professional user interface. There is *no* way you can get better results for the amount of money you need to spend on the library. I would always recommend the VCL subscription. It will set you back $500-$1000 every year but you will get a ton of components for that.&lt;br /&gt;&lt;br /&gt;There are a couple of alternatives that you might want to look into. I'm sure that I will get some recommendations in the comments on this post :-) Let the list grow...&lt;br /&gt;&lt;br /&gt;2) A logging tool / component&lt;br /&gt;&lt;br /&gt;Of course you can use OutputDebugString to print debug statements or you can write your own logging tool. But there are a couple of professional libraries out there that already have done that for you (and more than you probably think of at first) and that are extremely usefull.&lt;br /&gt;&lt;br /&gt;My favorite is Raize's CodeSite, but SmartInspect is very good also. Again, I'm sure there are others out there.&lt;br /&gt;&lt;br /&gt;3) An exception catcher&lt;br /&gt;&lt;br /&gt;I don't know another word for this type of tool, but I'm using two actually. Madexcept (which is my favorite, and only $25 for a commercial license) and EurekaLog. It will help you explain exceptions, especially when your software is already in the wild out there.&lt;br /&gt;&lt;br /&gt;4) A bug administration tool&lt;br /&gt;&lt;br /&gt;There are a couple, but my favorite is FogBugz. It's reasonably priced and does the job very well. It also has a simple but very effectie planning and time tracking feature. It will handle registering the status of issues, mailing to clients, handling received mail, et cetera. Excellent stuff.&lt;br /&gt;&lt;br /&gt;5) Version control system&lt;br /&gt;&lt;br /&gt;Now, I was perplexed to find that the client I visited didn't use a version control system. I couldn't think of a workable environment without it. We are using Visual SVN Server and Turtoise as a client. Even if you are in a single developer environment you should take the time to set this up. Don't let the costs scare you: it's free...&lt;br /&gt;&lt;br /&gt;6) Creating setups&lt;br /&gt;&lt;br /&gt;Every piece of software should be delivered in a setup. There's a couple of free (and not so free) tools out there, but we are using Wise for Windows. That's a bit old actually, but does the job very well.&lt;br /&gt;&lt;br /&gt;7) Build tools&lt;br /&gt;&lt;br /&gt;Now, eventually you have to deliver your software. You can build your software and assemble and distribute the setup by hand, but invest some time in setting up a professional build tool. Once you got the right scripts set up, delivering your software is a snap. We use Automated Build Studio. I actually wrote a testimonial on that which you can find on their website. Good support too.&lt;br /&gt;&lt;br /&gt;8) Debugging tools&lt;br /&gt;&lt;br /&gt;I don't use many other debuggers from the one in Delphi, but if you need some special things (like profiling the performance of your application), you might want to look elsewhere. We are using AQTime but I don't need it that much to be true. It's only at special occasions that I start that.&lt;br /&gt;&lt;br /&gt;9) Unit testers&lt;br /&gt;&lt;br /&gt;Every other month or so I tell myself I have to develop some unit tests. I never get to it, but writing this piece makes me a firm believer in unit tests again. I will, honestly, setup some unit tests.... Really, you should do it to.&lt;br /&gt;&lt;br /&gt;10) Documentation&lt;br /&gt;&lt;br /&gt;Now, here's a bit of plugging our software. How could I ever use anything else but our software for that? Google does it, SAP does it, Microsoft does it, so I'd better use it myself too :-)&lt;br /&gt;&lt;br /&gt;If you want more information on what our products can do to your documentation (not only as a technical documenation tool, but for a great variety of documentation needs), please don't hesitate to contact me.&lt;br /&gt;&lt;br /&gt;That's my list. What do you have to add, strike or comment?&lt;br /&gt;&lt;br /&gt;Bye,&lt;br /&gt;Bart&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-6720344818745766387?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/6720344818745766387/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=6720344818745766387' title='12 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/6720344818745766387'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/6720344818745766387'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2008/04/top-10-tools-every-delphi-programmer.html' title='The top 10 tools every (Delphi) programmer needs'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><thr:total>12</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-7122727426569122054</id><published>2008-04-20T12:05:00.000+02:00</published><updated>2008-04-20T12:06:13.574+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='pdalive'/><title type='text'>Opera Mobile Mini browser</title><content type='html'>My last review of Makayama's webbrowser made me realize I was ready for a new browser. WM6.1 is coming with a tweaked IE Pocket and WM7 promises to be great, but I won't wait any longer. I installed Opera Mobile Mini and gave it a shot. I know it has been around for a while already, but I only looked at it recently.&lt;br /&gt;&lt;br /&gt;Now, there's something between Java and me. I always have an eerie feeling when I know I have to start Java and from there I start something else. I know it's me: I'm from the Basic interpreters age. It feels (in my mind that is) clunky and slow and not optimized. I know I'm wrong, but I can't get over it.&lt;br /&gt;&lt;br /&gt;But, if there ever was an application that will make me change my mind and (more important) take away that feeling when reading the word 'Java', it will be Opera Mobile Mini. It's extremely fast, renders pages very quickly and will do so (almost) the same as a desktop browser will.&lt;br /&gt;&lt;br /&gt;But, what I like most is something I missed most in the Makayama browser: the zoom function. It makes the difference between a good browser and an excellent browser. I can't imagine I will use another browser again (until something new comes along of course :-)).&lt;br /&gt;&lt;br /&gt;There's a couple of things I need to find out. I already read how to create a direct startup link to the Opera midlet, but I would like to have it registered as my default browser, so it will launch when clicking on an url in a newsfeed or e-mail message. I'm sure that information is out there, but if you know, please share it with me.&lt;br /&gt;&lt;br /&gt;Bye,&lt;br /&gt;&lt;br /&gt;Bart&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-7122727426569122054?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/7122727426569122054/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=7122727426569122054' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/7122727426569122054'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/7122727426569122054'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2008/04/opera-mobile-mini-browser.html' title='Opera Mobile Mini browser'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-7280333633216469380</id><published>2008-04-18T14:39:00.004+02:00</published><updated>2008-04-18T22:57:40.134+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='pdalive'/><title type='text'>Astraware Platypus reviewed</title><content type='html'>&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;I was planning to take my time for this review. For once, I would sit down and make a proper evaluation. After all, when you have a ton of work to do, who can afford to play games? Our Office Wii is locked up, our lunch time has been reduced to half, all because of our work load.&lt;br /&gt;&lt;br /&gt;So, how come I found time to evaluate Astraware's Platypus? Simple: I couldn't put it down. It's addictive. It's old fashioned in a world with interactive super controllers, tilting phones and jumping up and down in front of a television set. But, that's good! I love the retro feel of the game. It's shoot-em-up old style, and it's completely destroying my work day.&lt;br /&gt;&lt;br /&gt;The game is very responsive, you really get an arcade type feeling looking at your business phone. The colors and graphics are nice and it's very playable. Nice things like automatic suspension when an email arrives made me smile. It's a jewel of a game and one that is worth it's money.&lt;br /&gt;&lt;br /&gt;Maybe I will update this review a bit later to tell you what things you can find in the city of Collosatropolis. But to do that, I will have to end here and get back to it (now, would that be the game or my work...).&lt;br /&gt;&lt;br /&gt;10 out of 10 for this one!&lt;br /&gt;&lt;br /&gt;Bye,&lt;br /&gt;Bart&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-7280333633216469380?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/7280333633216469380/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=7280333633216469380' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/7280333633216469380'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/7280333633216469380'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2008/04/astraware-platypus-reviewed-i-was.html' title='Astraware Platypus reviewed'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-573932016572557156</id><published>2008-04-17T21:54:00.006+02:00</published><updated>2008-04-18T22:58:05.971+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'>DevExpress apparently will support unicode with their controls</title><content type='html'>&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;It is not official yet, but in one of the Delphi news groups there was the following reply from DevExpress' Julian Bucknall to a question if they will support Unicode.&lt;br /&gt;&lt;pre&gt;Re: Delphi 2008, Unicode and Dev Express&lt;br /&gt;&lt;br /&gt;Tony&lt;br /&gt;&lt;br /&gt;On Wed, 16 Apr 2008 15:22:46 -0500, Tony Caduto&lt;br /&gt;&lt;support@amsoftwaredesign.com&gt; wrote:&lt;br /&gt;&lt;br /&gt;&gt;Anyone know if DevExpress is going to release versions of the Quantum&lt;br /&gt;&gt;Grid etc that will be Unicode Compatible with Delphi 2008?&lt;br /&gt;&lt;br /&gt;Duh &lt;g&gt;. Of course we are.=20&lt;br /&gt;&lt;br /&gt;You know you can just email me if you have questions like this. Anyone&lt;br /&gt;can. Heck, I don't even try and hide my email address with DOTs and&lt;br /&gt;ATs.&lt;br /&gt;&lt;br /&gt;--&lt;br /&gt;Cheers, Julian&lt;br /&gt;&lt;br /&gt;-----------------------------------------------------------&lt;br /&gt;Julian M Bucknall&lt;br /&gt;CTO, Developer Express, www.devexpress.com&lt;br /&gt;julianb@devexpress.com&lt;br /&gt;&lt;br /&gt;Personal blog at http://www.boyet.com&lt;br /&gt;Company blog at http://community.devexpress.com/blogs/ctodx&lt;br /&gt;Author of "Tomes of Delphi: Algorithms and Data Structures"=20&lt;br /&gt;Read my articles in PCPlus every month&lt;br /&gt;-----------------------------------------------------------&lt;br /&gt;&lt;/g&gt;&lt;/support@amsoftwaredesign.com&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Kind of makes my day :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-573932016572557156?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/573932016572557156/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=573932016572557156' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/573932016572557156'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/573932016572557156'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2008/04/devexpress-apparently-will-support.html' title='DevExpress apparently will support unicode with their controls'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-4120861288360435101</id><published>2008-04-16T12:59:00.007+02:00</published><updated>2008-04-18T22:58:36.450+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><category scheme='http://www.blogger.com/atom/ns#' term='DevExpress'/><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'>Spending a lot of time on your support department pays off,</title><content type='html'>I am using third party controls wherever I can. If I can buy the stuff that I need, we don't need to develop it myself. Buying software components is always cheaper than developing them yourself.&lt;br /&gt;&lt;br /&gt;If you look at two component(s) (sets) that I am using (DevExpress Suite and ProfDHTMLEdit) you can tell which gives good value for money. We spent $3000 on DevExpress software and about $100 on the ProfDHMLEdit component. DevExpress is &lt;span style="font-style: italic;"&gt;way&lt;/span&gt; cheaper for us and I will always recommend that to others. ProfDHTMLEdit has proven to be very expensive and I won't recommend it to anyone.&lt;br /&gt;&lt;br /&gt;I'll explain why. But first, let me emphasize that the two software packages don't compare in functionality. The DevExpress package is much bigger and serves quite different purposes then ProfDHTMLEdit, hence the difference in price. But, that's not the point. The point is: what do I get for my money, support wise. And how does that make you feel as a customer.&lt;br /&gt;&lt;br /&gt;Another thing to know is that I realize that DevExpress is a much larger company then the single person that supports ProfDHTMLEdit. But, again, that is not the point. The point is: what does attention, curtosy and friendliness do to you.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;The Bad Support Scenario&lt;/span&gt;&lt;br /&gt;Once upon a time I started to use ProfDHTMLEdit. I was looking for a WYSIWYG XML editor, couldn't find a suitable one, and ended up with ProfDHTMLEdit. It is a HTML editor with no special features to support XML. However, using some tricks and stylesheets I was able to make into the light weight XML editor that I was looking for. Usage of our software grew and I was beginning to get strange bug reports that were caused by ProfDHTMLEdit. I looked high and low but couldn't find a cause nor a solution. I contacted the author of the component and at first he was very helpfull in trying to locate the problems. But, after some time it became clear it wasn't the usual kind of problem and he sort of gave up. I tried to insist, offering to travel to him in Russia, looking for the cause together. But, he wanted a lot of money for that (starting with a 'setup fee' of $1500) and that made me move away from that option.&lt;br /&gt;&lt;br /&gt;I tried other components, but there still wasn't a good alternative available. I continued debugging, tried wild guessed work arounds, all to no avail. To make a very long story short: after two years I found help with &lt;a href="http://sevensteps.blogspot.com/2008/03/two-weeks-ago-i-visited-marco-cantu-in.html"&gt;Marco Cantu&lt;/a&gt; and we were able to solve the problem in the end. It was all caused by a memory corruption in the ProfDHTMLEdit control. We were even able to create a good work around for the problem.&lt;br /&gt;&lt;br /&gt;I reported this (including demo program of the problem) to the author again and also found that my work around benifitted other users. I have had no official reaction or software update since. In general, the questions asked on the support forum are answered in one sentence, sometimes a single word. No thank you, sorry, did it help? None of that. You feel like you are a burden to the supplier instead of a customer.&lt;br /&gt;&lt;br /&gt;I never did a calcuation of the actual cost of this simple, one component. But it must be in the many tens of thousands of euros. Remember the original purchase price was about 100 euro.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;The Good Support Scenario&lt;/span&gt;&lt;br /&gt;As said earlier, we spent a lot of money on the DevExpress components. Starting with buying the one component pack, gradually we used more and more DevExpress components and ended up with a VCL subscription (worth $600 / year). All in all a couple of thousand dollars changed hands.&lt;br /&gt;&lt;br /&gt;In the years that I have used the DevExpress components I have reported numerous bugs and  questions with DevExpress. Let me just describe the typical flow of support messages.&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;I report my problem on the website. Using a form I can supply the necessary details, search existing questions and knowledge base. If it is a new problem or question I can submit it.&lt;/li&gt;&lt;li&gt;I will be notified when the issue is accepted (or declined) and will be informed when:&lt;/li&gt;&lt;ol&gt;&lt;li&gt;The issued has been reviewed&lt;/li&gt;&lt;li&gt;An answer was given&lt;/li&gt;&lt;li&gt;A suggestion for a new feature is accepted&lt;/li&gt;&lt;li&gt;The new feature is planned&lt;/li&gt;&lt;li&gt;The new feature is actually implemented&lt;/li&gt;&lt;/ol&gt;&lt;li&gt;If the answer to a question cannot be described in text only (in a few lines), a sample project is always supplied.&lt;/li&gt;&lt;li&gt;I can respond again using text, modifying the sample program or whatever I feel is the right way.&lt;/li&gt;&lt;/ol&gt;I will always get a prompt answer. If a solution or answer is not easy to give, they will tell you they need more time. You can track the issues you have opened. You really feel there's somebody on the other side that is working with you.&lt;br /&gt;&lt;br /&gt;If I had to pay the hours that the DevExpress support people spend on me, I probably owned them another couple of thousand. And, having such excellent support, saved me a lot (and I mean a lot) of time.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;The point and the benefits&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Working in a software company myself I can see where the benefits are with excellent and abundant support:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Your customers think very highly of you.&lt;/li&gt;&lt;li&gt;They will always recommend you to others. &lt;/li&gt;&lt;li&gt;Your customers will give you much more feed back, which is invaluable to you. You will know &lt;span style="font-style: italic;"&gt;precisely &lt;/span&gt;what they want.&lt;/li&gt;&lt;li&gt;Your customers will probably come back to you without thinking twice.&lt;/li&gt;&lt;/ol&gt;And probably there are a couple of other reasons to think of.&lt;br /&gt;&lt;br /&gt;In any case (and I have writting that down a couple of times before): the support team of DevExpress is that level of support that we strive for. I can only hope we can reach that in our live time.&lt;br /&gt;&lt;br /&gt;Bye,&lt;br /&gt;Bart&lt;br /&gt;&lt;br /&gt;Ps: right after posting this, I found an &lt;a href="http://www.micro-isv.asia/2008/04/how-to-compete-against-free-software"&gt;artical&lt;/a&gt; that touches some of this&lt;div&gt;Ps2: coincidence or not? Only hours after I posted this, I got a response from the ProfDHTMLEditor with an official solution to the 2-year old problem... Maybe blogging is gooed for something.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-4120861288360435101?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/4120861288360435101/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=4120861288360435101' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/4120861288360435101'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/4120861288360435101'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2008/04/spending-lot-of-time-on-your-support.html' title='Spending a lot of time on your support department pays off,'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-6334626570204496877</id><published>2008-04-16T07:49:00.004+02:00</published><updated>2008-04-18T22:58:57.380+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='pdalive'/><title type='text'>Makayama's Touchbrowser</title><content type='html'>Now, here's a line that you won't see too often: I love software by Microsof and I love the iPhone. When first reading about the iPhone I wasn't convinced at all about its innovative power. But, once I got my hands on it, I was hooked. I think that the iPhone really is a &lt;i&gt;next generation&lt;/i&gt; thing.&lt;br /&gt;&lt;br /&gt;So, anytime I read that a piece of hardware or software brings the iPhone experience to Windows I am intrigued and I have to take a look. Now, when the TouchBrowser was announced I was very optimistic, because the pocket version of IE is, well, not too modern. After reading that the TouchBrowser was 'nothing more than a wrapper around IE' my hopes died immediately.&lt;br /&gt;&lt;br /&gt;But, after using the TouchBrowser I think it really could be innovative. It eliminates all the clutter and chunky user interface bits that go with Windows Mobile applications. It really is a 'fingers only' application. It performs well and it maximizes the usage of your touch screen. And I love the way you enter URLs; I didn't flip my TYTN II open once to go to the keybard.&lt;br /&gt;&lt;br /&gt;However, as said, it could innovative. There's a couple of things wrong and missing. First and foremost, you need a zoom function. You have no clue what is on the page. There's a couple of small scroll bars to tell you where you are on the page, but as you don't know what's on the invisible parts of the page, that doesn't help much.&lt;br /&gt;&lt;br /&gt;Other things are minor, but I was looking for that. &lt;i&gt;Increasing font size&lt;/i&gt; (if you&lt;br /&gt;are over 40 like me, you need glasses or bigger fonts), better management of your &lt;i&gt;Favorites&lt;/i&gt; (you get the IE-favorites), &lt;i&gt;progress indicator&lt;/i&gt; for loading pages ("please wait" doesn't help)&lt;br /&gt;&lt;br /&gt;There's also a couple signs that it's a first release. The close application button doesn't work, after ending the task via the task manager you can't restart TouchBrowser. There is no home button. The settings page looks clumsy. Stuff like that.&lt;br /&gt;&lt;br /&gt;Final conclusion: we're not quite there yet, but I think the iPhone experience will eventually be available on Windows Mobile. It won't be with (this version of) TouchBrowser, but we're getting close. Rest assured I will give version 2 a very close look.&lt;br /&gt;&lt;br /&gt;See &lt;a href="http://www.makayama.com/touchbrowser.html" target="_blank"&gt;http://www.makayama.com/touchbrowser.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Bart Roozendaal, Sevensteps&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-6334626570204496877?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/6334626570204496877/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=6334626570204496877' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/6334626570204496877'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/6334626570204496877'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2008/04/makayamas-touchbrowser-now-heres-line.html' title='Makayama&apos;s Touchbrowser'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-2658230993539373983</id><published>2008-04-12T18:45:00.008+02:00</published><updated>2008-04-18T22:59:13.288+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><category scheme='http://www.blogger.com/atom/ns#' term='Samples'/><category scheme='http://www.blogger.com/atom/ns#' term='DevExpress'/><title type='text'>Alternative to TToolbar</title><content type='html'>&lt;span&gt;&lt;a href="http://www.sevensteps.com/download/ToolbarAlternative.zip"&gt;Download &lt;/a&gt;sample code&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_hstdHC3GUMc/SAGgDL2CKMI/AAAAAAAAAEs/5QM6RCNcdqk/s1600-h/Screendump.png"&gt;&lt;img style="cursor: pointer;" src="http://bp1.blogger.com/_hstdHC3GUMc/SAGgDL2CKMI/AAAAAAAAAEs/5QM6RCNcdqk/s320/Screendump.png" alt="" id="BLOGGER_PHOTO_ID_5188604222286997698" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;If you are a DevExpress user, like me, you will use TdxBarManager instead of any of the standard Delphi controls that are available. I can imagine that CodeGear doesn't invest anything in (any of) the user interface controls with such many excellent alternatives around.&lt;br /&gt;&lt;br /&gt;I am a VCL component developer too (for internal use that is). Most of those controls go with an ActionList for it's functions. The end user can access the functions using (amongst other things) a TToolbar. And one thing that I had not done (until today) is to replace the TToolbar component that I was using for toolbars that are part of the controls.&lt;br /&gt;&lt;br /&gt;Now, I might be alone on this, but I think that TToolbar is one of the worst components that is in the standard package. It behaves irratically and configuring at runtime (as I do in my controls) is really a pain. Some years ago I created a subclass that kind of worked ok. But I never was happy with it.&lt;br /&gt;&lt;br /&gt;This weekend I took it upon me to integrate the TdxBarManager into the current set of UI controls. The solution took me a bit of work, but I think that how I did might benefit others. So, I've created a demo project that demonstrates how you can use the TdxBarManager as a toolbar as part of your own UI VCL controls.&lt;br /&gt;&lt;br /&gt;Unzip, compile the package, install it and run the demo program. That should do it.&lt;br /&gt;&lt;br /&gt;If you have any questions, just mail me.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;These examples are just a proof of concept and you will need to do some work on it to get it going. &lt;/span&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;My actual code is a bit more complex than this. I might have forgotten something or made some typos.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-2658230993539373983?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/2658230993539373983/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=2658230993539373983' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/2658230993539373983'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/2658230993539373983'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2008/04/alternative-to-ttoolbar-if-you-are.html' title='Alternative to TToolbar'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_hstdHC3GUMc/SAGgDL2CKMI/AAAAAAAAAEs/5QM6RCNcdqk/s72-c/Screendump.png' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-2156324666497475100</id><published>2008-04-11T17:46:00.006+02:00</published><updated>2008-04-18T22:59:30.329+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><category scheme='http://www.blogger.com/atom/ns#' term='mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='pdalive'/><title type='text'>Writing for PDALive.com</title><content type='html'>As from this week I will be writing for PDALive.com on a regular basis about things that concern Windows mobile phones. I own a HTC TYTN II myself. Apart from personal experiences I will write about projects and programs that we do that involve (windows) mobile phones.&lt;br /&gt;&lt;br /&gt;First project will be an application that will be created to offer the user support information. One of out partners (LearningGuide Solutions) sells training material which is published as an end user support system in HTML and as trainingsbooks in PDF.&lt;br /&gt;&lt;br /&gt;The next few weeks and months (probably) we will create a new application/publication that targets Windows Mobile phones. I am still looking for some ways to use Delphi for that, but I don't think that will be wise or possible. It will probably be C# and .Net (which of course is fine).&lt;br /&gt;&lt;br /&gt;You might see some copies of articles I will create for PDALive on this blog. I will mark those with a special label.&lt;br /&gt;&lt;br /&gt;Bye,&lt;br /&gt;Bart&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-2156324666497475100?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.pdalive.com' title='Writing for PDALive.com'/><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/2156324666497475100/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=2156324666497475100' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/2156324666497475100'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/2156324666497475100'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2008/04/writing-for-pdalive.html' title='Writing for PDALive.com'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-8128515816613288885</id><published>2008-04-11T17:25:00.006+02:00</published><updated>2008-04-18T22:59:43.369+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><title type='text'>Class helpers vs Subclassing</title><content type='html'>In a Dutch Delphi forum I came across a posting that had some sample code using 'class helpers'. At first, I didn't know what it was. Later I realized I had seen that before, but somehow I forgot about those. Class helpers extend an existing class, without subclassing.&lt;br /&gt;&lt;br /&gt;I tried to put down why I don't use class helpers, but do subclass frequently. I couldn't (and can't) remember. While writing all the pros for subclassing, I couldn't find and argument agains class helpers. Except of course, you can't override members. It took me a while to realize (again) why I don't help a class, but do subclass.&lt;br /&gt;&lt;br /&gt;If anyone is reading this, what is your opinion about the subject? Are class helpers of *any* use?&lt;br /&gt;&lt;br /&gt;Bye,&lt;br /&gt;Bart&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-8128515816613288885?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/8128515816613288885/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=8128515816613288885' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/8128515816613288885'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/8128515816613288885'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2008/04/class-helpers-vs-subclassing-in-dutch.html' title='Class helpers vs Subclassing'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5189846.post-4648680179544021588</id><published>2008-04-07T21:44:00.007+02:00</published><updated>2008-04-18T23:00:03.786+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'>Rediscovering FogBugz</title><content type='html'>This weekend I had a bit of a crisis because I couldn't see the forest from the trees (is that English at all?). There is simply so much to do, that I panicked a bit and wondered how to solve that.&lt;br /&gt;&lt;br /&gt;I thought it would be best to make a list of things to do. Sometimes that helps to realign your thoughts. First I started typing the list as tasks in Microsoft Outlook, but I realised that I tried that many times before and I simply don't like that. So, I looked further on at the tools we have. I realized that we use FogBugz for storing our bug reports and feature requests, but I could also use it to create my own lists.&lt;br /&gt;&lt;br /&gt;I did know FogBugz has a couple of things that we don't use (wiki, discussion board) because I think that user interface is too simple. But I found that, after entering my task list and  estimate the time needed for that, FogBugz has a great feature. It can calculate if a planned release date can be met or not. It will also tell you the probability that you will make that date.&lt;br /&gt;&lt;br /&gt;Even based on this weekends work it already tells me the probability for the next release (about 20% :-(). I can imagine that, if you use it to plan bigger amounts of work of more people, it can be a really helpfull thing. So, we will be good boys and use that feature of FogBugz and see if it helps.&lt;br /&gt;&lt;br /&gt;If you don't know: FogBugz s created by FogCreek, a company with a state of mind much like ours. Just read &lt;a href="http://www.fogcreek.com/About.html"&gt;http://www.fogcreek.com/About.html&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Bye,&lt;br /&gt;&lt;br /&gt;Bart&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5189846-4648680179544021588?l=sevensteps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.fogcreek.com/About.html' title='Rediscovering FogBugz'/><link rel='replies' type='application/atom+xml' href='http://sevensteps.blogspot.com/feeds/4648680179544021588/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5189846&amp;postID=4648680179544021588' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/4648680179544021588'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5189846/posts/default/4648680179544021588'/><link rel='alternate' type='text/html' href='http://sevensteps.blogspot.com/2008/04/rediscovering-fogbugz-this-weekend-i.html' title='Rediscovering FogBugz'/><author><name>Bart Roozendaal</name><uri>http://www.blogger.com/profile/15409758708073886550</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_hstdHC3GUMc/TDBh2FnsSgI/AAAAAAAAALM/TcEIlkcCDCg/S220/Ikke+3.png'/></author><thr:total>1</thr:total></entry></feed>
