(Reader Beware – Oncoming Rant)

With a snowy afternoon and a hot cup of tea I decided to make good use of my time and start a document I’ve put on hold for long enough. In an attempt to open my eyes to more than the Microsoft Office Suite, I started learning/using Pages (Part of the iWork ’08). 

The initial keystrokes were hard enough just to get the thoughts flowing. I was able to get out of the mental rut and put down a few good paragraphs. Unexpectedly Pages crashed. No issue there, it should just restore my document…Right? 

Lets pause there for a moment to note a few things:
1. In the time that I’ve started this blog the automatic autosave in blogger.com has protected my work every minute, autosaving some 15 times.

2. TextEdit, a very basic word processing program has an autosave feature backing up SQL code I was messing with.
3. Time Machine on my MacBook Pro has backed up my system 12 times since the start of today.
In our world of computing backups, redundancy and autosaving, being able to recover has become common-law! So it was in disbelief that I re-opened my Pages file to find that NOTHING was recovered. There wasn’t even an indication that it tried! Thats right…no autosave in Pages!
I won’t drag on with any more rhetoric on the subject. This isn’t a bash on Pages. Just a rant that the simple programmable things in life should never be forgotten. Autosave is one of them!
Command – S

What is JeOS?

Before we begin lets ask ourselves a few questions.

When you just need to listen to music on the radio, do you turn on your Blue-Ray player, TV, and your karaoke machine as well?

When you just need to boil some water on the stove, do you turn your oven on as well and perhaps the 3 other burners along with it?

Right about now you are probably thinking of course not! I agree because of obvious reasons, why would we turn on the other unnecessary devices if we just need the one or two?

JeOS is the abbreviation of “Just Enough Operating System?” or “Just Enough OS”.

Right about now there are hundred of thousands of Windows Servers and few Linux/Unix that in essence have the karaoke machine or the oven on when it just needs to play some classical music.

If I need to setup a print server, why do I need Outlook Express, Windows Media Player, Pinball and a whack load of other not needed services installed by default drinking up precious space and resources that can be needed just spooling print jobs?

JeOS is a stripped down OS that has only the applications and services needed for the function(s) that server was meant for! FANTASTIC!

What does this mean? More space, more available resources, and more reliability for the server to do what it was intended for.

Tailoring your OS allows more available connections for processes required to the specific application or service you want to run. It becomes more reliable, secure, easier to manage and performs better then an all purpose OS.

For some Linux/UNIX experts this is not new to them as they have been customizing there servers for each task it was intended to perform. For the rest of us not so crafty in that area of OS building or have limited time on packaging and compiling there own, this is a perfect solution to getting that goal accomplished.

Almost all Linux and Unix Distributions have already created there own JeOS version.

Perhaps Microsoft can follow along with this fast growing common sense way of changing the way our OS serves the tasks we want it to do in the small-enterprise level business.

“If you don’t measure it, you can’t manage it!”

All too often we encounter small business clients who feel their IT infrastructure is operating just fine. When asked, “how is your IT infrastructure working”, they roll their eyes to the sky and think back to their personal computing issues over the past week. The answer is often, “things are okay…I guess”.
Then it happens…
“My computer crashed!” 
“Are you able to get e-mail?”
“I can’t print, can you print?”
“Why is the internet so slow?”
“My home computer is faster than this.”
With almost inborn instinct the victims hit the power button and pray for normalcy. If the situation is not resolved with a reset and the frustration level is high enough, a call for support is made. Since these issues typically happen sporadically they are often swept under the mental rug.
But lets examine this with business basics – Time Is Money! If we chalk down the lost time of the underrated comments above into dollars, the loss would be startling. This is where a small business owner with limited IT support needs insight into their infrastructure with simple “Key Metrics”.
Key Metric 1: “How many times a week, month or quarter have I experienced an outage, failure or issue?”
Key Metric 2: “How long was each outage, failure or issue?”
Key Metric 3: “How much did this on average cost me in dollars and cents?
The metrics are no more complicated than 5th grade math class, but pack the same power as E=mc
If the financial loss because of the issues approaches 40% (for arguments sake) of the cost of the hardware, software, or service being used its time to take action. Setting aside a little effort measuring IT outages (among other things) can save a bundle. A small business owner can use the information to target potential system failure, plan for hardware upgrades and more important have peace of mind.

