Thursday, September 29, 2011

Adobe and Apple BOTH suck!

I remember back when the iPad was released, Steve Jobs told the world that the reason the iPad didn't support Adobe Flash was because Adobe could not write good software and Flash was the cause of the majority of computer crashes. In effect he was saying Adobe didn't know how to program well. I personally find this ironic because I consider Apple to be guilty of the same thing.

First off let me say I totally agree with Steve Jobs, Adobe software does suck. My biggest gripe is it's bloatware factor, meaning it installs way too much. Case in point Adobe Reader. This program is over 110 MB in size and all it does it display PDF documents. Compare that to SumatraPDF which is about 4 MB in size. And I've never had compatibility problems with SumatraPDF, it opens and correctly displays every PDF I've thrown at it. Why is Adobe Reader so big? That's a good question.

But Apple is guilty of the same "sin." The latest version of Apple's iTunes software installs over 410 MB of files!!! To give you a point of reference, Media Player Classic Home Cinema is about 12 MB in size. So again, why does iTunes install so many files. I think the root problem is developer laziness. Apple iTunes installs tons of files for every possible language. iTunes should only install files for the language I'm currently using. If I speak English do I really want 100 other languages installed on my computer?

So in conclusion; Apple and Adobe both suck at producing software. Their developers are lazy and we the consumers are the ones who pay the price. I recommend avoiding them if at all possible.

Friday, September 16, 2011

How to Profile

No, I'm not talking about racial profiling. The term "profiling" is used in computers to describe the process of analyzing an application for performance reasons - to locate and reduce or eliminate bottlenecks. Profiling an application can be as simple as making changes to your code and using a stop watch to time executions to improve performance. Fortunately there is a much better way, there are tools to help you profile your application. Below I'll tell you have to use Visual Studio 2005 to profile your application. Note that most every version of Visual Studio has a Profiler, and the use of that Profiler may very. This is only for Visual Studio 2005.

For starters the Profiler is only an option on the highest levels of Visual Studio - I believe they call it Team Suite. You also have to select the Profiler option during Visual Studio installation. From your Visual Studio IDE, select the Tools menu and look for a "Performance Tools" option. If you don't see it then you didn't install the Profiler and/or you don't have a level of Visual Studio high enough.

If you have the "Performance Tools" menu option then you've crossed the first hurdle. Next you need to select a Release build of your project. You can profile a Debug build, but you'll get a lot of "noise" so best to use a Release build. You need to do two things before you compile your code. First, enable Symbols for your Release build. Second, you need to add the "/PROFILE" switch to the linker. This option must be added manually in the "Additional options" section. The /PROFILE switch instructs the linker to generate output that is friendly to the instrumenter.

At this point you can use the "Performance Tools" menu option to create a profile session. To profile your application you must run it from within Visual Studio, and you must use the "launch" button in the profiler view.

There is one more gotcha. If your application is more than a single EXE, if it contains DLLs, the Profiler will NOT traverse down into those DLLs which is probably what you want it to do. To profile your entire application including DLLs there is an additional step. You have to manually instrument your DLL files. To do this open a command prompt. The command is "vsinstr.exe a.dll" Note that when you instrument a file is generates a new PDB file.

Happy profiling!

Tuesday, September 13, 2011

Pier Solar

Today I wanted to talk about a new game for the Sega Genesis. Yes, you read that correctly, a new game was released for the Sega Genesis in 2011. It's called Pier Solar.

Arguably one of the genres Sega did the best at was RPGs (or role-playing/adventure games). The Phantasy Star series was incredibly. A group of fans decided to create their own RPG for the Genesis. As I understand it they worked on this game for 5 years or more before completing it. But this isn't just another hack, they went the full nine yards. The game is by far the largest game ever on the Sega Genesis, 64MB versus I think 4MB for Super Street Fighter II (the next largest game). If you own the Sega CD attachment you can pop in a CD for enhanced sound and audio. All and all the game is awesome! They even created packaging, manuals, physical cartridge production, and translated the game into multiple languages.

Obviously this is going to be a very limited production run. The game was sold on their webpage for $55 (not bad considering Phantasy Star games cost more than that back in the 1990s). As of now the game is no longer for sale, I'm guessing they sold out and who knows if they will produce more. You can buy them on eBay. This game is sure to become a collectors item because of it's rarity and uniqueness.

I purchased my copy, although as of yet I haven't opened the packaging. I've been too busy to play it, so for now I'll keep it unopened.