Friday, October 30, 2009

Routing Systems Presentation

Last night at the Bozeman LUG (Linux Users Group) I presented for the second time, this time on a comparison of routing systems. It specifically examined open source router software for use at 50+ person LAN events on campus. I ended up selecting pfSense, and have been happy with it ever since. If you're interested, the slides are linked below. Consider this a mini-review of DD-WRT, pfSense and Untangle from the perspective of some of the most demanding users on the planet: gamers at a LAN party.

Routing Systems: A Real Life Comparison

Tuesday, October 27, 2009

16-bit Assembly Compilation in 64-bit Windows 7

I'm taking Computer Organization and Architecture this semester, and as part of the class I need to write/compile some assembly programs. Unfortunately, due to the age of the class, all of the example code & what we're being taught is with respect to 16-bit DOS programs. So I was in the unusual situation of needing to compile code that won't run in my current OS (Windows 7 Professional-64bit).

After experimenting a while, I got the following setup to work:

1. Installed Visual Studio 2008 & all associated updates
2. Downloaded & extracted a 16-bit compatible linker using a VM running XP (any box running XP will be able to extract it)
3. Created a folder for the assembly programming, made sure the link.exe from (2) was inside the folder.
4. Created a batch file (compile.bat) to automate the compile/linking process:
//start batch file
"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\ml.exe" /omf /Bllink16 /Zm %1.asm
LINK.EXE %1.obj,%1.exe,,.lib,nul.def
//end batch file
5. Begin writing programs. To compile, simply type "compile helloworld" (WITHOUT the .asm)
For example, here's a sample run of a famous program:
//begin console
c:\Assembly>compile hello

c:\Assembly>"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\ml.exe" /
omf /Bllink16 /Zm hello.asm
Microsoft (R) Macro Assembler Version 9.00.21022.08
Copyright (C) Microsoft Corporation. All rights reserved.

Assembling: hello.asm

c:\Assembly>LINK.EXE hello.obj,hello.exe,,.lib,nul.def

Microsoft (R) Segmented Executable Linker Version 5.60.339 Dec 5 1994
Copyright (C) Microsoft Corp 1984-1993. All rights reserved.
//end console
6. Finally, to test the compiled programs I run them inside a DOSBox instance (as Win7-64 doesn't run 16-bit programs).
//begin console
Hello, World!
//end console

Hopefully this helps someone running into the same issues I did.

Tuesday, October 20, 2009

Windows Media Player in Windows 7 Dolby Dynamic Range Compression

So based on my Google Analytics numbers, I've gotten a fair number of people visiting this blog looking for Dynamic Range Compression information in VLC. Recently I was watching some OTA HDTV in Windows Media Player in Windows 7, and heard the unmistakable sudden volume shifts of Dynamic Range Compression. After clicking around in the menus, I discovered the location for the DRC Dolby setting in Windows 7. Right click on the playing video, select Enhancements, then Dolby Digital settings. Select Theater, and enjoy the much increased dynamic range.

Thursday, September 3, 2009

3D Point Clouds vs # of Input Images

In the random fun stuff category, earlier this year (Spring semester) I wrote a Data Analysis Report for a statistics class. The data set was the number of points in the 3D point cloud generated by the Photo Tourism algorithm compared to the number of input images. The results I got turned out a LOT better than I expected. If you're interested, feel free to take a look. Please note that this report was oriented towards an Engineering Statistics Class, and as such there is a fair amount of p-values and MiniTab graphs and output, etc. Stuff on Bozeman's new OTA HD outlook coming soon...

Wednesday, August 12, 2009

Good Things Are Brewing

After an extended hiatus, I have returned. Temporarily at least.

While I've been away at my summer internship there have been rumors that the HD situtation in Bozeman has dramatically improved. I will be returning in a couple weeks to the Bozeman area, where I will be sure to report back on the new status of OTA HD in Bozeman. Also, we should have our first useful portable HD Radio in the form of the new Zune HD which will be arriving a bit later this fall. It is on my 'possible purchase' list. First up is a Core i5 to replace my current aging C2D E6600.

Anyways, I'll see you in a week or two, same location.

Tuesday, January 13, 2009

PureVideo HD (VP2) Really Helps

So recently, thanks to the generosity of a friend, I was able to swap my 8800 GTS (640MB) for his spare 9800 GTX (512MB). While there is a noticeable increase in gaming performance, where I REALLY noticed a difference was in HD-DVD and H.264 decoding. My brother recently purchased a Canon Vixia HD camcorder, which records 17Mb/s H.264 AVCHD encoded video. The video is beautiful, but on my Core 2 Duo E6600 (2.4GHz) & nVidia GeForce 8800 GTS combination I was unable to play it at anything near native frame rate. The CPU would sit at 100% CPU and would render a couple frames every couple seconds. Not nearly watchable.

Using the same CPU along with the 9800 GTX, however, it's an entirely different picture (as long as you use a PureVideo HD enabled player). Using Media Player Classic Homecinema (which is DXVA enabled), the video runs smooth as butter on my system, with only a couple percent CPU usage.

It is a similar story with HD-DVD, though quite not so startling. With my 8800 GTS, when playing h.264 encoded discs it would be relatively smooth, but not completely, and every fifteen minutes while playing VC1 encoded discs it would stutter for a moment. No longer. The 9800 GTX does enough of the processing that my CPU now sits around 20% usage, and the video plays stutter free and completely smooth for the h.264 encoded discs.

So, in summary, VP2 really improved HD playback over VP1 (which was in my 8800 GTS 640MB). Make sure that whatever video player you use supports PureVideo HD or DXVA to get the most benefit.Also, try out MPC Homecinema if you want to do some HD video watching with a VP2 equipped system.

Additional Reading: HD Video Decode Quality and Performance Summer '07