<?xml version="1.0" encoding="ISO-8859-1"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/">
	<channel>
		<copyright>Copyright 1998-2010 Tweakers.net</copyright>
		<pubDate>Sun, 21 Mar 2010 07:02:16 GMT</pubDate>
		<lastBuildDate>Sun, 21 Mar 2010 07:02:16 GMT</lastBuildDate>
		<docs>http://tweakers.net/reviews/76</docs>
		<description>Tweakblogs.net is the weblog service provided by Tweakers.net, the largest hardwaresite and techcommunity in the Netherlands.</description>
		<image>
			<link>http://tweakblogs.net/</link>
			<title>Tweakblogs.net</title>
			<url>http://tweakimg.net/g/if/logo.gif</url>
			<height>60</height>
			<width>60</width>
			<description>Tweakblogs.net</description>
		</image>
		<language>en</language>
		<link>http://morphie.tweakblogs.net</link>
		<title>Architectural mood swings</title>
		<webMaster>frontpage@tweakers.net</webMaster>
		<item>
			<title>The slow death of html-integrated Flash</title>
			<link>http://morphie.tweakblogs.net/blog/3626/the-slow-death-of-html-integrated-flash.html</link>
			<description>Currently, Apple is under a lot of pressure to add Flash to the iPhone and iPad. Since, according to Adobe (http://www.adobe.com/products/player_census/flashplayer/), 99% of internet-enabled PC&#39;s have Flash installed, it&#39;s fair to say that Flash is currently a well-adopted platform. And I guess that about 70% of the online video-content is Flash. But, no Flash for iPad. It&#39;s a CPU hog and old technology, according to Steve (http://www.pcworld.com/ar...obs_bad_mouths_flash.html). Is he right? Well... a bit.

The problem here isn&#39;t Flash, or at least wasn&#39;t. 1) It&#39;s the lack of Flash-like features in native browser technologies such as HTML that should have been there. 2) It&#39;s the fact that HTML isn&#39;t a very good RIA-platform.

Why is YouTube using Flash for displaying movies? Because HTML didn&#39;t support it natively. Why is it that a lot of RIA apps are built in Flash or Silverlight? Because it&#39;s much easier to do than a RIA app in HTML and therefore you get better results. If you don&#39;t believe me, take a look at the Silverlight-version beta of Bing Maps. It&#39;s not a coincidence either that Google Street View is Flash. Ever tried building something like that in HTML? 

I see a lot of change in the RIA world. HTML 5 supports video and a canvas, making it a lot easier to create animation, transitions, and video-based websites and thus deprecating the use of Flash for a lot of cases in websites that use Flash for that right now. But, the dark side of it is that it&#39;s a very premature technology. Not all browsers support it. Developers around the world still need to understand how to work with it. HTML 5 isn&#39;t done yet. And most importantly: it won&#39;t support all RIA cases. 

With these things in mind, I think the following will happen in the next 3 to 5 years: HTML 5 will replace flash for video in the browser and cases where Flash was used for fluid animation and font embedding. Technologies such as Flash and Silverlight will be used more and more outside the browser (Adobe Air for example) or standalone in the browser for standalone connected applications instead of integration with HTML.

And for what it&#8217;s worth: Although it has some implications, overall, I think that&#8217;s a good thing.</description>
			<author>mOrPhie</author>
			<category>2</category>
			<comments>http://morphie.tweakblogs.net/blog/3626/the-slow-death-of-html-integrated-flash.html#reacties</comments>
			<guid isPermaLink="false">http://morphie.tweakblogs.net/blog/3626</guid>
			<pubDate>Sun, 21 Feb 2010 11:33:09 GMT</pubDate>
		</item>
		<item>
			<title>Quality vs. Functionality</title>
			<link>http://morphie.tweakblogs.net/blog/2746/quality-vs-punt-functionality.html</link>
			<description>Building software on a budget is never an ideal situation. You are forced to make a trade-off between quality and functionality. You cannot have both or you will go over budget.

Most of the time, quality is forgotten and the budget is used for more functionality. The problem with this approach is that more functionality does not always helps you get the job done better. Roughly 80% of the time, you are using 20% of the functionality. Another problem is that forgetting quality almost always leads to going over budget, because buggy software needs to be fixed.

You should find and build that 20% core functionality first and make sure it meets your quality criteria. It will keep you within budget and won&#8217;t clutter future release schedules with bug fixing old releases.</description>
			<author>mOrPhie</author>
			<category>2</category>
			<comments>http://morphie.tweakblogs.net/blog/2746/quality-vs-punt-functionality.html#reacties</comments>
			<guid isPermaLink="false">http://morphie.tweakblogs.net/blog/2746</guid>
			<pubDate>Sat, 12 Sep 2009 15:21:16 GMT</pubDate>
		</item>
		<item>
			<title>Don&#39;t forget the process</title>
			<link>http://morphie.tweakblogs.net/blog/2736/dont-forget-the-process.html</link>
			<description>A lot of line-of-business software automates a previously physical process. For example: project planning used to be a process on the white board and paper schedules, but nowadays this is done with software. Planning a project can therefor be done faster, cheaper and better. 

An anti-pattern of line-of-business software development is developing unneeded software. It seems like a great idea and software is used to spawn the new business opportunity. The process and business case are forgotten. The risk here is that the software won&#39;t match your expectations because there is no cohesion between the software and the underlying process.

So, if you want to be safe: set up a business case, define the goals, define the process and be sure it works. Use software to support the process instead of being the process and dodge a lot of frustrations.</description>
			<author>mOrPhie</author>
			<category>2</category>
			<comments>http://morphie.tweakblogs.net/blog/2736/dont-forget-the-process.html#reacties</comments>
			<guid isPermaLink="false">http://morphie.tweakblogs.net/blog/2736</guid>
			<pubDate>Thu, 10 Sep 2009 22:29:12 GMT</pubDate>
		</item>
		<item>
			<title>Problems migrating a VM from Virtual Server to Hyper-V</title>
			<link>http://morphie.tweakblogs.net/blog/1366/problems-migrating-a-vm-from-virtual-server-to-hyper-v.html</link>
			<description>If you are migrating a VM from Virtual Server to a Windows Server 2008 Hyper-V environment, there is a point where you want to install the virtual guest services. It&#39;s like the VM Additions, but with more features. It adds speed, mouse support over RDP-sessions and some management options. 

But, when I wanted to do just that, there was a problem. I got strange errors (Error 32000) that stated that the virtual guest services couldn&#39;t be installed and in the event log of the guest I got errors that stated that a SCSI device &#38;quot;disappeared from the system&#38;quot;. Wait, what?

This is the point I found out that my VM still had the old VM additions of Virtual Server installed. It could be the problem. Maybe there&#39;s some interference between VM additions and virtual guest services. But when you try to remove the VM addtions, you get errors that the guest OS is not a supported OS. That is a strange error, considering that the additions are in fact already installed and that you just want to remove &#39;em. 

Well, I did some Googling and found the solution. The trick was to mount the VHD&#39;s in a Virtual PC VM. This gives you the opportunity to uninstall the VM Additions without errors. The resulted VHD&#39;s can then be remounted on the Hyper-V VM and, hurray(!!), the virtual guest services installed without any problems.</description>
			<author>mOrPhie</author>
			<category>2</category>
			<comments>http://morphie.tweakblogs.net/blog/1366/problems-migrating-a-vm-from-virtual-server-to-hyper-v.html#reacties</comments>
			<guid isPermaLink="false">http://morphie.tweakblogs.net/blog/1366</guid>
			<pubDate>Tue, 10 Feb 2009 11:38:42 GMT</pubDate>
		</item>
		<item>
			<title>TechEd 2008 Developers: An introduction</title>
			<link>http://morphie.tweakblogs.net/blog/1197/teched-2008-developers-an-introduction.html</link>
			<description>This week is Microsoft&#39;s TechEd 2008 Developers in Barcelona and gladly my employer gave me a change to go visit it. My goal was to write a blog post about it every day, but frankly the schedule is tight and Barcelona beautiful. That means that afterwards I don&#39;t go looking for an internet cafe to do my blogging. Instead, me and some of my colleagues go looking for a nice restaurant and go to bed early, because the sessions begin early in the morning again. 

Like I did with the DevDays, I will be addressing some of the sessions I attended, but since my time is limited, I won&#39;t be able to do that this week. Instead, some visual impressions of the past days:

Waiting for the Keynote speech to start


Jason Zander (General Manager Visual Studio) talks about Visual Studio 2010 and what developing for Windows 7 means.


Waiting outside before the sessions begin. In the afternoon It is about 20 degrees celcius in Barcelona.


Barcelona Bonus Photo  The columbus statue near the busy street La Rambla. One of the many beautiful things in Barcelona.
</description>
			<author>mOrPhie</author>
			<category>2</category>
			<comments>http://morphie.tweakblogs.net/blog/1197/teched-2008-developers-an-introduction.html#reacties</comments>
			<guid isPermaLink="false">http://morphie.tweakblogs.net/blog/1197</guid>
			<pubDate>Wed, 12 Nov 2008 14:38:00 GMT</pubDate>
		</item>
		<item>
			<title>Windows 7 - Facts and rumor</title>
			<link>http://morphie.tweakblogs.net/blog/1171/windows-7-facts-and-rumor.html</link>
			<description>The next version of Windows is dubbed &#38;quot;Windows 7&#38;quot;. These are some facts and rumors I came across. Please feel free to add or correct. I&#39;m only human. 

What is MinWin?
Windows 7 will include a new kernel, but MinWin is not that kernel. MinWin is a strip down of Windows to a complete minimum to create a &#38;quot;clear architectural layer&#38;quot;. It is 25megs big and runs on 40megs of memory. It actually is the core of Windows 7. The MinWin layer is part of the Windows 7 code base. See http://www.youtube.com/watch?v=NNsS_0wSfoU. Currently MinWin is referred to as &#38;quot;Windows 7 Core&#38;quot;. The result. No more useless HD-activity. No more strange slowdowns in copying data. Etc...

So what is the kernel?
Well, that remains uncertain. Vista&#39;s version is &#38;quot;Version 6.0&#38;quot;. The screenshots of Windows 7 builds show &#38;quot;Version 6.1&#38;quot; as the version. Not much of a 7 there. According to Eric Traut it should be Version 7.0. But maybe the early versions didn&#39;t include the new kernel, or maybe even the new core yet. We&#39;ll find out soon.

Is it Vista?
Yes it is. Windows blackcomb/longhorn (for those who still remember) was supposed to be a complete new Windows. The .NET runtime would be the core of a lot of applications. Avalon, Indigo. It al became part of the .NET Framework and was purged from the Windows project. Windows 7 is no different. Steve Ballmer said: &#38;quot;It&#39;s Vista, but a whole lot better&#38;quot;. 

Major differences with vista?
&#38;bull; No legacy User Interfaces anymore. Wordpad, Notepad and Paint get the ribbon interface instead of the file-edit-view bar. Even the UI of calculator is rewritten. 
&#38;bull; The UAC interface will be optimized. 
&#38;bull; Windows 7 will include multitouch. Asus is even going to release a multitouch EeePC by the end of 2009. (Woohoo!)
&#38;bull; Speed ups. A major feature (go figure) of Windows 7 will be that it will offer just as much (and more) as Vista, but with betters speeds and less clutter. This is still a bit &#38;quot;rumory&#38;quot;, but the use of a new kernel, a Windows 7 Core and the Vista fail, we can safely say Microsoft wants to clean up a mess.

When?
Next week at the PDC, previews of Windows 7 will be released. According to softpedia, the release will be at July 2009. Sound pretty darn fast to me, but then again: maybe it&#39;s good to forget about vista and start incrementally update a system that is build with a vision and build to last. Who knows?



Final words
Be cautious with optimism. We must learn from the past. Microsoft did promise us a new world of personal computing before and Vista was the result. Gladly, Microsoft is being far more realistic about the future nowadays. http://blogs.msdn.com/e7/ is a nice blog by the Windows 7 team to keep up with their plans.</description>
			<author>mOrPhie</author>
			<category>2</category>
			<comments>http://morphie.tweakblogs.net/blog/1171/windows-7-facts-and-rumor.html#reacties</comments>
			<guid isPermaLink="false">http://morphie.tweakblogs.net/blog/1171</guid>
			<pubDate>Wed, 22 Oct 2008 20:55:06 GMT</pubDate>
		</item>
		<item>
			<title>Apple to Developers: We love you, we listen</title>
			<link>http://morphie.tweakblogs.net/blog/1119/apple-to-developers-we-love-you-we-listen.html</link>
			<description>Just a quick note: In a previous blog post I mentioned that Apple iPhone developers cannot talk about their work, because of an NDA. Well, the great news is: Apple listened to the complaining (well, at least after the top iPhone developers were threatening with leaving to Android ) and drops the NDA. The announcement is done on their iPhone developers program website:We have decided to drop the non-disclosure agreement (NDA) for released iPhone software.

We put the NDA in place because the iPhone OS includes many Apple inventions and innovations that we would like to protect, so that others don&#8217;t steal our work. It has happened before. While we have filed for hundreds of patents on iPhone technology, the NDA added yet another level of protection. We put it in place as one more way to help protect the iPhone from being ripped off by others.

However, the NDA has created too much of a burden on developers, authors and others interested in helping further the iPhone&#8217;s success, so we are dropping it for released software. Developers will receive a new agreement without an NDA covering released software within a week or so. Please note that unreleased software and features will remain under NDA until they are released.

Thanks to everyone who provided us constructive feedback on this matter.</description>
			<author>mOrPhie</author>
			<category></category>
			<comments>http://morphie.tweakblogs.net/blog/1119/apple-to-developers-we-love-you-we-listen.html#reacties</comments>
			<guid isPermaLink="false">http://morphie.tweakblogs.net/blog/1119</guid>
			<pubDate>Wed, 01 Oct 2008 17:38:22 GMT</pubDate>
		</item>
		<item>
			<title>Google Chrome: A web browser by Google</title>
			<link>http://morphie.tweakblogs.net/blog/952/google-chrome-a-web-browser-by-google.html</link>
			<description>Whether Google is &#38;quot;the  chosen company&#38;quot; to bring happiness in software land or is Big Brother itself, we can discuss. But we can all agree on one thing: Google&#39;s business is in the web browser. Nearly all advertisements and other Google activities are build in web technology such as HTML. While they were supporting Firefox as an alternative to Internet Explorer, Google had a little secret, which came out just yesterday: Google Chrome. A web browser by Google. Read all about in their announcement: http://googleblog.blogspo...resh-take-on-browser.html.

A few highlights:WebKit rendering engine. Used in different products such as Apples&#39; Safari. Originally part of the KDE project. Becoming increasingly popular.Tab-sandbox. Each tab runs in a sandbox, which means that if one tab crashes, the others remain operational. Also, if you log in on one tab, you&#39;re not logged in on other tabs. Sessions are tab-scoped.Tabs are more than just a web site instance. They&#39;re a browser instance. Each tab has its own forward &#38;amp; back buttons, its own addressbar and so forth. We saw this design in early beta&#39;s of Internet Explorer 7.V8 JavaScript virtual machine. A JavaScript engine built from scratch. Supposedly to &#38;quot;power the next generation of web applications that aren&#39;t even possible in today&#39;s browsers&#38;quot;. Sounds promising.It is open source (just as much open source as Android??) and the first bits of it will be downloadable today. For now, read this comic released by Google to learn more about the browser.</description>
			<author>mOrPhie</author>
			<category>2</category>
			<comments>http://morphie.tweakblogs.net/blog/952/google-chrome-a-web-browser-by-google.html#reacties</comments>
			<guid isPermaLink="false">http://morphie.tweakblogs.net/blog/952</guid>
			<pubDate>Tue, 02 Sep 2008 08:10:02 GMT</pubDate>
		</item>
		<item>
			<title>The reason why Linux&#39;s desktop market-share is 1%</title>
			<link>http://morphie.tweakblogs.net/blog/917/the-reason-why-linuxs-desktop-market-share-is-1-procent.html</link>
			<description>Typical conversations with a relative about his or her computer which, because of you, runs Ubuntu:

 &#38;quot;Can I have MSN on my Laptop?&#38;quot;
 &#38;quot;You have&#38;quot;
 &#38;quot;No, this is not MSN. On Kates&#39; laptop it looks different.&#38;quot;

 &#38;quot;I can&#39;t get The Sims to install&#38;quot;
&#38;quot;That&#39;s because it won&#39;t run on Ubuntu.&#38;quot;
 &#38;quot;Here. Try TuxRacer&#38;quot;

 &#38;quot;I want to view this DVD, but the player says it cannot open the disk&#38;quot;
 &#38;quot;You have to install the xine_d4d_plugin.&#38;quot;
 &#38;quot;How? I can&#39;t find it in the software database&#38;quot;
 &#38;quot;Just dowload the source, then ./configure, make and make install&#38;quot;
 &#38;quot;......&#38;quot;

 &#38;quot;I bought a webcam, to work with skype, but I cannot get the sound to work during a session&#38;quot;
 &#38;quot;That&#39;s because the sound device is in use by gstreamer. You have to disable gstreamer and turn on OSS emulation for Alsa by installing snd-pcm-oss to get it to work.&#38;quot;
 &#38;quot;Wait.... what?&#38;quot;

Here you go. The reason why Linux&#39;s desktop market-share is 1%.</description>
			<author>mOrPhie</author>
			<category>2</category>
			<comments>http://morphie.tweakblogs.net/blog/917/the-reason-why-linuxs-desktop-market-share-is-1-procent.html#reacties</comments>
			<guid isPermaLink="false">http://morphie.tweakblogs.net/blog/917</guid>
			<pubDate>Mon, 11 Aug 2008 15:15:13 GMT</pubDate>
		</item>
		<item>
			<title>iPhone developers hate the &#34;Fucking NDA&#34;!</title>
			<link>http://morphie.tweakblogs.net/blog/909/iphone-developers-hate-the-fucking-nda!.html</link>
			<description>With the launch of the iPhone 3G, along came the launch of the SDK and the App Store. Since then, the iPhone developers community is growing rapidly and so is their frustration about the position they are in. This is because they had to agree with an NDA, which states it&#39;s prohibited to talk about code, whatsoever. No tutorials, no forums, no code samples. Nothing. 

Now, one of the cool thing about developing applications in general these days, is that we have access to the internet as a resource for help. We can find code samples and forums to help us with our problems and challenges. We can talk about it on IRC channels or write blog posts with tips and tricks. With practically all other platforms, this is not a problem. With the iPhone SDK, it is.

Why would Apple do such a thing? With the SDK being in beta, it made perfect sense. But now the SDK is available to everyone, as long as you agree to the SDK, which is just one click. I understand Apple is a company which has a patent on secrecy, but this is just plain stupid. For a healthy developers ecosystem, you need an online comminity these days.

It&#39;s another example of the dualism of Apple. The iPhone is a great device. The Operating System is outstanding. The platform and SDK is way ahead of it&#39;s time. But still, there is a software lock-in (iTunes), a too controlled doployment channel (App Store), limitations in the software you may distribute and now the NDA.

Developers around the globe are uniting on a website initiated by a developer and twitter-user on this website: http://fuckingnda.com

They&#39;re about to just ignore the NDA and set up an iPhone internet portal. Because this is what Apple once used in their commercials:Here&#39;s to the crazy ones, the misfits, the rebels, the troublemakers, the round pegs in the square holes... the ones who see things differently -- they&#39;re not fond of rules... You can quote them, disagree with them, glorify or vilify them, but the only thing you can&#39;t do is ignore them because they change things... they push the human race forward, and while some may see them as the crazy ones, we see genius, because the ones who are crazy enough to think that they can change the world, are the ones who do.</description>
			<author>mOrPhie</author>
			<category>2</category>
			<comments>http://morphie.tweakblogs.net/blog/909/iphone-developers-hate-the-fucking-nda!.html#reacties</comments>
			<guid isPermaLink="false">http://morphie.tweakblogs.net/blog/909</guid>
			<pubDate>Thu, 07 Aug 2008 09:32:33 GMT</pubDate>
		</item>
		<item>
			<title>C# 4.0 - A peek into the future</title>
			<link>http://morphie.tweakblogs.net/blog/861/c-40-a-peek-into-the-future.html</link>
			<description>Now that C# 3.0 and .NET 3.5 are out, Microsoft is planning the next versions already. One of them is C# 4.0. Channel9 has a nice video, where the C# design team is introduced and talks about what we can expect with the next version of C#. Click to watch (silverlight/moonlight needed).

Highlights:Concurrency - Today we have processors with 4 cores. Within a year we&#39;ll have 8 or 16 cores. In the future we might have 256 cores or even more. Our software isn&#39;t ready for that. Microsoft already introduced us to the Parallel Framework which will extend the existing System.Threading model. But the C# team is going to include some changes too. Not to include a threading system, but to enable threading teams to create better API&#39;s. One of the things they talked about is &#38;quot;Method Purity&#38;quot;, which means that a method does not access or modify anything but local variables for example. This makes threading easier since pure methods can run on its own. For this we&#39;ll get immutability supports, which is more than just lock an object entirely, but providing ways to identify something as immutable, even if some values can be adjusted, for example.Dynamic support - With the DLR and IronPython .NET was introduced to the dynamic world. But interoperability between static and dynamic languages isn&#39;t at a level Microsoft wants it to be. For this, C# will get features to cope with dynamic languages. C# won&#39;t become a dynamic language, but since the new .NET framework will get notion of a dynamic dispatch, static and dynamic .NET can coexists in C# 4.0.There is some more stuff, but those two will most likely become the topics of debate.  To get more details, watch the video.</description>
			<author>mOrPhie</author>
			<category>2</category>
			<comments>http://morphie.tweakblogs.net/blog/861/c-40-a-peek-into-the-future.html#reacties</comments>
			<guid isPermaLink="false">http://morphie.tweakblogs.net/blog/861</guid>
			<pubDate>Tue, 15 Jul 2008 07:48:13 GMT</pubDate>
		</item>
		<item>
			<title>Microsoft DevDays 2008 - An overview</title>
			<link>http://morphie.tweakblogs.net/blog/738/microsoft-devdays-2008-an-overview.html</link>
			<description>As I mentioned in my blogpost about DevDays 2007, I was hoping to go to the next edition of the DevDays. Which is 2008. My current employer gave me the opportunity to go both days, because there were sessions on both days that I wanted to attend. And, as a bonus, those sessions were useful as well. A new part of the DevDays this year was the &#38;quot;Geek Night&#38;quot;. No..... not a greek night. I heard that joke way to often the past days. So, that means no sitaki and throwing plates all over the place, but actually very interesting sessions and a bit of fun. The sessions were the &#38;quot;less serious&#38;quot; ones. Sessions about programming without an actual use, but because it&#39;s fun to do. Robots, games or rockets with telemetrics based on .NET for example. Next to the geek-sessions, there was a Guitar Hero competition. Which, of course, was a lot of fun and brought in a lot of &#38;quot;geek&#38;quot; in the &#38;quot;night&#38;quot;.


Guitar Hero Contest

In this post I want to summerize my two days on the DevDays. So, I cannot go into every session, but I will go briefly over the ones that I attented. Some of them interested me enough to discover the technology some more and for them I will write different blog posts. For now, just a few lines to illustrate the topic and my view on the session. Since this blog post will become a big one, I put a header above every session-description, so you can choose whether to read it. No problem, company service. 


Day 1 - Keynote &#38;quot;Why software sucks&#38;quot; - David Platt
I didn&#39;t know David Platt until I got the program for the DevDays, but he seems to be big in the usablity-world. Why is that? Because he wrote a book called &#38;quot;Why software sucks, and what you can do about it&#38;quot;. The book argues that the difference between a good and a bad program is the user interface and that way too few actually think about the user interface as part of the design process. 

To illustrate it, he used a number of bad user interface examples. One I particularly liked, was a backup application, which at first startup presents the user with a question whether he wants to use the &#38;quot;normal&#38;quot; or the &#38;quot;easy&#38;quot; layout. So the normal layout isn&#39;t easy? What are you trying to say to your users? The easy layout isn&#39;t normal? If 9 out of 10 people using your applications aren&#39;t computer-experts, then they probably want to use the easy layout. So, he argues, make easy the default and don&#39;t ask for it. In an options screen, add an option for advanced layout. Great talk, and a lot of truth in it. 


Day 1 - Silverlight 2.0 - Daniel Moth
Daniel Moth is a personal favorite. I&#39;m a reader of his blog and I&#39;ve seen him last year. This year he did three sessions, but differently from last year, this year he had two sessions in the auditorium, which basically said: People liked your talks, go do it in a bigger room. Daniel Moth is currently a .NET evangelist based in the UK, but he will be joining the System.Threading team in Redmond in the near future.

His first session was about Silverlight 2.0. Silverlight is a flashlike web technology, which enables developers to write client applications with a web-context within the browser. A big difference with Flash is that you get .NET and a subset of the .NET Framework to write the code. For me, that is a big deal, because I&#39;m not really into ActionScript and .NET is my primary development-environment for the past 7,5 years now. The session was about an overview of the possibilities, a quick look into writing code and the process of designing the user interface apart from the business logic. There is more on the website of Daniel Moth, which can be found on http://www.danielmoth.com/Blog.


Day 1 - Understanding the ADO.NET Entity Framework - Mike Taulty
Mike Taulty is also an evangelist (seems like a fun job actually). His primary focus is on .NET 3.5 data stuff like LINQ to XML or SQL and the ADO.NET Entity Framework. So, it is not a coincidence that he was the speaker for this session. The session illustrated the difference between the ADO.NET Entity Framework and LINQ to SQL, which, at first, seem to have copy-pasted some project goals from one and another. It also illustrated the components the ADO.NET Entity Framework consists of and where it can be used for.


Mike Taulty Speaking

The framework is basically a abstraction on top of the data model. The data model can be anything. An XML file, a SQL Server database, an oracle database, a web service provider for amazon.com. You name it. The abstraction is called the &#38;quot;conceptual&#38;quot; model and looks like an ERD diagram. A database diagram in which many to many relationships or inheritence is possible. The objects, or &#38;quot;entities&#38;quot;, in the model can be accessed directly. Instantiate, edit and saving to a database is like working with objects. It is, as you have guest, just another OR/Mapper. But, as Microsoft think themselfs, it has more to offer.

I&#39;m very divided on this one. It think the technology is a very obvious thing to do, since OR/Mapping is here and has been here for many years now. Another obvious thing is to treat the model as objects. So inheritence and many to many relationships are possible. But also that, is already available through other OR/Mappers like LLBLGen. Very good talk nonetheless and I will be addressing the ADO.NET Entity Framework in a different blog post, because there is a lot to say about it. Until then, use Mike Taulty&#39;s blog as a reference.


Day 1 - Using WPF for good and not evil - David Platt
This was another talk about bad user interface design. It was an extension to the keynote talk. I got the idea that most of it, was already addressed in the keynote talk. I was hoping to see some more WPF stuff, instead of this talk. David Platt is a fun speaker and his book might be very useful, but I could&#39;ve probably used my time better than on this session.


Day 1 - Five cool things to know for Smart Client Development - Daniel Moth
One reason I think Daniel Moth is a good speaker, is because his sessions are 1) organized, 2) useful and very practical and 3) you don&#39;t have to write down notes.... everything he says is or will become available on his blog. This concept is maximized in this session, since even the title tells something more about the contents. &#38;quot;5 cool things&#38;quot;. The speaker chose 5 things, which in his opinion were cool things other developers should know about. 

