MacBook Air first impressions

  Overview_hero5_20101020 I've been a die-hard user of Apple's MacBook Pro since the first ones came out back in 2006. Prior to that, I used the older style G4 Powerbook. I'm a linux / command line person at heart, and I prefer Apple's approach to the operating system for many reasons.

Recently, as no surprise to those who know my klutzy ways, I dropped my MacBook Pro 15" – I'd only had it about a year. To say "dropped" would be an understatement. I fell while coming into my office, and rather than skewer myself on some equipment, I decided to throw the MacBook and save my own life. In reality, again as no surprise to those who know me, my life was never at risk. Sure seemed like it at the time… So, the MacBook went flying, hit the hard corner of the desk several times as it flipped over and down onto some other hard surfaces, then finally the floor. The screen cracked, one corner of the unibody case was flattened from the normal curve to a sharp edge, there were two large dents in the top near the Apple logo, and there were parts inside that sounded loose.

Thankfully I had a full backup from earlier in that day, so I was safe there. So, I needed a new primary system. Timing worked out that the new MacBook Air came out about 2 weeks after the fatal accident. I placed my order for the 13" 2.13Ghz system with 4GB RAM and 256GB SSDs as soon as I could. It took a few days for it to be built and shipped, and arrived while I was on a business trip.

So far, I'm very happy with the system. I had converted my MacBook Pro to use two Intel SSD's, and had done similar conversions on all of my work machines. The speed that an SSD adds is well worth the upgrade, not to mention the heat reduction, battery life increase, and noise reduction. The "flash memory" in the MacBook Air is extremely fast, and has more than enough space for my critical data. The screen is awesome in such a small package. I can do all of my terminal sessions, remote desktop, web browsing, and email without having to jockey too much around. The speed of the system hasn't been an issue for anything other than flash based videos, which tend to send both CPU cores up to 80-90%.

Even when the system is working hard, I never notice much heat through the chassis – it has been 100% quiet – never have heard a fan of any kind, although I see one in the diagrams that are available on the 'net. The keyboard and mouse are essentially identical to the MacBook Pro with one exception – the backlighting. I was disappointed to find out that the Air doesn't have backlit keys, but so far it's not been a huge problem.

The two amazing things that I am still in awe of are the battery life and the weight. I knew it was going to be light, but it still seems so much lighter than I would expect. I can hardly tell whether it's in or out of my bag. For the computing power and convenience, it's amazing how light it is.

The battery life is what has impressed me the most. I can go a whole day of my normal computing schedule on one charge. This means at least 5 hours of usage, potentially more depending on what's going on. I used to carry the larger MacBook Pro charger with extension cable everywhere, and it always got in the way in my bag. Now I don't even carry a charger because I know I will have enough battery for everything I need.

This is the best system I've owned since the first MacBook Pro came out in 2006. I hope that the trend everyone seems to be talking about continues, and that Apple comes out with even more portable and longer running systems of similar type.

Moved to new blog software

After a few days of investigation, I've moved to TypePad for my blog.  I've been using WordPress since I started, and while it is definitely the most popular choice, it's a bit harder to maintain and use.  I had been using it on a linux machine I maintained myself, which required a lot more work to keep it running, as well as it cost a lot more per month.

WordPress does, of course, have their hosted option, but it requires that you point your domain, if you want to continue to use your custom domain name, at their DNS servers, and let them be authoritative for your domain.  That scares me.  Wordpress is fine at running blogs, but how do I know their DNS servers are good enough to ensure my mail is being delivered, other sites are still being served out, etc.  Only recently they added the ability to add custom records in DNS for things other than Google Apps.  

TypePad and Blogger both allow you to continue to maintain control over your own DNS and use CNAMEs to handle hosted domains.  This is a much safer approach in my opinion.  

So, here I am on TypePad.  I have to say that their themes and control are deeper and nicer, but it is a bit harder to find things than on WordPress.  I think I've moved everything successfully, but I'm sure I'll have to tweak some things. 

One thing I know that didn't make the move was my permalinks – WordPress does them slightly differently, and TypePad doesn't allow you to customize them to the same level so I could maintain them.  So, if you see a broken link somewhere in an older post, that's why.  I'll try to fix as many of them as possible. 

Back to customizing and playing with some of the new features in TypePad!

WordPress on Mac OSX Server

