Hello from Windows 8

Well, I went ahead and installed the $40 download version of the Windows 8 upgrade on my ThinkPad. I did an in-place upgrade, and hoped for the best. It turned out pretty well. I had to remove several Lenovo utilities, but almost everything else seems to be working. Visual Studio 2010 is working fine. (I haven’t tried much, other than a “hello world” program, but that worked OK.) My “WIMP” stack is fine — MySQL is running, and PHP under IIS is still working fine. I checked phpMyAdmin and my test Drupal site, and they both look OK.

Most of the utility programs I use seem to be fine. That includes DropBox, Evernote, KeePass, IrfanView, VLC, and Notepad++. I still need to re-install iTunes, so I’m not sure about that, but I think it will work. And of course Firefox is working fine — I’m using it right now to write this blog post.

The install process was pretty smooth. It took about an hour from the point where I started the purchase, to the point where all the files were downloaded, the pre-install stuff was done, and the actual install started. Then, the install itself took about an hour to complete.

My experience on the ThinkPad has been good enough that I think I can probably do an in-place upgrade of my desktop too, so I’ll probably do that when the box upgrade arrives.

I’ve got a bunch of other stuff to mess around with, so I’ll probably write at least one more blog post on this. But, so far, so good!

my first Drupal module

Here’s my second blog post for today. (Still sitting around at home, watching storm coverage.)

I recently read an article on CNET about how companies are increasingly looking at sites like GitHub when they’re looking at potential hires, to see actual code, rather than just going on what people say about themselves on, say, LinkedIn. I think the article exaggerates a bit, and maybe overgeneralizes. There are plenty of great programmers working in environments where they’re not likely to be posting any code on GitHub. I have been thinking lately, though, that it would be good if I had some open-source code out there for people to look at. My boss recently wanted me to write a Drupal module that would allow people to embed our store locator in a Drupal site. I recently finished writing the initial version of that module, and posted it as a sandbox project at drupal.org. You can find it here.

Because Drupal itself is open-source, and because PHP is interpreted, you really have to expose your code if you’re writing a Drupal module. So, as a beneficial side-effect, I now have some code out there that I could point someone to, if I needed to show a code sample to anyone. Mind you, I’m not actively looking for a new job, but it’s good to have something out there.

Given the kind of work that I normally do, it’s not that common that I work on any code that (a) I can post openly, (b) isn’t part of a “group effort” that multiple people have worked on, (c) is (somewhat) self-contained, and (d) is non-trivial. I think a lot of developers are likely in this category. It’s a good idea to keep an eye out for opportunities to work on occasional projects that fit these criteria, and can be posted publicly to GitHub or similar sites.

I’d like to do a couple of blog posts later highlighting some of the stuff I learned while writing this module. While Drupal is reasonably well-documented (for an open source project), there are a fair number of “dark corners” that are hard to get a handle on, and which I could possibly write some useful posts on.

Windows 8

It’s Sunday morning, and I’ve got nothing much to do, other than wait for Hurricane Sandy to hit, so I thought I’d catch up on blogging. I have a few things I want to write up, the first being some thoughts on Windows 8. (I’ve found a couple of good reviews/articles on Win 8 at The Register and ComputerWorld.)

I pre-ordered a boxed copy of the Windows 8 upgrade from Newegg, and I’d planned on using that to upgrade my ThinkPad from Windows 7 to 8 this weekend. However, it hasn’t arrived yet. I then thought about just downloading the $40 upgrade from Microsoft and using the boxed copy to upgrade my desktop at some point. I went as far as running the upgrade advisor on the ThinkPad, but the results I got made me back off on that plan and rethink things a bit.

Specifically, Visual Studio 2010 is listed as “not compatible”. I was pretty surprised at this, since I would expect that MS would want developers to be able to move to Win 8 early. I realize that they’d also like to see developers move to VS 2012, but they must know that not everyone can do that right away.