The five topics were: &#38;quot;WPF and WinForms interoperability&#38;quot;, &#38;quot;using the Managed AddIn framework&#38;quot;, &#38;quot;Client Application Services&#38;quot;, &#38;quot;ADO.NET Sync Services&#38;quot; and &#38;quot;Office Integration withy VSTO for 2008&#38;quot;. He argues that Smart Clients &#38;quot;use new visual techniques&#38;quot;, &#38;quot;provide an addin framework&#38;quot;, &#38;quot;add online services&#38;quot;, &#38;quot;make data available if online services die&#38;quot; and &#38;quot;integrate with office, the second most sold application&#38;quot;. I could have a discussion about the last one, but the first four are definitely important.


Day 2 - A tour of LINQ to XML - Mike Taulty
One of the first lines of his session were: &#38;quot;Do we really need another XML API? I think we do&#38;quot;. It brought me high expectations. I recently did some playing around with the LINQ to XML API, but I haven&#39;t used it for real yet. The last time I needed to do XML, I automatically used the XmlDocument API, without even considering LINQ, because I&#39;m so used to the &#38;quot;old&#38;quot; API.

He instantly proved his words with an example. Creating an XML document with some nodes and attributes in the old XML API with like... 40 lines of code. With LINQ to SQL, the same thing was 8 lines of code, were the first 6 lines, were actually one LINQ query. He went on with some examples including namespaces and validating of documents with DTD&#39;s or XSD&#39;s. He also mentioned that there will be an API for XSD with LINQ in the near future. Nice useful talk. 


