Book Review: Head Games - Thomas B. Cavanagh (2007)

by fwhagen Sat, 29 November 2008

Book 2 from the infamous Tom Cavanagh.  Tom is an old friend that I discovered recently is also an author, and a good one at that.  It is no surprise that I picked up this one as soon as I finished Zoe's Tale

Mike Garrity has a brain tumor.  He calls it Bob.  And so we meet the main character of Tom's darkly humorous crime novel set in the Central Florida that I grew up in.  Mike is asked by an old colleague from the police force to find a missing member of a up and coming boy band.  With nothing better to do than feel sorry for himself and his mortality, he takes the challenge.  Mike finds himself deep in the middle of a dangerous manhunt as well as surrounded by people who truly care for his well-being.

Head Games is better than Tom's first book, which shows that he is definitely growing as an author.  His dark humor shows in more subtle ways this time around, and again, his locals view of Orlando is very amusing to me.  I am glad that Tom is doing well, and hope that this is just the beginning, if the least reason is for my own amusement.  Great job once again, Tom!


Filed Under:

Book Review: Zoe's Tale - John Scalzi (2008)

by fwhagen Fri, 14 November 2008

This is a novel approach:  Take your last book, which was really quite good, and retell it from the perspective of a supporting character.  Scalzi's latest book, Zoe's Tale, does just that.  What's more, the supporting character is the sarcastic teenaged daughter of the protagonists in The Last Colony.  Of course, being Scalzi, I ordered and read it in hardcover.

This is the parallel of the last book in the John Perry storyline.  Zoe is the adopted teenaged daughter of John Perry and his ex-SpecialOps wife Jane Sagan who are asked to be the administrators of a new colony.  She must leave behind everything she has known, again, because the colony, named Roanoke, will be hidden, or lost, from everyone.  She must survive with the rest of the colony as the Conclave of Worlds comes after the colonists to destroy them for violating their non-compete edicts.  Oh, and also needs to deal with an entire race of aliens who hold her in the highest reverence for the acts of her biological father.

If you have not read The Lost Colony, do not read this book.  I could only imagine what it must seem like to a non-fan.  It does stand alone, but is not the voice of John Scalzi at his best.  It is, however, extremely entertaining to one familiar with the storyline.  Zoe is sarcastic, cynical, cruel in a teenage-girl way, and very funny.  She is a very endearing character to someone who appreciates some of those qualities.  This may be a fan-service book, but I am very happy to have it in my collection.


Filed Under: Books

Breaking the Rules

by fwhagen Fri, 14 November 2008

Ok, I broke my own cardinal rule of weblogging:  I removed content from this site.  Or rather, suppressed it.  But since it is *my* rule, and I had good reason, I can do that. 

Three weeks ago, I was laid off from my job and needed suddenly to find gainful employment.  Fortunately, I was already on the market anyway, but I wanted the domain to reflect professionalism as much as possible.  The Subversion/VS.NET article I posted was great for that, however, the two entries above it were book reviews.  So I hid them.  DasBlog makes that very easy in the way that it stores content.  I merely moved the days entries and they were gone.

Today, I started my new job and I have moved the entries back.  Ironically, I have one more book to review tonight, and another this weekend, so it gets worse.  BUT, I am excited about my potentials at the new gig, and anticipate much more technical stuff later.  I am actually going to get to write Real Code!


Filed Under: Blog

Book Review: Murderland - Thomas B. Cavanagh (2005)

by fwhagen Sun, 19 October 2008 Murderland: Books: Thomas B. CavanaghI am very excited about this book!  I don't like murder/crime mysteries, but this one is different.  (Disclaimer:  Tom Cavanagh is an old friend of mine, so my opinion may be a little skewed!)  When I found out that my old friend Tom is now an author, I didn't even hesitate to order this book.  How could I not read it?  I'm even going to post a link to his website: 

Murderland is a story of Central Florida (where I spent 20 years), Theme Parks and tourists (where I spent 3) and murder.  Kevin Lonnegan is an ex-cop turned private investigator who is asked by a old friend to investigate a pair of murders at the Empire Realm theme park.  His friend is also an ex-cop and happens to be head of security at said theme park.  Lonnegan is called in discretely because the head detective from the Orange County Sheriffs office is a former colleague of both of them whom they have little more than disdain for.  So he goes under cover picking up clues that could endanger his life and that of his new friend Sheila with whom he struggles to figure out his own feelings for in the wake of his young wife's tragic death.

