Are you ready for some football?

With the Super Bowl coming up tomorrow, now seems like a good time to talk about football for a bit. I’m not sure if I’ve mentioned this before on the blog, but I completely lost interest in football this season. I haven’t watched a single game. My interest has been waning for the last several years, but this year, I just couldn’t muster any interest.

I read a good article yesterday about cultivated disinterest in professional sports, and I can say that’s not the case for me. I’ve always been genuinely interested in football, at least, if not any other pro sports. I’m a nerd, but I’m not a snob. (At least in this area.) But the article reminded me of some of the benefits of keeping up with football. In particular, having something to talk to other people about! I’ve been at my current job for two years now, and I really haven’t done a great job of making friends with the people there. That’s maybe a subject for another blog post, but let’s just say that maybe wearing a Giants shirt to work occasionally might have helped start a few conversations.

I still haven’t decided if I’m going to watch the Super Bowl tomorrow or not. I don’t have much invested in it, obviously, since I haven’t followed the game this season, but I still dislike Bill Belichick and would enjoy watching him lose. And it’s pretty easy to think of Pete Carroll as a good guy, and root for him. (Though things probably aren’t that black and white.) So, I could probably watch the game with at least a modicum of emotional investment.

I’m also thinking about my Mom and my brother Pat this weekend, too, since Feb 1 is the day Mom died, and Feb 2 is the day Pat died. I know that I tend to get depressed on these two days, so I had a rough plan for this weekend in place. I’m taking Monday off, and I was going to head into NYC on Sunday and/or Monday and do some museum-hopping, which usually acts as a good distraction for me when I’m feeling down. But now it’s looking like snow Sunday night into Monday, and maybe a lot of it. So I’m thinking it might be better to stay home and watch some football on Sunday.

Comic book memories

I went through all my long boxes of DC comics today, to prepare my next batch of comics for donation. I decided to donate them all, not keeping anything from those boxes, but I thought it would be fun to take a few photos of the covers from some of my favorites (and just some oddball covers, for giggles.) This is a pretty random sampling, but a few of these are books that I remember buying back when I was a kid, when I could go down to the corner store, and buy a comic book and some gum with my fifty-cent allowance. Those were the days!

I’m not sure how this gallery is going to look, but here goes…

donating my comic collection

For the last few years, I’ve been trying to figure out what to do with my rather large comic book collection. I’ve amassed 25 long boxes of the things, neatly sorted and filed, plus assorted short boxes of books that I never got around to sorting and filing into the long boxes. All told, around 8000 books.

I was buying 20 to 40 books per month for about 20 years, mostly via Westfield Comics. At some point in 2008, I realized that my reading had slowed down enough that I was developing a bit of a backlog of unread books. I cut down on the number of titles I was buying, then discontinued my regular Westfield orders entirely at some point in 2009. Since then, I’ve occasionally bought a few books at a con or at a comic store, but not much. (And I’m still working my way through my backlog, though it’s down to less than 100 comics now.)

I started seriously thinking about either selling or donating my entire collection (or at least most of it) a few years ago. I’d looked into a few possible donation opportunities, but none of them panned out. And I called a few people who might have been interested in buying the entire collection, but never managed to close a deal with any of them.

Through this process, I discovered that getting rid of a sizable comic book collection is actually a bit of a challenge, if you want to do something other than toss the books in a dumpster and send them off to a landfill. There are folks who will buy entire collections, but they won’t pay much for them, and they usually won’t go too far out of their way to get them. And there are a few charitible organizations that will take comics, but they’re usually not looking for very large collections. And selling the collection off a bit at a time via eBay is way too much work, for a big collection like mine.

I hadn’t really put any effort into getting rid of the comics in 2014, but I decided to get serious about it again near the end of the year. So I dug out my old notes, reviewed a few possibilities, and did some more Googling. I stumbled across this article about Superheroes for Hospice, a charity comic show benefiting Barnabas Health Hospice. I contacted the guy in charge of the event, and this turned out to be a perfect opportunity. Stopping off in Somerville on his way home from work doesn’t take him too far out of his way, and he can easily fit a dozen long boxes in his car. So I gave him most of my Marvel books last week, and most of the independents this week. Next week, I’m going to try handing off the DC books. And that will take care of the 25 long boxes that are cluttering up my dining room.