Most IT professionals have used some kind of virtualization software on there personal computers because they see the benefit of having a single point and click access to there secondary O/S. This is very convenient. The hardware available today is more powerful and flexable then before. Having 2-8 cores on a single processor with GB-TB’s or memory is the norm these days and purchasing another server to do the same tasks you did on 4 single pizza boxes, blades or towers with a single core almost can be a waste of resources on money.

Let us see how in various ways virtualization can be a benefit to the IT field.

- Development / Labs
- Consolidation
- Resources
- Single Point Management
- Disaster Recovery

Development / Labs:

Almost all medium to large sized businesses serious about there company’s infrastructure have a complete hardware mirror of there production environment for there testing and development needs. Replicating your exact production environment equipment and software does mitigate future migration for software and hardware upgrades or changes, but comes at a cost. Some companies abandon that idea for that reason, only to rely and risky live or scheduled times to make changes to there current production environment.

A Virtual lab can lessen the pain for both the IT staff responsible for the changes, and gives the same peace of mind when new projects need to be implemented as you do with a real replication of your environment. With a virtual lab you cut the needed servers in half or more depending on the hardware available and what you plan on using them for.


Almost every company has a few common services they require i.e. print server, active directory or user authentication server, licensing server or a backup server to name a few. These are services that can be shared on a few single hosts. Instead of having 4 dedicated servers for each service, you now have 2 or maybe 1 doing all these tasks at once!

Some may ask, wait a second here wouldn’t that be pushing it?

Yesterday we had single core dual socket possibly quad socket boards were the choice for your high end processing needs.

Today for the same price you paid for that high end server you get up to eight sockets with quad core processors! That is the equivalent of 6 additional servers in one. What does that mean? Less power consumption, more room for growth, maximized server resources and less required cables when running up to 6 servers or more (virtual appliances) on a single server vs. 6 dedicated servers!

Resource Savings

How much does it cost to keep the power flowing to all your servers 24 hours a day 7 days a week 365 days a year?

For every server that is removed from the data center, approximately 12.5 tones of CO2 emissions are saved industry estimate. To offset the 12.5 tones of CO2 you would need to plant 55 Native trees each year if you plan on keeping that server. If you have 1000 servers, 12,500 tones of CO2… you need to plant 55,000 trees a year to offset it. If you virtualized 1000 servers over 3 years you don’t need to plant 55,000 trees.

Single Point Management

Every IT professional has some type of tool for managing there hardware whether web based or application based. There are also hundreds of them out there that do the job quite well. Do you want to juggle between the various types of management software or just a single one?

Vmware has a standard console that manages all your virtual appliances with a single click. From here you can reboot, modify or add system requirements as necessary without interfering with the other appliances.

Disaster Recovery

All virtual appliances are fully customizable to suit your requirements. Each initial appliance you create can be a single dynamic large file or multiple spanned files that can be backed up or run on any vmware server for rapid deployment and recovery. In the event of a server failure or major disaster most likely the “Dell beefy R2-D2 series” you purchased 5 years ago is discontinued, you will be forced to re-build from scratch on a new server. This can be costly and time consuming. Instead you install your vmware server in 10 minutes or less just copy you’re backed up appliance and your back in business. No need to install Microsoft Windows Server, drivers, updates which can take up to most of the day!


There are many benefits and case studies on using vmware on your servers. Just search in google.ca. I myself have and is enough for me to start finding areas to consolidate our servers for the future. This solution is a must to investigate into and see how it can benefit your environment. The savings are huge not only on the company’s pocket but the environment as well!

On January 30, 2007, Microsoft released Vista to the general public, with the hopes that every computer on the market would run the “enhanced” OS. The one year anniversary has come and gone without much (positive) fanfare. Ironically, some of the features deemed enhancements are the very ones that seem to drum up the most criticism: Security, Graphical Display, Memory Usage.

Now, if you were to ask me, I’m lukewarm-leaning-toward-cold on Vista. About the only thing that’s “cool” to me anymore is the breadcrumb navigation in Windows Explorer. Yeah, I used the Sidebar for a while, with a “gadget” that showed how my system was performing. Yeah, I was all geeked out over “Windows Flip 3D” and all the other slick Aero features. But being a software developer who actually knows what he wants to install, modify, delete, I immediately turned off UAC! Sure, Vista warns me that it’s turned off every time Windows Explorer restarts (which reminds, me I’m about two warnings away from turning off warnings!!!!!!) but I’ve learned to live with it….sort of. I agree with what’s written in this article: http://www.pcmag.com/article2/0,2817,2254104,00.asp