Ok, I started reading this book only because Tom wrote it.  I then found it to be very amusing from an setting perspective.  Tom lives in Orlando, as did I, and it is very evident in his writing.  There are many insider references to the area, that Tom does a great job of exposing to the reader.  And it seems to me that he did an excellent job of describing the theme park that is NOT Disney World, but certainly is to me!  Suddenly, I discovered that I really cared about the characters and settled in for a very fun read.  Only took me a few days, which these days is remarkable!  Turns out, I really enjoyed the book!  I don't know if it's a great mystery novel, for I am not the one to ask about that, but I know what I like. 

I wish Tom the best, and many more novels (he already has 2 more).  It is my hope that he become bigger than some of the less deserving authors I have read...  And continue the poking at the mouse!  I LOVE it!


Filed Under: Books

Book Review: Warrior Class - Dale Brown (2002)

by fwhagen Sun, 19 October 2008 Warrior Class: Books: Dale BrownContinuing with one of my favorite authors, Warrior Class is the next in the series by Dale Brown.  In my last post I described the series as "stories of near-future geopolitical conflicts with an emphasis on air-power.  What's not to love?"  Well, unfortunately, in this book we find out.

Warrior Class returns us to the modern political arena, only with the increasingly divergent stories with larger than life events, it's hard to say it's the modern world so much as an alternate history anymore.  And that's great, really.  A new isolationist president has been elected with little foreign policy experience and starts a policy of removing all U.S. presence around the world and slashing military budgets.  (Sounds like a certain candidate running now that scares the crap out of me....)  A Russian mafia boss takes the opportunity to make a buck in the Baltics and poor General MacLanahan must do something.

I was disappointed with this book.  Is this really the same Dale Brown that wrote Flight of the Old Dog and Night of the Hawk?  I will be giving the series a rest for a while, partly because I have a whole lot of other books to read.  Hopefully, the next in the series will get back to the solid writing I have come to enjoy.


Filed Under: Books

Subversion for Visual Studio Users

by fwhagen Tue, 14 October 2008

VisualStudioLogo subversion_logo-200x173 There are a few articles online covering SVN and VS, but many are out of date and a bit more complicated than necessary with advances in both products.  For a current install (Oct 2008:  SVN 1.5.2 / VS2005), you only need 3 files:

Subversion is, of course, the Source Control server itself.  The MSI install contains everything needed to run on a Windows server.

TortoiseSVN is a plug-in for Explorer that gives a great deal of control to the source repository using the right-click context menu.  Check-ins, updates, merges, etc. can be done through this interface as well as full repository browsing and maintenance.

AnkhSVN is the most important tool for the .NET developer.  It integrates the controls needed for team development directly in the environment.  Much like the integration offered through VSS, but much better.

Installation of Subversion itself is very easy.  Just run the installer.  I installed into C:\SVN\ instead of the default "Program Files" directory, but I am lazy and hate spaces in filename on the command-line.
NOTE:  The installer only puts the files in place and sets the important environment variables.
Once installed, the following command is used to setup a repository:

svnadmin create "D:\SVN\Repository"
You can create as many repositories as needed, but one for now.  Before we activate the server, two config files need to be edited.  They were created with the repository above.  They are svnserve.conf and passwd in the conf sub-dir of the repository.  Uncomment the following:
anon-access = read
auth-access = write
password-db = passwd

harry = harryssecret
sally = sallyssecret

Now the installation can be tested. Execute the following command in a command window:

svnserve --daemon --root "D:\SVN\Repository"

To create a project, execute:

svn mkdir snv://localhost/newproject

Now would be a good time to install TortoiseSVN if it hasn't been yet.  Connect to the running server from within an explorer window by right-clicking and selecting TortoiseSVN > Repo-Browser.  Enter the name of the server to see the interface using the following URL:  svn://servername/  The project "newproject" should be viewable there.

And now the most difficult part of all:  Installing SVN as a service in windows.  The following command will accomplish this.  Syntax and proper spacing is critical.  (I was having problems until I realized the space after each '=' in the command.)  Here it is:

sc create SVN_CSTeam binpath= "c:\svn\bin\svnserve.exe --service --root D:\SVN\Repository" 
displayname= "Subversion Repository for CSharp.NET Team" depend= iisadmin

