Came home this afternoon and saw a cat writhing around in my front yard, attempting to find a comfortable position to sunbathe. Looked like it was a stray cat and quite a fat one too. After a while it spotted me, then it ran into the shrubs to hide.

Windows 7: IPv6, Privacy Interface Identifiers

So I’ve been setting up my new laptop the last few days; installation a clean installation of Windows 7, setting up all my basic applications and settings, etc.

While doing all of this, I was reminded of something that I’ve had to previously deal with, which affects all Windows 7 computers. Some may say that it’s a good thing and others (most likely system and network administrators) might say that it’s a pain in the arse, especially when you don’t know about it.

While a rarity, my home network is IPv6 enabled through a IPv6 tunnel (provided by Hurricane Electric), not natively because Videotron doesn’t yet officially support IPv6 on their network (although it’s available for beta testing to applicable and willing candidates, which rules me out because I get my services through a reseller). I have radvd setup on my m0n0wall gateway to advertise my allocated /64 block of addresses to the devices on my network.

Now, traditionally, network devices will discover the router advertisements and then automatically configure themselves by combining the provided block prefix along with an encoded version of its MAC address to form its self-allocated IPv6 address.

Some people have complained that the idea of encoding the devices MAC address into the IP address, which is easily viewable to everyone else, is in itself a privacy issue because it lets other (perhaps malicious) people track you based on your device. In order to address this, there was an RFC introduced which specified some basic guidelines for network stack designers to follow in order to provide users with more obfuscated addresses that should alleviate their privacy concerns.

Not many operating systems follow this by default (Linux and Mac OS X certainly don’t) but Windows 7 (and probably Vista as well) does follow this suggested standard. In Windows’ implementation, this means that your network interface receives, in addition to the proper automagically configured address with embedded MAC address and the local-link address, a so-called temporary address which combines the block prefix with a randomly (as far as I know) generated value to form a valid IPv6 address. This address changes from time to time, as its name would imply, based on a fixed interval.

This all seems like a good idea, and I suspect for the average user it would be. However, once you start getting into the nitty gritty of things, that is managing a network with multiple IPv6 devices, then you start encountering issues.

The primary issue I had was with firewall rules at my gateway. Traditionally, firewall rules would apply based on the source IP address. However, because the IPv6 address on my Windows computers would constantly change overtime, this nullified the rules and meant that I would have to update them with the latest IP address that Windows has assigned me. I suspect this is also one of the key complaints that people are having when attempting to get Windows to work with an IPv6 network.

The second issue I had was with reverse DNS entries on my IPv6 block, this one less likely to be an issue with others. It was basically the same issues with the firewall rules, the ever changing address would mean that I’d have to constantly update my rDNS entries which is impractical.

The solution to all of this would be to disable this method IPv6 auto-configuration by Windows and luckily, this is easily possible through 4 simple commands through the Command Prompt.

Making sure to launch your Command Prompt with Administrator privileges (right-click the entry in the Start menu and select Run as Administrator…), type these four commands into the prompt:

netsh interface ipv6 set privacy state=disabled store=active

netsh interface ipv6 set privacy state=disabled store=persistent

netsh interface ipv6 set global randomizeidentifiers=disabled store=active

netsh interface ipv6 set global randomizeidentifiers=disabled store=persistent

Each command should yield an OK response. Once completed, simply restart your computer and the privacy auto-configuration will be disabled. And that’s all it takes to end your network administration woes.

(Source: blackundertone.wordpress.com)

So the screen on my ThinkPad T61p recently gave up the ghost, leaving me with a green, flickering view of desktop reminescent of a TV with poor reception on some bunny ears. I was therefore left with the option of either purchasing a replacement LCD screen off of eBay for around $120 plus shipping costs or purchasing a new laptop entirely and relegating my trusty old T61p to desktop duty at home.

I bought a new laptop.

Not because I had a lot of excess disposable income to throw around, but I had to weight the benefits of both choices. On one hand, replacing the screen would be the least expensive option. And that’s pretty much the only benefit. On the other hand, the battery on it is starting to fade and the T61p wasn’t well known for long-lasting battery life anyways. So that would mean another $50 or so down the line (provided I buy a second rate battery from China on eBay). Another thing the T61p is well known for is its lighweight properties, especially in the 15.4” spec that I have.

My T61p has served me well and perfectly fine for the last 3 and some years. But since starting at Concordia, which has meant multiple trips between buildings, campuses and up 6+ flights of stairs each day, I’ve started to really notice the 6+ pounds of laptop and accessories that I’m lugging around, in additional to the other materials in my backpack and it’s been making me doubt the sanity of doing this for the next 3 and a half years that I’ll be here.

With all that in mind, I must admit that I’ve been eyeing the ultraportable and thin-and-light offerings on the market for a while now. While tempted, I’ve never had any concrete reason or financial means to go out and get a new laptop, that is until now.