After that, I want to go through all the unsorted books that are cluttering up my bedroom, get them into long boxes, and hand those off too. I hadn’t quite realized how much unsorted stuff had built up. In my mind, I thought I had enough to fill maybe 2 or 3 long boxes. But, after looking at it all more closely, I think it’s going to be more like 5 or 6 long boxes. So I’ve had to order more long boxes. (I ordered them from Westfield, conveniently using up the remaining credit I had with them, which I’d completely forgotten about.)

I’ve pulled out some stuff I want to keep, and I hope to limit that to about five short boxes. That’s few enough that I can keep them in my closet, out of the way. And maybe I’ll talk myself into letting go of those at some point too.

While I’ve worked my way through most of my backlog of regular ink-on-paper comics, I’ve managed to build up a new backlog of digital comics. I’ve bought a lot of stuff from Comixology, Dark Horse Digital, and various Humble Bundle sales over the last few years. The nice thing about this new accumulation is that it doesn’t take up any real space in my apartment! And I’m thinking about re-purchasing new digital copies of some of the stuff I’m selling off. Or, in some cases, maybe re-purchasing those books in trade paperback or hardcover reprints. But really I shouldn’t get ahead of myself on that, since I still have so much new stuff to read. (And I haven’t even mentioned my backlog of trade paperback and hardcover collections that I haven’t gotten around to reading yet.)

Code Complete

Code CompleteCode Complete by Steve McConnell
My rating: 5 of 5 stars

I started reading Code Complete years ago. (More than ten years ago, I think.) It’s a great book, but I kept putting it down in favor of more specific programming books, usually ones that I needed to read for something I had to learn for work; a new language or software package or whatever. And then I kind of forgot about it for awhile. But I finally got back to it in 2014, and just finished it up today. Near the end, I switched over from reading my hard copy of the first edition to reading the second edition on Safari.

Although the second edition is fairly old now too, and some of the specifics in it could be considered out of date, I’d say that almost everything in the book is still applicable.

The book, overall, is a solid introduction to the “best practices” for a professional software developer. It covers a lot of stuff that’s applicable for any professional programmer, regardless of the language you’re using or the environment you work in. McConnell has a lot of specific advice, and he backs it up with data; this isn’t one of those books that reads like a religious screed. It’s not just opinion.

If you’re making your living as a computer programmer, you should really read this book.

View all my reviews

Windows 8.1: almost there

I’m almost done with my desktop machine rebuild. (See here, here, and here for previous posts.)

I had a lot of trouble with the SATA  IDE vs. AHCI issue I described in one of the earlier posts. I got the Windows 8 install done with SATA set to IDE mode in the BIOS, but I wanted to see if there was any way to switch it back to AHCI. I was hopeful that whatever bug prevented it from working in Windows 8 was fixed in 8.1, or in one of the many Windows updates that came down post-install.

Well, first, I found out that, once you’ve installed Windows 8 with the BIOS set to IDE mode, you can’t just switch it back, since Windows doesn’t detect the change automatically. So doing that just results in a boot failure. This blog post describes a way to deal with that; basically, boot into safe mode right after changing the BIOS and Windows will reconfigure itself. But, in my case, that didn’t help.

I also noticed that an optional update for NVIDIA SATA controller was available from Windows Update. I was hopeful that it would fix the problem, but installing that update causes Windows to crash on boot, so that’s no good either. I had to use system restore to remove that update and boot into Windows again. (Oh, and getting to system restore in Windows 8.1 is a bit of a challenge, but that’s another story.) I have a feeling that, maybe, some magic combination of installing that update, booting into safe mode, and switching back to AHCI mode might work, but I’m not sure it’s worth the effort. If I feel adventurous at some point, I might try the SATA driver found here. But I’ll want to make sure I have a restore point, a full backup, and ample spare time before messing with that.

I’m not sure how much of a performance penalty there is in running in IDE mode rather than AHCI. I searched for some info on that, but didn’t find anything definitive. The main performance advantage with AHCI would be related to Native Command Queuing (NCQ), which would increase performance on some drives in some scenarios. In my case, I’m not sure if it would be enough of a difference to bother with.

Regardless of all that, the machine seems much faster now than it did before all this. I imagine most of the performance bump is just due to the clean install, but some of it may be from Windows 8.1 being a bit faster than Windows 7 in some ways. So I’m mostly satisfied that all this work wasn’t for naught.

Oh, and just for yuks, I decided to run the Windows System Assessment Tool on the desktop PC, and on my ThinkPad, to see what the performance difference is between the new SSD in the ThinkPad vs. the old-fashioned drive in the desktop. And it’s a doozy!

Using the command “winsat disk -drive c”, I got the following numbers on the desktop:

> Run Time 00:00:15.75
> Disk  Random 16.0 Read                       0.86 MB/s          2.9
> Disk  Sequential 64.0 Read                   84.51 MB/s          6.3
> Disk  Sequential 64.0 Write                  68.13 MB/s          5.9
> Average Read Time with Sequential Writes     6.986 ms          5.3
> Latency: 95th Percentile                     121.125 ms          1.9
> Latency: Maximum                             475.244 ms          3.7
> Average Read Time with Random Writes         13.882 ms          3.6
> Total Run Time 00:01:07.41

And here are the numbers on the laptop:

> Run Time 00:00:00.63
> Disk  Random 16.0 Read                       411.49 MB/s          8.2
> Disk  Sequential 64.0 Read                   524.08 MB/s          8.1
> Disk  Sequential 64.0 Write                  375.03 MB/s          8.0
> Average Read Time with Sequential Writes     0.121 ms          8.8
> Latency: 95th Percentile                     0.302 ms          8.8
> Latency: Maximum                             0.981 ms          8.9
> Average Read Time with Random Writes         0.112 ms          8.9
> Total Run Time 00:00:06.86

So, yeah, that’s a big difference!

My big takeaway from all this messing around is that my desktop PC is definitely near the end of it’s useful life. I’m not going to want to upgrade it again, past Windows 8.1. So I think I’ll keep using it as-is for the foreseeable future, then, maybe in a year or so, consider a new machine. Maybe when Windows 10 comes out.

For the past 20 years or so, I’ve always had a Windows box at home as my main desktop computer, generally in a mid-tower case sitting on the floor next to my desk. But I’m starting to rethink that. Depending on what happens with Windows 10, and what happens in my professional life, I may switch over to a Mac Mini as my desktop machine, and just keep a Windows laptop for the stuff I really need Windows for. I’m definitely using my MacBook a lot more often than either my ThinkPad or desktop PC at this point. But I don’t really need to make a decision on that yet.

slow progress on my desktop rebuild

I didn’t get too far with my desktop PC rebuild last night. I got as far as getting Windows 8 installed, and I got started on installing the many pending Windows updates. I left the PC on when I went to bed, hoping that maybe the updates would be all installed when I woke up, but that didn’t work out. I had to go through a couple more install/reboot cycles to get everything cleared out, to get to the point where I could do the Windows 8.1 upgrade. At this point, I’ve done that successfully, and did a little work on copying stuff from my backup drive back to my main drive.

But I hit a snag when trying to copy my iTunes library back over. That’s a really big folder, and the copy runs OK for about 45 minutes, but then the USB drive just… disappears… and the copy fails. I can get the USB drive going again by simply unplugging it and plugging it back in, but that’s not a good solution for a copy that would take four hours, if it was running smoothly.

So I did some research, and found this blog post from the Windows USB core team. If the issue described there is indeed my problem, then it’s fixed in a Windows update. So I’m giving up on the file copy stuff for now, and installing all the Windows 8.1 pending updates. Then, we’ll try it again.

If it’s not the issue, then I think I’m going to have to crack open that USB case, remove the drive, and mount it in the PC internally. I’m hoping it won’t come to that. But it would likely allow the copy to run much more quickly.

When I think about all the work that’s required to get a functioning Windows 8.1 machine set up, given a Windows 8 DVD and key, it’s really quite frustrating. It really seems like, with a little effort, Microsoft could shorten the process considerably. There are so many things wrong with the process as it is. Why can’t we go straight from Windows 8 to 8.1 without installing every single Windows 8 update? For that matter, why can’t someone with a Windows 8 key download an 8.1 ISO, and skip Windows 8 entirely? And if you’re going to require that people install 8.1 from the Windows store, why not set things up so that at least that’s done from an updated install image that includes all the 8.1 updates? The current process is basically the worst of all possibilities: Install Windows 8 RTM. Apply all updates. Download & install Windows 8.1 RTM. Apply all updates.

Well, I needed to vent about that. I feel a little better. I’m going to go back to watching Netflix now.

2014 Year in Review and 2015 Goals

By many measures, 2014 was a horrible year for the world. Dave Barry wrote a fairly amusing (and somewhat depressing) year in review article for the Washington Post. And Charlie Booker wrote a similar article, from a UK perspective, for the Guardian. Bill Gates has a fairly upbeat take on 2014 though. All three of those articles are worth reading, if you want to get some perspective on the past year.

