Tag Archives: linux

Thinkpad X1 Carbon – awesome Linux laptop

Note: this is in reference to the Generation 1 X1 Carbon which was available in 2012/2013. The new Gen 2 X1 Carbon has enough different hardware that this may not apply.

Thinkpad X1 CarbonThe Thinkpad X1 Carbon is Lenovo’s stab into the ultrabook market. Made of carbon fiber (hence the name), it’s very light. The last 6 months with my Samsung chromebook has made me appreciate lightness when it comes to laptops.

I’d been lusting after one of these for the last year. I decided with new job it was time to treat myself to one for my personal laptop.

A great Linux machine

First off, this is about the best experience I’ve had with a Linux machine. Everything works, and is completely rock solid. It showed up right before Christmas, I did an Ubuntu install with full disk encryption, then went about restoring my 50G home directory onto it (which takes a few hours even over ethernet).

The hardware is an i5 with Intel graphics. Over the years I had gotten so used to nvidia graphics, which are fast, but fail to suspend on about day 4. Which was typically fine, because they were work machines and Lotus Notes would crash Unity around day 3 anyway, so a restart was in order. But with Intel graphics this has been rock solid. I’m on my 3rd boot since I got it (did actually decide to take a kernel update the other day), with me suspend / resuming on average 6 times a day. Never an issue. Oh right, this is how a laptop is supposed to work. 🙂

Everything I’ve tried so far as worked fine. Displayport is fine, fingerprint reader has a pam module, which I used for about a week, then found it was requiring a few more swipes than I liked, so uninstalled it.


Battery life is consistently 5 – 6 hours. So my charger stays in my office, the laptop rarely does. What’s even better is it’s a new kind of battery tech which means it does a fast charge to 80+% in < 45 minutes. So when I’m actually down to less than an hour of battery I’ll take it up to the office, and call it a break (or jump on my desktop).


The X1 carbon is the new style Thinkpad keyboard, which you’ll also find in things like the T430. While it isn’t the old reliable Thinkpad keyboard, I’m actually very happy with it. It has a slightly different feel, but you get used to it over time. It has nearly the same throw of the old thinkpad keyboards, not quite the same, but close. I find the feel on the individual keys is actually nicer than the old Thinkpad keyboards. The surface just feels nice.

It’s still the generation that has real mouse buttons, which are actually now a think of the past, and a contributing reason to getting this versus a newer thinkpad.

Realize, I’m about as invested in Thinkpad keyboards as anyone. My desktop keyboard is the USB Thinkpad keyboard, and I just ordered 2 more of them as backups given that it’s a discontinued item.


1600×900 at 14″ is respectable. Importantly, it’s a matte screen, which means it’s usable around bright lights. It’s not a great screen, especially compared to what I’m using on my desktop, however it’s a comfortable one to work on. There are versions with touch screens, which would add weight and gloss, neither of which I was interested in.

Slightly Older Hardware

The X1 carbon came out about a year ago, so it’s an i5 2 core processor. Ram is 8G max (it’s soldered on, so you want to get the max). SSD maxes out at 256G. It’s field replaceable, but not in a standard package, so max that out as well.

In an ideal world

This would have a better screen, and I could get it with speed and feed bump in the underlying hardware. That being said, I’ve got a nice new Haswell desktop with a ton of memory and SSD. This laptop is a joy to use, so I’m ok with slightly less speed on it. I did build a powerful workstation 6 months ago for a reason.

And then Lenovo went all Crazy Pants

At CES they announced a new X1 carbon. Faster processor, better screen… and a completely scrambled keyboard. No more function keys, instead a capacitive “touch region” . Caps lock removed and turned into a split home / end key. Tilda key moved over to between the right Alt & Ctrl keys. It also removes the mouse keys, which makes the touchpad non disableable. Complete crazy pants.


Which blows my mind. When Lenovo got the Thinkpad franchise, they got a keyboard design which was loved by millions. There were reasons why they needed to touch the keyboard once, because the old one won’t fit in an ultra book. It takes up too much depth. However the level of scrambling they are doing to it now is just out of control. It makes me sad.

But back to Linux…

