<?xml version="1.0" encoding="utf-8"?>
<!-- generator="wordpress/2.2.1" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>

<channel>
	<title>Digiwar - the Yeep-blog</title>
	<link>http://www.digiwar.com</link>
	<description></description>
	<pubDate>Tue, 06 Mar 2007 23:38:46 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.2.1</generator>
	<language>en</language>
			<item>
		<title>Vista software incompatibility</title>
		<link>http://www.digiwar.com/archives/2007/03/07/171/</link>
		<comments>http://www.digiwar.com/archives/2007/03/07/171/#comments</comments>
		<pubDate>Tue, 06 Mar 2007 23:38:46 +0000</pubDate>
		<dc:creator>Yeep</dc:creator>
		
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.digiwar.com/archives/2007/03/07/171/</guid>
		<description><![CDATA[I&#8217;ve been running Vista ever since it came out on MSDN and I&#8217;m pretty happy with it. There were two things that bothered me more then anything, The first one is Rundll32 crashes when I have a folder contianing videos in thumbnail mode and apparent random crashes of Explorer.exe.
Unable to find a good answer in [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been running Vista ever since it came out on MSDN and I&#8217;m pretty happy with it. There were two things that bothered me more then anything, The first one is Rundll32 crashes when I have a folder contianing videos in thumbnail mode and apparent random crashes of Explorer.exe.</p>
<p>Unable to find a good answer in the event log and getting around two crashes an hour, I decided to take matters into my own hands.</p>
<p>I&#8217;m a software developer, but thruth be told, I haven&#8217;t touched anything else then C# in a few years now and I&#8217;ve never debugged programs I didn&#8217;t have the source code of, but having learned some tricks at last november&#8217;s TechEd, I installed the <a target="_blank" href="http://www.microsoft.com/whdc/devtools/debugging/default.mspx">Debugging Tools for Windows</a> and set WinDBG to be the JIT Debugger. Then I waited for a crash. And I didn&#8217;t have to wait long.</p>
<p>The first crash was explorer.exe. I didn&#8217;t even to debug it. I noticed it crashed inside CoFreeUnusedLibrariesEx call, which means it&#8217;s a refcounting issue (at least that&#8217;s what I think that&#8217;s usually the problem in a case like this), and I saw that the faulting module was heshell.dll, which is part of the <a target="_blank" href="http://www.hhdsoftware.com/Family/hex-editor.html">free hex editor</a> I installed a few weeks before. I just uninstalled the program and I haven&#8217;t see the crash since.</p>
<p>Then I waited for the thumbnail crash. And when it happened, it happened a lot. WinDBG must&#8217;ve popped up around 20 times for just one folder. In all cases the faulting module was iac25_32.ax, which is an Intel Indeo Audio codec. I figured it must be part of the K-Lite codec pack I have installed. So I removed it, then reinstalled it, without installing any Indeo codec. Unfortunatly it was still there. Then I tried removing it by hand, but it was protected. So I had to take ownership of the file, edit the security settings to allow me to delete it and then I was, finally, able to delete it.<br />
So far I haven&#8217;t seen a crash.</p>
<p>I love Vista and I love WinDBG <img src='http://www.digiwar.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> <br/><br/><small>[Last played: Devil Driver - Revelation Machine]</small></p>
]]></content:encoded>
			<wfw:commentRss>http://www.digiwar.com/archives/2007/03/07/171/feed/</wfw:commentRss>
		</item>
		<item>
		<title>It&#8217;s been a while</title>
		<link>http://www.digiwar.com/archives/2007/02/02/170/</link>
		<comments>http://www.digiwar.com/archives/2007/02/02/170/#comments</comments>
		<pubDate>Fri, 02 Feb 2007 02:55:59 +0000</pubDate>
		<dc:creator>Yeep</dc:creator>
		
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.digiwar.com/archives/2007/02/02/170/</guid>
		<description><![CDATA[Just a notice that the blog isn&#8217;t dead. It&#8217;s just that I&#8217;m totally addicted to World of Warcraft. I&#8217;ve been playing it since the european launch and I&#8217;m playing it really heavy the last couple of months. And now the expansion has been released, so I&#8217;m more engrossed in the game then ever.
On another note, [...]]]></description>
			<content:encoded><![CDATA[<p>Just a notice that the blog isn&#8217;t dead. It&#8217;s just that I&#8217;m totally addicted to World of Warcraft. I&#8217;ve been playing it since the european launch and I&#8217;m playing it really heavy the last couple of months. And now the expansion has been released, so I&#8217;m more engrossed in the game then ever.</p>
<p>On another note, there are some nice changes considering my work at my work. Usually I did webservices in ASP.NET, but now I&#8217;m also working on some web applications in ASP.NET and even some Windows Mobile stuff. So I might just pickup on stuff and feel the need to post it here. I might cover some architectual things we&#8217;ve been discussing at work. I&#8217;ll think about it, for now, I just need to finish just one more quest&#8230;.<br/><br/><small>[Last played: Devil Driver - Revelation Machine]</small></p>
]]></content:encoded>
			<wfw:commentRss>http://www.digiwar.com/archives/2007/02/02/170/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Windows Vista</title>
		<link>http://www.digiwar.com/archives/2006/11/18/169/</link>
		<comments>http://www.digiwar.com/archives/2006/11/18/169/#comments</comments>
		<pubDate>Sat, 18 Nov 2006 16:03:20 +0000</pubDate>
		<dc:creator>Yeep</dc:creator>
		
		<category><![CDATA[.Net]]></category>

		<category><![CDATA[Programming]]></category>

		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.digiwar.com/archives/2006/11/18/169/</guid>
		<description><![CDATA[So on friday Windows Vista was available for download at MSDN. Actually, it was available thursday night, so I got lucky and downloaded it before the big rush I guess.
After I got the download in, I burned it to DVD and started installing it on my laptop. Now, I use this laptop for work. I [...]]]></description>
			<content:encoded><![CDATA[<p>So on friday Windows Vista was available for download at MSDN. Actually, it was available thursday night, so I got lucky and downloaded it before the big rush I guess.</p>
<p>After I got the download in, I burned it to DVD and started installing it on my laptop. Now, I use this laptop for work. I develop webapplications and webservices for both .NET 1.1 and .NET 2.0 on it. So I need both Visual Studio 2003 and Visual Studio 2005 working. Can you see where this is going?</p>
<p>The first hurdle I encountered was the vast difference in the interface. I wanted to install IIS, but it took me a while before I found it. In hindsight it&#8217;s pretty logical, but I was thinking too much in Windows XP. Windows Vista comes with IIS7, which is different then IIS6 or IIS5 (both of which look remarkebly the same from the management interface point of view). I spend some time looking at the options, then added a webapplication and worked to get it running correctly. As with IIS6 I had some trouble getting all the security setup correctly. Then I spend a lot of time getting it to run on ASP.NET 1.1. Apparently, by default, it runs on ASP.NET 2.0 and even an ASP.NET 1.1 application will, in fact, be run on ASP.NET 2.0. There is some sort of backwards-compatibilty in there to make it work. But I really wanted it to work in ASP.NET 1.1. So I had a lot of tweaking to do, but after a few hours of Googling, trying and cursing, I was able to make it work.</p>
<p>What you have to do is install .NET 1.1, then add the ASP.NET .1. ISAPI filter DLL to the &#8220;ISAPI and CGI restrictions&#8221; part of the configuration and set it to &#8216;allow&#8217;. Then select the ASP.NET 1.1 Application pool and your done. In my case I also needed to comment out some stuff in the globalk web.config and the local web.config. I&#8217;ll see how I can make it run with both ASP.NET 1.1 and ASP.NET 2.0 later, when I fix my remaining problems.</p>
<p>So, the website was working. Not to get Visual Studio 2003 up and running.<br />
The thing is, it&#8217;s not supported. That&#8217;s right. Microsoft puts great pride in their &#8216;backwards compatibilty&#8217; layers, some of which stop Windows from utilizing it&#8217;s full potential, but they won&#8217;t make VS2003 work on their new OS. By the way, do wanna now what old development enviroment did they spend time on? Visual Basic 6.<br />
That&#8217;s no joke. Apparently the reason is that migrating from .NET 1.1 to .NET 2.0 is easier then VB6 to something else. And in that they are correct, however that doesn&#8217;t help me a s developer at all! If operations won&#8217;t install .NET 2.0 on the production machines, then I can&#8217;t update the codebase. So I&#8217;ll need to run VS2003.<br />
To make things even more interesting, even VS2005 isn&#8217;t fully supported(!!!!!!!!!!!!!!!) Even after you install servicepack 1 (which is currently in beta) there will still be &#8216;issues&#8217;.<br />
So let me get this straight&#8230;.even though Vista was in development for over 5 years, they can&#8217;t make an application they released last year compatible? And here I thought Steve Balmer thought developers where so important.</p>
<p>Currently I can&#8217;t get VS2003 to open a web project. It&#8217;s complains that the source directory does not match the IIS share. And from what I read on the internet, this isn&#8217;t even supposed to be the problem. The real problem is related to debugging.</p>
<p>It&#8217;s really simple. If I can&#8217;t get VS2003 to work with Vista, I can&#8217;t upgrade and I&#8217;ll go back to Windows 2003 Server. Then only after we upgraded all .NET 1.1 applications to .NET 2.0 and Microsoft got their act together to get VS2005 working perfectly on Vista, can I upgrade to Vista. And this goes for my home machine too. Sure I play games on it, but I also develop some stuff as a hobby. If I can&#8217;t run VS2005, I&#8217;m not upgrading anytime soon. Shiny aero glass windows or not.</p>
<p><small>[Last played: Testament - The Haunting]</small></p>
]]></content:encoded>
			<wfw:commentRss>http://www.digiwar.com/archives/2006/11/18/169/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Managed C++</title>
		<link>http://www.digiwar.com/archives/2006/10/16/168/</link>
		<comments>http://www.digiwar.com/archives/2006/10/16/168/#comments</comments>
		<pubDate>Sun, 15 Oct 2006 23:40:18 +0000</pubDate>
		<dc:creator>Yeep</dc:creator>
		
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.digiwar.com/archives/2006/10/16/168/</guid>
		<description><![CDATA[I needed SNMP support for an ASP.NET application that I maintain. There are several options for getting SNMP in .NET. One apparently is that SNMP is supported by means of WMI. I couldn&#8217;t find it.
Perhaps that&#8217;s because I only needed to support sending SNMP traps and not receiving SNMP requests and what have you not.For [...]]]></description>
			<content:encoded><![CDATA[<p>I needed SNMP support for an ASP.NET application that I maintain. There are several options for getting SNMP in .NET. One apparently is that SNMP is supported by means of WMI. I couldn&#8217;t find it.</p>
<p>Perhaps that&#8217;s because I only needed to support sending SNMP traps and not receiving SNMP requests and what have you not.<br />For sending SNMP traps there are several libraries available, but the Win32 API itself also supports it. So I decided to use that.</p>
<p>There are two ways for using the &#8216;old&#8217; Win32 API from .NET.<br />One is P/Invoke. You sort of import the Win32 API into your C# application and then call it from there as a static function.<br />The other way is create a Managed C++ library. From Managed C++ you can combine both managed and unmanaged code. I&#8217;ve done the first, so I decided to try the second.</p>
<p>It has been close to 2 years since I had last worked with C++. Since then I&#8217;ve done only C# and boy have I become sopiled.<br />I thought the C++ code looked ugly and I really missed the all the stuff the Visual Studio editor does for me in C#. It&#8217;s the same editor for C++, so why doesn&#8217;t it do that stuff for me too?<br />The C++ intellisense isn&#8217;t even a tenth as good as the intellisense for C# and there are a lot of little things. I understand that some things are there because it&#8217;s set in stone (the ANSI C++ standard), but Microsoft has already made some unofficial additions to their C++ compiler, why not add a few more to make life easier for developers.</p>
<p>All in all it was an interesting exercise. Also because I needed both a .NET 1.1 and a .NET 2.0 class library, so I also discovered some of the changes between Managed C++ 1.x and Managed C++ 2.0. Let me tell you 2.0 is an enormous improvement!</p>
<p>I really hope I won&#8217;t have to do much C++ stuff in the future. I loved programming in C++ and it has taught me a lot of things about OOP, but C# is way more fun and a lot easier to be productive in. The code looks cleaner. I like it way better then C++.</p>
<p><br/><br/><small>[Last played: Rage Against The Machine - Wake up]</small></p>
]]></content:encoded>
			<wfw:commentRss>http://www.digiwar.com/archives/2006/10/16/168/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Firefox memory</title>
		<link>http://www.digiwar.com/archives/2006/08/21/167/</link>
		<comments>http://www.digiwar.com/archives/2006/08/21/167/#comments</comments>
		<pubDate>Mon, 21 Aug 2006 14:29:05 +0000</pubDate>
		<dc:creator>Yeep</dc:creator>
		
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.digiwar.com/archives/2006/08/21/167/</guid>
		<description><![CDATA[A little while back I wrote how I was getting annoyed by Firefox more and more. So last weekend I talked some computer stuff with some friends and I mentioned the &#8220;Firefox eats my RAM&#8221;-problem. I one of my friends told me the old story of how this was a feature.I explained it was a [...]]]></description>
			<content:encoded><![CDATA[<p>A little while back I wrote how I was getting annoyed by Firefox more and more. So last weekend I talked some computer stuff with some friends and I mentioned the &#8220;Firefox eats my RAM&#8221;-problem. I one of my friends told me the old story of how this was a feature.I explained it was a bug, because with no tabs open, so no need to conserve history, it still ate a lot of memory.</p>
<p>Today I was viewing a lot of photos and Firefox and ofcourse this used up a lot of RAM. So I closed all the tabs, but still the RAM is lost. And now I made a screenshot of it:</p>
<p><img src="http://www.digiwar.com/images/firefox-memory.png" /></p>
<p>Now some people may argue that it&#8217;s virtual memory or something. But I checked with Process Explorer. And it&#8217;s around 200MB of private bytes and a working set of 210MB. No tabs open or anything. How is this a feature?<br/><br/><small>[Last played: Rage Against The Machine - Settle for nothing]</small></p>
]]></content:encoded>
			<wfw:commentRss>http://www.digiwar.com/archives/2006/08/21/167/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Misconfigured webservers and semi-valid icons</title>
		<link>http://www.digiwar.com/archives/2006/08/14/164/</link>
		<comments>http://www.digiwar.com/archives/2006/08/14/164/#comments</comments>
		<pubDate>Mon, 14 Aug 2006 10:49:49 +0000</pubDate>
		<dc:creator>Yeep</dc:creator>
		
		<category><![CDATA[FeedME]]></category>

		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.digiwar.com/archives/2006/08/14/164/</guid>
		<description><![CDATA[Last night I implemented favicon icons in Feed Vortex. I&#8217;d seen this in FeedDemon and I really liked it. Instead of the icons I designed for Feed Vortex (which are pretty ugly), you can see the icons the site a feed belongs to uses. This adds some color and some familiarity to the feed list [...]]]></description>
			<content:encoded><![CDATA[<p>Last night I implemented favicon icons in <a target="_blank" href="http://www.feedvortex.com/">Feed Vortex</a>. I&#8217;d seen this in <a target="_blank" href="http://www.feeddemon.com/">FeedDemon</a> and I really liked it. Instead of the icons I designed for Feed Vortex (which are pretty ugly), you can see the icons the site a feed belongs to uses. This adds some color and some familiarity to the feed list in Feed Vortex.<br />
But downloading the icons is harder then you might expect. I expected to just get the favicon.ico at the root of the site and be done with it. Boy was I wrong.</p>
<p>One thing that I ran into was that some sites didn&#8217;t have a favicon.ico at their root, but at some other location. They tell the browser this by adding a</p>
<link rel="short cut"/>tag to the page. Fair enough. Maybe I&#8217;ll figure out a way around this, but this seems like a correct way to have the favicon at another position.
<p>But then there are sites like <a target="_blank" href="http://www.apple.com/">www.apple.com</a> that are simply misconfigured. Sure, apple.com has a <a target="_blank" href="http://www.apple.com/favicon.ico">favicon.ico</a> at the right place. But they serve it as &#8220;text/plain&#8221;. In other words, I ask for the icon file and apple.com says: &#8220;Sure, here is the file. By the way, it&#8217;s just a text file.&#8221; But it isn&#8217;t. It&#8217;s a valid icon file&#8230;..well, semi-valid, but I&#8217;ll get to that later.</p>
<p>There are also sites like the <a target="_blank" href="http://www.mono-project.com/">mono-project.com</a> website. They don&#8217;t have a favicon.ico, but instead of returning a &#8220;404 -page not found&#8221; error. They send a &#8220;304 page moved&#8221; HTTP code and then serve a normal webpage with the &#8220;200 Everything is A-okay&#8221; HTTP code. So Feed Vortex never knows there is no icon, it just doesn&#8217;t understand the data. It expects an image file, but gets an HTML file. I must admit that my website is also guilty of this and I need to fix this ASAP. But this is apparently the default configuration my <a target="_blank" href="http://www.dreamhost.com/">webhost</a> uses.</p>
<p>And then there are the semi-valid icon files. Sometimes a website serves an icon file and Firefox sees and understands it. Internet Explorer sees and understands it. Hell, even Windows explorer can read it, but the .NET Bitmap class can&#8217;t and tells me it&#8217;s invalid data. <a target="_blank" href="http://www.livejournal.com">Livejournal.com</a> has such an icon.</p>
<p>All in all this wasn&#8217;t the simple ordeal I thought it would be, but most of my feeds now have nice icons and I&#8217;ll figure out a way to deal with the others in time.<br/><br/><small>[Now playing: Shakira - Suerte]</small></p>
]]></content:encoded>
			<wfw:commentRss>http://www.digiwar.com/archives/2006/08/14/164/feed/</wfw:commentRss>
		</item>
		<item>
		<title>What company? I bought this game for me!</title>
		<link>http://www.digiwar.com/archives/2006/08/12/163/</link>
		<comments>http://www.digiwar.com/archives/2006/08/12/163/#comments</comments>
		<pubDate>Fri, 11 Aug 2006 22:26:03 +0000</pubDate>
		<dc:creator>Yeep</dc:creator>
		
		<category><![CDATA[Games]]></category>

		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.digiwar.com/archives/2006/08/12/163/</guid>
		<description><![CDATA[You&#8217;ve probably seen it before sometimes. You install an application and it&#8217;s Installshield installer requires(!!) you to fill in a company name. I just had it again with the demo of Dark Messiah of Might and Magic. It&#8217;s a game for crying out loud! Why the hell do I need to fill in a company [...]]]></description>
			<content:encoded><![CDATA[<p>You&#8217;ve probably seen it before sometimes. You install an application and it&#8217;s Installshield installer <strong>requires(!!)</strong> you to fill in a company name. I just had it again with the demo of Dark Messiah of Might and Magic. It&#8217;s a game for crying out loud! Why the hell do I need to fill in a company name?</p>
<p>It&#8217;s a case of laziness. From what I know of the games industry, and this can be wildly inaccurate, the developer sends to files to the production company and they put it in an installer. They just take the default wizard and slap on a custom background or two and they&#8217;re done.</p>
<p>So effectively the game developer may have created the perfect game, but because of the lazy production company (the EAs of this world) the Out Of The Box experience you get starts off pretty bad. I&#8217;m sure many people have called the support desk to ask why the &#8220;next&#8221; button is grayed out. And then the support desk needs to explain that you need to fill in the &#8220;Company name&#8221; box, even though you are just a normal user who bought the game for fun and not for corperate use.</p>
<p><strong>Update</strong><br />
To make things even worse. After filling in a dot (&#8221;.&#8221;) as a company name and pressing&#8221;next&#8221;. I&#8217;m at the &#8220;Select install destination&#8221; page. I always install games and applications on my D: drive, so I click &#8220;browse&#8221; and select a directory on the D: drive. I click okay and the page tells me that the game requires &#8220;0k&#8221; of space on the destination drive. Weird&#8230;.so I click &#8220;Next&#8221;. And I&#8217;m presented with the same page, only this time with the space requirement filled in.</p>
<p>I hate lazy programmers.<br />
<small>[Now playing: Spineshank - Slavery]</small></p>
]]></content:encoded>
			<wfw:commentRss>http://www.digiwar.com/archives/2006/08/12/163/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Why is Apple so loved?</title>
		<link>http://www.digiwar.com/archives/2006/08/10/162/</link>
		<comments>http://www.digiwar.com/archives/2006/08/10/162/#comments</comments>
		<pubDate>Wed, 09 Aug 2006 22:13:09 +0000</pubDate>
		<dc:creator>Yeep</dc:creator>
		
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.digiwar.com/archives/2006/08/10/162/</guid>
		<description><![CDATA[I don&#8217;t want to bash Apple, but I don&#8217;t get the hype. They&#8217;re just as bad with software as Microsoft is. In fact, I&#8217;d say Apple is worse on marketing, because they continue to bash on Microsoft. Just look at this post by Robert McLaws and the accompanying pictures. It says it all. Apple can [...]]]></description>
			<content:encoded><![CDATA[<p>I don&#8217;t want to bash Apple, but I don&#8217;t get the hype. They&#8217;re just as bad with software as Microsoft is. In fact, I&#8217;d say Apple is worse on marketing, because they continue to bash on Microsoft. Just look at <a target="_blank" href="http://www.longhornblogs.com/robert/archive/2006/08/07/Apple_Shows_Off_Windows_Vista_Envy_At_WWDC.aspx">this post by Robert McLaws</a> and the accompanying pictures. It says it all. Apple can only get attention by bashing the big boy.</p>
<p>At this conference they revealed 10 awesome new features for their next version of Os X. <a target="_blank" href="http://www.internet-nexus.com/2006/08/leopards-ten-new-features-dissected.htm">Paul Thurrott has a nice overview</a> of those &#8216;features&#8217;.</p>
<p>And while Apple bashes Microsoft and Windows Vista, Quicktime 7 is still crashing on my computer, just like it has for the <a target="_blank" href="http://www.digiwar.com/archives/2005/10/22/126/">last few months</a>. Half the time when I open a HD trailer I get the all-too familiar &#8220;select your debugger&#8221; screen. And yesterday I tried installing Quicktime 7 on my PC at work, only to have it fail at the final step in the installer. Some vague error about a function in a DLL. I did have a Quicktime Player icon on my desktop, but it couldn&#8217;t be started. In fact, the uninstaller also couldn&#8217;t be started. It also crashed. After a reboot the Quicktime quickstarter did start (why do they even install that shit? I don&#8217;t want it!), but selecting any option from it resulted in a crash.</p>
<p>I did some Googling and read that my best bet was to install an older version of Quicktime, uninstall that, then reinstall Quicktime 7. That fixed it for a lot of people. But not for me. I couldn&#8217;t even install the older version, it complained Quicktime was already installed, but I couldn&#8217;t uninstall it. So to regedit I went and spend a good 10 minutes deleting all sorts of Quicktime references. After that I could install Quicktime 6, but it also crashes&#8230;&#8230;figures.</p>
<p>In the end I just downloaded and installed the <a target="_blank" href="http://www.free-codecs.com/download/QuickTime_Alternative.htm">Quicktime Alternative</a>. It works perfectly.<br/><br/><small>[Last played: Tracy Bonham - Navy bean]</small></p>
]]></content:encoded>
			<wfw:commentRss>http://www.digiwar.com/archives/2006/08/10/162/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Firefox lies</title>
		<link>http://www.digiwar.com/archives/2006/08/05/161/</link>
		<comments>http://www.digiwar.com/archives/2006/08/05/161/#comments</comments>
		<pubDate>Sat, 05 Aug 2006 02:18:45 +0000</pubDate>
		<dc:creator>Yeep</dc:creator>
		
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.digiwar.com/archives/2006/08/05/161/</guid>
		<description><![CDATA[Allright, so I talked about my growing problems with FireFox recently. So now I was at the biggest webpage on the internet and found a hidden Firefox advertisement in there. The webpage says you should use Firefox, because: &#8220;It offers improved speed, security, and simplicity. It&#8217;s tabs feature alone makes it worth switching. It&#8217;s free.&#8221;
Okay, [...]]]></description>
			<content:encoded><![CDATA[<p>Allright, so I talked about my <a target="_blank" href="http://www.digiwar.com/archives/2006/08/02/160/">growing problems with FireFox</a> recently. So now I was at the <a target="_blank" href="http://www.deepskyfrontier.com/">biggest webpage</a> on the internet and found a hidden Firefox advertisement in there. The webpage says you should use Firefox, because: <em>&#8220;It offers improved speed, security, and simplicity. It&#8217;s tabs feature alone makes it worth switching. It&#8217;s free.&#8221;</em></p>
<p>Okay, let me give my opinion about that:</p>
<ol>
<li>Internet Explorer starts about 3 times as fast as Firefox and in a recent test where someone tested the <a target="_blank" href="http://celtickane.com/projects/jsspeed.php">Javascript speeds of Firefox, Opera and Internet Explorer</a>, they found that Firefox was the slowest! Opera was the fastest by far, even twice as fast as Internet Explorer (number two) on most tests.</li>
<li>It&#8217;s true that Internet Explorer has had more security leaks then Firefox, but Firefox has them as well. And Firefox isn&#8217;t used nearly as long and nearly as much as Internet Explorer. It&#8217;s the same argument you hear from Apple fans: &#8220;Mac is more secure&#8221;. No it isn&#8217;t. It&#8217;s just that the bad guys aren&#8217;t interested in investing time on a system that about 1% of the computer users use, when they can attack a system that over 90% of the users use. Internet Explorer has way more marketshare and is therefore a more economical target for crackers. As Firefox gains more marketshare this will change and then we&#8217;ll see if it&#8217;s secure. It is absolutely true that Firefox responds more quickly to security problems then Microsoft. This is because Internet Explorer is so entangled in Windows and all kinds of applications and it&#8217;s available in a gazillion languages. So testing and making sure a security fix doesn&#8217;t break someone&#8217;s program are very difficult. Because if the fix breaks someone&#8217;s program then that&#8217;s probably because &#8220;Microsoft really wanted to break the program&#8221; (just read some of <a target="_blank" href="http://blogs.msdn.com/oldnewthing/">Raymond Chen</a>&#8217;s articles and you&#8217;ll know that Microsoft takes compatibility <span style="font-weight: bold">very</span> seriously). Ofcourse as an enduser I don&#8217;t really care. My browser is vulnerable, so it needs to be fixed, fast. Just keep the <a target="_blank" href="http://silverstr.ufies.org/blog/archives/000879.html">economics</a> in mind. A very important thing that most people ignore.</li>
<li>Why is Firefox more simple then Internet Explorer? I think their equally simple. Ofcourse, I&#8217;m, no average Joe when it comes to computers, so maybe I&#8217;m wrong, but I don&#8217;t see any fundamental differences in the two browsers from a usage perspective.</li>
<li>Tabs? Internet Explorer 7 has tabs. And Internet Explorer 6 with the MSN toolbar has tabs. Maxthon has tabs. Avant browser has tabs. Opera has tabs. In fact, I think Opera was the first browser ever to have tabs.</li>
<li>Internet Explorer is free. So are Maxthon, Avant browser and Opera.</li>
</ol>
<p>I just see a bunch of bullshit arguments.</p>
<p><a target="_blank" href="http://www.extremetech.com/">Extreme Tech</a> has done a browser comparison between Firefox 2.0 beta 1, Internet Explorer 7 beta 3 and Opera 9.0. They have a nice table showing the differences between the browsers. <a target="_blank" href="http://www.extremetech.com/article2/0,1697,1990854,00.asp">Have a look</a>.</p>
<p><em><strong>Update:<br />
WildEnte informed that Opera is also free. I hadn&#8217;t checked out Opera for a few years, so I was still under the impression it wasn&#8217;t.</strong></em></p>
<p><small>[Now playing: Rob Zombie - Demon Speeding]</small></p>
]]></content:encoded>
			<wfw:commentRss>http://www.digiwar.com/archives/2006/08/05/161/feed/</wfw:commentRss>
		</item>
		<item>
		<title>InternetGetCookie/InternetSetCookie (WinInet) changed with Internet Explorer 7</title>
		<link>http://www.digiwar.com/archives/2006/07/19/159/</link>
		<comments>http://www.digiwar.com/archives/2006/07/19/159/#comments</comments>
		<pubDate>Wed, 19 Jul 2006 15:54:41 +0000</pubDate>
		<dc:creator>Yeep</dc:creator>
		
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.digiwar.com/archives/2006/07/19/159/</guid>
		<description><![CDATA[So last week I was implementing the Google Authentication for Installed Applications in Feed Vortex and after I solved the cross-thread GUI access problems I ran into a new batch of problems. You see, Google authenticates using cookies, but when you use the Google Authentication API for desktop applications you only get the value that [...]]]></description>
			<content:encoded><![CDATA[<p>So last week I was implementing the <a target="_blank" href="http://code.google.com/apis/accounts/AuthForInstalledApps.html">Google Authentication for Installed Applications</a> in <a target="_blank" href="http://www.feedvortex.com/">Feed Vortex</a> and after I solved the <a target="_blank" href="http://www.digiwar.com/archives/2006/07/16/158/">cross-thread GUI access problems I ran into</a> a new batch of problems. You see, Google authenticates using cookies, but when you use the Google Authentication API for desktop applications you only get the value that needs to be stored in the cookie and not the cookie itself. Since I P/Invoke the WinInet functions, I needed to store the cookie using the <a target="_blank" href="http://msdn.microsoft.com/library/en-us/wininet/wininet/internetsetcookie.asp?frame=true">InternetSetCookie</a> API and then the <a target="_blank" href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wininet/wininet/wininet_reference.asp">WinInet APIs</a> themselves will figure out what cookie to get.</p>
<p>But it wasn&#8217;t so simple. Using Fire Fox I noticed that Google stores its cookies with the domain &#8220;.google.com&#8221; and the path &#8220;/&#8221;. But when I try to do that I get error 12006 (ERROR_INTERNET_UNRECOGNIZED_SCHEME). Allright, so I add &#8220;http://&#8221; to the front, but then I confronted with error 123 (ERROR_INVALID_NAME). This confused me. But then I remembered I was running IE7 Beta 3 on my desktop, so I put the code on my laptop which still uses goold old IE6 and it works.</p>
<p>One of the changes for IE7 is their more secure URL cracking methods. But apparently IE7 also updates the WinInet.dll, which other applications use. So it&#8217;s new security fixes <strong>will have effect on other applications</strong>, not just applications that use an embedded IE, but <strong>all applications that use WinInet</strong>. So I spend half a day figuring out what to do. And in the end I found out that using &#8220;http://www.google.com&#8221; as the cookie domain works as well.</p>
<p><small>[Now playing: The Project Hate MCMXCIX - With Desperate Hands So Numb]</small></p>
]]></content:encoded>
			<wfw:commentRss>http://www.digiwar.com/archives/2006/07/19/159/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Reboot-craze</title>
		<link>http://www.digiwar.com/archives/2006/07/12/157/</link>
		<comments>http://www.digiwar.com/archives/2006/07/12/157/#comments</comments>
		<pubDate>Wed, 12 Jul 2006 16:20:16 +0000</pubDate>
		<dc:creator>Yeep</dc:creator>
		
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.digiwar.com/archives/2006/07/12/157/</guid>
		<description><![CDATA[What is it with rebooting these days? I was so happy with Windows 2000 and then with Windows XP where Microsoft removed tens, maybe even hundreds of reasons Windows needed to reboot. Only driver updates or service pack installs should require a reboot.
Yet, when I wanted update Acrobat Reader, I had to reboot a total [...]]]></description>
			<content:encoded><![CDATA[<p>What is it with rebooting these days? I was so happy with Windows 2000 and then with Windows XP where Microsoft removed tens, maybe even hundreds of reasons Windows needed to reboot. Only driver updates or service pack installs should require a reboot.</p>
<p>Yet, when I wanted update Acrobat Reader, I had to reboot a total of 4 times(!!!!!) It&#8217;s just a program to read and render files! Why would it need a reboot?</p>
<p>Then I wanted to uninstalled a game. After uninstalling, it also wanted to reboot? Why? It&#8217;s a fucking game!!</p>
<p>Are developers getting lazy again? Just making you reboot after everything to make sure it works? Or do they install some really nasty piece of malware, under the guise of &#8220;protecting their intellectual property&#8221;, like Sony did.</p>
<p>Whatever is the case, it just sucks!<br/><br/><small>[Last played: Nightwish - Beauty Of The Beast]</small></p>
]]></content:encoded>
			<wfw:commentRss>http://www.digiwar.com/archives/2006/07/12/157/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Treeview boldness</title>
		<link>http://www.digiwar.com/archives/2006/07/12/147/</link>
		<comments>http://www.digiwar.com/archives/2006/07/12/147/#comments</comments>
		<pubDate>Wed, 12 Jul 2006 16:15:00 +0000</pubDate>
		<dc:creator>Yeep</dc:creator>
		
		<category><![CDATA[.Net]]></category>

		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.digiwar.com/archives/2006/03/07/147/</guid>
		<description><![CDATA[This is something I&#8217;ve had on my &#8220;to-write&#8221;-list for some time now.
When I started working on Feed Vortex I wanted to have a treeview with the feeds you we&#8217;re subscribed to and when you&#8217;d have unread articles the feed would have its name in a bold font and the number of unread articles would be [...]]]></description>
			<content:encoded><![CDATA[<p>This is something I&#8217;ve had on my &#8220;to-write&#8221;-list for some time now.</p>
<p>When I started working on Feed Vortex I wanted to have a treeview with the feeds you we&#8217;re subscribed to and when you&#8217;d have unread articles the feed would have its name in a bold font and the number of unread articles would be in paranthesis behind the name of the feed.</p>
<p>It was pretty simple: just get the font object from the treenode, make it bold and put it back. Easy as that.</p>
<p>Until I looked at the treeview. The longest feed label seemed truncated. I first thought this had to do with the window I had put the treeview on, but this wasn&#8217;t the case. It turns out that the treeview determines how much space it should reserve for its labels only when you create it, or add a new treenode to it. Basing it on the font it has at that time.</p>
<p>So the solution was actually pretty simple. Create the treeview with a bold font by default and then add a treenode with a regular font. The other way around doesn&#8217;t work. Also, just to be sure, I added some additional spaces to the end of the label, just to make absolutely sure I have enough space left to display the label when I set the font to bold.</p>
<p><small>[Last played: Nightwish - Beauty Of The Beast]</small></p>
]]></content:encoded>
			<wfw:commentRss>http://www.digiwar.com/archives/2006/07/12/147/feed/</wfw:commentRss>
		</item>
		<item>
		<title>&#8220;I&#8217;m a mac and I&#8217;m a PC&#8221;</title>
		<link>http://www.digiwar.com/archives/2006/05/13/156/</link>
		<comments>http://www.digiwar.com/archives/2006/05/13/156/#comments</comments>
		<pubDate>Sat, 13 May 2006 11:21:17 +0000</pubDate>
		<dc:creator>Yeep</dc:creator>
		
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.digiwar.com/archives/2006/05/13/156/</guid>
		<description><![CDATA[You&#8217;ve probably seen the new Apple advertisements. If not, take a look here. I think they&#8217;re pretty funny.
I think they are typical advertisements. I mean, they are from a company that tries to sell it&#8217;s own product, so ofcourse their product is the hip new cool youngster.
A few years ago Apple flamed the Intel CPU [...]]]></description>
			<content:encoded><![CDATA[<p>You&#8217;ve probably seen the new Apple advertisements. If not, take a look <a href="http://www.apple.com/getamac/ads/" target="_blank">here</a>. I think they&#8217;re pretty funny.<br />
I think they are typical advertisements. I mean, they are from a company that tries to sell it&#8217;s own product, so ofcourse their product is the hip new cool youngster.<br />
A few years ago Apple flamed the Intel CPU in their ads. Now their &#8220;cool new&#8221; product is powered by that same CPU. So maybe in a few years they&#8217;ll go from flaming Windows to flaming compnaies like Dell and HP when they stop with Mac OS and become just a hardware platform?</p>
<p>Anyways, have a look at the ads and then read <a href="http://cad-comic.com/comic.php?d=20060513" target="_blank">this comic</a>. You&#8217;ll love it <img src='http://www.digiwar.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> <br/><br/><small>[Now playing: Killswitch Engage - Breathe Life]</small></p>
]]></content:encoded>
			<wfw:commentRss>http://www.digiwar.com/archives/2006/05/13/156/feed/</wfw:commentRss>
		</item>
		<item>
		<title>FeedME / Feed Vortex homepage</title>
		<link>http://www.digiwar.com/archives/2006/05/13/155/</link>
		<comments>http://www.digiwar.com/archives/2006/05/13/155/#comments</comments>
		<pubDate>Sat, 13 May 2006 11:11:53 +0000</pubDate>
		<dc:creator>Yeep</dc:creator>
		
		<category><![CDATA[FeedME]]></category>

		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.digiwar.com/?p=155</guid>
		<description><![CDATA[I&#8217;ve recently created a whole new homepage for my Feed Reader. The idea is that I&#8217;ll put general announcements concerning Feed Vortex on there. Ofcourse, the technical articles will still be posted here. If you are interested have a look at: http://www.feedvortex.com[Now playing: Killswitch Engage - When Darkness Falls]
]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve recently created a whole new homepage for my Feed Reader. The idea is that I&#8217;ll put general announcements concerning Feed Vortex on there. Ofcourse, the technical articles will still be posted here. If you are interested have a look at: <a href="http://www.feedvortex.com/" target="_blank">http://www.feedvortex.com</a><br/><br/><small>[Now playing: Killswitch Engage - When Darkness Falls]</small></p>
]]></content:encoded>
			<wfw:commentRss>http://www.digiwar.com/archives/2006/05/13/155/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Small update on FeedME</title>
		<link>http://www.digiwar.com/archives/2006/04/27/154/</link>
		<comments>http://www.digiwar.com/archives/2006/04/27/154/#comments</comments>
		<pubDate>Thu, 27 Apr 2006 18:35:21 +0000</pubDate>
		<dc:creator>Yeep</dc:creator>
		
		<category><![CDATA[FeedME]]></category>

		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.digiwar.com/archives/2006/04/27/154/</guid>
		<description><![CDATA[The plug-in redesign is as good as done. It&#8217;s not useful right now, a lot of stuff is still hardcoded, but the basics are there. If I ever decide to make this plug-in thing work I should be able to do so without too much effort.
I also had to deal with some bugs in the [...]]]></description>
			<content:encoded><![CDATA[<p>The plug-in redesign is as good as done. It&#8217;s not useful right now, a lot of stuff is still hardcoded, but the basics are there. If I ever decide to make this plug-in thing work I should be able to do so without too much effort.</p>
<p>I also had to deal with some bugs in the Google Reader. Hey, it&#8217;s beta and the API is not officially release, so this was to be expected. Wasn&#8217;t fun though.<br />
Google Reader seemed to give me lot&#8217;s of duplicate articles when I requested the articles for a particular feed. I don&#8217;t know what caused it, but, for instance, the Channel9 feed gave me over 2500 articles. After some examination I noticed that a lot of then were duplicate. I&#8217;ve seen some articles reappear 44 times. So I filled a bug report for this in the Google Reader group and implemented a little check when downloading feeds. FeedME now checks if an article with that feed ID has already been downloaded and if it is, it won&#8217;t be added to the article list.<br />
Ofcourse I still see duplicates, but far less. The unread article count went from 2500+ to around 150. And the duplicates I see now can simply be marked as read so they won&#8217;t reappear. If you mark articles with the same feed ID as read, you&#8217;ve effectively marked all of them as read. And sometimes that&#8217;s not what you want and it will make wonder where your unread articles went to. I speak from experience&#8230;</p>
<p>So what&#8217;s still to come?<br />
First the new website. I&#8217;m working on this, but it takes some time.<br />
An installer. Yes, I want you to be able to simply double click something and have FeedME installed. Right now it&#8217;s just a zip file which you need to extract and copy somewhere manually.<br />
And finally support for labels. FeedME already uses labels and shows them by pretending they&#8217;re folders. But you cannot add, remove or edit labels just yet. This needs to be possible as well.<br />
After that, it&#8217;s beta 1 baby!</p>
<p><br/><br/><small>[Last played: Devil Driver - The fury of our maker&#8217;s hand]</small></p>
]]></content:encoded>
			<wfw:commentRss>http://www.digiwar.com/archives/2006/04/27/154/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Google Reader SID, how to get it</title>
		<link>http://www.digiwar.com/archives/2006/04/19/153/</link>
		<comments>http://www.digiwar.com/archives/2006/04/19/153/#comments</comments>
		<pubDate>Wed, 19 Apr 2006 14:13:13 +0000</pubDate>
		<dc:creator>Yeep</dc:creator>
		
		<category><![CDATA[FeedME]]></category>

		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.digiwar.com/archives/2006/04/19/153/</guid>
		<description><![CDATA[When I announced I was going to write my own Google Reader front-end, I also mentioned I might put the Google Reader API specs on this website. I haven&#8217;t done this so far, so this might be a good time to start.
I&#8217;m not going to put up a page with it just yet, but I [...]]]></description>
			<content:encoded><![CDATA[<p>When I announced I was going to write my own <a href="http://www.google.com/reader/" target="_blank">Google Reader</a> front-end, I also mentioned <a href="http://www.digiwar.com/archives/2006/03/09/144/" target="_blank">I might put the Google Reader API specs on this website</a>. I haven&#8217;t done this so far, so this might be a good time to start.<br />
I&#8217;m not going to put up a page with it just yet, but I am going to document some of the things as blog entries.<br />
One of these things is how to get the Google SID of the logged on user.</p>
<p>Before I can cover the obtaining itself, I must first tell you how Google Reader knows if you are logged in or not. While others, like <a href="http://www.newsgator.com/" target="_blank">NewsGator</a>, might use a username and password combination in the API calls, Google Reader works through cookies. At least, far as for as I know it does, there might be another way, but I don&#8217;t know it. One of the things I&#8217;ve seen people say is to just add the username and password in the URL when doing an API call, much like you would when accessing FTP from your browser. However, one of the security updates for IE included removing the &#8216;@&#8217; as valid input when entering an URL in IE. This makes it impossible to add the username/password to the URL. FeedME uses the WinInet functions from Windows and these might not share the same URL cracker that IE does, but I just want to be sure I don&#8217;t shoot myself in the foot when Windows Vista comes out and they also secured the WinInet DLL there.<br />
So cookies it is. Since I use WinInet it&#8217;s actually pretty easy. It shares the cookies with IE, so if you&#8217;ve logged into Google from IE, FeedME can use that cookie. If I used the .NET HttpWebRequest class (and its related classes) I wouldn&#8217;t share the cookies, but there is a work-around. Why don&#8217;t I use the standard .NET classes? <a href="http://www.digiwar.com/archives/2006/03/09/144/" target="_blank">Read this</a> and you&#8217;ll understand.</p>
<p>Okay, so if you have the right cookie, you&#8217;re logged in, if you son&#8217;t, FeedME sends you to the login page using the embedded browser and allows you to log in from there. FeedME doesn&#8217;t even know your username and password!<br />
But being logged in isn&#8217;t enough, some of the stuff I want to do, like download your list of feeds requires me to know your user ID, or as I&#8217;ve begun to call it, your Google SID. And that&#8217;s where I ran into a problem.</p>
<p>At first I would just ask for your reading-list, which basically is all the articles from all the feeds you are subscribed to. This call was based on the cookie and didn&#8217;t need to Google SID. In one of the XML nodes that came with that list, even if it was empty, was a string with the Google SID in it. So I parsed it and I was done. However, now the XML changed and now I need to find a new way.</p>
<p>My first try was to see if maybe the Google SID moved somewhere else, but the only place I could see it was in the ID of the list. I think the ID can change very easily, so I don&#8217;t want to be dependent on that.<br />
The only other place I saw the Google SID was in the labels and states of articles. You see, every article can have labels and states. These are just text strings that have a special meaning within the Google Reader. These labels or states have your Google SID in them. So I can parse then and be done, but I figured that maybe sometimes you don&#8217;t have a single article on your reading list.<br />
To test this I created a new Google account and lo&#8217;-and-behold, no articles and no Google SID. Damn!</p>
<p>But the webbased Google Reader interface appears to know my Google SID. So into the javascript I went.<br />
Unfortunatly the Javascript from Google is compressed. And rightly so! I read somewhere it saves them bandwidth in the order of several GB per day. But the compression made the javascript indecipherable, so another dead end. Time to Google!</p>
<p>I found a lot of info on Google and the cookies, but nothing which helped me. I found someone else who had run into the same problem as me and had resorted to request the Google Reader UI page first and parse that for the Google SID. This was something I already considered, but only as a last alternative.<br />
And I also found a <a href="http://stud3.tuwien.ac.at/~e9608591/files/delete.google.subscriptions.rb" target="_blank">Ruby script by Ben Ferrari</a>, with which to delete all your Google Reader subscriptions. He used the SID value of the Google cookie, but this is encrypted. I thought he might know how to decrypt it, so I read the source. No decryption, but I did notice that he did some API-calls for which he would need the Google SID, but instead of the Google SID he would use a hyphen (&#8217;-'). Intrigued by this I tried it and it worked!!</p>
<p>Thank you Ben!!</p>
<p>Ofcourse _now_ I look at the <a href="http://googlereader.blogspot.com/" target="_blank">Google Reader blog</a> en see that <a href="http://googlereader.blogspot.com/2006/03/view-your-reading-lists-in-new-ways.html" target="_blank">one of their tips</a> also uses a hyphen instead of a Google SID. Ah well&#8230;<br/><br/><small>[Last played: Lacuna Coil - The Game]</small></p>
]]></content:encoded>
			<wfw:commentRss>http://www.digiwar.com/archives/2006/04/19/153/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Writing a plug-in architecture in .NET</title>
		<link>http://www.digiwar.com/archives/2006/04/18/152/</link>
		<comments>http://www.digiwar.com/archives/2006/04/18/152/#comments</comments>
		<pubDate>Tue, 18 Apr 2006 15:34:57 +0000</pubDate>
		<dc:creator>Yeep</dc:creator>
		
		<category><![CDATA[.Net]]></category>

		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.digiwar.com/archives/2006/04/18/152/</guid>
		<description><![CDATA[So I wanted FeedME to be versatile. I want it to be able to use any back-end. So for that to be possible I need to create a plug-in architecture so you can easily write a DLL that provides a new back-end to FeedME. The plug-in architecure is basically just a list of functions FeedME [...]]]></description>
			<content:encoded><![CDATA[<p>So I wanted FeedME to be versatile. I want it to be able to use any back-end. So for that to be possible I need to create a plug-in architecture so you can easily write a DLL that provides a new back-end to FeedME. The plug-in architecure is basically just a list of functions FeedME will assume are there and will want to use. The best way to achieve this is by defining interfaces.<br />
So I went on happily defining all kinds of functions in different interfaces. Then I decided that I only wanted singleton classes.<br />
For those that don&#8217;t know, a singleton is a type of class that get&#8217;s instantiated only once. You keep on using the same instance throughout the lifetime of the process.<br />
You do this by defining a class whose constructor is private and which has a static Create() function. The class also has a static variable that simply contains an instance of it&#8217;s own class. So the create function just returns this reference and so everytime you call Create(), you get the same class reference. Ofcourse it can be implemented in some other ways, but I just wanted to explain what a singleton is.</p>
<p>So, I wanted to define a static Create() function in the interface, but you cannot do that.<br />
Allrighty&#8230;.so then I tried making an abstract class that implements the interface which has a static Create function. And again, not possible. Well it&#8217;s possible to create the abstract class, but in order for a derived class to implement it&#8217;s own Create() function I need to mark it &#8220;virtual&#8221; and that&#8217;s not allowed on a static function.</p>
<p>*sigh*</p>
<p>So I just made the normal interface and put in the comments/documentation that the class must behave in a singleton manner.<br />
I did define a factory interface with Create() functions, but they are just not static.</p>
<p>That&#8217;s what I&#8217;m missing right now, some way of enforcing design pattern usage for classes that derive from a base class or who implement an interface. I would like that even more then LINQ.</p>
<p>Another issue I ran into was how to instantiate the class whose name you don&#8217;t know. In &#8220;old&#8221; days you&#8217;d create a DLL which had a C function in it that created the class for you. But in .NET you can&#8217;t have a stand-alone function, they&#8217;re always part of a class. But then I remembered that&#8217;s what reflection is for. You can just look in a DLL and see what classes are in there and implement which interface. So all I need to do is enumerate through the classes in the DLL until I find the one that implements the interface I need.<br />
Sounds simple, but I have not yet implemented it, so I don&#8217;t know if it truly is that simple. I&#8217;ll know soon enough <img src='http://www.digiwar.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> <br/><br/><small>[Last played: Lacuna Coil - Devoted]</small></p>
]]></content:encoded>
			<wfw:commentRss>http://www.digiwar.com/archives/2006/04/18/152/feed/</wfw:commentRss>
		</item>
		<item>
		<title>FeedME progress</title>
		<link>http://www.digiwar.com/archives/2006/04/18/151/</link>
		<comments>http://www.digiwar.com/archives/2006/04/18/151/#comments</comments>
		<pubDate>Mon, 17 Apr 2006 23:20:54 +0000</pubDate>
		<dc:creator>Yeep</dc:creator>
		
		<category><![CDATA[FeedME]]></category>

		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.digiwar.com/archives/2006/04/18/151/</guid>
		<description><![CDATA[I&#8217;m already working on the 4th alpha version of FeedME. I added a lot of stuff and decided it was time for a overhaul. That&#8217;s the downside to creating a program without a full-fledged design. But it makes the programming more fun.
The reason for the overhaul is that I wanted to add more and more [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m already working on the 4th alpha version of FeedME. I added a lot of stuff and decided it was time for a overhaul. That&#8217;s the downside to creating a program without a full-fledged design. But it makes the programming more fun.<br />
The reason for the overhaul is that I wanted to add more and more stuff, but ran into problems implementing them. So far I&#8217;ve been able to find a solution simple and easy enough, so that proofs to me that I designed the program very good in my head up front. But not, with adding folders, it&#8217;s become more difficult. So I&#8217;ve decided to improve the design instead of trying to break my head in getting it to work well enough. An overhaul is inevitable, so why not do it now?</p>
<p>I also found out that the name &#8220;FeedME&#8221; has been taken by various people/organizations, including one for another feed reader. So I&#8217;ve decided to rename the program. I won&#8217;t reveal the name until the website is done however. I&#8217;m working on that as well.</p>
<p>If you want to see what I&#8217;ve done so far, you can download FeedME Alpha 3 from <a href="http://www.digiwar.com/feedme/" target="_blank">my website</a>. It will be a few weeks before I get the releasing alpha 4 I think. I want to make it work better and easier to improve first. I also think that Alpha 4 will be the last FeedME release, after that I will release the program with the new name and with an installer to make things easier. I will also announce the program more widely.</p>
<p>My plans for FeedME:<br />
- Make a cool, basic, feed reader.<br />
- Make it expandable so people can add other back-ends (I make it for use with the Google Reader back-end).<br />
- Go after <a href="http://www.feeddemon.com/" target="_blank">FeedDemon</a> (Allright, so this is a far fetched dream, but what&#8217;s the point in doing something without a hard goal to achieve).</p>
<p>Lastly I have 5 articles I still need to post. Or actually, take time to write about. I have them in my &#8220;drafts&#8221; list, but I still need to do them. I know that writing keeps me in touch with the people &#8220;out there&#8221; and the more I write the more people will find me through Google, but I&#8217;d rather be programming to be honest. But I&#8217;ll do my best.</p>
<p><small>[Last played: Evanescence - Taking Over Me]</small></p>
]]></content:encoded>
			<wfw:commentRss>http://www.digiwar.com/archives/2006/04/18/151/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Stupid error messages</title>
		<link>http://www.digiwar.com/archives/2006/04/11/150/</link>
		<comments>http://www.digiwar.com/archives/2006/04/11/150/#comments</comments>
		<pubDate>Tue, 11 Apr 2006 15:43:25 +0000</pubDate>
		<dc:creator>Yeep</dc:creator>
		
		<category><![CDATA[Tech]]></category>

		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.digiwar.com/archives/2006/04/11/150/</guid>
		<description><![CDATA[Here is an interesting error message IIS gave me when I tried to start the default website: Unexpected error 0&#215;8ffe2740 occurred
Ofcourse, what it meant to say was: Port is already in use.
If it had said that directly I would&#8217;ve immediatly known what was wrong. Now I had to Google for the answer first.
I hate stupid [...]]]></description>
			<content:encoded><![CDATA[<p>Here is an interesting error message IIS gave me when I tried to start the default website: Unexpected error 0&#215;8ffe2740 occurred<br />
Ofcourse, what it <em>meant</em> to say was: Port is already in use.<br />
If it had said that directly I would&#8217;ve immediatly known what was wrong. Now I had to Google for the answer first.</p>
<p>I hate stupid error messages.<br/><br/><small>[Last played: Slayer - In the name of God]</small></p>
]]></content:encoded>
			<wfw:commentRss>http://www.digiwar.com/archives/2006/04/11/150/feed/</wfw:commentRss>
		</item>
		<item>
		<title>FeedME 1.0 Alpha 1</title>
		<link>http://www.digiwar.com/archives/2006/03/11/149/</link>
		<comments>http://www.digiwar.com/archives/2006/03/11/149/#comments</comments>
		<pubDate>Sat, 11 Mar 2006 01:02:40 +0000</pubDate>
		<dc:creator>Yeep</dc:creator>
		
		<category><![CDATA[FeedME]]></category>

		<category><![CDATA[RSS]]></category>

		<guid isPermaLink="false">http://www.digiwar.com/archives/2006/03/11/149/</guid>
		<description><![CDATA[I have made very good progress on my news aggregator using the Google Reader back-end. It&#8217;s in a state where it&#8217;s useful enough for dialy use. So that&#8217;s exactly what I&#8217;m going to do. Also, with a few minor adjustments, I&#8217;m going to release it as the first alpha version. I&#8217;m really curious as to [...]]]></description>
			<content:encoded><![CDATA[<p>I have made very good progress on my <a href="http://www.digiwar.com/archives/2006/03/07/143/" target="_blank">news aggregator</a> using the <a href="http://www.google.com/reader" target="_blank">Google Reader</a> back-end. It&#8217;s in a state where it&#8217;s useful enough for dialy use. So that&#8217;s exactly what I&#8217;m going to do. Also, with a few minor adjustments, I&#8217;m going to release it as the first alpha version. I&#8217;m really curious as to if people will use it in this state.</p>
<p>Back to Visual Studio for me!<br/><br/><small>[Last played: Marilyn Manson - Tainted Love]</small></p>
]]></content:encoded>
			<wfw:commentRss>http://www.digiwar.com/archives/2006/03/11/149/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 4.413 seconds -->
