Digiwar - the Yeep-blog

March 7th, 2007

Vista software incompatibility

I’ve been running Vista ever since it came out on MSDN and I’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 the event log and getting around two crashes an hour, I decided to take matters into my own hands.

I’m a software developer, but thruth be told, I haven’t touched anything else then C# in a few years now and I’ve never debugged programs I didn’t have the source code of, but having learned some tricks at last november’s TechEd, I installed the Debugging Tools for Windows and set WinDBG to be the JIT Debugger. Then I waited for a crash. And I didn’t have to wait long.

The first crash was explorer.exe. I didn’t even to debug it. I noticed it crashed inside CoFreeUnusedLibrariesEx call, which means it’s a refcounting issue (at least that’s what I think that’s usually the problem in a case like this), and I saw that the faulting module was heshell.dll, which is part of the free hex editor I installed a few weeks before. I just uninstalled the program and I haven’t see the crash since.

Then I waited for the thumbnail crash. And when it happened, it happened a lot. WinDBG must’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.
So far I haven’t seen a crash.

I love Vista and I love WinDBG :-)

[Last played: Devil Driver - Revelation Machine]

February 2nd, 2007

It’s been a while

Just a notice that the blog isn’t dead. It’s just that I’m totally addicted to World of Warcraft. I’ve been playing it since the european launch and I’m playing it really heavy the last couple of months. And now the expansion has been released, so I’m more engrossed in the game then ever.

On another note, there are some nice changes considering my work at my work. Usually I did webservices in ASP.NET, but now I’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’ve been discussing at work. I’ll think about it, for now, I just need to finish just one more quest….

[Last played: Devil Driver - Revelation Machine]

November 18th, 2006

Windows Vista

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 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?

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’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.

What you have to do is install .NET 1.1, then add the ASP.NET .1. ISAPI filter DLL to the “ISAPI and CGI restrictions” part of the configuration and set it to ‘allow’. 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’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.

So, the website was working. Not to get Visual Studio 2003 up and running.
The thing is, it’s not supported. That’s right. Microsoft puts great pride in their ‘backwards compatibilty’ layers, some of which stop Windows from utilizing it’s full potential, but they won’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.
That’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’t help me a s developer at all! If operations won’t install .NET 2.0 on the production machines, then I can’t update the codebase. So I’ll need to run VS2003.
To make things even more interesting, even VS2005 isn’t fully supported(!!!!!!!!!!!!!!!) Even after you install servicepack 1 (which is currently in beta) there will still be ‘issues’.
So let me get this straight….even though Vista was in development for over 5 years, they can’t make an application they released last year compatible? And here I thought Steve Balmer thought developers where so important.

Currently I can’t get VS2003 to open a web project. It’s complains that the source directory does not match the IIS share. And from what I read on the internet, this isn’t even supposed to be the problem. The real problem is related to debugging.

It’s really simple. If I can’t get VS2003 to work with Vista, I can’t upgrade and I’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’t run VS2005, I’m not upgrading anytime soon. Shiny aero glass windows or not.

[Last played: Testament - The Haunting]

October 16th, 2006

Managed C++

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’t find it.

Perhaps that’s because I only needed to support sending SNMP traps and not receiving SNMP requests and what have you not.
For sending SNMP traps there are several libraries available, but the Win32 API itself also supports it. So I decided to use that.

There are two ways for using the ‘old’ Win32 API from .NET.
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.
The other way is create a Managed C++ library. From Managed C++ you can combine both managed and unmanaged code. I’ve done the first, so I decided to try the second.

It has been close to 2 years since I had last worked with C++. Since then I’ve done only C# and boy have I become sopiled.
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’s the same editor for C++, so why doesn’t it do that stuff for me too?
The C++ intellisense isn’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’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.

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!

I really hope I won’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++.



[Last played: Rage Against The Machine - Wake up]

August 21st, 2006

Firefox memory

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 “Firefox eats my RAM”-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.

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:

Now some people may argue that it’s virtual memory or something. But I checked with Process Explorer. And it’s around 200MB of private bytes and a working set of 210MB. No tabs open or anything. How is this a feature?

[Last played: Rage Against The Machine - Settle for nothing]

August 14th, 2006