Day 2 - Is LINQ to SQL your Data Access Layer? - Anko Duizer
Anko Duizer is a trainer with Class-A in the Netherlands. Class-A is one of the best .NET training partners in the Netherlands. Anko have done talks for DevDays every year and every year Data Access was the topic. This year, he talks about LINQ to SQL being your DAL. 

He had to examples: A two-tier application where LINQ is bounded directly to the controls in a WinForm. And another example where LINQ to SQL is used in a web service environment, where serialization of objects is needed, because of the use of SOAP. What the presentation lacked, was a &#38;quot;meet me in the middle&#38;quot; example. I&#39;ve done some applications, where the architecture was three-tier, but the business layer was only in a different assembly and not on another server. The session therefor resulted in some assumptions around the use of LINQ to SQL in a three-tier, of which I think are incorrect. 

For example: &#38;quot;LINQ to SQL is your DAL&#38;quot;. I think LINQ to SQL is part Data Access and part Business Logic. Another one was &#38;quot;every new filter of a collection, results in a new method&#38;quot;. I&#39;ve included in my last business layer a function (for example) &#38;quot;LoadCustomersByExpression&#38;quot;, which has a parameter of the type Expression&#38;lt;Func&#38;lt;Customer, bool&#38;gt;&#38;gt;. You can provide any lambda expression. Yes, this isn&#39;t possible in a SOAP environment, but it is possible to pass lambda expressions as strings. Leading to a way to filter your data. 