I’ve been keeping my eye on the laptop market for a while now; constantly looking at what’s new and exciting. I briefly considered netbooks, but the majority of them are just way too underpowered for what I use my computers for. The tablets today, running Android or iOS, are completely out of the picture for me because they don’t cover the entire range of things I need a computer to do. To be fair, they never were meant to. This left the broad market of ordinary laptops, with the components that we all know and love, to pick from. So I decided to make a conceptual list of what I wanted from my new daily-usage laptop.

I’m not a gamer or a media creator/editor, so my needs in terms of graphics were minimal. My T61p is considered a mobile workstation, which basically meant that it was designed to handle CAD work. This in turn meant that it had a rather beefy professional graphics card within, which while had good performance, meant that it also produced a lot of heat and used a lot of power. For my new laptop, I gave the graphics department some consideration and decided that considering the current level of integrated graphics solutions, I won’t be needed a dedicated GPU. The only requirement I had was that it be able to play 1080p videos and be powerful enough to do it on a 1920x1080 screen.

The next category was processors and this was fairly simple. I wanted something with at least 2 64-bit processing cores with hardware virtualization support and that is capable of supporting 8+ GB of RAM (considering most processors now have integrated memory controllers). The final requirement was that it had to be able to be able to ration its electricity supply. With the current state of the processor market, this meant that I was looking at Intel. I specifically focused on their Core i5 and i7 lines during my search.

The remaining components, I’d factor in as I went through the available choices, with one prominent want being a good keyboard. Coming from a ThinkPad, which are known for their legendary laptop keyboards (and rightly so), this meant a lot to me. I’ve used laptops with horrendous keyboards, engineered by the beancounter department and then dazzled up by the marketing department. While they worked as an input device, they were terrible things to work with especially for something that you have to encounter every single time you want to use your laptop. This mean that a lot of consumer level laptops were out of the picture.

The other thing that I desired was expandability and more specifically, easy expandability. I don’t want to disassemble the entire laptop and isolate it to its individual atoms nor did I want to end up with cut up fingers, just in order to add a stick of RAM or replace the hard drive. These are trivial items that should be easy to replace and/or upgrade.

So I looked at the remaining choices and ignored those from familiar brands that I’ve had repeated bad experiences with (*cough*HP*cough*). This left me with the offerings from Apple’s MacBook Pro line, Lenovo’s ThinkPad T and X-series line, as well as Dell’s Latitude offerings. And then I looked for special offers, coupons, sales, discounts, etc. After all this was factored in, the Dell’s came out as the most expensive option. And after looking through them, they were no better than ThinkPads considering the price. So I dropped them as well.

This left the MacBook Pro and the ThinkPads. But which ones? I then revisited the reasons why I wanted a new laptop. My primary concerns were weight and battery life, after having lived with the T61p. This meant, that it was between the 13” MacBook Pro and the ThinkPad X220.

I’ve always had a thing for Macs and Apple in general. Their industrial designs are second to none. They know how to make beautiful hardware and software. Needless to say, I was quite tempted to get a MacBook Pro…

With the MacBook Pro and ThinkPad sitting side-to-side, you’d think that they’re polar opposites, but I have to say that I liked both of their designs for the same reasons. They both had simple shapes in general. They both didn’t derive their designs from some other competitor. They both didn’t draw attention to themselves either (well perhaps the ThinkPad serves this duty a bit better). But I simply love both designs.

But I know that design shouldn’t be the only compelling reason to pick on computer over another, especially when you’ll be living with it for the next few years. I looked through the specifications, and overall, the ThinkPad came out on top. It had the faster processor, the better battery life and the better screen (with the IPS option). Price was about comparable when I considered a factory refurbrished MacBook Pro (which was essentially the same as a new model but with a different title, and this didn’t bother me).

In the end, the combination of the ThinkPad’s crazy 10+ hours of battery life (with the optional 9-cell battery), the sweet keyboard and the option of an IPS display won me over. And I’m glad to say that I don’t regret the choice.

I’ve only had this laptop for the last few days, so I haven’t been able to get much time on it yet, but I’ve loved every moment of using it. I simply love how the sharp the screen looks along with the great viewing angles, I love the utilitarian design of it that reminds of the monolith from 2001: A Space Odyssey, I love the battery life I’ve been getting with it (and like a hypermiler, I’m always on the lookout for ways to improve it even more), I enjoy the great keyboard on it and I also enjoy how this thing compares to the average netbook. They’re about the same size and weight, but this thing with its Intel Core i5 2520M packs a wallop of power and a much greater battery life.

In the end, perhaps I’ve been a bit long-winded with this post. But if I had to make one recommendation for a laptop to someone who’s looking for a powerful but lightweight laptop that they can use anywhere, I would definitely recommend the ThinkPad X220. It’s one of the best choices on the market today.

ThinkPad X220 (4268CTO)