Misconfigured webservers and semi-valid icons

Last night I implemented favicon icons in Feed Vortex. I’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 in Feed Vortex.
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.

One thing that I ran into was that some sites didn’t have a favicon.ico at their root, but at some other location. They tell the browser this by adding a

tag to the page. Fair enough. Maybe I’ll figure out a way around this, but this seems like a correct way to have the favicon at another position.

But then there are sites like www.apple.com that are simply misconfigured. Sure, apple.com has a favicon.ico at the right place. But they serve it as “text/plain”. In other words, I ask for the icon file and apple.com says: “Sure, here is the file. By the way, it’s just a text file.” But it isn’t. It’s a valid icon file…..well, semi-valid, but I’ll get to that later.

There are also sites like the mono-project.com website. They don’t have a favicon.ico, but instead of returning a “404 -page not found” error. They send a “304 page moved” HTTP code and then serve a normal webpage with the “200 Everything is A-okay” HTTP code. So Feed Vortex never knows there is no icon, it just doesn’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 webhost uses.

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’t and tells me it’s invalid data. Livejournal.com has such an icon.

All in all this wasn’t the simple ordeal I thought it would be, but most of my feeds now have nice icons and I’ll figure out a way to deal with the others in time.

[Now playing: Shakira - Suerte]

August 12th, 2006

What company? I bought this game for me!

You’ve probably seen it before sometimes. You install an application and it’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’s a game for crying out loud! Why the hell do I need to fill in a company name?

It’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’re done.

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’m sure many people have called the support desk to ask why the “next” button is grayed out. And then the support desk needs to explain that you need to fill in the “Company name” box, even though you are just a normal user who bought the game for fun and not for corperate use.

Update
To make things even worse. After filling in a dot (”.”) as a company name and pressing”next”. I’m at the “Select install destination” page. I always install games and applications on my D: drive, so I click “browse” and select a directory on the D: drive. I click okay and the page tells me that the game requires “0k” of space on the destination drive. Weird….so I click “Next”. And I’m presented with the same page, only this time with the space requirement filled in.

I hate lazy programmers.
[Now playing: Spineshank - Slavery]

August 10th, 2006

Why is Apple so loved?

I don’t want to bash Apple, but I don’t get the hype. They’re just as bad with software as Microsoft is. In fact, I’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 only get attention by bashing the big boy.

At this conference they revealed 10 awesome new features for their next version of Os X. Paul Thurrott has a nice overview of those ‘features’.

And while Apple bashes Microsoft and Windows Vista, Quicktime 7 is still crashing on my computer, just like it has for the last few months. Half the time when I open a HD trailer I get the all-too familiar “select your debugger” 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’t be started. In fact, the uninstaller also couldn’t be started. It also crashed. After a reboot the Quicktime quickstarter did start (why do they even install that shit? I don’t want it!), but selecting any option from it resulted in a crash.

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’t even install the older version, it complained Quicktime was already installed, but I couldn’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……figures.

In the end I just downloaded and installed the Quicktime Alternative. It works perfectly.

[Last played: Tracy Bonham - Navy bean]

August 5th, 2006

Firefox lies

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: “It offers improved speed, security, and simplicity. It’s tabs feature alone makes it worth switching. It’s free.”

Okay, let me give my opinion about that:

  1. Internet Explorer starts about 3 times as fast as Firefox and in a recent test where someone tested the Javascript speeds of Firefox, Opera and Internet Explorer, 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.
  2. It’s true that Internet Explorer has had more security leaks then Firefox, but Firefox has them as well. And Firefox isn’t used nearly as long and nearly as much as Internet Explorer. It’s the same argument you hear from Apple fans: “Mac is more secure”. No it isn’t. It’s just that the bad guys aren’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’ll see if it’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’s available in a gazillion languages. So testing and making sure a security fix doesn’t break someone’s program are very difficult. Because if the fix breaks someone’s program then that’s probably because “Microsoft really wanted to break the program” (just read some of Raymond Chen’s articles and you’ll know that Microsoft takes compatibility very seriously). Ofcourse as an enduser I don’t really care. My browser is vulnerable, so it needs to be fixed, fast. Just keep the economics in mind. A very important thing that most people ignore.
  3. Why is Firefox more simple then Internet Explorer? I think their equally simple. Ofcourse, I’m, no average Joe when it comes to computers, so maybe I’m wrong, but I don’t see any fundamental differences in the two browsers from a usage perspective.
  4. 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.
  5. Internet Explorer is free. So are Maxthon, Avant browser and Opera.