For the record I have a Dell Inspiron e1505, 2.0 Dual-Core processor, mid-range graphics card, 2gb RAM with Vista Ultimate –$949 in the Dell outlet early last year. My wife has a $300 Acer with a Celeron processor, 512MB RAM and Vista Basic. (Don’t judge me! We bought my wife’s laptop right before the parents sent their kids of to college. She only needs it for Napster and email….seriously!) Do I even have to describe the pain of using her laptop? Do I even have to say that every forum recommended “downgrading” her laptop to Windows XP? But think about it: of the people buying $300-500 laptops, how many of them are thinking about how well it will perform vs. XP? My wife’s a brilliant women in her own right, but she’d never think to search online in a forum for instructions on wiping out her laptop and resinstalling drivers, software, etc!

I’m sure most people are merely satisfied with whatever they are given. They probably have the “so-long-as-I-can-still-do-x” mentality. But people on the fringes — the tech savvy on one end and the tech newbies on the other — are going to be frustrated with the standard OS offering. So who is Micro$oft going to please: 80% of the users in the middle, or the 10% on either end? We’ll wait for the answer. Until then, (un)happy anniversary, MS Vista! Thanks for the memor…uhm…thanks for…nothing.

Who would think that unlocked iphones would be such an issue to Apple? Don’t other companies deal with unlocked phones and get over it?

When 1 million are “missing in action” according to  the Reuters.com article “Quarter of Apple iPhones “unlocked”: Analyst” anyone would take notice. Being an iPhone user (one of the best company policies we’ve enforced so far) I’m pretty glad that I have a “virgin” phone.

The reason I’m so glad for having a virgin phone is that Apple is going to have to make some interesting decisions concerning the future of the iphone. Those decisions I feel will make it harder to have the iphone on any other network unless Apple says so. Here is the conversation that pSw (fellow blogger and LightCube Solution Associate) and I were having on the issue. I’ve decided to take it to the blog so that others can chime in.

Conversation to date:

pSw: Should Apple [if they could] block all those phones that are missing? 

Let’s loosely define “block” as jailing the phone so badly that the iphone elite team, Installer.app team, geohot and others would have no other recourse but to raise the white flag. (I personally think someone will always have the ability to jailbreak the phone but thats another blog entirely)

fhagard: It’s amazing that they could sell so many phones yet suffer financially because of it.

pSw: The loss will only be for AT&T if that were to happen. 

fhagard: Apple would also lose on the deal because they make their money on the AT&T activation of the phone and not the phone sale alone. As stated in the article: 

“If Apple cracks down on unlocked phones it could preserve its high margins but miss its sales target, whereas allowing them could erode profitability and make it tough to sign more carriers to similar revenue-sharing deals.”

pSw: Sign other carriers! Unlock the phones, or make a version for each carrier…that strategy cuts into profit margins on the phones themselves. But the returns are better in the long-term.

fhagard: Apple is all about the immediate returns for the hardware traditionally. If they focus on long-term returns they will never please their investors because they are coming out with something bigger in the next Macworld.

pSw: The problem with that is they already make a tidy profit from all their other hardware sales. If Apple were more like, say, Research-In-Motion, then that focus would make more sense. RIM makes the functionality possible; Qualcomm makes the phones. Their joint venture remains profitable only by making multiple versions of the same phone(s) for different carriers. Who’s to say that Apple can’t adapt to this and become bigger than Motorola, Samsung, and LG combined?

In response to pSw’s last comment I feel that Apple wont adapt to become bigger than Motorola and the rest. Why should they focus on making several different phones for different users/wireless companies when they can make THE best phone? They have always defined their game by being separate from the pack. They keep it simple and separate making the statement, ‘we play well in the sandbox when we own the sand’.

So in the long run I’m very glad for my AT&T branded iphone playing in the sandbox the way Apple wants. More power to the dev teams who are able to unlock the phone, but I think the battle is on.

Thoughts Anyone?

No blog of mine would be complete without a reference of some sort to Linux From Scratch. If you’ve never heard of it before, Linux From Scratch (LFS) is an online community that produces a book containing instructions on how to create your own complete, functioning and customized Linux system by hand. As you follow the instructions in the book, you compile all the software from source code and manually create nearly every configuration file within your system.

Apart from creating a lightweight, reasonably secure, custom system and the pride of knowing that you made it all happen, as you go through the book you also get a good picture of what makes a Linux system tick.

