Tag | linux
Review: Pangolin Laptop from System76
I had known that my early-model MacBook Pro was getting to the end of it’s usefulness for me. I mean, it still runs but as software has grown more and more complicated, my MBP wasn’t cutting it anymore.
Most people would just by another MacBook Pro! And, while that sounded tempting, I had a few things that held me back from that. For one thing, $2500 was a steep price for me and my rising side-business. And the tools I use 85% of the time were not Mac specific. They are things like zsh, Emacs, Python, PHP, and some of JetBrain’s products. All of them would work on Linux, which is a much lower cost to entry than another Mac.
I started this journey around six months ago when I started scouring the Internet on what the best Linux-based laptop would be. I was quickly led to System76, a maker of Ubuntu-powered laptops, desktops, and servers. I was impressed when I scoured the web about this company. There were a lot of reviews and comments from their users and no one ever had anything bad to say about them. I mean, they had things that they wished that maybe were different, but everyone was happy with the hardware they were getting, how well it worked with the Ubuntu, and, more importantly, how happy they were with the post-sales support they were getting. The price was higher, especially compared to the laptops you get at big-box stores, but you got a machine that you knew would work with Ubuntu, and not have to fiddle around with it. But, regardless, it was certainly cheaper than a MacBook Pro!
Fast-forward a few months: I was investigating putting more RAM into my aging MacBook Pro But I couldn’t! I already had it maxed out at 2GB! So this was when I decided to make the plunge.
System76 has a wide range of laptops available, but the choice was easy for me — The Pangolin Performance. It seemed like a good development machine and my display needs are not that heavy to warrant the next step up. I spec’ed out what I wanted, and then compared it with a MacBook Pro. Yep, about half the price even though I was getting 6GB of RAM instead of Apple’s 4GB, and I was getting a slightly larger hard drive. I thought I was getting a very good deal.
I ordered it about 10 days before Christmas, and System76 responded that it would ship within 8 business days. I was surprised when I found out that it was delivered early, and expected to arrive on the Tuesday before Christmas! And I was even more surprised to have it arrive a day earlier. Huzzah!
The packaging of the laptop was nothing to write home about, but it was extremely well cushioned and supported inside. It would be hard to damage it’s contents. I took it out of the box and immediately started using it while the battery was charging
The first thing I noticed is how quiet it is. I didn’t think the fan was even running! But it turned out that it was — it’s just that quiet. I had my Pangolin on my lap, doing lots of installation, configuring, etc., when my wife asked me if my lap was hot yet. I hadn’t even thought about that, so of course it wasn’t hot at all! I discovered why when I was packing it up after using it for a while on a table. Just left of where it was sitting on the table was a little hot, but underneath was fairly cool. It seems that the fan blows the heat straight to the left side instead of blowing it underneath. This allows the heat to escape and make your lap cooler as well as the underside of laptop itself. +1 for great design!
As for as Ubuntu? Almost flawless. I thought I had to call support to get Bluetooth working, but then I found the button to turn on the F12 key. That could have been an embarrassing phone call.
Note the word “almost” — the one thing that I can’t seem to get working right is to get Flash to use HDMI Audio. The HDMI Video works fine, and I got HDMI Audio to work out of normal Gnome apps, but Flash seems to cheerfully ignore the HDMI output and always goes to my speakers. Since my primary use of a developer machine and not a multimedia server, this is not a big deal.
The overall performance, however, is fantastic. The laptop boots in seconds, and every app I run starts in milliseconds. And I run Apache, PHP, MySQL and PostgreSQL most of the time. It finds my Android phone, Kindle, and iPod when I plugin them in and offers to start the right app.
So, after few weeks of fairly heavy use, would I recommend this laptop? Resoundingly yes! Especially if you are a developer in the open source space and just want everything to “just work”. Everything just works for me — without paying the Apple premium.
Setting Proxy Environment in UNIX
The easiest and best way to set proxy information on your Linux/Unix machine is with the http_proxy environment variable in your ~/.bashrc, ~/.zshrc, or whatever your favorite shell’s configuration file is. Set it like this:
http://user:password@proxy-server:portnum
In my brief bit of experimentation, the follow important (to me, at least) command-line tools use http_proxy:
- wget
- Python easy_install
- curl
I’ve been a Unix user for 14 years — why did I take me so long to figure this out?
How SSH knows how to get your keys
Most people who work with SSH know that your user’s keys and config is at $HOME/.ssh. Or is it? A problem I had revealed that it isn’t so cut-and-dried.
I use Cygwin at work, because, well, I need to get work done. I was smart enough a long while back to make my users HOME directory my shared H-drive, as opposed to somewhere on the C-drive. That way if I got a new machine, etc my configs would be safe.
Well, the moment arrived to see if that worked. I got a new hard drive at work a month or so ago and one of the first things I did was install Cygwin. Everything worked great — except my SSH keys. For some reason, Cygwin’s SSH refused to find my private keys, even though I have never moved them. This week I finally dug in to figure out what happened.
I did a ssh -v host and saw this:
debug1: Trying private key: /cygdrive/c/.ssh/identity
Huh? My HOME directory is set to H (/cygdrive/h/, in Cygwin-speech). I mucked around again and it will was in the wrong spot. A few google searches later revealed that OpenSSH doesn’t look at the $HOME environment variable at all! Instead it goes by the directory for the user in /etc/passwd. I opened that up and, sure enough, it was set to “/cygdrive/c/“. I changed it, saved the file and then it worked.
In an normal Unix instance, this works because, chances are, they will be the same. But I guess when I installed Cygwin I didn’t have a HOME variable set, so it defaulted it to the C-Drive. Then when I set it to the H-drive, it just happily used that and let things break.
