Aaron's blog

WMP11 and DivX: not close friends

By aaron.axvig, Wed, 04/11/2007 - 03:00

I'll admit it, I have some DivX files on my computer.  Anyways, I use WMP11 to view them, courtesy of the DivX codec.  This codec is external to WMP11, and comes with its own little nifty tray icon (quite annoying if you ask me).

So I was watching WMP11 generate thumbnails for the movies, and it was taking quite a while.  Further inspection revealed the DivX tray icon flashing in and out of existence every few seconds.  It seems that WMP11 starts and stops the codec for every movie that it processes.  Pretty dumb.


Vista = Traitor

By aaron.axvig, Wed, 04/11/2007 - 03:00

Oh Vista, what were you thinking?  When you wanted to restart after applying updates, I carefully asked you to remind me in 4 hours to restart.

Why did you restart on your own after 4 hours?  Did it ever occur to you that if I leave you doing something overnight I **might** want you to finish doing that without a reboot in the middle that stops everything?  Thanks a lot.


A WPF application idea

By aaron.axvig, Wed, 04/04/2007 - 03:00

I was thinking the other day.

(Whenever I talk about how I was thinking sometime, I think of the 101 Dalmations animated movie.  The two crooks, Horace and Jasper are sitting in their car, and the fat one says, "You know, I've been thinkin'..."  The skinny one promptly bops him on the head, and say, "Now what have I told you about thinking!  I'll do the thinkin' around here.")

Anyways, no, I don't want to tell you about a 101 Dalmations WPF (Windows Presentation Foundation) application that would be neat.  It's actually a type of game.  I think any game in this genre would be conducive to using the WPF framework.

And the winning genre is...Space Strategy.  Also known as Explore, Expand, Exploit, Exterminate games, or 4X for short, these are the ones where you start with a home star system and expand with colony ships to other star systems, which you in turn use to gather resources and construct more colony ship, etc. etc. until you have a massive army and you annihilate the other players who are trying to do the same thing faster than you.  Some of the more popular titles are the Master of Orion series, the Space Empires series, and Alpha Centari.

So why do I think this type of game could be well done in WPF?  Well, they are mostly dialogue driven, and don't use any fancy 3D graphics.  So if you made all the menus fade in with scaling effects and such that would be pretty cool.  But besides looking cool, it would scale better to different size monitors.  From what I've seen, the interfaces of these games have so many buttons and different things to click that they have a rather fixed arrangement.  This would make things look significantly different on an ultra-high resolution, for example.  With WPF, all your graphics would be vector based, and the game would be able to fill a large screen without running the monitor at a non-native resolution.

Also, WPF seems to be pretty flexible (powerful) with layouts.  So it would be pretty easy to do customizeable toolbars, I'm thinking, or even something like the ribbon interface in select Office 2007 applications where the appropriate buttons come sliding in, depending on whether you have selected a planet or a ship.  (You should see the menu in Space Empires IV.  There are over 40 buttons on the top of the screen, always there.  They do have a decent solution in that only the ones you can use at any given time light up, but there is always room for improvement.)

Whether such a game could actually be economically written in WPF I really have no idea.  I imagine it would require a computer roughly along the lines of something capable of running Aero Glass to get anything playable.  And whether programming such a beast would be fun (a lot of angle brackets for the XAML) is doubtful, but I suppose designing one in C++ is also not too exciting.

Just another idea I thought I would throw out there.


WPF/E applications: latest reason to have 2+ CPU cores

By aaron.axvig, Sun, 04/01/2007 - 03:00

In the course of satisfying my blog-reading addiction, I came across this nifty litle rock-paper-scissors game.  It is done in WPF/E, basically Microsoft's version of Flash[1].  So there are animations all over...