Personally, I think I had a pretty good year, though things were pretty static, and I didn’t make as much progress as I would have liked on some fronts. But I did a really good job with my weight loss goals, and with some other stuff.

I wrote a relatively short year in review post last year. This year’s post is going to be pretty long. I’ve had a lot of this stuff banging around in my head for the last few weeks, and I really want to get it down in writing, partly so I have it to refer back to in a year, and partly just so I can organize my thoughts and move forward.

Weight & Health
I started a diet in September 2013, at 230 pounds. I got down to 200 lbs as of January 1, 2014. I hit 165 about a month ago, and have been hovering around there, +/- 3 lbs, since then. So I think I’ve done a generally good job on this front.

For 2015, I’m not sure if I want to just maintain at 165 or set a new goal for 160. I don’t see much point in trying to go any lower than 160. I should probably switch gears in 2015 and try to work a bit harder on fitness. Through most of 2014, until it got cold, I was going out for walks almost every day. I think that really helped get the pounds off. I definitely want to pick up on that, when the weather gets warmer. Until then, I’m not sure what I want to do. But I know I should be doing something. My neck and shoulders have been bothering me a bit recently, so maybe I need to do something about that before I try to do anything new on the exercise front. I tried using my exercise bike a bit in 2014, but I’ve found that my back starts bothering me after about five minutes on the bike. So I probably need to figure that out before I can get any further with the exercise.

Education / Programming
I made an attempt to get through Algorithms I and II on Coursera in 2013. I got most of the way through part one, and never started part two. In 2014, I took another shot at part one, but gave up when I got sick not long after the course started. I never got back to it. I’m still interested in doing something with Coursera and/or EdX in 2015, but I don’t have any particular plans.

On a couple of other fronts, I did manage to learn a bit about WordPress and F# in 2014. I read two books on WordPress, one general and one on plugin development, and I successfully moved my blog from Blogger to a self-hosted WordPress install. So that was an accomplishment. I didn’t actually do any meaningful WordPress development, though, aside from tweaking a few things in my template, and working through some of the examples in the plugin dev book.

On F#, I started reading a few books on the subject, but didn’t finish any of them. I learned enough to solve a few Project Euler problems with F#, but not enough to do anything really useful with the language.

Speaking of Project Euler, I had solved through to problem 25 at the end of 2013, and I’ve now solved through to # 65, so that’s 40 problems solved in 2014. I used C# for all of the problems I solved, and reworked a handful of them with F#. For 2015, I’d like to continue working on Euler problems, using a combination of C# and F#.

I’m not sure if I want to try to learn any new languages in 2015. I think I want to concentrate on C# and F# for now. It might be nice to learn Swift, and get back to doing some Mac and/or iOS development, but I don’t have any particular plans to do so. If possible, I’d like to get back to doing some web development using some of the new stuff around ASP.NET that I really didn’t get a chance to play with in 2014.

Work
I started my job at SHI in January 2013, so I’m now just about to hit the two-year mark. Things were pretty static with SHI in 2014. I worked almost exclusively on Dynamics AX projects, using X++. I did a smattering of C# work, but only to support stuff I was doing in X++. The one big thing that changed, early in 2014, was a reorganization, so I’m now under a different boss than I was in 2013. But the new boss was already my project manager, so there wasn’t really much of a change there.

During my year-end review for 2013, there was some talk about the possibility that I might be getting involved in a SharePoint project, but nothing ever came of that. I did read an introductory SharePoint development book, but I never got as far as even setting up a local environment to play around with. If I learned anything about SharePoint, it was mostly that it’s a mess, and trying to learn it, in a general way, on your own, probably isn’t a great idea. If the SharePoint project resurfaces in 2015, I’ll definitely jump back in, but I’m not going to mess around with SharePoint any more without some specific direction.

I haven’t had my 2014 review yet, so I’m not sure what will come out of that. The boss has talked, in general, about some upcoming changes, but hasn’t gotten into specifics. I’m cautiously optimistic about things at SHI, but we’ll see what comes out of my review, and what kind of changes occur this year.
One specific thing she did mention was that we’ll have a training budget this year, so that might be good. She didn’t mention how much the budget was, or what it might be spent on, so I’m not getting my hopes up about going to any tech conferences on the company dime, but hopefully it’s not just a $500 budget that gets spent some CBT software or something like that.

Consulting and/or Volunteering
I haven’t done any consulting work at all in 2014. I’m OK with that, though it would have been nice to have done at least one independent project.