And that is why I do not use the default paths.  Spaces have to be delimited with quotes, which have to be escaped, and it just is not worth it.  All on one line of course.  Also note that the name after the "create" parameter can be anything desired and allows for multiple repositories on the same server, along with unique displayname.  I chose to use iisadmin as a depend, not because it necessarily is, but because it is sure to load other depends such as Tcpip and such.

The last step is to load AnkhSVN; a solution I leave to the reader.  It's not hard.  If you are familiar with source control at all, it is pretty obvious.

I'd like to thank the following sites for very useful information in helping me through the installation and the creating of this post:

Keywords: ,

Filed Under: .NET | Programming part Deux or Six

by fwhagen Wed, 08 October 2008

Here we go again.  As mentioned previously, I have finally purchased real hosting.  With my own domain name, I am finally fully managing my blog.  I am going to use DasBlog again, like in the old days of running it on my home server.  It's not as clean (yet) as WordPress, but it is much, much more configurable.

Let's see how long this run lasts.  Ironically, I am able to finally post almost all of my old content again.  The only posts missing are the really old ones from when I was crafting it with JavaScript and DHTML.  Maybe I will get those in one day too.


Filed Under: Blog

Domain Transfer For Fun and Headaches

by fwhagen Wed, 03 September 2008

Well, the new domain is finally up. if you want to see it, but there is nothing there yet.  I purchased the hosting account 2 weeks ago and have yet to have the domain name properly transferred to the provider. 

Many years ago, I decided I wanted to have for myself, for professional development and personal/family use.  I took a chance on the upstart company GoDaddy when they started out because they were pretty cheap.  I was very pleased with their service, having dealt with Network Solutions for years before at work.  That is until this past week, when I tried to transfer it.  After waiting for several days, I discovered that the account was "locked" to prevent any accidental or unauthorized transfers.  If you have ever transferred a domain before, you know that is a bunch of crap.  I had to personally authorize the transfer, so why the lock?  Because of the subsequent failure to transfer, I have to wait 60 days to try again.  The waiting period is ICANN specified, and I really don't have any logical problems with that, except that GoDaddy now gets to hold it for another 2 months. 

I was able to forward the DNS records over, so it works for now.  And I have a long time left to get the domain settled, as well.  It is just very frustrating to deal with underhanded greed like that.  For the sum of $10/year. 

UPDATE [19:50]:  I was wrong about  On my way home this evening, I got a call directly from them expressing concern about my problems.  Now, here's the thing, I only posted my concerns here.  They took the initiative to track me down and fix the problem.  Well, tracking me down in the sense that I posted my domain name and they called my contact info, which only they have.  Long story short:  I am so impressed with their commitment to personal service that I am cancelling the transfer and will simply use DNS forwarding for my new site, as it works perfectly well.  I will continue to use them as my registrar and will definitely use them in the future whenever I can.  BTW, the 60-day wait is ONLY for sucessful transfers.  It does not apply to failed due to locks or privacy safeguards.  And the $10/yr jab?  Only heightens my impression of them.  They surely spent more than that in time and effort on one measely IT guy's satisfaction.

Keywords: ,

Filed Under: Blog | Rant

Suppressing Paging Numbers on Short DataGrids

by fwhagen Thu, 21 August 2008

I hate seeing a solitary "1" on the bottom of a paged datagrid because the dataset is too short to have more than one page.  You don't really want to turn off paging but suppress the "1" when it is not needed.

Use this code to do just that when binding the grid:

        if (dgEmployee.Items.Count < dgEmployee.PageSize)
            dgEmployee.PagerStyle.Visible = false;


Filed Under: .NET

Cox is Out; New Address Soon

by fwhagen Thu, 21 August 2008

I've had it with Cox Cable.  I tried to put up a photo album (all HTML, because they have never allowed scripting) last night, and was informed that my personal webspace exceeded the size limit.  After some digging, I found that they impose a 10MB limit on personal sites.  Their technical support people really dropped the ball there too, cause I could have been sold an upgrade to allow for my home server to publish, but no, that would be too much to ask.  I swear:  the day FiOS is available in my area, I am switching.

So I finally broke down and selected a paid host.  All of my personal and professional hosting will be done from, well, a highly regarded and recommended vendor. 

I will be moving this site to it as well sometime in the future.  Wordpress is very nice, but they will nickel and dime you to death for any customizable features (which is why this site looks so bad) and domain assignments.  Yes, I own a domain and have for years.  It's time to finally put it to use.


Filed Under: Blog