Day 2 - Understanding ADO.NET Data Services - Mike Taulty
The ADO.NET Data Services are a new variant for the service layer some of us wrote or generated plumbing code for every time a SOA-application comes around.  While it doesn&#39;t replace the Business Layer, it adds some manageability and extensibility to getting data services online. 

The nice thing about it, is that everyting is RESTful and it implements most .NET 3.5 technologies to get integration. For example. I can have a database. Create a service for it. Then in my business logic I create a proxy for this service. The proxy implements IQuerable. Which means that I can do LINQ queries against it. The proxy translates the query into a REST-request (GET, POST, PUT, DELETE) and the service handles the request server side. No need for serialization of the service layer objects. All this is done within ADO.NET Data service using contracts.

It was a nice talk, but I should take some more time to understand the ins and outs about this one. For example: integration with biztalk. I will look into this, but don&#39;t expect a blog post about it very soon.


Day 2 - Parallel Extensions to the .NET Framework - Daniel Moth
Not many developers are aware enough of the next big thing. The next big thing is parallel processing. Nowadays almost all computers sold have a dual or even quad core processor in it. Within 10 years, the amount of cores is expected to be around 80. That is a lot of cores. The problem is that current .NET application mostly don&#39;t scale with the number of processors. That means that most applications only use one core at a time. Pitty, if the number of cores is 4. 