As a Linux laptop, this is a joy. This generation of X1 carbon is going to disappear soon with the big windows 8 push on their new version. So if you were ever thinking about it, now is the time to act.

How puppet rescued my botched server install

Saturday was a rainy day, so I decided to deal with switching out the root disk on my home server with an SSD that I purchased a couple weeks ago. It’s part of my quest to get all the root disks of my machines off spinning media. My home server was a build from parts machine, that’s long enough in the tooth that it won’t boot from USB. So I found a stack of CDRs upstairs, of equally dubious age, burned an Ubuntu 12.10 server iso, and started the install.

Things were chugging along quite well until the installer was supposed to install additional packages. Then it bombed out (I blame the ancient CDRs). I was able to get it to at least install grub, and get the thing to boot back onto the network.

What I found myself with was a super minimal install. It didn’t yet have a normal sources.list, it didn’t have openssh-server, it didn’t have ssh client even, it didn’t have any of the normal even minimal server install tools. I had about 30 minutes of manual to typing to get the base apt repo in, and get me so I could ssh in from upstairs to drive the rest of the process.

Boostrapping a Puppet Master

This is the machine that’s my puppet master. I had a copy of the oldroot over in one of my software raid arrays, so the moment I got that mounted, I dumped over the /etc/puppet this machine should have, and tried to just puppet my way up the rest of the way. I’d been on a month long kick to puppetize my home infrastructure, so this was a promising direction.

It turns out puppet up from nothing is a little harder when you are the puppetmaster, and dnsserver for the network as well. 🙂 So it was about another 30 minutes of manually installing what was needed to get my puppetmaster started. Once that was up, I managed to get the first puppet agent run in, and it was epic. 45 minutes chugging away pulling down all the policies I needed, applying packages and configs, all the kind of magic that prevented me from spending my whole day trying to figure out how I had this server setup before.

It also showed me where my policy had holes. I’ve got xfs filesystems now, so xfsprogs need to be in the base case. My libvirt setup didn’t actually install kvm, but in the super minimal install, that wasn’t there. I hadn’t gotten around to managing my openvpn server yet, that’s in there now.

If I was to do it again…

One thing I really need is both a puppet and puppetmaster bootstrapping script. Using puppet to manage your puppetmaster is cool and all, but there is a bit of snake eating it’s own tail to get you started that required a little more manual command slinging than I liked.

But, had I not had so much of my server policy encoded in puppet, I’d still be typing commands now to get that box up and running. So I’m sold on the whole process, even for a smallish IT environment, like a few home servers and remote guests.

Here comes the Leap Second

The tzdata update which includes the leap second for Ubuntu just came down the pipe:

Version 2012b-0ubuntu0.11.10:

