Filed under Hardware

Rules for computing happiness

In the last few weeks I’ve been giving some thought to my computing setup and how it might change in the next few months. At the moment I use 3 machines regularly — an old Mac Mini, a Linux laptop that’s about 3.5 years old and an Ubuntu netbook that’s about a year and a half old. Unfortunately the Mac Mini is showing it’s age and I’ve always had mixed feelings about the netbook. The linux laptop was always too heavy to actually carry around much and now I tend to use it only for programming. And in about 2 months I’m graduating from college and starting graduate school.  Over the last 3 years I’ve experimented a lot to figure how I best use computers, but as I start grad school I want to settle down with a setup that I can use for a good few years without constant tweaking. Here are some rules for computing happiness that I’ve come up with in the last few years to help make my computing more sane.

  1. Use as few physical machines as possible. Keeping files and projects in sync across machines is too much of a hassle and can easily become a productivity sink. Rule 2 below is an exception.
  2. Keep work and play separate. No Twitter or IM clients allowed on the work machine unless they are part of the job.
  3. Get a Linux machine for programming. Get as many monitors as you can afford and run a tiling window manager. I suggest either a larger laptop or a desktop.
  4. Get a lightweight Macbook for non-programming tasks. Maybe an external monitor. I would like to suggest getting an Air unless you really need a larger drive, but not sure about that yet.
  5. Keep a backup server, either physical or virtual. Do not try to do actual work on the server unless you really need to. Use a lightweight Linux distro for this. I suggest Arch Linux, but use whatever you’re most familiar with so that you don’t need to spend time learning the ropes.
  6. Learn and customize your tools. Make sure that the customizations are saved and backed up and can be restored easily.
  7. Use public computers (including library and lab machines) as little as you need to. They probably can’t be customized and you’ll be stuck using generic tools which means you won’t be working as efficiently as you could.
  8. Pay for good software if you need it, but only after you’ve tried it out for a while.
  9. Keep information in open formats, preferably plain text as much as possible.
  10. Use version control on all projects, even if they’re not programming related.

Technology density

I lost my left contact density a few days ago. By the time I found it (sticking to the wall) it had dried up and deformed. As the days go by, we’re packing more and more technology into smaller and smaller spaces. In particular, the current slew of smartphones is taking technological density to all new levels. The newest phones like the iPhone 4 and the Nexus S contain as much computing power as my first desktop back in 2001 and the software running on them does much more interesting things than what I run on my first machines.

This great density has a number of interesting side effects, not all of which are acceptable to all people. For example, one consequence of packing so much power into a tiny package is that doing home repairs (or even changing the batteries) is not for the faint of heart and requires special tools and trailing. This makes a lot of people uncomfortable and for good reason. If you’re paying good money for a product, you want it to be under your control as much as possible (including being able to make repairs). Losing that ability and having to trust someone else with your computing experience should make you uncomfortable and think twice about what you’re paying for.

However thanks to increasing density we have the power of mobile. We are literally carrying networked supercomputers in our pockets which in turn opens up a whole new world of possibilities. Things like augmented reality, real-time translation and even more mundane things like just being able to get email and look up information whenever wherever are all very exciting and people are coming up with great applications every day. If there is one thing we can learn from the march of computer technology, it’s that people will apply and extend their technology in novel and imaginative ways. I think we’re only just at the beginning of seeing computer technology finally becoming ubiquitous and seamless.

We’re living in exciting times and of course there are challenges. Net neutrality, locked down platforms, a variety of competing devices, vendors and standards are all major issues that will continue to be around for a while to come. But in the long term, I think we’ll see these problems be addressed. The solutions won’t be perfect, but they will be enough to form a basis and foundation for the next generation of revolutionary technology. What will that next generation be? I have no idea (though I think biology will play a role).

So what happens between now and then? The same thing that’s happening right now. Our phones will keep getting smarter and companies like Google and Apple will continue pushing consumer technology to new limits. And as that incredibly dense technology gets pushed to millions of users, it will support a growing ecosystem of smaller applications doing really interesting things and bridging the gap between the virtual and physical worlds. We can see this trend in apps like Instagram, Four Square and a number of augmented reality and translation apps. And I think the best is yet to come.

Looking forward to the Google Nexus S

Google recently announced the Nexus S — the successor to the Nexus One phone. More importantly, it’s an Android phone straight from Google with the latest version of the OS and none of the distractions that the carriers tend to add on. I’m not really a phone person, I don’t use an actual phone very much and my actual phone is a cheap prepaid T-mobile phone I’ve had for 2 years and have no plans of changing. So why am I interested in the Nexus S?

