Monday, October 31, 2005


Today I needed to parse some CSV data. A quick search found a project called OpenCsv that was added to sourceforge last month. I pulled it down and found it did a great job on the data I was parsing. The data I am parsing contained newlines, commas and quoted strings inside the csv elements. Some other libraries would not handle this correctly but OpenCsv did!

Friday, October 28, 2005

Rapid Prototyping - Recommended Reading

Gamasutra published a feature article "How to Prototype a Game in Under 7 Days:
Tips and Tricks from 4 Grad Students Who Made Over 50 Games in 1 Semester

This article provides an interesting story on rapid prototyping. Several points made directly oppose the ideas pushed by Agile Development. Specifically they devalue working together during the coding phases of the project. Also, they denounce formal Brainstorming. While at the same time, some points re-enforce Agile Practices. Their call for picking the solution done the fastest is similar to the Agile practice of making the "simplest thing that could possibly work".

Overall, I think there is more need for Rapid Prototyping in Business Application development. The Agile community calls this a "Spike Solution". Far too often I see product managers and developers writing production solutions without first creating a prototype.

Also, I agree with their assertion that "Complexity is not necessary for Fun" in game play. I think this also applies to application development in that "Complexity != Productive Solutions." Application designers seem to want to add flexibility and options. This adds Complexity and reduces the productivity of the users and developers. Most users just want a simple solution to their problem. Once they find the solution, they don't use those extra options.

They said their Brainstorming sessions did not produce immediate results. But it did get them thinking and at a later time (maybe while driving home), an idea would pop into their head. This is exactly the same process that I have read from a successful inventor. (Sorry I don't have the reference). The inventor said he could always find a new idea or solution with a two step process. First he would focus and concentrate on the problem for some time. He wouldn't expect to get any results from this activity. But somehow it got his subconcious mind working on the problem. Then the second step was just to do something else. Driving, going to a park, etc. At a later time his mind would bring up a new solution or invention related to the problem he had focused on in the first step.

Monday, October 24, 2005

Wednesday, October 12, 2005

Cross-site scripting has posted a good little article on Cross-Site Scripting. Makes a great summary or beginners guide on the subject.

Tuesday, October 11, 2005

Virtual CD-Rom for XP from Microsoft (unsupported)

Need to mount an ISO image? Here is a simple tool from Microsoft: Virtual CD-ROM Control Panel for XP. While unsupported, it seems to work fine.

I found it on the PDC Vista Beta install disk. Looking around Microsoft's web, I found this reference to it... MSDN Subscriptions FAQ see question "What are ISO images files and how do I use them?

I was surprised to find they also linked to some 3rd party tools in the FAQ. Also, kudos to M$ for having java script on the page that worked with Firefox.

How to determine if .Net app is having Lock Contention

Open perfmon and add the .Net CLR LocksAndThreads. Select "Contention rate / sec" and "Total # of Contentions" (use ctrl-click). Then select your application from the "instances" list. Then click the Add and Close buttons. The report view is the best way to see the results.

Thursday, October 06, 2005

DoD: anti-MG tactics

Playing Day of Defeat Source I see a lot of players using smoke grenades to try and sneak past machine guns. While this has slight success, there is a better way.

An MG in a good bunker can be difficult to throw a grenade into for a kill. However, it seems many players dont realize how a near-miss grenade really shakes up the MG. The Source engine violently shakes and blurs the gunner's view. So for a second or two, the MG is unable to effectively see and aim. This provides a great oppertunity to get a clear shot on the MG.

Just time your attack to take place the moment after the nade goes off and you will greatly increase your chance for success. Good luck!

Tuesday, October 04, 2005

Software that makes my day

Software that I use everyday...
  • Java - the best language and platform.
  • Eclipse - Living with eclipse only because I cant spend the $$ for IntelliJ just for home use.
  • Subversion and TortoiseSVN - Keeping the code safe
  • Beyond Compare 2 - handy diff tool, and cheap enough (I'd rather use Araxis Merge but can't afford it)
  • OpenOffice - Better than Office!
  • Office - only because my co-workers keep buying it.
  • Trillian - for those fun interruptions during the work day (yeah it gets lonely in a cube)
  • Half-life and Half-life 2 plus mods CS, DoD, Natural Selection, HL2 DM - for my adrenaline rush and game fix.
  • Firefox - for the internet, and web-based email.
  • Remote Desktop - because there are too many machines in my office
  • Audacity - A poor man's 'tivo' for internet audio.
  • Azureus - Because bittorrent rocks!
  • Windows XP - Only because you have to have an OS, and this is the only one that runs all the other stuff easily.
It is interesting to see that half of these applications are opensource. What software helps you get through the day?