Small, Powerful, Elegant, Sexy, and Hard Core

Ok, it’s that time of the year and I’m at the phase of the cycle when it is computer purchasing time.  What do I want, what do I need, who has the best options available? In order of priority here’s my wish list for the ideal machine.

  1. It must be able to run Windows & Linux. Even better would be the ability to run OS-X, Windows, and Linux. Preferably with Linux or OS-X as the core operating system and Windows either virtualized or dual booted.
  2. Another high priority is I want elegant, sexy, and strong design. But not just in appearance but in functionality too. I want the device to be strong. I want the material to be fabricated well, I want the quality and durability to be built into the device. This comes down to the device being a single mold, probably of a high quality material like aluminum.
  3. I want as much oomph as I can get out of the hardware. Demanding elegant and sexy usually dictates it won’t be powerful. Demanding tough is usually another strike against that.
  4. Another thing which is super important, but I may be flexible on, is the resolution. I simply want as much resolution as possible.
  5. The last thing, which isn’t as important, is I don’t really want to pay more than about $1500. I’d be all the happier if I can find something for even less.

Narrowing Down the Machines

The first thing I did was check out what information was available on what I would choose as my ideal computing device. I had found, through research and talking to others, that my options where either one of the new Ultrabooks coming out from different manufacturers or an Apple Macbook Air.

With the narrowing of the playing field and knowing a few things about the Macbook Air already, I decided to look into the Ultrabooks more thoroughly. Several, such as the Lenovo option got dropped immediately. The were huge by comparison to the Air and other Ultrabooks. If several options existed around the half an inch thick size, that was what I was going to aim for. After looking through many of the options it looked like the Acer & Asus were the real viable Ultrabook options.

Touch, Feel, and Fabrication Quality

The next step, was I needed to feel and touch these machines. I wanted to be sure that their marketing hype wasn’t going to land me with a laptop that was flimsy or the fabrication was poorly completed. No machine would be in the running unless the fabrication and manufacturer was of equal or greater quality than the Apple Product.

My first trip took me to Fry’s out in Renton, Washington. Fry’s was an embarrassment, they barely had any products whatsoever. So I plotted my next trip, which a few days later took me to the airport Best Buy in Portland, Oregon. They had everything! I was euphoric. I tried out more than what I was just looking at, and must say some of the tablet options are creeping into replacing laptop options real soon! But I then refocused and aimed back at my main goal, finding out the build quality of the Acer and Asus. This ended up being instant. I touched the Acer and it was, as Steve Jobs would say, “shit”.

Honestly I was shocked by Acer. Maybe they’re just aiming for a low price point, but after touching the device and feeling the horrid quality I immediately dropped it from the running, regardless of how much lower the price might be. As with my priorities above, price is the last concern at #5, I’m not going to settle for a crappy build quality because I’d pay dearly for it later. Why?

The reason why I want something strong & sturdy is because of several things.

  1. I ride a bike on a regular basis and whatever laptop I have needs to survive the bump and grind of the bike commute, the bike runs & errands, and other outings around urban areas. The laptop will be bumped and flung around in my messenger bag, I don’t want to pull out a dead laptop.
  2. I walk, take transit, and generally will up and climb to a lofty rock overlooking a shoreline to have a better area to work and think. Sometimes, I might stumble, trip, or otherwise impact the device. Thus, see above reason on not removing a dead device from my pack.
  3. While working in coffee shops, bars, conferences, or other activities the laptop will be pulled from my pack on a regular basis. While in my pack it’ll probably end up getting kicked, nudged, dropped, or otherwise inadvertently abused. Again, I don’t want a dead device in my pack.

Narrowed to Two

Alright now the battle truly begins. The Asus on one hand and the Macbook Air on the other.

The second thing I decided on was that I’d go with only the 13.3″ devices. They have greater options around storage and processor speed, so it seemed like a good path.

##

I pulled up the spec sheets on both of these machines. After a thorough review the two biggest glaring differences amounted to these features:

Resolution