So, I’ve been thinking about my options. One option would be to just do a clean install of Windows 8 on the ThinkPad, and not worry about VS 2010. I do like having it available, but the ThinkPad isn’t my main machine, so there’s no reason I really need it to have VS 2010. Another option would be to just try the upgrade and see what happens. This guy has apparently had some luck with VS 2010 on Windows 8, so maybe it’ll work, even if it’s marked as “not compatible” by the upgrade advisor.

Another interesting thought I’ve had, after reading about how awesome Hyper-V is on Windows 8, is to have a fairly vanilla Win 8 install on the ThinkPad, then have VS 2010 and some other stuff set up in a Win 7 VM. (There are good articles on Hyper-V support in Windows 8 here and here.) Of course, then I need to have a Win 7 license that I can use in a VM. In the past, I’ve learned the hard way that you can’t reuse an OS license from a physical machine from a major OEM in a VM — it detects that you’re not on actual hardware from that OEM, and locks you out. I’m not 100% sure if that’s still the case, but I’d bet it is. So I can’t just use the ThinkPad Win 7 license in the VM.

I think I have a Win 7 product key from my old MSDN subscription, from my previous employer, but that subscription expired a couple of years ago, and I’m not sure if the product keys would still be valid. Which then brings up a bigger question that I’ve been putting off thinking about: Is it time for me to break down and finally buy my own MSDN subscription, or TechNet subscription? TechNet is affordable enough, but MSDN costs about as much as a new laptop would. I like being able to mess with VMs and experiment with new stuff from Microsoft, but the cost of doing so if somewhat prohibitive.

geocoding experiments

I wrote an initial blog post on Gisgraphy about a month ago. I wanted to write a follow-up, but hadn’t gotten around to it, what with all the other stuff I have going on. But I’m going to take a few minutes now and write something up.

The initial import process to get the Gisgraphy server up and running took about 250 hours. The documentation said it would take around 40 hours, but of course there’s no way to be accurate about that kind of thing without knowing about the specific hardware of the server it’s being installed on, and the environment it’s in. I’m guessing that, if I had more experience with AWS/EC2, I would have been better able to configure a machine properly for this project.

Once the import was complete, I started experimenting with the geocoding web service. I quickly discovered something that I’d overlooked when I was first testing, against his hosted web service. The geocoding web service takes a free-form address string as a parameter. It’s not set up to accept the parts of the address (street, city, state, zip) separately. It runs that string through an address parser, and here’s where we hit a problem. The address parser, while “part of the gisgraphy project,” is not actually open source. An installed instance of Gisgraphy, by default, calls out to the author’s web service site to do the address parsing. And, if you call it too often, you get locked out. At which point, you have to talk about licensing the DLL or JAR for it, or paying for access to it via web service.

Technically, the geocoder will work without the address parser, but I found that it returns largely useless results without it. For instance, it will happily return a result in California, given an address in New Jersey. I’m not entirely sure how the internal logic works, but it appears to just be doing a text search when it’s trying to geocode an un-parsed address, merely returning a location with a similar street name, for instance, regardless of where in the US it is.

While I don’t think the author is purposely running a bait-and-switch, I also don’t think he’s clear enough about the fact that the address parser isn’t part of the open source project, and that the geocoder is fairly useless without it. So, we shut down the EC2 instance for this and moved on the other things.

Specifically, we moved on to MapQuest Open, which I was going to write up here in this post, but I need to head out to work now, so maybe another time.

almost done

I just got back from my parents’ old house in Whiting. I threw out three bags full of stuff, and carted away four plastic tubs full of random stuff, three of which came home with me and one of which has been dropped off at my storage unit in Bridgewater. The house is now as empty as I hope it needs to be. The closing, as far as I know, is still scheduled for Wednesday. I think I still need to make one more trip to Whiting, to drop off my keys and some paperwork at the Cedar Glen Lakes office, but I don’t think I’ll need to go back to the house again. It feels weird, after having it on the market for two years, to finally be (almost) done with it.