Programming magic, glory, and juices.

Windows Media Player Monitoring Folders or NOT!

August 16th, 2008


Sharing media across a network should be easy, I mean it is 2008 for God sakes! One problem I ran across recently with Windows Media Player is that it simply does pick up all the file changes in the folders that it is monitoring. Specifically, Windows Media Player won’t add new media from the folders it is monitoring when the media file becomes available by renaming. It works perfectly fine when you copy or move the file into the folder that is being monitored. But when that file already exists with an unknown extension and is then renamed with a media extension the change isn’t detected by Windows Media Player and so the file isn’t added to your media library and isn’t available for viewing across the network.

I encountered the problem when I had uTorrent downloading files into a folder that was being monitored by Windows Media Player. In uTorrent I had the files created with the “.!ut” extension. Then when the download was completed uTorrent would simply rename the file from “.!ut” to “.wmv” or whatever the original extension was. So when the file is first created by Windows Media Player it looks at it and sees that it is a “.!ut” extension and doesn’t know what to do with it. Then when the file is renamed Windows Media Player simply doesn’t monitor the change. And so the only way to get Windows Media Player to add the file into the media library is to go into the user interface and force it to manually update and if that doesn’t work then to restart the Windows Media Player Network Sharing service.

However I’ve come up with a solution and that is to use uTorrent to save the new downloads in a separate folder and then move them over into the folder that Windows Media Player is monitoring once the download is complete. So in uTorrent if you goto Preferences->Directories and check “Put new downloads in” you could set it to “c:\incomplete\” and then set “Move completed downloads to” say “c:\downloads\”. You might also want to turn off the option in Preferences->General for “Append .!ut to incomplete files” cause I never tested it with it on since there is no need to have it on since all incomplete files are in a totally separate folder.

At the time it was really annoying to have to manually force Windows Media Player to update the media library. I checked Google several times with no answers. I came to the end of my ropes, but when I finally figured out why the heck Windows Media Player wasn’t doing its job it was like a light blub turned on inside my head. Was all of this by design? Who knows. Who cares. It works now and that is all that matters.

MSDN subscription..

August 15th, 2008


Never had an MSDN subscription, but for the longest time I’ve always wanted one of my own. Today, I bought a professional subscription from NewEgg and I look forward to using it soon.

I’ve also been moving toward more free or open source products including IconWorkshop to IcoFx, Photoshop to Paint.NET, then also Trillian to Pidgin. As few dependencies on costly software, the better.

On the development front, I’ve had the opportunity to try out LINQ to SQL. It’s amazing what you can do with just a few lines of code. It saves a lot of development effort. As much as I love C, I am begining to love C# more and more. After reading some of the documentation concerning Singularity, I’m excited by the many benefits that there are to even using managed code to build operating systems. I remember when C# was first introduced, it was so incredibly slow I just laughed at it. But now the speed is comparable to a native C or C++ application especially with the managed code being converted to native code at run-time. And anybody who disagrees obviously has written in managed code lately.

Hell..oooo..

August 12th, 2008


So I was searching Google for “the truth” because I wanted to know it and I came across this website about The Truth About Hell by Terry Watkins. It mentions doctors who have resuscitated patients that died and went to hell. It speaks of geologists who have recorded sounds from the center of the earth that sounded like screams from hell. They even have a sound clip. But I wasn’t brave enough to listen to it. I have no doubt there is a hell but most of the time it isn’t in the forefront of my mind. Reading this made hell more of a reality to me. God, I don’t want to end up there.

VOIP troubleshooting

August 5th, 2008


I’ve been having a VOIP nightmare. It all began when I received the phone bill from Cox stating that phone calls to Afghainstan were $8.72 per minute! So for 10 minutes the bill would have been $80.72. So you could essentially call 10 times and never get through to who you wanted to and still get charged all that money seeing how even making an attempt at calling costs you 1 minute. Well then I heard about the deceptive practice that Cox has going on that if you pay an extra $0.99 per month they will reduce the rate for calls to $1.48 per minute. Meaning that if I want to reduce my per minute rate by $7 I have to spend $1! How retarded is that? Isn’t it 2008? Why don’t they just give me the cheaper rate to begin with!! So I ended up ditching Cox telephone service. When I went to cancel the guy was like, “well this is only going to reduce your monthly bill by a few dollars” (due to the bundled discount). That is how they trap you. They bundle shit together and make it seem like you should just keep it. But the fact is that we were paying more than just the cost of the phone service itself, we were paying for the cost of each call per minute. Anyways without the phone service I was able to stop having to worry about breaking the bundle and was able to remove some of the other crap that they had on our account which we didn’t need so in actuality I reduced the bill by more than just a couple of pennies per month.

Then I learned about VOIP and how with Vonage we could get cheaper international rates of about $0.70. So I signed up with Vonage. Even before I received the router I got tons of voicemail that was being left for the previous owner of the phone number! All these creditors calling all day was very annoying. Then when I went to make a phone call using Vonage I learned that the calls I was making were actually mobile calls and they were $1.25. So for me it was actually only a little bit less than Cox.

Then a friend told me about Broadvoice which had calls to Afghanistan at $0.42 or $0.46 (mobile)! With the possibility of getting such a lower rate I decided to make the switch to Broadvoice. The first time I signed up, the checkout page where it processes the order kept refreshing, and I was like WTF! And I thought something was jacked and that it was charging my card on each refresh and I hit the back button on my browser, even though it said not to. Since when does a shopping cart use AJAX to process transactions! I ended up having to call tech support to cancel that account and had to sign up a new Broadvoice account. I purchased the BYOD (Bring your own device) calling plan.

