SVN, the Way of the Tortoise

Although, Subversion (SVN) is not new, it is still one of the most widely used version control systems (VCS) available. SVN is a tool that allows users to track the changes of files. Yes, it’s that simple.

Interfacing Your Demons

Like many version control systems, SVN utilizes a command-line interface (CLI) to interact with users. Some users frown upon the command-line; especially, Windows users. However, I want to point out how necessary it is that these tools use the command-line.

After you use a version control system for a good length of time, you should notice that there are routines you follow over and over again. Perhaps you lock certain files before editing them to prevent conflicts with other potential editors on your team. Maybe you always commit your changes when you build a project for release, or when you shut down your computer for the evening. The point is, these are things that can be automated with small scripts through build events or even Windows Task Scheduler. Having a command-line tool is essential to such automation.

On the other hand, there are many times you will want to issue commands to SVN on-demand. A nice graphical user interface can make things much easier and faster for those tasks. Enter TortoiseSVN.

Continue reading SVN, the Way of the Tortoise

Prince of Persia “Combo Specialist” Achievement/Trophy

If you are like many Prince of Persia gamers out there, you have tried tons of different combinations of attack combos in the hopes of finding the right set that will award you that special achievement/trophy; the “Combo Specialist”. The good news is, you do not have to perform all 1,602 possible combos, like the task hint may lead you to believe. You only need to pull off 60 of them. Other guides will tell you 62, 63, or even more, but 60 is the magic number (remember, a combo is actually two or more attacks). I have tested this list at least 10 times with a new user profile each time. There are a few rules to keep in mind when trying to achieve this goal.

  1. A combo cannot kill the enemy. Even the last hit cannot kill your enemy.
  2. A combo cannot be blocked by the enemy. No part of the combo can be blocked for you to succeed.
  3. A combo cannot knock an enemy into a wall or off a ledge. If your combo chain is interrupted by an edge animation, it will not count.
  4. After you successfully complete all 60 combos, you must kill the enemy you are currently fighting before the achievement/trophy is awarded.
A = Acrobatic; G = Gauntlet; M = Magic; S = Sword
  • A,G
  • A,G,A,G
  • A,G,A,M,G
  • A,G,A,M,M
  • A,G,A,M,S
  • A,G,A,S
  • A,M,G
  • A,M,M,G
  • A,M,M,M
  • A,M,M,S
  • A,M,S,G
  • A,M,S,M,G
  • A,M,S,M,M
  • A,M,S,M,S
  • A,M,S,S
  • A,S,S,S
  • G,A
  • G,A,G
  • G,A,M,G
  • G,A,M,M
  • G,A,M,S
  • G,A,S
  • G,G
  • G,M,A
  • G,M,G
  • G,M,M,A
  • G,M,M,G
  • G,M,M,M
  • G,M,M,S
  • G,M,S,A
  • G,M,S,G
  • G,M,S,M,A
  • G,M,S,M,G
  • G,M,S,M,M
  • G,M,S,M,S
  • G,M,S,S
  • G,S
  • M,A
  • M,G
  • M,M,A
  • M,M,G
  • M,M,M
  • M,M,S
  • M,S,A
  • M,S,G
  • M,S,M,A
  • M,S,M,G
  • M,S,M,M
  • M,S,M,S
  • M,S,S
  • S,A
  • S,G
  • S,M
  • S,S,A
  • S,S,G
  • S,S,M
  • S,S,S,A
  • S,S,S,G
  • S,S,S,M
  • S,S,S,S

Want to Know How I Figured It Out?

How do I know that there are 1,602 total combos? How do I know that 60 of them are required for the “Combo Specialist” achievement/trophy? I wrote a software program to figure it out for me!

That’s right. I could not find a definitive list anywhere on the Net. The official game guide does not even list the exact combos necessary to get the award.

You can read about the program that I wrote on CodeProject.com. If you’re just interested in the code that calculates this award, look near the end of the Contents at the beginning of the article. You can see some very cool screenshots of the application too. Hey, while you’re there, vote me a 5 if you like it!

LINQ with SQL Server CE 3.5

LINQ is an extremely useful new language feature for the .NET Framework 3.5. It allows querying all sorts of data structures via the actual programming language (thus the Language INtegrated in LINQ). In addition, the specific variant, LINQ to SQL, includes a full O/RM (Object/Relational Mapper). Since many developers spend a ton of time mapping their relational data to objects, this included tool is a phenomenal time-saver. Of course, this is not a new concept, nor is it the first of its kind for .NET. It’s just free and included!

LINQ to SQL currently only works with SQL Server 2005. It’s not likely that Microsoft will bother with any other providers with the Entity Framework and LINQ to Entities on the horizon. There is a way to get standard LINQ to SQL to work with the SQL Server Compact Edition (SSCE) however. You have to use the SqlMetal command-line tool to generate the appropriate file(s). Once you generate the .dbml file, you can even open it in the Visual Studio 2008 designer.

Continue reading LINQ with SQL Server CE 3.5