I finally got around to moving my WordPress installation off of a hosted server to my Mac Mini Server at home.  This entailed making sure I had a static IP from Comcast, and getting all of the firewall pieces in place.  Once that was done, I had to learn the quirks of doing web hosting on Mac OSX Server.
Thankfully, most of the hacks needed in the past are now checkboxes in the Web configuration portion of the Server Administrator.  Don't get me wrong – I don't generally like the simple approach – I like having all of the bells and whistles available to me from the command line.  But with Mac OSX Server, I know that whatever I hack at the CLI might get overriden in an upgrade.
From my experience, it requires no hacks to get WordPress working on OSX 10.6.x.  There are many articles out there showing the necessary parts of moving the SQL database and web files into place.
The biggest mystery was getting mod_rewrite to work correctly so that I could maintain my nice URLs.  This was documented many places on the web where you had to change configuration files in /private/etc/apache2, but nothing for hosted sites.  I found those config files in /private/etc/apache2/sites, but still didn't want to manually change them for fear they would get overwritten when I edited something in Server Admin later, or during an upgrade.
After a bit of poking around, I found the "Allow All Overrides" option in the Server Admin -> Web -> Sites -> Options area.  Once you have this enabled, your .htaccess file in the root of your WordPress directory will be read and rewrites will work appropriately.
Some of the realtime stats for the web server are nice compared to the other solutions I've used.  It's interesting to see requests and throughput for the whole server, as well as be able to quickly change log levels and locations for troubleshooting.
So far it's been a painless migration, and things are working very well.

Smashed Kindle and Kindle v2

Was on vacation the last week and as I was leaving, left my Kindle on top of the roof of the car while I drove away.  I got off of Queen Anne, and onto Highway 99 before it came off of the roof, and landed in traffic.  After doing a U-turn, which required quite a bit given where it fell off, I was able to retrieve it.
I had a Waterfield Designs Kindle case protecting it, and even though the Kindle wasn't usable after the fall, it was surprisingly in good shape.  You can see in the photo below that the screen has what looks to be a tire track on it.  Several of the buttons around the screen didn't work very well, and there were some cracks in various places, but it was all in once piece.
Kindle tire tracks
It wouldn't unlock – apparently the last image on the screen stays even if there is no power – I suppose given the way eInk works, that makes sense…
I ended up sending this one to it's grave, and getting a new Kindle rev 2.  I read a lot on my Kindle, and was really disappointed that I broke the old one.
The new one is much thinner, which I'm not sure that I like yet.  The buttons are also really hard to actuate which is annoying when you're reading with one hand.
The screen and keyboard are setup much better, and it does seem to be much faster dealing with downloads and such.  I also really like that the power connector is more standardized and not something proprietary.  I really don't like the power switch unlock/lock – it was so much easier to press the two bottom keys instead of having to reach to the top of the unit and mess around with the switch.
I'm glad I have a Kindle to read from again – in the interim I used the Amazon Kindle app for my iPhone, but it just wasn't the same.  We'll see how long I can keep this one before I destroy it :)

NexentaStor storage appliance

In the last few weeks I've had to find an alternate solution for storing and serving VMware images to a big ESX cluster at work. I looked at a lot of open source tools and options, and some commercial ones, and have settled on the NexentaStor
Our original solution is about 2 years old, and is a Dell NX1950 system running Windows Unified Storage Services 2003.  It had a single MD3000 head unit connected to the NX1950, and two MD1000's chained off of the MD3000.  The MD3000 and one MD1000 each had 15 400GB 15K SAS drives in them for a total of 30 drives, and the remaining MD1000 had 15 1TB 7500RPM SATAu drives in it.
The first two trays were setup to serve out virtual disks via the iSCSI target provided in Windows Unified Storage Services.  The last tray of drives was for file shares and backups.
Suffice to say, there were many, many problems with performance, reliability, and interoperability.  We had at least 3 major outages attributed to the iSCSI target freezing or becoming overwhelmed.  Several other situations arose when drives failed in the array, and the horrible PERC+MD3000 combo tried to use a spare drive, which drug the usability of the array to a crawl.  In general, my experiences with Windows Unified Storage Services has proven to me that it's definitely not worth the money at all, especially given that you can only get it (AFAIK) from OEMs.
The iSCSI piece is absolutely horrible in it – slower than anything else I benchmarked, and really quite buggy.  NFS is not even worth deploying as it's at least twice as slow as iSCSI, and not even on the charts compared to traditional NFS.  Plus it has so many odd quirks about configuring it, that it makes it a big barrier to actually use with ESX.
We have several other solutions at work already – NetApp, EqualLogic, and various types of NFS/iSCSI hybrids.  I went about testing the following solutions before making my decision:

In the end, NexentaStor was the fastest, most reliable, and had all of the options I needed for my environment.  It's based on OpenSolaris with a bit of Debian, but what I really was impressed with is ZFS and all of the benefits it provides.  By far, it's NFS and iSCSI implementations were faster than any of the other vendors, even the purpose built EqualLogic array.
EqualLogic was the fastest next to Nexenta, but it's really expensive, and only iSCSI.  I wanted the option to do NFS too.  NetApp is slightly slower than EqualLogic, and well, is by far highway robbery in terms of cost.  OpenSolaris is unstable as all get out, unless you go back far enough, and then there are missing pieces of functionality, such as iSCSI.  OpenFiler is really nice, and we use it in some other areas already, but it's RAID technology is just as slow as Dell PERC or other crappy controllers.  It's NFS and iSCSI implementations are fast, but not as fast as NetApp/EqualLogic and nowhere near NexentaStor.
Nexenta is still small compared to some of the other solutions, but it's very well thought out.  I am looking forward to a lot more interesting things from their product line.  I'll write more about the specifics later…

Dell mini 9

Have been thinking about a netbook for a while, and ended up getting a Dell Mini 9 a few days ago.   It's a really amazing piece of hardware in a tiny package.
I ended up getting the Linux model with 32GB SDD drive, 1GB of RAM, and the Timbuk2 carrying case.  I ran Linux on it for a day or so, and then loaded Windows XP.  The eventual use for this system will be light email and web browsing, and using Coastal Explorer on my sailboat and elsewhere to plan trips.
I also added a 16GB SD card for some additional storage for charts and other data.  Even after reloading it with XP, loading all of my favorite programs and files, and then Coastal Explorer and all of my local maps, I still have ~20GB free on the main SDD drive.  I haven't moved anything to the SD card yet.
The keyboard is quite small, but that was expected.  There are some odd key placements to accomodate the small keyboard size, but they're workable.  The mouse touchpad is really nice.  It's molded into the body and has a scroll area on the right hand side.
The screen is really nice – extremely easy to see and clearer than I thought it'd be.
Performance wise it's pretty good.  I expected a bit slower response and performance because of the Atom CPU, and that is the case.  Opening multiple applications with existing things running can result in some slowness or choppiness.  It's completely workable, however.
The system gets warm when you're using it, which is expected from other reviews.  The battery lasts a long time even with wireless on.  So far I've had it up and running for just shy of 4 hours on one battery charge while doing a decent amount of surfing and such.
The best part of the whole system is how fast it resumes from hibernation/sleep, and how silent and small the whole package is.  Typically, it will resume and find the wireless network in less than 10 seconds, usually faster.  Very nice for casual use when needed, and it can be closed and placed somewhere when you're done.  Very convenient.
Overall, I'm really happy with it and I predict it will be used for a lot of surfing and boat related work given it's size, convenience, and battery life.  More details when I get Coastal Explorer setup with my Bluetooth interface on the boat.

Storing passwords securely

I've been struggling for a while finding something that I can put all of my passwords in for online stuff that doesn't have limitations or security holes.
For a while, I used Splash ID on my PC and phone, which was convenient.  But it was a piece of software I had to have on one computer, and I couldn't find my passwords when I didn't have that computer.  I used it on a BlackBerry, iPhone, and Windows Mobile phone in conjunction with the PC app, but it wasn't that terribly useful to have it on the phone, except when I was away from my normal computer and needed one of the passwords.  It also was somewhat buggy and crashed at the most inopportune times.
I was somewhat worried about the data being secured enough – these apps claim they use good encryption, etc. but I also didn't think it was a good idea to have all of this on my phone and on my PC.  I was afraid of my phone being stolen and then the passwords being retrieved from it.
So I began using common passwords for things by adding numbers and other items in front and in the middle.  That resulted in forgetting a bunch of the passwords, and making me feel less secure because the passwords weren't that good.
Recently I looked again at options and found Passpack.  The difference with this solution is that it's all online.  While that might sound like a worse idea because the passwords are stored somewhere out online, it's important to understand their security model to know that it's not possible for them to even read your passwords.
I also like the idea of disposable logins, or one time passwords, as well as their multiple levels of login and authentication security.  I've set up all of the features, and it is very clear every time I login to the site that I've gotten the right site, right place and nothing strange is going on.
I generally use these sorts of tools for storing things that are medium security, like logins to online stores and such.  I never use them to store bank account, email, or other critical services like that.  Those passwords are unique and I never even write them down.  It's a must, though for the hundred or so online places that I have accounts with, and I much prefer using something like this for a number of reasons.
First, it allows me to generate a unique password of varying lengths for every site I login to.  No duplication.  Second, it allows me to get to them from anywhere – since all of these passwords are for online resources, I'll already be online when I'm trying to login.  And finally, the auto-login functionality is very helpful for those really long, 20+ character passwords – typing those can be a pain.
So far Passpack has really impressed me with their UI, feature set, and reliablity, and especially their security model.