I signed up for Catchafire in 2014, in the hope of finding a good volunteer programming project to work on. But I never did find anything there that I thought would be a good match for my skills and my interests. I’ll keep an eye on it in 2015, but maybe I should look around for other opportunities.

I also applied for volunteer positions at a few museums in NYC, including the Met, The Morgan, and the Museum of Natural History. The only one I heard back from was the Morgan, but they needed someone who was available on weekdays, so that was out. I’ll keep an eye out for volunteer opportunities in 2015, but I’m not hopeful that I’ll find anything interesting that would actually fit into my schedule.

Reading
According to Goodreads, I finished 30 books in 2014, but most of them were comics. (Not that there’s anything wrong with that!) I read The Strain trilogy at the beginning of the year, then spent the rest of the year slowly working my way through Kate Elliot’s Spirit Gate. So I can’t really say I read any fiction over the past year that wasn’t just escapist fantasy. (Again, not that there’s anything wrong with that!) For non-fiction, I read through two books on WordPress, started (but didn’t finish) a couple of F# books, and recently started David Allen’s Making It All Work. I’ll likely finish the David Allen book this month.

I don’t have any specific reading goals for 2015, though I’d like to read more non-fiction, and I definitely have a lot of comics I’d like to read, when I can find the time. But I’m not setting any real goals.

Blogging
I moved this blog to WordPress in May, and I’ve been pretty happy about that. I think it worked out well, and I learned a lot about WordPress in the process.

I wrote a little over 100 posts in 2014, including a few that were actually useful enough to attract a few page views, so that’s good. I only had 33 posts in 2013. (I’m still not making any money on AdSense though. I might just remove ads entirely this year, since they don’t seem to be doing me any good.)

I think I want to keep going with WordPress, and I’m happy enough with 1&1 that I think I’ll stick with them as a host. I might mess with the template a bit in 2015, but I don’t think I need to.

Travel
I didn’t really do any travel in 2014, aside from several trips into NYC, and one trip to Georgia for a funeral. Most of the trips into NYC were day trips, but I did go to WordCamp NYC over the summer, and stayed in the city for that. I made several visits to the Met and MoMA over the past year, so I’m pretty happy about that. The trip to Georgia was not a happy one; my brother’s best friend passed away.

I didn’t make it to even a single comics convention in 2014, so I’d like to try and get to either San Diego or NYCC this year. Or maybe I should consider WonderCon in Anaheim. I know the chance of getting SDCC tickets is low, but I’ll give it a shot, when they go on sale. And I’m sure I can get NYCC tickets, if I don’t wait until the last minute like I did last year.

Hardware
I recently swapped out the hard drives in my ThinkPad and MacBook with SSDs. I re-installed Windows 8.1 on the ThinkPad several months ago, and wiped & reinstalled OS X on the MacBook as part of the SSD switch. So both of those machines are clean, speedy, and up to date. I think I’ll keep both of them through 2015.

I am currently in the middle of doing a clean install of Windows 8 on my desktop machine. I’m hoping that works out, but I have some doubts. I don’t really want to have to replace that machine this year, but I might have to. I’ll think about that some more once I’ve got it all set up.

I got a new iPhone 5s in October 2013, so I’m going to stick with that through most of 2015. I might replace it at the end of the year, or I might wait until 2016. And I only just recently picked up an iPad Air, so I shouldn’t need to replace that until 2016, I hope.

Apartment and Car
I think I’m going to renew the lease on my current apartment again this year. I keep thinking about moving, but I can never quite talk myself into it. I’ll need to review my thinking on that this month, since I’ll need to make a decision on the lease in February. I do have a lot of stuff that I want to get cleaned up and/or fixed in the apartment this year, assuming I stay in it. Some of that will require some action from the landlord, which I’m not optimistic about, but I’ll make an effort, and see how far I can get.

And I’m hoping to keep my car through 2015. It’s got about 65,0000 miles on it and it’s running well. I just need to keep up with maintenance on it, and I think I’ll be fine.

Personal Organization
I made a number of changes in my systems for personal organization in 2014, and I’m pretty happy with the direction I’m going in on that. I got all of my passwords moved from KeePass to 1Password. And I consolidated all of my personal notes into Evernote, and canceled my old Backpack account. I’ve been making a concerted effort to reapply myself to following the general principles of GTD, and have managed to get a lot of random stuff done in the last few months.

Summary
Well, that was a pretty long post. Probably longer than it needed to be, but I feel like I’ve worked some stuff out and cleared some stuff out of my head. Happy New Year!