Macbook Air: 1440×900 versus Zenbook UX31: 1600×900

USB Connections

Macbook Air:  USB 2.0 versus Zenbook UX31: USB 3.0

Battery “Reputation”

This is a bit of a weird one. All I can say, is that those that have tested the thing have said the Zenbook doesn’t measure up battery wise.

Macbook Air:  7+ hours versus Zenbook UX31: probably not 7+ hours

Operating Systems

This is actually a big problem for me, as the Zenbook actually runs Win7 and Linux support for all devices is a little questionable. I know for a fact that OS-X runs flawlessly on the Air and outperforms Windows 7 in about every aspect of performance. So I really want to be confident that I can run OS-X or Linux as the core operating system and then either virtualize or dual boot into Win7.

Macbook Air:  OS-X == Win! versus Zenbook UX31:  Win7 == Fail

So with all those factors taken into account I finally chose…

…drum roll please…

…the Macbook Air.

Summary

These devices are really close, but in almost every measurement the Air comes out slightly ahead in some way or manner. In addition I have the odd requirement of not wanting Windows 7 as my primary operating system. After researching “Zenbook+Linux” and “Zenbook+Ubuntu” it sounds like getting Windows 7 off of the Zenbook and getting Linux running on it is problematic at this point. I’m sure that in 3-6 months Linux will probably outperform and outlast Windows 7 on the device, however now that isn’t the situation.

In other little ways the Macbook Air still has a slightly higher quality also. The power adapter and magnetic connector are less troublesome than most other laptop style power adapter connections. Basically every single thing, once you use it for a while, seems to have a purpose or intent behind the design.

However I will add, that the Asus is of extremely high quality, the absolute highest for a dedicated Windows 7 Laptop. If all somebody wants is a Windows 7 machine with no concern for OS-X or Linux than the Asus is your only real option. The higher resolution almost sent me to get a Asus and is absolutely a big advantage for Win7 on the device. But if you’re still wanting the absolute top tier quality, features, and capabilities for a device that is this elegant and sexy, the Macbook Air is still the prize.

With that, I’m off to determine my purchase options.

South Sound .NET Users Group + AWS, Visual Studio, Toolkits, and Explosions!

If you live in or around the south sound region near Olympia, would like to hear about the AWS Toolkit and SDK for Visual Studio, come and check out the South Sound .NET Users Group on at Olympia Center, 222 Columbia NW, Olympia, Washington.  The meeting will be on January 12th at 7:00pm.

Slides & Links to Code are already available!

Overview:During this presentation I will provide an overview of what is needed to get started using Visual Studio 2010 with the AWS Toolkit & SDK. We’ll also cover the basic design ideas behind the do’s and don’ts of cloud architecture and development. There will be some hands on coding (if you’d like to bring a laptop to follow along) and we will deploy code (pending a wireless/cat5 connection) into AWS Cloud Services & get EC2 instances up and running live!

PaaS Help! Know any PaaS Providers?

I’ve been diligent and started a search of Platform as a Service Providers, so far my list includes:

  • EngineYard
  • Heroku
  • AWS Beanstalk
  • Windows Azure
  • AppFog
  • Tier3
  • CloudFoundry
  • OpenShift
  • IBM PaaS
  • Google App Engine
  • CloudBees

Who else is there? Help me out in creating a list of every possible offering we can find!  Cheers! Please leave a comment or three below with any I’ve missed.  Thanks!

Reality Distortion Field : 17 Companies’ Sitrep

I’m sitting on the bus this morning. As happens almost every day of the week. I’m flipping pages, sort of, it’s an eBook on my Kindle App. I’m reading about Steve Jobs taking over the Macintosh Program at Apple. How things started to fall into place for Apple, for the Macintosh, and how Jobs saw what could be a pushed for it. Everybody else; Microsoft, Xerox, Canon, and practically every single other company was missing it. Xerox Parc had it right in front of them, the GUI, Mouse, Object Oriented Language, and about every single thing we assume for computer use and development today but wasn’t doing anything with it. They were all missing it, except Jobs. The eccentric, crazed, reality distortion field generating Jobs pushed forward and found those that agreed, this was absolutely the future. Today’s computers owe so much to Jobs efforts to pull these people together, to what he saw as the future, and our modern computing world will forever be indebted to Steve Jobs.

