ChetOS.net

You can configure TFS to do backup if you install the TFS Power Tools.  One configuration is to backup the transaction log every 15 minutes.  The problem is that the backup does not truncate the log file and therefore you end up taking a backup of the hundreds of megs of transaction log every 15 minutes.

The SQL that is executed to do a transaction log backup is something like:

BACKUP LOG [Tfs_DefaultCollection] TO DISK = N'\\TFSDB\TFSBackup\Tfs_DefaultCollection_20101202142822L.trn' WITH NO_TRUNCATE , DESCRIPTION = N'Tfs_DefaultCollection database - Log Backup', RETAINDAYS = 7, NOFORMAT, NOINIT, NAME = N'Tfs_DefaultCollection database Backup', NOSKIP, REWIND, NOUNLOAD, STATS = 10

Notice the WITH NO_TRUNCATE predicate.  This needs to be removed in order to backup properly.

I dug into the assemblies with Reflector and ildasm and a slight tweak to the "Microsoft.TeamFoundation.PowerTools.Admin.dll" assembly (version 10.0.30831.0) will let you remove NO_TRUNCATE. The file is located in C:\Program Files\Microsoft Team Foundation Server 2010 Power Tools\Team Foundation Server Backup Plan\

Using a hex editor (like XVI32), goto position 0x9709 from a 17 to an 18.  This has the effect of changing the LogTruncation value from NoTruncate to Truncate, which will remove the "NO_TRUNCATE" part of the SQL command.

In the process, your strongly named assembly will no longer validate properly.  This is fine for the TfsConfigPT executable because the modified assembly is in its AppBase path.  In this case, strong name validation is bypassed automatically.

When you load the TFS Management Console, it will not be able to load the modified assembly and you will no longer be able to administer the backup configuration.  This is not good.  In order to get the management console to bypass the validation, you need to copy the Microsoft.TeamFoundation.PowerTools.Admin.dll file into the C:\Program Files\Microsoft Team Foundation Server 2010\Tools directory.  In addtion, you need to make a small change to the registry to change where the management console looks.  Just modify the path in HKLM\SOFTWARE\Microsoft\TeamFoundationServer\10.0\Plugins\Backup\Binary.

This may sound like a lot, but it will only take 5 minutes, and it will save a huge amount of harddrive space.
Posted by Chet at 12:39 PM0 Comments

If you are a .NET programmer be aware that .NET Reflector will no longer be free after this month.  I suggest that you save a copy in case you need it again in the future.

If you are a .NET programmer and you don't know what I am talking about, then go here and get Reflector and try it out.  It is a must have utility.
Posted by Chet at 10:47 AM0 Comments

Robbie has been diagnosed with hypotonia.  Basically, it is low muscle tone.  It isn't a strength issue per se, it means that at rest his muscles aren't as "tense" as they should be.

This causes issues because it makes it harder for him to crawl, stand, walk, jump, and run.  It also affects his oral motor abilities and is probably contributing to his lazy eye.  His condition appears to be a relatively mild version.

If left unattended he would develop unhealthy ways to compensate.  Fortunately we have caught it early (very early by some things I have read) and he is now in physical and speech therapy.

The physical therapy has helped enormously.  Whereas a few months ago he wouldn't bear weight on his legs and roll over immediately when placed on his belly, now he is crawling like crazy and standing with support.  We are now working on getting him to cruise (walking with support).  Robbie is actually a very quick study, in less that one week since we started teaching him he is moving the distance of the couch.

The speech therapy is actually feeding therapy and is going to help us deal with his eating issues.  For one, since he has low muscle tone in the mouth muscles, he doesn't work food around in his mouth.  If he can (if the food is soft enough) he just swallows it immediately.  This means that he cannot eat solid foods because he gags on them (because doesn't chew them).  In addition, the epiglottis does not close tight enough when he drinks thin liquids (like water and juice) and so he aspirates.  With time this could cause pneumonia and other respiratory tract infections.  We recently had a swallow study done and they were able to detect this.  Now we are adding xanthan gum to his drinks to thicken them.  This has helped a lot.

In addition, the weak muscles in his mouth make it more difficult for him to practice talking (although he does jabber quite a bit).

Other than these gross motor issues Robbie is doing great.  His doctors and therapists continually comment on how social he is and he seems to be quite intelligent.  His fine motor skills are also good.
Posted by Chet at 10:22 AM0 Comments

© 2013 Chet Zema π