Which brings me to realize why we need more processing power.  My poor Pentium-M 1.6GHz processor pretty much died while the application was running.  That's right, my processor was maxed out by a rock-paper-scissors game.  The past few year's worth of advances in the fine art of computer programming sure are great.  I can envision a time when I'll need a core to animate the start button, another to animate the background (already implemented in Dream Scene), one to make all my desktop icons slowly revolve around in a complex spiral so that the ones I'm most likely to use at a certain time of day will be in the center at that certain time of day (you KNOW that would be super-sexy), another to index everything constantly (I think I need a separate HDD for the indexer actually, 'cause it's always keeping mine busy), and another to actually respond to what I want it to do.

Anyways, back to the game.  I imagine if I had a real graphics card instead of an integrated POS the game wouldn't have run so slow, but it is still rather pathetic.  All of those fancy scaling vector graphics don't run so well without a real GPU.  Just the background gradient which slid up and down repeatedly would max out my processor.

Such is progress I guess.  I look forward to the future of sliding vector-based menus and animated backgrounds overlayed with 3 layers of transparent objects.  As long as I can "Flip3D" through everything I'll be happy. :)

And yes, I did win the match.

  1. As an aside, one nice thing about the WPF/E plugin for IE7 on Vista (possibly this is also true on other browsers/platforms) is that it didn't require me to restart my browser.


Microsoft programmers: what are they doing all day?

By aaron.axvig, Fri, 03/23/2007 - 03:00

According to this Wikipedia article, Windows Vista Beta 2 had 50 million lines or code, or about 10 million more than Windows XP.  That seems like a lot, right?  Well, take a look at these calculations:

Say there were 15 million lines of code added for the final version of Vista (I doubt many more than a million were added between Beta 2 and RTM, but I'll be generous).  Then say that they had 4 years to work on it, working 200 days each year (again, being quite generous with the numbers).  So 15,000,000/(200*4) = 18750 lines of code per day.  That seems like a lot.

But lets consider: Microsoft employs at least 60,000 people.  Let's again be generous and say just 1000 of those were actually writing code daily.  Do some division and you get each of those 1000 coders writing just 18.75 lines of code per working day.

What were those employees doing the rest of the day?  Here are my ideas:

  • Figuring out how to merge their source with everyone else's.¬† I suppose it is no small task to combine 15 million lines of source code from 1000 or more different programmers.
  • Planning features.¬† However, I suspect that there were several thousands of other employees doing this and other things like testing and graphical design.¬† I think my guess of 1000 coders should be somewhat close to how many people Microsoft had programming on their flagship product.
  • Quality control.¬† Microsoft does have their initiative to write super secure applications; maybe this takes a lot of effort.¬† I suppose if you write enough unit tests....

I would love to see some holes poked in these numbers or find a really good excuse.  Seriously, less than 19 lines of code per day?


Vista upgrade with Steam (Valve software)

By aaron.axvig, Fri, 03/23/2007 - 03:00

I recently installed one Vista version (Ultimate) over another (Business).  I originally tried to upgrade from Business to Ultimate, but got a blue screen upon boot after the upgrade.  So I did a new install of Ultimate.  As you might be familiar with, the installer will put your old Windows installation in a folder at C:\Windows.old\.  It does this whether installing over XP or Vista.

How this relates to Steam is that I had Steam installed on my old Vista, and had quite a lot of content downloaded (17.5GB).  Unfortunately I did not use the backup feature of Steam to backup all this to a file before I installed Vista again.

Needless to say, I didn't really relish downloading that much stuff again (it's probably 10GB when compressed).  So I installed the Steam app from here, and then went digging in Program Files.  It looked like most of the data was in the folder "steamapps," so I copied that from C:\Windows.old\Program Files\Steam\ to C:\Program Files\Steam\.  One file was a duplicate between the two, and I DIDN'T replace that one.  Then I started up Steam, with my fingers crossed.  It showed all the games and trailers still there, but the games needed updating.  They each took less than 20 seconds to update, and I was off on my merry way.

