Thursday, April 22, 2010

Using TortoiseSVN From the Command Line

I use batch files to automate much of my build process steps. I’ll grab the latest from our source repository with one batch file, build trunk with another, and finally set up my baseline data with a third. This lets me tie these command files to SlickRun hotkeys so I can launch everything with a keystroke or two.

If you use TortoiseSVN it may not be apparent, but you can use it via the command line by invoking the TortoiseProc.exe file and passing in a couple command args. For example, to do an SVN update and get latest you’d call:

"d:\Program Files\TortoiseSVN\bin\TortoiseProc.exe" /command:"update" /path:”<working_copy>”

Note that you must have the quotes around the specific command you want to run, and you’ll also need quotes around the path you’re wanting to update. You can also update the current directory you’re in by using /path:. – note that’s the period denoting the current working directory.

You can read more about the available commands in TortoseSVN’s documentation.

Tuesday, April 20, 2010

Help Me Help Hanselman Help Diabetics

4537159934_8195d1c737[1]

This bracelet hangs on my wrist and is a pretty good metaphor for me these days. It’s scratched, it’s bent, it’s beat up, and it’s hanging in despite some rough wear over the last year. The first three words engraved on the back sum up the central aspect of my life since June 11th, 2009: “James H. Holmes. Diabetic.” (OK, so that’s three words plus an initial. Go with it, OK?)

I’ve gotten a lot of attention at the Wright Patterson clinic since last summer when, at 45 years of age I was diagnosed with Type 1 diabetes. Most Type 1 diabetics come about in early childhood, a few in teens, and a very few in their 20s.  Turns out some bug got in my system and went to war with my pancreas. The bug won, and now the bracelet symbolizes a major part of who I’ll be the rest of my life.

Everything’s working out more or less fine, so please don’t flip out about me. Exercise coupled with discipline around my already very good eating habits are serving me well. Thank God this happened to me later in life when I’m better able to deal with it instead of some years prior when I would have just put a serious chip on my shoulder.

With all that laid out, go read Scott Hanselman’s blog post about his Diabetes Walk coming up later this year. Hansleman’s an amazingly open guy about his life experiences with diabetes, and with his huge reading audience his goal of raising $50,000 is absolutely reachable. His few words about kids with diabetes are better written than I’ll ever be able to write up.

Do me a favor: go donate a few bucks. Not for me, not necessarily for Hansleman, but for those diabetics, current and future, who are in great need of help fighting and surviving this disease.

Thursday, April 15, 2010

Fixing “Invalid search path” for LIB environment variable in MSBuild

Problem: Trying to run msbuild.exe against a .sln file results in a failed build with an error message containing the error

error CS1668 : Warning as error : Invalid search path 'C:\Program Files\Microsoft SDKs\Windows\v6.0A\lib'
specified in 'LIB environment variable' -- 'The system cannot find the path specified. '

Examining the path C:\Program Files\Microsoft SDKs\Windows\v6.0A shows no \lib folder present.

Solution: Simply add an empty \lib folder. MSBuild doesn’t actually need anything in the SDKs folder for most builds; however, the vsvars32.bat file sets that directory as the LIB environment variable anyway.

This hacky fix has worked for me on a number of different systems and I’ve yet to run across any real issues. I’m blogging it here so I’ll remember next time without having to spend too much time searching…

Wednesday, April 14, 2010

Fixing “The Group Policy Client Service failed the logon”

We’ve had a rough few days with some virtualized servers on our testing infrastructure. Some SAN issues required some repair installs on a couple VMs, then we had a couple corrupted partitions on those VMs.

I’d fixed all those issues up, but ran in to problems trying to RDP directly in to the systems. I’d get errors “the Group Policy Client Service failed the logon” after entering my credentials.

Turns out the user profile on the server was corrupted. I didn’t have much in there, so I simply deleted it (System, Advanced Properties, User Profiles). This deleted the corrupted profile and I was able to get on the system successfully.

Thursday, April 08, 2010

Book Review: 97 Things Every Programmer Should Know

97 Things Every Programmer Should Know, edited by Kevin Henney, pub by O’Reilly, ISBN 0596809484.

This is another great book in O’Reilly’s “97 Things Every <fill in the blank> Should Know” series, and it’s every bit as good as the others. The book follows the same highly successful format of creating a book full of two-page articles taken from submissions to a public wiki. Each article is concise, highly pertinent to our profession, and well-written.

The articles are grouped in broad categories such as Bugs and Fixes, Design Principles and Coding Techniques, Refactoring, and Tests/Testing/Testers. There’s a couple great sections on softer skills such as learning/continuing education and customer interaction. I was really impressed that the testing section was so long with such great content in it.

Nearly every article in the book was highly useful to me, but a couple highlights would have to include:

  • Bob Martin’s The Boy Scout Rule on leaving code better than you found it
  • Steve Smith’s Don’t Repeat Yourself on keeping duplication out of your design and code
  • Jon Jagger’s Do Lots of Deliberate Practice on how to improve your skills
  • Paul Homer’s Simplicity Comes from Reduction on the power of deleting code

This book’s nicely balanced between highly technical concepts (avoiding Singleton patterns, code metrics) and more general topics (education, scheduling). It’s a great addition to your bookshelf.

Monday, April 05, 2010

Kalamazoo X is This Weekend!

Last year I got to attend an amazing conference: The Kalamazoo X Conference. Mike Eaton put on an amazing conference with a terrific lineup and a fantastic format: 20 minute talks from great folks like Mike Wood, Brian Prince, Leon Gersing, and others. (I’m leaving off all the other great speakers because of time and space. Don’t take it personally if you were one.)

KalX’s content isn’t about in-depth technical geekery, it’s about communication, process, design, and figuring out how to improve and motivate yourself.

KalX is back this year, and it’s this weekend. You NEED to go to this conference. It’s like a combination of CodeMash and TED all mashed up in one day of glorious, awesometastic content.

Shake out your schedule. Get there. It’s the region’s second best conference after CodeMash, and I don’t say that lightly.

Subscribe (RSS)

The Leadership Journey