Howard Hues had done this 50 years earlier. He simply stated, “nobody wants to fly on a plane at 10k feet and get shaken to pieces, planes need to fly at 30,000 feet or more where the air is smooth!” He then went about working to get a plane built that could do this! The Government was in his way, the industry was fighting him, everybody said this wasn’t the way to go. Nobody could build a plane that would do that right now! It’s absurd. He did it, and bought every single one of them he could putting the airline (TWA) in hock at the same time! But it paid off, and his airline had the nicest planes, best flight in the world, easily. Today’s airlines are all modeled after this ideal, our modern travel owes a huge debt to what Howard Hughes pushed forward.

The competition, the fighting pushed the envelope, but in both cases a visionary could see the future. To them it was plain as an image on a clear sunny day. To them, the future didn’t need to be tomorrow, it was ready right now. The future just needed dragged kicking and screaming directly into today! They did this, they pulled people together who could make these changes, and they with their teams yanked the future right into humanity’s grasp.

Utility Computing / Cloud Computing

With those thoughts flying around at Warp 10 in my mind, everywhere, at every moment it seemed to occur to me. We’re merely putting the motherboards and cassette tape drives together right now in cloud computing. We have no Macintosh of cloud computing, we have no clear direction, there has to be something bigger, much bigger. At this point we’re merely making small steps, slight little strides toward the future. What we need to do is create the future and pull it directly into now!

There could be more though. Some of these things are being put together by individuals at various companies, oriented toward the platform level. There is, somewhere, a growing movement toward that next big shift in the way things are done. The gap between big architectures, big ideas, and launching these things is decreasing by the day – literally!

With these big ideas and big architectures and all the small steps and small pieces the industry is moving in the right direction. We’ve experienced shifts over the years and some more are definitely coming up very soon!

The Playing Field : Sitrep

With these thoughts racing around I felt compelled to look at where the industry stands right now. These are in no particular order, they all provide some type of building blocks for the next big thing, all in some aspect of the industry.

Amazon Web Services : This one should not need explaining. They’re probably the most utilized, nearly the most advanced, robust, price conscious utility storage, compute, and services provider in existence today. They continue to defeat the innovator’s dilemma over and over again, this company, and the departments in the company are hungry, very hungry and they fight the fight to stay in the lead.

Cloudability : This company is about keeping utility/cloud computing costs in check, and knowing where and when you’re pushing the pricing limits among all the various building blocks. There has been more than a few issues with billing, and people blowing through budgets by inadvertently leaving on their 1000 node EC2 instances and Cloudability helps devops keep these types of things under control stopping overages cold!

New Relic : The key to this offering is monitoring of everything, everywhere, all the time. New Relic offers absolutely beautiful charting and information displays around services, compute, storage, and a zillion other metrics among Ruby, PHP, Python, .NET, and about everything else available.

Puppet Labs : Imagine operations, IT, and systems administration all rolled into a single bad ass company’s product efforts. Imagine ways to automate and monitor ritualized machines, get them deployed, all with elegant and extremely powerful tools. Imagine that power now, you’ll know what Puppet Labs provides.

Opscode : The cloud needs management, hard core powerful management. Opscode and their respective chef product does just that. The influence of chef has gone so far as to influence Amazon Web Services (and others) to design their systems automation in a way as to enable chef usage. The devops community around Opscode is growing, the inroads to systems agility they’re making is getting to a point as to even be considered a disruptive market force!

Joyent : The birthplace of node.js, do I need to add more? Well, ok, I will. Joyent has a host of amazing devs, and amazing ops goals. The advances coming out of  Joyent aren’t always associated back to the company (maybe they should be) but rest assured there is some heavy duty research and dev going on over there. Things to check out would be their SmartDataCenter and of course the JoyentCloud.