* New upstream release 2012b:
– Update DST rules for Chile (LP: #948328), Armenia, Samoa, Cuba,
– Fix historic DST rules for Canada.
– Add leap seconds for June 2012.

This is why you need to apply updates regularly, and make sure you are on a supported distro. I’m very curious how mobile is going to handle this, as this will be the first leap second addition any of the major Smart Phone OSes has ever had to deal with.

What Raspberry Pi’s launch day tells us

Raspberry Pi, the $25 / $35 Linux ARM computer, launched yesterday, with 10k units through 2 distributors. The distributors were crushed within minutes, their websites down for hours. There is now just sign up forms to express your interest.

This did not surprise me. For months RP has been a topic of conversations in my tech circles. The statement is typically how many units you’d buy, not whether or not you’d buy one. The moment I can buy 3, I will. I’m hoping, but not entirely optimistic, that I can do that this year.

At $35 this is still $30 less than an ethernet connected arduino, which is impressive. It also makes me wonder if they are adding enough to their unit cost to actually cover the people it takes to make getting these units out to the public possible. Even at double the price, they would have more demand then they knew what to do with.

But I think a more important thing can be said from this, how mainstream the hacker/maker world has become. RP is a DIY platform, and lots of people want it. If they can ever get their supply chain to meet demand they will sell more units than iPhones. Just think about that for a minute. And every one of these running Linux, though every one of these doing something slightly different.

I hope the RP foundation fully embraces the Arduino model, their closest comparator, and make the hardware fully open as well. The community around RP will only be fully unleashed when everyone can manufacture these boards. Given the RP foundation’s goals, this should align very well. A version of these with GPIO would be incredible, because the closest thing is the Beagle Bone, which comes in at $90.

Brother HL-4150 vs. Linux

I love having a duplexing color laser printer at home, and thanks to my friend John for the recommendation on the Brother HL-4150. However, in the last few months I found that print quality was way out of whack from Linux, last night I found the fix.

What was most curious was that if I printed from Adobe Acrobat, everything was good, but any other program in the system, and the output was jaggy, and the colors were faded. The fix was simple, but took a little while to find.

Make the print url: lpd://(Your printer’s IP address)/binary_p1

Life is good again, output looks great, and I don’t have to jump through Adobe hoops. And if you are looking for an affordable color home laser printer, I’d definitely recommend this one.

Unifying Bash History

A question came up in our Linux User Group IRC channel about the seemingly random mess that is your bash command history. As I googled around for the answer to what was going on I came across this snippet of pure joy.

shopt -s histappend
export PROMPT_COMMAND="history -a; history -n; $PROMPT_COMMAND"

If you add those 2 lines to your .bashrc what you get is a unified bash history. All commands from all terminals get saved in real time and are made available to all other terminals.

It’s pretty great, though it does make you realize that some times you really did rely on the old behavior. The up key no longer does exactly what you are used to.

3rd trick on dd-wrt on FIOS

As soon as I went to work the home network dropped off the internet, wouldn’t you know it. It turns out that was the time the old lease ran out, and it wanted my router to ask for it again. As I’d configured it to static to deal with their lease issue, no such luck.

Fixing it when I got home taught me another lesson, it’s actually really important to clone the MAC address as well of the old router. With the original MAC address in place I couldn’t get a DHCP lease. With a clone of the FIOS router, all was good.

The 2 tricks to installing your own dd-wrt router on FIOS

I finally got around to installing my own wireless router on my FIOS network, a Linksys e2100L with dd-wrt installed on it. After the router is setup (that’s beyond the scope of this post) there are 2 tricks to make this work.

First, Verizon FIOS gives out really long dhcp leases, and doesn’t want to give them up. So you need to not only clone the MAC address for your router, but actually set it to the ip addresses that your old router was given. I’m told that after about 2 weeks you’ll be able to start using DHCP again, but you can’t for the switch over.

Secondly, you have to set the upstream MTU. Presumably Verizon is doing some VLAN tagging, which would explain why your IP addresses can jump all over the place after a major network change on their side. 1496 should be a safe value, and it looked like it worked, but I left mine down at 1450, for no good reason other than superstition. This was the trick I was missing before, and since I’ve been dealing with bizarre networking issues at work recently the idea was still floating around in my brain.

It’s now working, and my port forwarding is setup enough that I can do any fixes I need remotely via vpn.

Google Chrome 9 for Linux

I realized last night at our replacement MHVLUG dinner that I was the only one there who was still using Firefox on Linux. Everyone else was on the Chrome bandwagon. And that’s where I thought it would stay, until Chrome 9 came out today.

Yes, Chrome is faster, and doesn’t die on javascript randomly, but the thing that pushed me over the edge was the fact that Google bothered to support WebGL on Linux with the release. I loaded it up to test and found the WebGL demos ran with barely any CPU usage. Ok, I’m sold for now. It’s my new default browser, and we’ll see if it sticks this time.

Open as a feature

I’ve been thinking about getting a new wireless router that I could install dd-wrt on, an open Linux replacement firmware, which gives you all kinds of nice features. I started this journey on the dd-wrt website to try to figure out what good options are right now. It was a confusing support matrix that I couldn’t really compare very well.

Then something occurred to me, perhaps there were some comments on newegg reviews for equipment about people doing this. Newegg is a pretty technically competent community, so this wasn’t that much of a stretch. I popped “ddwrt” into the search engine, and was surprised by the results, which looked something like this:

Linksys WRT54GL 802.11b/g Wireless Broadband Router up to 54Mbps/ Compatible with Open Source DD-WRT (not pre-load)

There are currently 11 routers on newegg that list DD-WRT in their title. Being open is now a selling feature of these products. How cool is that.