The thing is that enough though I don’t use a phone very much, I do use other devices a lot. I love my iPod touch (which apart from my computer is my primary communications device) and I wish my camera was smaller so that I could carry it around. However, the thing is I want to do more with fewer gadgets. I’m a bit tired of carrying a phone and an iPod Touch and I really wish I had a camera for all those little moments I want share. But I don’t want to carry another specific device around. I’m at the point where I really want just one device that does everything.

A smartphone would be really nice except for tone thing — the phone plan. Like I said I barely use the actual phone functionality. Also I’m at college which means I’m surrounded by WiFi (and will be at graduate school) which means that I don’t need 3G. Spending upwards of $60 a month when I can get about 2 months on a $30 prepaid charge makes no sense at all. An unlocked smartphone would be great, especially if I could just use it with my existing T-mobile plan. Even if I had to move to a new number, Google Voice makes that mostly irrelevant.

The Nexus S looks to be a strong device. It has all the usual features we’ve come to expect from a top-of-the-line smartphone. Along with the usual Android things, it also sports a 5MP backfacing camera which is something I’m looking forward to. Since it’s straight from Google, I can expect to get updates to Android as soon as they’re released without having to deal with a carrier as man-in-the-middle. Like the Nexus One, the Nexus S will probably be the “reference phone” for the next few releases of Android.

One part I’m a bit unsure about is actually getting the Nexus S. It won’t be sold by Google directory, but by Best Buy, which I guess is fine. By only real concern is whether it will work with my current number and SIM or if I need to get another one. Besides that, there is the question of price: according to Best Buy the unlocked version will be a hefty $529. That’s almost 6 months of the basic T-mobile data/voice plan. Of course, I do plan on holding on to the Nexus S for somewhat longer than 6 months, so in the long run paying upfront would be worth it. Still dropping $529 on a phone isn’t something I feel entirely comfortable doing.

The Nexus S is looking to be a great device and a good fit for my current device usage. However, the unlocked price is rather steep and will definitely be something to keep in mind. Luckily it’s not a decision I plan on making for another month and half at least.

Second hand thoughts on the Macbook Air

As the whole world knows by now, Apple released a new version of the Macbook Air about a week ago. The new Air is a really interesting device: extremely thin, packed with a fast SSD, decent processor and RAM and a high resolution screen. I’m at the point where I’m starting to consider my next round of computer upgrades and I’m seriously considering all Mac. When the new Air was released my initial response was that it would be a great machine to get if I was traveling a lot. But since I need a personal machine through at least some of my grad school years, I would be sticking to a 13 inch Macbook Pro. However, given what I’ve been hearing, I’m starting to reconsider that.

First off, there’s yesterday’s Techcrunch article about the new Air. The headline says it all: Goodbye, MacBook Pro. The New MacBook Air Is That Good. The author comes to the conclusion that the Air is a faster, better machine than his 6-month old Macbook Pro. The only downside is the size of the hard drive. From a personal perspective, I don’t really care about the storage size. I have very little media compared to most off, living off Netflix and Pandora instead.

From my experience of using a 10 inch netbook, I’ve come to the conclusion that 10 or 11 is simply too small for me to use on regular basis. If I were to get an Air, it would be the lower 13 inch model that currently sells for $1299. However, the equivalent 13 inch Macbook Pro has twice the RAM and storage space (non-SSD though), longer battery life (by Apple’s claims at least) and an optical drive. But it is thicker and 1.5 pounds heavier. It is also $100 cheaper. Even though the Macbook Pro might seem like a better deal, it’s not quite so straight cut.

For starters, the SSD is a game changer. I haven’t had the chance to use one on a daily basis myself, but from what I’ve heard (from everyone from Linus Torvalds to fellow students) it’s much more than an incremental upgrade over a traditional drive. As the benchmarks show, the SSD makes a great difference. SSDs are still an early-adopter technology, but they’re at the point where it makes sense to invest in one if you plan on keeping a machine around for a while. To bring the Macbook Pro up to the same spec would cost an additional $350.