Personally, because of the LFS project, my abilities in shell scripting and the Unix command line increased dramatically. This, in turn, led to my being able to contribute back to the project. I initiated the LFS LiveCD subproject, created and introduced to the community a program called jhalfs that automates the LFS building process (it has since been revised by a few talented individuals), and even helped develop the actual LFS book (a copy with some personal changes lives here). It was a fun ride.

LFS continues to receive good reviews as there appears to be many who enjoy the experience of customizing completely their own personal Linux system. Here’s a recent article that contains a fairly thorough review. The section on LFS begins on page 3.

John F. Kennedy High School is located in the Southwestern part of the Bronx, right on the border of Manhattan. Within the past two years, it has seen tremendous growth in the way it makes use of technology as an education tool. To a very large degree, the man behind that growth is Ali Shama. His vision has been driving many of the wonderful things happening at Kennedy recently.

In 2006, Ali brought me in to help implement and maintain the network services he needed in order to achieve his vision. Together, we installed four Apple labs consisting of around 34 iMacs each and an Xserve to handle default settings for those workstations. We then tied them into our existing Windows domain, allowing students access to the same network files and folders they would have when logging into a Windows workstation. We also set up at least 4 PC labs with 34 stations each and configured several network based applications, such as Rosetta Stone, Plato and Microsoft Student for use in those labs.
The impact this work has had on the school has been tremendous.  Students are learning to create, with very professional tools and in a very professional setting, digital video, audio and print. There more details about this in a great write-up Ali received in the New York Daily News.
What has been done at Kennedy, especially in connection with Apple hardware and services, is an example of what LightCube Solutions is offering.  In fact, I believe the work at Kennedy will serve as a springboard for future LightCube work. Thank you, Ali, for the great privilege I have had in working with you. 
In my first post (Light it up!), I mentioned that LightCube Solutions has an opportunity to pioneer an open source courseware application. Here are a few more details:
In a nutshell, the idea is to create a web application (at the moment it is powered by PHP and MySQL) that allows High School students to study content on their school’s intranet. Teachers will have access to add/create content and publish tests. When the students take the test, their scores are recorded in their profile. Teachers and other administrators can monitor their progress, scores, course history and so on. We want to keep it open source to allow a wider scope of input and collaboration.

Currently, the project is being organized here: http://www.lightcubesolutions.com/ScribbleAppTrac/
And a demo of the current code is here: http://www.lightcubesolutions.com/ScribbleApp/
The name of the project is likely to change, so stay tuned for more info.

All you want to do is write some code, and somehow remain profitable. Well, maybe that’s not all you want to do. If you have one, you might be interested in fulfilling your client’s needs, while not going on any “death marches” in the process. You probably want to work on features that excite you with technology you want to use. You might want some flexibility on deadlines in response to unexpected problems. Ok. Great! Now, choose your flavor of methodolgy: Agile, XP, RAD, TDD, Waterfall, RUP, SCRUM…should I go on? Which do you choose? How do you know what will work best for you and your needs? When in doubt, do what everyone else is doing!

Agile with SCRUM is certainly en vogue. The values of Agile development are captured by the Agile Manifesto: http://agilemanifesto.org/ (also see: http://agilemanifesto.org/principles.html) SCRUM is a way of managing the work and communicating status. The two combined certainly make for an effective set of tools and guidelines to make everyone happy. But the first thing you learn about SCRUM (or the first thing I learned anyway) is: SCRUM is common sense! Meaning, if you have bad developers, or good developers with bad practices, SCRUM/Agile won’t help you; firing the developers will! See, common sense at it’s finest.

But seriously. One of the advantages of Agile with SCRUM is that work is clearly exposed as knowledge changes. For example, say you agree to deliver the user administration widget in 4 weeks. But as the days pass, you complete work, but new features are discussed. You can choose with the stakeholders what to do with those features: do we try to squeeze all of them in, or can we release the most essential ones first and then the others as enhancements later? Developers get to talk to stakeholders without all that messy project management stuff getting in the way. Of course, there’s a Product Owner (Team) and a ScrumMaster. But their roles are mainly about helping the developers work on the most important features without any impediments.

I’ve worked with Waterfall, Spiral, a little RUP, and now Agile with SCRUM. I love it! It’s lightweight, it’s simple, it allows for quick response to unexpected issues. I’ll be posting more on this topic as my experience as a ScrumMaster increases.