So the short of it is that you can just copy the steamapps folder from one computer to another (probably you have to have the same Steam username on both computers though).  I haven't tested all the games yet, but Counter Strike: Source and Half-Life 2: Deathmatch do work, and all the other things I have are based off the Source engine anyways so will probably work.  I'll update this if I ever find a game that didn't make it through the transfer.


My spring break entertainment: monstrous computer fan

By aaron.axvig, Mon, 03/19/2007 - 03:00

My brother and I took apart a microwave this past weekend.  They are surprisingly simple inside--just a capacitor, microwave emitter, circuit board and a really big fan.

All right, maybe it's not that BIG, but it is pretty cool.  It's actually a blower (alright, two blowers).  As such, it is lots more nifty than just having 15 120mm fans spread out in your case like some LAN party freak.  And my dad just happened to have brought home an old computer from work that he only wanted the hard drive from, so I had a case to hack apart.

One hour of measuring and Dremel work later, I had something that actually looked pretty decent.  As for powering the fan, it appears to run off of 120VAC.  So I hacked a notch in the case to allow passage of a power cable (of course I borrowed the old power cable from the microwave) and powered it up. 


  • Extremely high airflow.
  • Easier than water cooling.
  • Cheap (two wire nuts for about $0.20)
  • More 1337 than a Linux tattoo on your forehead.


  • Extremely loud.
  • Smells like a weird mixture of all the greasy food someone has cooked in their microwave over the past 15 years.
  • Is poorly placed in case, resulting in a lot of sucking and blowing but it's all in the wrong spots.
  • Blocks anything resembling a normal size add-in card.
  • Probably generates large and powerful¬†magnetic fields inside the computer case.
  • Idles at 3+ amps.¬†¬†In other¬†terms,¬†it easily burns 360 watts.

I haven't actually tested to see if the computer functions with this thing inside (I don't think there would be any problems other than magnetic fields, but I doubt even that will be an issue).  Here are some obligatory pictures:


Science fair judging

By aaron.axvig, Wed, 03/14/2007 - 03:00

I spent the entire day today judging the Southeast North Dakota Regional Science Fair.  I had never been to an actual science fair before, so it was interesting (although I have done many presentations for 4-H that were similar to a science fair exhibit).  A few highlights:

  • One school has a coach who heavily influences the work of the students.¬† That coach also has them do an unbelievable amount of work.¬† By and large they follow the proper scientific method, but they never seemed to have a hypothesis and hence never really came to a conclusion at the end.¬† So here was all of this excellent work but they didn't really have a clear message of their discoveries for us.
  • The simplest exhibits were some of the best.¬† The school I speak of above had large (and I mean large--all of the high school students from that school had towering 5-foot tall three-sided presentation boards) boards cluttered with scores of overlapping graphs and pictures illustrating the methods they used.¬† The kid who got first place built a really simple project based off of something he saw on the Discover Channel called a Baghdad Battery.¬† He had a small simple poster board with just a few graphs showing the voltage produced by different electrolytes.¬† He didn't have a spectacular exhibit with hundreds of sample points, but because it was such a very controllable experiment and it¬†was well thought out, he walked away with 3 or 4 different awards (1st place and several other awards from organizations).¬† Probably the biggest thing was that he simply knew his stuff.¬† This kid knew everything about the experiment and electricity and how it could be used to anodize materials.¬† Judges like that.
  • One student measured electrical conductance to find out the amount of electrolytes in energy drinks.¬† Here is a sample of the conversation:
    • "So tell me about the container you measured the voltage in."
    • "Well, it was a measuring cup."
    • "Yes, but..." (interrupted)
    • "I think it was 1/4 cup."
    • "What material was the cup made out of?" (I really was fearing the worst here, and my fears came true)
    • "Metal."
  • Another student (who was obviously from the school of the afore-mentioned coach) tested dish soap.¬† Notice that I didn't say test the effectiveness, or which one would be the best to buy.¬† Basically she just ran a bunch of tests to determine the solid content, ph balance, and viscosity of the soap, but didn't draw any conclusions.¬† This frustrated me and I snapped, putting forth my best effort to point this out in a very destructive manner.¬† Not exactly my best move of the day.¬† But it was so frustrating to see all this work and no hypothesis that might drive a conclusion at the end of the experiment.¬† You don't do a science fair exhibit to find out a bunch of parameters about 11 different soaps (yeah, she did 11!), but rather to find out which one is the best for its intended uses.
  • One display was about natural fungicides and pesticides, but the student was unaware of the commercial product that is based off of the exact same idea she was using.