MongoHQ : Mongo HQ is one of the distributed cloud hosting provider for Mongo DB. Mongo HQ  is also a supported provider in several of the other PaaS Providers such as Heroku and AppHarbor.

MongoLabs : Mongo Labs, another distributed cloud hosting provider for Mongo DB. Mongo Labs is also a supported provider in several of the other PaaS Providers such as Heroku and AppHarbor.

Nodester : Nodester is a hosting solution for node.js applications beautifully distributed in a horizontal way.

Nodejitsu : One of the leading node.js hosting providers and a very active participant in the community in and around New York.

AppFog : AppFog is a Platform as a Service (PaaS Provider) that is working on providing a cloud based horizontally distributed platform for creating applications with a wide variety of frameworks and languages. Some of those include .NET, Ruby on Rails, Java, and many others.

PhpFog: This is the PHP root of the PaaS Provider AppFog. They have a good history and an absolutely spectacular architecture for PHP Applications with a screaming simple and fast deployment model to cloud/utility based systems. They have a really great product.

Heroku : Deploy Ruby, Node.js, Clojure, Java, Python, and Scala. Probably the leader in PaaS based deployment right now. Got git, get Heroku, get push heroku master is about all the gettin’ for your application to be running there.

EngineYard : Think Ruby, Ruby on Rails, Rubinius, or any other aspect of Ruby and you’ll probably arrive at EngineYard in short order. The teams at EngineYard are heavily active in the cloud & Ruby scene. They are easily one of the leaders in PaaS based git workflow deployment in the Ruby & Ruby on Rails Community. They also, however, support tons of other technologies so don’t think they’re limited to just Ruby & Rails.

AppHarbor : The .NET Framework, often thought to be left completely out in the cold when it comes to serious cloud computing git based agile work flows, finally got included with AppHarbor! With the release of AppHarbor the trifecta of IaaS and a solid PaaS offering were finally available for the .NET stack.

Windows Azure : Windows Azure is Microsoft’s official cloud service, which supports a host of capabilities centered around a mostly PaaS based service. Windows Azure has however spread into SaaS and IaaS also. Some of the frameworks and tools they support include Ruby on Rails, Java, PHP, .NET (of course), node.js, Hadoop and others.

CloudFoundry : Cloud Foundry is an open source PaaS Solution that serves to link up various back end and front end architectures. Currently it is supported by a host of companies including VMWare, AppFog, and others.

Putting the Pieces Together

That’s where we stand in the industry today. We have all the pieces and they need fit together to create something great, something awesome, something truly remarkable. I fully intend to create part of the future, will I see you there? I’d hope so!

Why Clean Code Seriously Matters!

The first example is some working code, that determines if a date value is a weekend day and returns true or false based on that.

bool firstSecondNulls = false;
var dayOfWeek = (DateTime) zeros.ElementAtOrDefault(i).BalanceDate;
if (dayOfWeek.DayOfWeek == DayOfWeek.Sunday || dayOfWeek.DayOfWeek == DayOfWeek.Saturday)
    firstSecondNulls = true;
return firstSecondNulls;

This second example also provides the same result, except in a more readable, cleaner, and more efficient way. Matter of fact, I’d say in some circumstances it is exponentially more efficient! Do you see why?

var dayOfWeek = (DateTime) zeros.ElementAtOrDefault(i).BalanceDate;
return dayOfWeek.DayOfWeek == DayOfWeek.Sunday || dayOfWeek.DayOfWeek == DayOfWeek.Saturday;

This is an insanely simple example. But just imagine some of the nightmarish methods and functions, with hundreds of lines of code. Keep in mind, that those nightmares are minimal compared to the Enterprise Scale 1000+ plus line methods! Yes, those exist and they are beyond nightmares but holocausts of thought and design!

So the next time you think “meh, I’ll refactor it later.” just take that extra minute or two and do it now! The pay off, you know full well when you think about it, is massive in the end. Cheers!