I just see a bunch of bullshit arguments.

Extreme Tech 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. Have a look.

Update:
WildEnte informed that Opera is also free. I hadn’t checked out Opera for a few years, so I was still under the impression it wasn’t.

[Now playing: Rob Zombie - Demon Speeding]

July 12th, 2006

Reboot-craze

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 of 4 times(!!!!!) It’s just a program to read and render files! Why would it need a reboot?

Then I wanted to uninstalled a game. After uninstalling, it also wanted to reboot? Why? It’s a fucking game!!

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 “protecting their intellectual property”, like Sony did.

Whatever is the case, it just sucks!

[Last played: Nightwish - Beauty Of The Beast]

May 13th, 2006

“I’m a mac and I’m a PC”

You’ve probably seen the new Apple advertisements. If not, take a look here. I think they’re pretty funny.
I think they are typical advertisements. I mean, they are from a company that tries to sell it’s own product, so ofcourse their product is the hip new cool youngster.
A few years ago Apple flamed the Intel CPU in their ads. Now their “cool new” product is powered by that same CPU. So maybe in a few years they’ll go from flaming Windows to flaming compnaies like Dell and HP when they stop with Mac OS and become just a hardware platform?

Anyways, have a look at the ads and then read this comic. You’ll love it :-)

[Now playing: Killswitch Engage - Breathe Life]

May 13th, 2006

FeedME / Feed Vortex homepage

I’ve recently created a whole new homepage for my Feed Reader. The idea is that I’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]

April 27th, 2006

Small update on FeedME

The plug-in redesign is as good as done. It’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 Google Reader. Hey, it’s beta and the API is not officially release, so this was to be expected. Wasn’t fun though.
Google Reader seemed to give me lot’s of duplicate articles when I requested the articles for a particular feed. I don’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’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’t be added to the article list.
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’t reappear. If you mark articles with the same feed ID as read, you’ve effectively marked all of them as read. And sometimes that’s not what you want and it will make wonder where your unread articles went to. I speak from experience…

So what’s still to come?
First the new website. I’m working on this, but it takes some time.
An installer. Yes, I want you to be able to simply double click something and have FeedME installed. Right now it’s just a zip file which you need to extract and copy somewhere manually.
And finally support for labels. FeedME already uses labels and shows them by pretending they’re folders. But you cannot add, remove or edit labels just yet. This needs to be possible as well.
After that, it’s beta 1 baby!



[Last played: Devil Driver - The fury of our maker’s hand]

April 18th, 2006

FeedME progress

I’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’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 stuff, but ran into problems implementing them. So far I’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’s become more difficult. So I’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?

I also found out that the name “FeedME” has been taken by various people/organizations, including one for another feed reader. So I’ve decided to rename the program. I won’t reveal the name until the website is done however. I’m working on that as well.

If you want to see what I’ve done so far, you can download FeedME Alpha 3 from my website. 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.

My plans for FeedME:
- Make a cool, basic, feed reader.
- Make it expandable so people can add other back-ends (I make it for use with the Google Reader back-end).
- Go after FeedDemon (Allright, so this is a far fetched dream, but what’s the point in doing something without a hard goal to achieve).

Lastly I have 5 articles I still need to post. Or actually, take time to write about. I have them in my “drafts” list, but I still need to do them. I know that writing keeps me in touch with the people “out there” and the more I write the more people will find me through Google, but I’d rather be programming to be honest. But I’ll do my best.

[Last played: Evanescence - Taking Over Me]

April 11th, 2006

Stupid error messages

Here is an interesting error message IIS gave me when I tried to start the default website: Unexpected error 0×8ffe2740 occurred
Ofcourse, what it meant to say was: Port is already in use.
If it had said that directly I would’ve immediatly known what was wrong. Now I had to Google for the answer first.

I hate stupid error messages.

[Last played: Slayer - In the name of God]