So, if you are a soon-to-be science fair participant out there reading this, keep a few things in mind:

  • Don't use a metal cup when you are measuring electricity.
  • Have a hypothesis and decide whether it was true or false (it really doesn't matter if your hypothesis was wrong as long as you made reasonable guesses in forming it).
  • Know your subject matter like the back of your hand.¬† Research other things even remotely related to your project.
  • Speak up and be confident, but don't have a 10 minute rehearsed speech (just a 30 second summary is fine, after that just share your knowledge).
  • KISS - Keep It Simple Stupid.¬† A couple graphs are fine, and some pictures.¬† You can stuff all the actual data in a folder and have it on the table.

Vista Media Sharing With Xbox 360 Permissions Problems

By aaron.axvig, Sun, 03/11/2007 - 03:00

Last night my cousin and I put some serious effort into getting a Windows Vista (Ultimate) machine with Media Center to share music with an Xbox 360.  Several hours later we finally got it to work, but it was quite a journey:

First off, our setup is maybe a bit non-typical from the standard home setup Microsoft envisioned when they designed it.  We have a domain with 2 servers, one which has all the media files on a shared drive.  We usually just add the network path of the shared drive to WMP11 on our local machines usually and it works just as well as if they are on the local HDD (provided the network is not down).  The two servers run Server 2003, and Microsoft dropped the ball there by not enabling WMP11 or Windows Media Connect to install on Server 2003.  So we setup another computer with Windows Vista Ultimate.  The plan was to add the media files into WMP11 using the shared drive on the server, and then share them on the Vista box using the built-in Media Sharing feature.

Unfortunately we ran into a permissions problem.  Except we didn't know this right away, and kept resetting everything, rebooting computers and the Xbox, and being really frustrated.  Really, really frustrated.

There are several problems.  First is that the Xbox doesn't show up to "Allow" in the Media Sharing dialogue until you try to access the shared library using the Xbox.  Of course it gives an access denied message (since you can't allow it in Media Sharing because it's not even there yet), and then it appears in Media Sharing and you can allow it.  Inconvenient.

Second, there are multiple users that can share a library on the same machine. This is a PITA.  As far as I can tell, wmpnetwk.exe goes through the C:\Users\ folder and looks in all the profiles for a WMP11 database (C:\Users\%username%\AppData\Local\Microsoft\Media Player\).  So it will share any user's library when the settings are configured to allow that (and the settings can get really goofy really fast--they are deceptively simple).  Then you will see two different libraries (or three, or four) to connect to on the Xbox, but they will both be on the same computer.  Invariably, one of them shares only the songs that ship with Vista, and since you haven't gotten anything else working yet, that is all you can listen to.  Anyways, I had an old profile on my computer from before it joined the domain, and I wasn't able to delete the profile because the WMP11 database was in use by an application.  So I had to disable Media Sharing, end the wmpnetwk.exe process, and then try and delete it (it didn't work until the 3rd or 4th try for some reason).  The real WTF is that this was all going on while the old user didn't even exist on the computer anymore (deleted via lusrmgr.msc).