My own device I purchased was a D-Link DVG-2001S which was a total piece of garbage.. utter rubish. All my networking devices are D-Link so I thought I’d give it a try. While searching around for a way to configure the VOIP settings I learned that the web interface had two parts, one that was secure and one that was unsecure. In actuality the whole device was less secure than it would have been had it just had one interface with with a username and password login screen. The reason being that the unsecure part of the web interface gives you access to “Restore Settings to Factory Default”! If you can restore the settings to factory default without having to login then the whole system is compromised because you can simply restore the settings to the default and then gain access to the more secure part of web interface by using the default username and password as stated in the product manual. Let me also say that I have never known a device which needed to be restarted so many times as this one after making changes to the settings.

Furthermore the DVG-2001S wouldn’t even work with Broadvoice because Broadvoice requires that you send a User-Agent header when communicating with the SIP protocol and D-Link doesn’t send a User-Agent header. I had to telnet into the device and figure out what SIP error was being sent in response to the device’s requests. And it happened to be 406 Not Acceptable which I looked up on Google and found out that Broadvoice requires a User-Agent header. As verification that my settings weren’t the problem I was able to use Zoiper to place a call. So now I have to return the D-Link DVG-2001S and get a Linksys VOIP Phone Adapter. Hopefully I’ll have better luck with it.

History of older programs

August 4th, 2008


A list of some of the retired applications I’ve developed.

MySpace Massive Friend Adder - April 05, 2006 (Download)  
MySpace Massive Friend Adder is a simple utility that helps you add a ton of friends to your MySpace account. It is probably the only one that is really free. It is open source and can be viewed on sourceforge and is written in C#. I pretty much lost all desire for MySpace and haven’t tried to update it at all. It was fun for a season. MySpace Massive Friend Adder
BidSolid - November 11, 2005  
BidSolid is an ebay sniping program that allows you to bid on auctions seconds before the auction ends. It was written in C# .NET 1.1 in a few months time, and it took a few more months to realize that it was not worth supporting. Eventually I decided that with two code libraries, one in C# for BidSolid, and one in C for ExtractNow, that it was pulling my personal work in two different directions. So I resolved to stop development on BidSolid and continue working on ExtractNow. BidSolid
ImageView - June 7, 2002 (Download)  
ImageView is a quick program that I created because somebody ask me to create it. It allows you to view all the images in a directory easily and allows you to create slideshows of them. Also it looks kinda cool. Written in C++ with MFC.
WordCount - December 05, 2001 (Download GUI | Download CL)  
WordCount is simple utilty that counts all the lines of code giving the location of your source directory. As an added feature I made it check the code for functions and had it list some of the major Windows API that your code used and also show the minimum OS that was required to use those API calls. I used this at one point to determine the total amount of lines of code that ExtractNow used so I could include it in the About dialog. I no longer use it anymore. Written in C++ with MFC. WordCount
Uncompressor ‘99 1.80 - September 21, 1999 (Download)  
This was what I would now consider the beginnings of ExtractNow. This program was written in Visual Basic and used some Zip library that I found on the internet somewhere to extract Zip files. It was one of the only programs that allowed you to mass extract a bunch of zip files all at once. Uncompressor '99 1.80
QuickView - May 19, 1998 (Download)  
This is as far back as I can trace my programming beginnings. It is a program called QuickView that would be used in conjunction with the game Red Alert. Basically it would show you the map before you played it on Westwood Online. It was back in the day, when the map wasn’t displayed to you before you entered a game with an opponient. It was created using Visual Basic, blah. But it was my first program that I can remember building and distributing. It was distributed on a couple of Red Alert sites at the time. It was my first attempt at a shareware program and is easily crackable. Since then I have learned. QuickView

ExtractNow development

July 26th, 2008


What you see is called a treelistview or a combination of a treeview and a listview. In order to create it in pure Win32 API I ended up creating a subclassed listview and then extending that as a treelistview. The subclassed listview is flicker-free and manages the hiding and showing of columns through a header context-menu all on its own. Then the treelistview class takes advantage of all those things and extends it to do all the tree management and drawing. It has all its own function calls to add and remove items etc. It is not complete, there is still lots of work to be done on it, but this is just an idea I’ve been toying around with lately because I’ve had time to work on it. And this at least challenges me. So in this instance there would be no history button in the end because it would just duplicate what is already in the main window.

Modified media server again

July 26th, 2008


My combined hard drive storage capacity of 5TB has been around the block. I’ve tried so many ways to house all the hard drives. The server I built ended up being too loud even when the fans were on their lowest possible setting. So when I moved recently I had to get rid of the rackmount server case due to all the noise. I replaced it with a Lian-Li PC-A17 case which is much quieter and a lot easier to move. Too bad they didn’t make these cases 5 months ago. I’ve noticed a trend recently that case manufacturers are making cases that are much more expandable. With the Lian-Li hard drive kits I am able to fit 9 hard drives in one machine. I could even fit a max of 12 hard drives in one case if I wanted to get another kind of hard drive kit that stores 4 hard drives instead of 3 per 3×5.25″ bay. Of course If I wanted to fit that many hard drives in one case I would have to call Corsair and get extra SATA modular cables for my power supply. If you plan on creating a media server with lots of hard drives make sure that you get enough SATA power cables for each hard drive and that your motherboard supports that many SATA devices or get a SATA controller.