Just took a look at the Comic-Con Twitter feed. Looks like they’re actually starting to sell out of 2012 badges already. Geez.
Borders
I’m really sorry to see Borders going into liquidation and closing all their stores. There’s a good article about this on AnnArbor.com. (Ann Arbor is where Borders started out.)
Our local Borders, in Bridgewater, has been around for about 10 years, I think. I’ve spent a lot of time in there, poking through SF novels, computer books, comics, and CDs. I will admit that I’m one of those guys who often looked through books at Borders, then bought them through Amazon. I did buy a fair amount of stuff in-store though, especially when I had 30% or 40% off coupons from Borders Rewards.
There’s a Barnes & Noble at the Somerville circle, so I guess that’s where I’ll be going when I want to actually look at a hard-copy book before buying it.
There used to be a Waldenbooks (or maybe B. Dalton) right here in downtown Somerville, along with two different used book stores. Now, there are no book stores at all in Somerville. (One of the used book stores moved to Raritan, I think, and is probably still in business, but I haven’t checked lately.)
I can’t help wondering if brick & mortar book stores (and even hard-copy books) are on their way out. I like my Kindle and my iPad, and I like Amazon, but I’m not sure I’m ready to start buying and reading everything electronically.
SDCC 2011, day one
This is now the third year in a row that I’ve skipped Comic-Con. The last time I went was 2008. I’m hoping I can find some way to get a full four-day pass and hotel reservation for next year. It’s been too long since I’ve been out there.
Meanwhile, as usual, I’ve been poking around the web for interesting articles about the con. Here are a few from SignOnSanDiego.com:
Comic-Con makes itself at home
Comic-Con and Hollywood
Comic-Con 2011 Preview
PHP Cookbook
I’m going to be doing some maintenance programming on a PHP/MySQL site pretty soon. I know a little PHP, probably enough to get by on this project, but I’d like to learn more. I have an old introductory PHP book around here somewhere, but I wanted to pick up something more substantial. So I picked up O’Reilly’s PHP Cookbook at Borders on my way home from work today. I have so many programming books that I’ve barely started reading, but this one looks like it’ll be a good reference.
TortoiseHg 2.1
I upgraded to TortoiseHg 2.1 yesterday.
This item, under the “improvements” list, is huge:
(file history) added context menu for file revision features
Thank you so much for implementing this! I’m using it every day now. Of course, I see that a bug fix release, 2.1.1, was made available this morning, so now I need to upgrade again. Well, the install is pretty painless, so that’s OK.
fun with Twitter and Facebook
I just finished working on a module to automatically post news stories from a client web site to Twitter and Facebook. I know that’s not a big deal, but it was kind of cool, and it took a bit of effort to get the Facebook thing figured out. (See this stackoverflow.com post for some detail on that.)
I used the Facebook C# SDK for the Facebook stuff, Twitterizer for the Twitter stuff, and EasyHttp to access the bit.ly API, for URL shortening. And of course I pulled them all into the project with NuGet. I feel like the master of all social media APIs now.
ten years
I’m scheduling this entry to auto-post on June 19, 2011 at 8pm. I started this blog on June 19,2001, so this will be my tenth anniversary of blogging. Here’s a link to the June 2001 archive page.
Looks like I was talking about PC Expo a bit. There’s a blast from the past. Are there any tech trade shows still happening in NYC? I can’t think of any, but then again I’m probably out of the loop on that kind of thing right now.
Let’s see, what else was going on…
- Sept 11, 2001 was three months in the future.
- Version 1.0 of the .NET Framework was about eight months away from release. [ref]
- PowerBuilder version 8 had just been released. [ref]
- Adventures of Barry Ween: Monkey Tales #3 was released [ref]
- Harry Potter and the Goblet of Fire had been released in 2000, and Harry Potter and the Order of the Phoenix would not be released until 2003. [ref]
Okay, that was a pretty random list. I don’t suppose I have any point to make, other than marking the fact that I’ve been consistently blogging for 10 years. I’ve never written anything really substantial here, but I’ve tried to write in complete sentences, usually, and I’ve tried to post stuff that other people might find useful or amusing, if they were to somehow stumble across this blog.
last photos
When my Dad passed away, he still had a roll of film in his old 35mm camera. I wanted to finish off the roll, get it developed, and see what his last few photos were, but I kept putting it off. Since I’m having an estate sale this weekend, I decided it was time to finally finish the roll and send it off, so I could include the camera in the estate sale. I sent the roll off to Snapfish for processing. (It’s been many years since I’ve had a roll of film developed. Snapfish has a mail-in service that’s pretty cheap, so I decided to try them.)
I just got an e-mail back from them with a link to the photos. (I guess I’ll get the negatives and prints back in the mail soon.) Sadly, his last few photos weren’t that interesting. It looks like he’d just taken a couple of snapshots from the front porch after a snowfall, probably in early 09. (The timestamp on the photos says Feb 06, but they can’t be that old. I don’t think he had the date set correctly on the camera.) I was hoping I’d have a couple of final photos of Mom and Dad on that roll, but alas, no.
All the photos came out looking a lot more purple than they should. I’m guessing that’s because the film was so old? Or maybe just a bad job of processing?
Unicode
Unicode in 33 minutes. Having just recently finished updating an older system to deal with Unicode, I find this highly entertaining.
Moving a VSS database to Mercurial
Here’s a document I wrote up for work yesterday. I think it may be generally useful for anyone else out there who is considering moving from Visual SourceSafe to Mercurial. This write-up is specific to an organization working in a Windows environment, using Visual Studio 2008 & 2010, and using bitbucket.org as a back-end for Hg. I also assume you’re using TortoiseHg and VisualHg.
- Insure all files are checked in to VSS.
- Get a new, full copy of the project from VSS.
- Make all files writable (uncheck read-only flag in Win Explorer).
- At both the solution and project levels, delete all *.SCC files.
- Edit the .SLN file to remove the “SourceCodeControl” section. It should begin with “GlobalSection(SourceCodeControl)” and end with “EndGlobalSection”.
- Edit each .CSPROJ file (one in each project folder) and remove all settings starting with “Scc”. There should be 4 — SccProjectName, SccLocalPath, SccAuxPath, and SccProvider.
- In the same folder as the solution file, in Windows Explorer, right-click, and select “Create Repository Here” from the TortoiseHg menu. Make sure “add special files” is checked.
- Edit the new “.hgignore” file and insert contents as per below. You may need to modify this file, depending on the project.
- Optional: create a README.TXT file in the solution folder, describing the project. This will automatically be displayed on the Bitbucket home screen for this repository.
- Right-click in Windows Explorer and select “Hg Commit” from the Tortoise menu.
- Review the list of files shown. If you see anything that shouldn’t be in source control, cancel out and modify the .hgignore file accordingly.
- Click the “All” button to select all files. Enter “Initial Hg Commit” as the comment. Click “Commit”.
- When that is done, exit from the commit dialog and review the project in Windows Explorer. Make sure that all files that should be in source control have a green check superimposed over their icon.
- Create a new repository in Bitbucket for the project:
- https://bitbucket.org
- Repositories, Create repository.
- Enter an appropriate name.
- Language should usually be set to C#.
- Make a note of the repository address.
- Back in the main solution folder, right-click and select “Synchronize” from the Tortoise menu.
- Set the remote repository to the address you noted above. Hit the ‘save’ icon, and give this alias a name.
- Hit the “push” button.
- When that is done, check the project page in Bitbucket to make sure the source is all there.
- As a sanity check, create a new temp folder on your hard drive, and pull a new copy of the repository into it.
- Select “clone” from the Tortoise menu.
- Enter the full path to the Bitbucket repo as the source (“https://bitbucket.org/…”) and leave the destination as-is.
- When the clone is done, open the project in Visual Studio.
- Go to Tools, Options, Source Control, and switch your plug-in to VisualHg.
- Take a quick look through the files in the solution, and see if any appear to be missing. (A missing file will have a yellow triangle icon overlay.)
- Do a full build of the solution.
- If possible, run a few tests to be sure it’s working. After the build, exit Visual Studio, and bring up the Hg Commit dialog at the root level. If you see any changed files to check in, they are probably temp files that should be excluded. If this is the case, please edit .hgignore accordingly.
- When done, simply delete your temp folder.
- You have now migrated a VSS database to a Hg repository.
Note that I am not retaining version history here, just starting fresh in Hg. If you want to move your version history over, please look at vss2hg.pl. I tried this out on one of my VSS databases, and it did work, after some tweaking, though it didn’t quite manage to get 100% of the data over, and it was a bit confused about dates. I decided that it wasn’t worth bothering with it, in my case.
References:
- stackoverflow.com — how to remove VSS bindings.
- visualstudiohacks.com — small program to automatically remove bindings.
- stackoverflow.com — sample .hgignore files for VS 2008
- stackoverflow.com — sample .hgignore files for VS 2010.