Third, the permissions problem.  It turns out this is what was really stopping us the whole time.  The other two problems are just annoyances.  We would be able to get the right username on the right computer to show up on the Xbox 360 and it would connect fine, but the library would always be empty when we went to play songs.  After suspecting permissions problems and finally just copying some files to the local HDD before we added them to the library on the Vista machine, we were able to actually see songs and play them on the Xbox.  Much rejoicing.  So we grabbed the drive from the server (good thing it was external USB) and hooked it up to the Vista box.  It still seems to be working (although I did have to power-cycle the HDD this morning, I'm not sure what happened there).

The permissions things boils down to Media Center and Media Sharing both wanting their own user account to access media.  I'll speculate that the process that tried to set these permissions did not have permission to set them, and thus neither Media Center or Media Sharing was able to use them.  Anyways, the files on the external drive now have have two additional users in the security tab--"WMPNetworkSvc" (for Media Sharing) and "uuid: 10000000-0000-0000-0200-0017FA3792D7" (for Media Center).  No, I didn't know that the obscure uuid number was associated with Media Center until I opened up the local user manager and saw Mcx1 next to that mess of numbers and then read online that Media Center uses user "Mcx1" to access files.

So, if you really wanted to share network files via Media Sharing or Media Center, you could either give the media machine's Mcx1 and WMPNetworkSvc users read access to the media files or just give everyone full control of the media so that the necessary permissions can be applied (the former is recommended over the latter).  We ended up just moving the media files, but that might not be viable for some people.

Linux (Still) Not Ready

By aaron.axvig, Thu, 03/08/2007 - 03:00

Every year or so I get some incredible itch to install Linux.  I suppose it's because I read so much online about how great it is, how it is finally ready for all the desktops of the world, how Microsoft is the coming of the Apocalypse, and how the latest version of it is better than ever.

So I would download the latest ISO file, burn it to disk (the last few times I was smarter and used a CD-RW), and install.  Things like no support for SATA or an install process that required a deep knowledge of Linux file systems used to get in my way, but of course the next version always promises to fix this (and that's usually correct).

Fast forward to the beginning of January.  I get most of the way through a Gentoo install (an attempt to "learn more about the inner workings of Linux").  I don't know how much I really learned, basically I was just copying command line commands off of the Gentoo handbook.  I never finished, and the machine sat there, 3/4 complete, powered on for 2 months, until...

I figure it's finally time for me to get a Linux install that works so I can start learning some stuff.  Pop in Ubuntu CD, next next next, complete.  Pretty easy, right?  So up comes the desktop, there it is in all it's glory at 1024x768.  For all the people who criticize Windows XP for looking like a kids toy, they evidently haven't seen Ubuntu at this resolution.  It may not have blue and green colors, but there are wasted pixels and bloat everywhere, including a bar at the top AND bottom of the screen.  Efficient power user OS indeed...

My LCD supports 1280x1024, and so does my video card.  What video card doesn't right?  I figure, "It's 2007, I damn well better not have to edit a config file just to change my resolution."  To my surprise, I found the option to do it, nice point and click.  Also to my surprise, there was no option for 1280x1024.  The highest was 1024x768.

Now I wonder how to fix this.  Do I update the driver?  It seems that it should be able to support this standard resolution right out of the box.  Will I have to edit some config file?  Who knows.  I'll get to that some other day, because 1024x768 is livable for a little while.

So I look into joining our domain.  This is a VERY easy process (please click that link just to see how easy it is) on Windows: set DNS entries, enter domain in text box, click OK, and enter administrator password.  What is the Linux equivalent?  Ensure 6 packages (plus dependencies) are installed, edit 3 text files (be careful lest you make one typo and it doesn't work), restart 2 services, and issue the actual command from the command line (admittedly there are better things in place in case of failure on Linux than Windows--you can check the log files, whereas in Windows you would be left hanging).  Needless to say, I won't be joining my domain at work for a few days.  Someone please tell me how this needs to be so much harder than in Windows.

Is it unfair to ask Linux to measure up to Windows?  Maybe.  Does Linux need to be as easy as Windows to gain appreciable market share?  Most definitely.  Is it very close?  Nope.