JBL On Stage IIIp first impressions

I bought a JBL On Stage IIIp for my iPhone in the hopes that I had finally found a good docking solution that actually worked with the iPhone.  So far, my experiences have not been that good.
The product has been reviewed for it's feature set in many other places – I was attracted to it by the fact that it was a speaker set that supported the iPhone, and had a small amount of menu control via a small remote.
I mainly use it at work so I can have music while working, and not have to contort my hand to get to the menus while it's in the dock – hence the remote requirement.
So far, the following is happening, and I can't find any resolution:

  • No matter what album/artist/playlist I select, it only ever plays one song in an endless loop.  I have to hit the next button on the remote, or on the iPhone.
  • 80% of the time when I dock the iPhone, it spits out the usual "this accessory is not compatible with this iPhone – would you like to go into airplane mode".  Power cycling the JBL usually gets rid of this.

I'm going to keep searching for a solution, but I'm not confident I will find anything based on my initial results…

Cool ASP.NET stuff

In the last few weeks I have been investigating ASP.NET to fulfill a project at work.  I haven't looked at it in a long time, and am really impressed with the ease of being able to publish a fairly complex web site with minimal effort.
In particular, I'm working on a project to represent data in grids and tables, as well as graphs.  A lot of the built in controls in Visual Studio 2008 (we're using that with ASP.NET 3.5) don't really look all that great, and lack functionality.
I found a great set of tools from Developer Express that we're using for grids and graphs.  They are very powerful, and look great.  I'll post more on them after we have used them, and maybe even some screen shots.

Wireless Broadband Woes

So, with my new Dell laptop, there's an option to have a WWAN, or wireless WAN card, also known as wireless broadband, EVDO, etc. I didn't order the laptop with that option, and happened to be working on a work project with Verizon Wireless, and started chatting with their engineers about it.
EVDO Rev A sounded interesting enough to me to explore – 1-3Mbps of download, and 600-1200Kbps upload – as good or better than my old Clearwire service.
The first hurdle was ordering the add on card for the Dell. Since it is "embedded", it was supposed to have been added at the time I ordered the laptop, and Dell support said I couldn't add it after the fact.  After a little digging, I got the correct card, I believe, and installed it.
Then came activation – it was a nightmare.  I was on the phone to both Dell and Verizon who didn't know what to do or who owned what part of the activation.  I eventually went to 3GStore.com and activated it through them.  They were extremely helpful, and the business day after I ordered, they had activated it for me.
Unfortunately, it didn't work very well.  The software that comes with the Dell re-branded Novatel Wireless card is a Dell front end application, with Verizon's VZAccess code being reused in the back end.  All of the advanced options are completely gone.
The first issue was that even though the card was activated, it still took 2-5 tries to get it to connect.  Various random errors about authentication service unavailable, wrong username or password, and a host of 900 series errors that most people familiar with this stuff will cringe when they see.  2 days wasted.
In addition, once the card actually connected, it only stayed on EVDO Rev A for about 30 seconds, then dropped to 1xRTT, which is, well, dirt slow.
After 4 hours on the phone with Verizon, and a couple with Dell, I was convinced that the card and software were flawed.  I don't really care what it is – I'm a bit surprised but not overly annoyed.  In reading a lot about embedded EVDO, most of it fails in one way or another because of the finger-pointing of the manufacturer (in this case Dell) and the provider (Verizon).   Dell is only making money on the card itself, and installation, and Verizon makes their money on the plan and monthly costs.
So, I went off to the Verizon store and picked up a Kyocera KPC680 express card, and everything worked flawlessly – I'm actually writing this post directly from it.
Overall, the throughput and latency are manageable, and in most cases, completely acceptable.  To be able to be online from basically anywhere I frequent in the Seattle metro area is well worth it.  I'll give it about 10 days to make sure there aren't any major issues, and then cancel my home broadband connection.
FWIW, I'm getting about 600Kbps download / 250Kbps upload here at home, and I have only one bar.  If I move near a window, that goes much further up.
More info as I test it out…