The next question is mobility. For a machine to carry around a fair amount, the Air does a damn good job. It’s barely 3 pounds heavy, and about two-thirds of an inch at the thickest point. And according to Techcrunch, it also doesn’t bleed very much heat. This may be a bit of a personal peeve, but I can’t stand laptops that bleed excessive amounts of heat. My netbook starts fanning out warm air really quickly and that annoys me no end. Even the current Pros can get a bit warm after an hour or two of work. If the Air is really as cool as Techcrunch says it is, then its certainly a very big plus, almost as much as weighing less than most of my textbooks. The 7 hour battery life is much more than any other laptop I’ve ever used and should be good enough for a full day of work. Considering the fact that I don’t plan on doing long trips very much that seems sufficient.

The high-resolution screen is definitely a boon. It’s hard to tell how important a high-res screen matters until you’re forced to work with one that’s lower resolution. The screen is also matte, not glossy, which isn’t a major factor until it is (ie it’s a sunny day and you decide to go out into the sun). Glossy vs matte isn’t that big of a factor if you’re working in a good set up with no bright lights behind you. But I’m planning on being able to take my machine out in a  random cafe or park bench and get some work done outdoors. Not having to see the sun’s glare or my own reflection all the time would be nice.

The final thing to note is ports and optical drive. The Air has no optical drive and the only time I use an optical drive is to watch DVDs. I would really not miss the optical drive if all of Netflix were streamed online, but until then I’ll be buying a separate optical drive. And it will probably be one of the Apple drives since I can’t seem to find anyone making a cheaper slot-loading drive (after using slot-loading drives, tray-loaders seem downright clunky and primitive). What that means is that when I have an external drive plugged in, I’ll be down to a single USB port. I would not be able to plug in an optical drive, external storage drive and USB keyboard all that the same which is something I can see myself wanting to do at some point. Again, I’m not entirely certain how much of a problem that would be. Even if that is something I need to do USB hubs are cheap and abundant and it’s not an issue when I’m on the move. The DisplayPort means that I’ll be able to plug in a larger monitor (which is something I’m likely to do when I’m at my desk). The lack of a wired Ethernet port is somewhat concerning. Though being at a grad school means that I’ll probably have all the wireless Internet I need, it means that I’d have to get a wireless router for wherever I end up living.

The Macbook Air is certainly a very respectable machine. However, it’s another question as to whether or not I would actually  buy one. The 13 inch Pro is a strong competitor and for a primary machine, the Pro seems to win. Though the Air lets you do most things you’d want to with a computer, the peripheral limitations mean that you can’t do everything you’d want to. The lack of a cheaper SSD option on the Pro is a bit disappointing, but it’s something that I could add in later if I really want to. If I were getting a secondary travel machine to accompany an existing home machine, the Air would win hands down. But since I want a machine that I can hope to use full time, I still need a “complete” machine. The Pro is the best bargain for that.

Tagged , , , ,

Getting to some hardware hacking

I’m definitely more of a software person than I am a hardware hacker. Even though I’m getting an electrical engineering degree and like working with low level programmer, I’m still more comfortable writing code than I am soldering a circuit board.  That being said there is a certain amount of magic involved in being able to wire up something that does cool things from spare parts and tiny electronic components. Especially after looking at the stories on Hack a Day for a while I’ve been really intersted in doing something that doesn’t involve just punching away at a keyboard.

The question is, what? My suitemate has a projector and we have 3 couches in our lounge (don’t ask) so yesterday evening we had an impromptu movie party, watching Hangover and eating homemade popcorn. Said suitemate also has a bunch of lights hooked up to a dimmer switch and 5.1 surround sound. So while we were waiting for the projector to warm up a friend of ours decided to play the DJ and plugged his Macbook into the sound system. And while the music was playing yet another tried running switch to the tune of the music. Of course he was much too slow to keep pace but it gave me the idea of trying to set up some electronics so that the dimmer switch (and hence the lights in the room) would modulate along with the music.

The next question is: how? And that’s not something that I’ve quite figured out yet. I’d like to use the Arduino, since I’ve heard good things about it and I know people on campus who have some experience with it. And since I want to some audio sampling and processing I’d like something with a decent amount of processsing power. I have no experience with the Arduino at all but one of the people that I’m working with over summer does (he’s the one who started playing wiht the dimmer in the first place). I’m starting my trawling around the Arduino website and looking over the specs and getting used to the programming environment for it. I technically have all summer to play around with it, but I would like to have a working prototype ready in two weeks (in time for my birthday). I’m open to suggestions, tips and tricks so if there any Arduino wizards reading this, feel free to drop me a line.

Follow

Get every new post delivered to your Inbox.

Join 338 other followers