The Parallel Extensions are extensions to make life easier for those who want core-scalable applications. The performance win is drastic in some scenarios, so I think that winthin 5 years, all applications use the cores, no matter what. Becoming familiar with parallel programming now gives you a head start, so now is the time to invest some time in it. The talk from Daniel Moth was an introduction to this framework, which is in CTP-state right now. It will most likely come out somewhere in 2009. 


Daniel Moth Speaking

Interesting part of the Parallel Extensions is that it gets coordination based on the same routines as the Concurrency and Coordination Runtime (CCR), which is used in the Microsoft Robotics Developers Studio. The team worked closely with the CCR team, to learn from their research. I wrote an article (dutch) in the .NET Magazine (pdf, #19, dec 2007) addressing the CCR. I will be watching the Parallel Extensions very closely and I&#39;ll probably will write a different blog post for it. 


Day 2 - Leveraging C# 3.0 and LINQ - Krishnan Subramanian
Krishnan Subramanian is a technical consultant for Microsoft Netherlands. I didn&#39;t like his talk. It was unstructured and he made some assumptions I didn&#39;t agree with. 

The talk was about the new language enhancements in C# 3.0 and LINQ and how you can use those technologies for faster and better development. I was already pretty familiar with C# 3.0, so there wasn&#39;t anything new in it. He discussed type inference, anonymous types, lambda expressions, extension methods and such. 

One &#38;quot;funny&#38;quot; thing was that he mentioned &#38;quot;anonymous types&#38;quot;. He asked if someone used them. I raised my hand. I think about 10 other people (of 600 attendees) did too. He asked if someone found them useless. I raised my hand. I was about the only one I think to raise my hand. Then he went on saying if &#38;quot;we knew that anonymous types are bindable&#38;quot; and he showed an example of one-one-way-binding of an anonymous type in a datagrid. He didn&#39;t show us two-way-binding and didn&#39;t address the other issues I mention in my blog about anonymous types. Since I respect every speaker, I kept my mouth shut, but I still think anonymous types are only really useful for method-local logic or demo-purposes.


Some final words
I wanted to attend some more sessions, but I&#39;m human, so I cannot divide myself in two. For me, DevDays 2008 was a success and gives me a lot to think about and play with in the coming weeks. Not to mention playing with all those goodies I got. A USB keyboard vacuum cleaner. 5 t-shirts. A lot of mints. Stress balls. And some more. 

I also attended the Geek Night, but I didn&#39;t address any of the sessions. This is because of the fact that they were fun, but less interesting to blog about. The most fun presentation came from Rob Miles. His talk was hilarious and fun. He has this great website called Verry Silly Games. You should visit it sometimes. (Don&#39;t thank me Rob, just sent me one of your t-shirts)


Geek Night pass

Looking forward to next year.

If you attended some other sessions, please use the comment section to add an overview of those sessions if you want to. I (and other readers) could be interested in a brief view on more topics. </description>
			<author>mOrPhie</author>
			<category>2</category>
			<comments>http://morphie.tweakblogs.net/blog/738/microsoft-devdays-2008-an-overview.html#reacties</comments>
			<guid isPermaLink="false">http://morphie.tweakblogs.net/blog/738</guid>
			<pubDate>Mon, 26 May 2008 18:49:00 GMT</pubDate>
		</item>
		<item>
			<title>Anonymous types? A good thing?</title>
			<link>http://morphie.tweakblogs.net/blog/630/anonymous-types-a-good-thing.html</link>
			<description>C# 3.0 comes with some new language features, such as Anonymous Types and Type Inference, which allow me to write code like this:

C#:12345678var&#38;nbsp;o&#38;nbsp;=&#38;nbsp;new
{
&#38;nbsp;&#38;nbsp;&#38;nbsp;&#38;nbsp;Name&#38;nbsp;=&#38;nbsp;&#38;quot;Michael&#38;quot;,
&#38;nbsp;&#38;nbsp;&#38;nbsp;&#38;nbsp;Age&#38;nbsp;=&#38;nbsp;30
};

Console.WriteLine(o.Name);
Console.WriteLine(o.Age);

The new-structure is a way of creating an anonymous type. The type is created implicitly in compile-time. The var is type inference. Since the compiler knows the type of the structure behind it (anonymous or not), it can implicitly infer the type, so typing var should be enough. Basically it&#39;s a reduction of syntax. It&#39;s not a variant. Once it&#39;s got it&#39;s type, you cannot override that.

But when do I want to implicitly let the compiler create a type, when I can have all the control of creating my own? In LINQ, it is a way of minimizing the object without having to create a new type. Like this:

C#:1234567var&#38;nbsp;o&#38;nbsp;=&#38;nbsp;from&#38;nbsp;person&#38;nbsp;in&#38;nbsp;persons
&#38;nbsp;&#38;nbsp;&#38;nbsp;&#38;nbsp;&#38;nbsp;&#38;nbsp;&#38;nbsp;&#38;nbsp;where&#38;nbsp;person.Age&#38;nbsp;&#38;gt;&#38;nbsp;20
&#38;nbsp;&#38;nbsp;&#38;nbsp;&#38;nbsp;&#38;nbsp;&#38;nbsp;&#38;nbsp;&#38;nbsp;select&#38;nbsp;new
&#38;nbsp;&#38;nbsp;&#38;nbsp;&#38;nbsp;&#38;nbsp;&#38;nbsp;&#38;nbsp;&#38;nbsp;{
&#38;nbsp;&#38;nbsp;&#38;nbsp;&#38;nbsp;&#38;nbsp;&#38;nbsp;&#38;nbsp;&#38;nbsp;&#38;nbsp;&#38;nbsp;&#38;nbsp;&#38;nbsp;Name&#38;nbsp;=&#38;nbsp;person.Name,
&#38;nbsp;&#38;nbsp;&#38;nbsp;&#38;nbsp;&#38;nbsp;&#38;nbsp;&#38;nbsp;&#38;nbsp;&#38;nbsp;&#38;nbsp;&#38;nbsp;&#38;nbsp;Age&#38;nbsp;=&#38;nbsp;person.Age
&#38;nbsp;&#38;nbsp;&#38;nbsp;&#38;nbsp;&#38;nbsp;&#38;nbsp;&#38;nbsp;&#38;nbsp;};

Now &#38;quot;o&#38;quot; only contains (a collection of) Name and Age instead of the complete object. But what would I want to do with it?Binding it to a control would be good for viewing, but it isn&#39;t two-way bounded to a data source, so committing changes to the database, like LINQ to SQL (NHibernate, LLBLGen) does, isn&#39;t possible.Using it as a small type for use in web services isn&#39;t possible. SOAP needs the return types to be explicit, so that the consumer can act upon it.You can&#39;t write domain-specific code for it. When that wish becomes reality, you still need to create your own class.I think it&#39;s less readable. Explicit types are defined in one place and used in another. Where anonymous types are defined in place... or worse: all over the place. It ignores the use of an object model.Ok, for demo-purposes it is easy to just print out the values to the console. And I could think of scenario&#39;s where I want to take data and put into an XML document or other sorts of structured data sources (for migration perhaps?). But is really that much work to do that explicitly and get readability?

Remember, I&#39;m not talking about object initializers. I like object initializers very much and result in much nicer and cleaner code. I&#39;m just not sure if Anonymous Types is going to bring more advantages or more pain.

If you worked with anonymous types with success, I&#39;d like to here from you. I&#39;m skeptical, but always open minded. </description>
			<author>mOrPhie</author>
			<category>2</category>
			<comments>http://morphie.tweakblogs.net/blog/630/anonymous-types-a-good-thing.html#reacties</comments>
			<guid isPermaLink="false">http://morphie.tweakblogs.net/blog/630</guid>
			<pubDate>Tue, 08 Apr 2008 08:57:41 GMT</pubDate>
		</item>
		<item>
			<title>Interesting links - April 3rd</title>
			<link>http://morphie.tweakblogs.net/blog/621/interesting-links-april-3rd.html</link>
			<description>When doing my job or just browsing the web in search for some brain food for the tech oriented geek, I sometimes come across some links I find interesting and then bookmark for later review. On some blogs (Scott Guthries&#39; blog for example) it is common to post some links once a month. I mostly find these blog posts interesting so I decided to do the same for you readers. Maybe some links interest you too.

Teched 2007 Linq to SQL Presentation
Linq, part of the .NET Framework 3.5 and the latest language enhancements to C# and VB.NET, is a way of dealing with structured data. One implementation is Linq to SQL, which is generally an O/R-mapper for use with Linq. This presentation provide you with the basics.

Google Code University
This is a collection of video&#39;s, sessions, presentations and tutorials written by or for Google. Examples are C++ threading, Python 3000 by Guido Van Rossum, Java programming, web technologies like AJAX, etc... Very interesting.

Django on IronPython
Python is a interpreted programming language. IronPython is the .NET implemation. Django is a web application framework for Python. No Django runs on IronPython, which means you get the benifits of Python, .NET and Django in one package. Nice read, didn&#39;t try it yet though.

Singularity. An experimental operating system in C#
Microsoft has a research-project which aims on creating an operating system using the C# programming language. For this, they used custom compilers and a custom runtime to compile C# code directly to x86. Very interesting. Includes some documents. If you are into OS-programming, it is a must-read. 

How to recognize a good programmer
Great read if you are a programmer yourself. A must read if you are about to hire programmers. Some points I might argue with, but still it covers most of the aspects of a good programmer.

BONUS: Direct Note Access - Splitting audio compositions in single notes
Not directly tech, but definitely tech-related. If you are into audio-programming, this thing is like water burning or pigs flying. I&#39;m very interested in how this holds in some of my own recording-cases, but still, it looks very cool.</description>
			<author>mOrPhie</author>
			<category>2</category>
			<comments>http://morphie.tweakblogs.net/blog/621/interesting-links-april-3rd.html#reacties</comments>
			<guid isPermaLink="false">http://morphie.tweakblogs.net/blog/621</guid>
			<pubDate>Thu, 03 Apr 2008 09:07:28 GMT</pubDate>
		</item>
		<item>
			<title>Virtual PC &#34;erratic mouse&#34; problem with some intel-chipsets</title>
			<link>http://morphie.tweakblogs.net/blog/575/virtual-pc-erratic-mouse-problem-with-some-intel-chipsets.html</link>
			<description>For my work I got a new Dell Vostro 1700. It&#39;s a great machine. 2 gigs of memory. A 7200RPM sata disc. Core 2 Duo CPU. 1920x1200 resolution. Pretty fast for a notebook. Fast enough to run me a virtual instance of Windows Server 2003 right? Well that seemed to be a bit of a problem.

I created a completely clean install of Windows Server 2003 R2. Installed all updates and installed the Virtual Machine additions. But still I seemed to have a &#38;quot;erratic mouse&#38;quot;. And not only the mouse, the whole system seemed to suffer from that problem. It was as if the vritual CPU could not synchronize with the host CPU. 

After investigation I came across this blog post. It provides this workaround:Stop running Virtual PCOpen notepadOpen %appdata%\Microsoft\Virtual PC\options.xmlLocate or create the &#38;lt;virtual_machines&#38;gt; section of the file and add this key:
      &#38;lt;enable_idle_thread type=&#38;quot;boolean&#38;quot;&#38;gt;true&#38;lt;/enable_idle_thread&#38;gt;Save the file and exit notepadStart Virtual PCIt worked on my notebook. It is a very dirty fix, because it simulates an idle thread to sync the CPU cycles, but still, it worked.

The problem I experienced, had something to do with a specific version of &#38;quot;Speedstep&#38;quot; which is used in some intel centrino chipsets. It&#39;s actually a Virtual PC problem, since VMWare and Parallels didn&#39;t seem to have the problem. I don&#39;t have a complete list of which chipsets have the problem, but when you have the problem, and you have a centrino notebook, try this fix.</description>
			<author>mOrPhie</author>
			<category>2</category>
			<comments>http://morphie.tweakblogs.net/blog/575/virtual-pc-erratic-mouse-problem-with-some-intel-chipsets.html#reacties</comments>
			<guid isPermaLink="false">http://morphie.tweakblogs.net/blog/575</guid>
			<pubDate>Wed, 12 Mar 2008 15:05:41 GMT</pubDate>
		</item>
		<item>
			<title>Boolean parameters or Enums?</title>
			<link>http://morphie.tweakblogs.net/blog/573/boolean-parameters-or-enums.html</link>
			<description>We all did it: adding a parameter like &#8220;bool useCachedConnection&#8221; to a method. When using the method it will look like this:

C#:1DoSomething(true);

While the method works, one day your collegue (or yourself) will come across this function and needs to digg into the definition to understand what the boolean implies, or worse, needs to adjust the method interface due to the fact that there are three options, instead of using or not using the cached connections. I&#8217;ve seen it several times and it saves a hell of a lot time if boolean parameters were to be avoided. A better way to do it:

C#:123456789101112enum&#38;nbsp;ConnectionOptions
{
&#38;nbsp;&#38;nbsp;&#38;nbsp;&#38;nbsp;CachedConnection,
&#38;nbsp;&#38;nbsp;&#38;nbsp;&#38;nbsp;NewConnection
}

void&#38;nbsp;DoSomething(ConnectionOptions&#38;nbsp;options)
{
&#38;nbsp;&#38;nbsp;&#38;nbsp;&#38;nbsp;//
}

DoSomething(ConnectionOptions.CachedConnection);

Now it&#8217;s possible to add options without having to change the methods&#8217; interface. After a while you&#8217;ll have a nice collection of enums which can be reused by other projects. And don&#8217;t forget that the .NET Framework holds his own collection of enums which can be reused. When working with languages like T-SQL you don&#8217;t have a choice, but with .NET you have. Please make use of it. It&#8217;ll brighten up my day&#8230;.. and yours. ;-)</description>
			<author>mOrPhie</author>
			<category>2</category>
			<comments>http://morphie.tweakblogs.net/blog/573/boolean-parameters-or-enums.html#reacties</comments>
			<guid isPermaLink="false">http://morphie.tweakblogs.net/blog/573</guid>
			<pubDate>Wed, 12 Mar 2008 14:44:02 GMT</pubDate>
		</item>
		<item>
			<title>.NET Framework 3.5 will be released with source code</title>
			<link>http://morphie.tweakblogs.net/blog/574/net-framework-35-will-be-released-with-source-code.html</link>
			<description>As anyone can read on Scott&#8217;s page Microsoft decided to release the source code (with comments) of the .NET Framework (not the CLR as some blogs might make you think), beginning with V3.5. This is a big thing. But I want to tell you why.

There are several disassembly tools available for .NET which allow you to disassambly an assembly into source code. When you want to see what happens in System.Threading, just disassemble. But, it won&#8217;t provide you with debugging symbols. The result is you need to read it line by line when you want to figure something out. Hooray for Scott, because this release won&#8217;t just include the source code, but also debugging symbols, which are dynamically (down)loaded from the MSDN in VS 2008. Hence, the big thing. Great stuff. :-)</description>
			<author>mOrPhie</author>
			<category>2</category>
			<comments>http://morphie.tweakblogs.net/blog/574/net-framework-35-will-be-released-with-source-code.html#reacties</comments>
			<guid isPermaLink="false">http://morphie.tweakblogs.net/blog/574</guid>
			<pubDate>Thu, 04 Oct 2007 13:44:00 GMT</pubDate>
		</item>
		<item>
			<title>iPhone problems</title>
			<link>http://morphie.tweakblogs.net/blog/572/iphone-problems.html</link>
			<description>I have a problem. And it is not the iPhone itself. It&#8217;s the fact that I like the device. I really think the iPhone is a huge leap forward in mobile devices. It utilizes a full operating system with accellerated graphics and sound, an indexed file system, based on unix. It runs great software and the hardware features are cool too. A accellerometer, a proximity sensor and multitouch display. It is a piece of art. Apple really made a nice phone. Ok, it lacks GPS, 3G and the ability to run Java or other 3rth party software, but that is something that will become possible in later versions.

&#8220;So, what&#8217;s the problem?&#8221;, you ask. Well, if I tell people I like the iPhone, I instantanuously become a &#8220;brainwashed Apple fanboy bowing down for Steve Jobs&#8221;. But that isn&#8217;t the case. I like the iPhone in a professional kind of way. I love software when it&#8217;s good. And apart from security (not really my domain) I can tell this is great software. It breaks us away from static mobile phones. It really is helpfull, more intuitive and more fun to use. But that doesn&#8217;t matter to the Apple basher. It is &#8220;cool&#8221; to bash Apple fans and telling them over and over again what the phone lacks.

I don&#8217;t care. I like the phone. But please stop the speeches about how I don&#8217;t have my own opinion! I like the phone, because I like it. Not because it&#8217;s a hype.</description>
			<author>mOrPhie</author>
			<category>2</category>
			<comments>http://morphie.tweakblogs.net/blog/572/iphone-problems.html#reacties</comments>
			<guid isPermaLink="false">http://morphie.tweakblogs.net/blog/572</guid>
			<pubDate>Sun, 08 Jul 2007 13:44:00 GMT</pubDate>
		</item>
		<item>
			<title>Microsoft DevDays 2007</title>
			<link>http://morphie.tweakblogs.net/blog/571/microsoft-devdays-2007.html</link>
			<description>My graduation-company offered me to visit both days of the Microsoft DevDays in the Netherlands in exchange for giving some demos of my graduation-project. This gave me the opportunity to attend some sessions and that was a lot of fun. More than I expected, because I thought it would be a giant Microsoft commercial. Lukily, that wasn&#8217;t the case.

I attended the sessions by Scott Guthrie about silverlight. My first thought on this is: why oh why are we introducing yet another &#8220;standard&#8221;. Ok, there will be a plugin available for Safari and Firefox, yet Linux or mobile users won&#8217;t be able to browse the silverlight websites. I think these kind of developments are nice in a technology-geek kind of way, but it isn&#8217;t the most smart one, considering the compatibility problems we have with flash (or for that matter: HTML/CSS).

I also attended the sessions about Vista Development for Managed Code by Daniel Moth. That guy can talk! Going fast, but not too fast and talking about stuff that matters! I even got to know some features I didn&#8217;t know they existed at all. For example &#38;lt;a href=&#8221;https://winqual.microsoft.com/&#8221;&#38;gt;WinQual&#38;lt;/a&#38;gt;. Ever had those weird boxes telling that an error had occured and it asks you to send information over to Microsoft? This is WinQual in action and not an imaginary bug server at Microsoft. It is actually very useful for developers. Go read about it. It is worth it.

I hope I can attend DevDays next year, but we&#8217;ll see. </description>
			<author>mOrPhie</author>
			<category>2</category>
			<comments>http://morphie.tweakblogs.net/blog/571/microsoft-devdays-2007.html#reacties</comments>
			<guid isPermaLink="false">http://morphie.tweakblogs.net/blog/571</guid>
			<pubDate>Wed, 20 Jun 2007 13:41:00 GMT</pubDate>
		</item>
		<item>
			<title>FizzBuzz</title>
			<link>http://morphie.tweakblogs.net/blog/570/fizzbuzz.html</link>
			<description>FizzBuzz is a common example to test whether someone is competent in programming. The assignment is to write a program which prints 1 to 100. For every multiple of 3 print &#8216;Fizz&#8217; and for every multiple of 5 print &#8216;Buzz&#8217;. For every multiple of 3 _and_ 5 print &#8216;FizzBuzz&#8217;.

The trick is that most of the time only competent programmers know of the &#8220;modulo&#8221; operator (% in C, C++, C# and others). Silly thing is: it&#8217;s usually true! Why? No one knows&#8230;

Competent programmers should be able to com up with this under 5 minutes:

C#:12345678910111213141516171819for&#38;nbsp;(int&#38;nbsp;i&#38;nbsp;=&#38;nbsp;1;&#38;nbsp;i&#38;nbsp;&#38;lt;=&#38;nbsp;100;&#38;nbsp;i++)
{
&#38;nbsp;&#38;nbsp;&#38;nbsp;&#38;nbsp;if&#38;nbsp;(i&#38;nbsp;%&#38;nbsp;3&#38;nbsp;==&#38;nbsp;0&#38;nbsp;&#38;amp;&#38;amp;&#38;nbsp;i&#38;nbsp;%&#38;nbsp;5&#38;nbsp;==&#38;nbsp;0)
&#38;nbsp;&#38;nbsp;&#38;nbsp;&#38;nbsp;{
&#38;nbsp;&#38;nbsp;&#38;nbsp;&#38;nbsp;&#38;nbsp;&#38;nbsp;&#38;nbsp;&#38;nbsp;Console.WriteLine(&#38;quot;FizBuz&#38;quot;);
&#38;nbsp;&#38;nbsp;&#38;nbsp;&#38;nbsp;}
&#38;nbsp;&#38;nbsp;&#38;nbsp;&#38;nbsp;else&#38;nbsp;if&#38;nbsp;(i&#38;nbsp;%&#38;nbsp;3&#38;nbsp;==&#38;nbsp;0)&#38;nbsp;//&#38;nbsp;&#38;amp;&#38;amp;&#38;nbsp;i&#38;nbsp;%&#38;nbsp;5&#38;nbsp;!=&#38;nbsp;0
&#38;nbsp;&#38;nbsp;&#38;nbsp;&#38;nbsp;{
&#38;nbsp;&#38;nbsp;&#38;nbsp;&#38;nbsp;&#38;nbsp;&#38;nbsp;&#38;nbsp;&#38;nbsp;Console.WriteLine(&#38;quot;Fiz&#38;quot;);
&#38;nbsp;&#38;nbsp;&#38;nbsp;&#38;nbsp;}
&#38;nbsp;&#38;nbsp;&#38;nbsp;&#38;nbsp;else&#38;nbsp;if&#38;nbsp;(i&#38;nbsp;%&#38;nbsp;5&#38;nbsp;==&#38;nbsp;0)&#38;nbsp;//&#38;nbsp;&#38;amp;&#38;amp;&#38;nbsp;i&#38;nbsp;%&#38;nbsp;3&#38;nbsp;!=&#38;nbsp;0
&#38;nbsp;&#38;nbsp;&#38;nbsp;&#38;nbsp;{
&#38;nbsp;&#38;nbsp;&#38;nbsp;&#38;nbsp;&#38;nbsp;&#38;nbsp;&#38;nbsp;&#38;nbsp;Console.WriteLine(&#38;quot;Buz&#38;quot;);
&#38;nbsp;&#38;nbsp;&#38;nbsp;&#38;nbsp;}
&#38;nbsp;&#38;nbsp;&#38;nbsp;&#38;nbsp;else
&#38;nbsp;&#38;nbsp;&#38;nbsp;&#38;nbsp;{
&#38;nbsp;&#38;nbsp;&#38;nbsp;&#38;nbsp;&#38;nbsp;&#38;nbsp;&#38;nbsp;&#38;nbsp;Console.WriteLine(i);
&#38;nbsp;&#38;nbsp;&#38;nbsp;&#38;nbsp;}
}

Now don&#8217;t rely on this example. There are other tests out there. Still, it&#8217;s quite funny to see your colleagues struggle with something so simple and finally bang their head against the table if you tell them the trick.</description>
			<author>mOrPhie</author>
			<category>2</category>
			<comments>http://morphie.tweakblogs.net/blog/570/fizzbuzz.html#reacties</comments>
			<guid isPermaLink="false">http://morphie.tweakblogs.net/blog/570</guid>
			<pubDate>Wed, 20 Jun 2007 13:41:00 GMT</pubDate>
		</item>
	</channel>
</rss>