CM or Die

For the IT professional, Configuration Management is probably one of the most despised yet one of the most important functions of the job.  Performing configuration management tasks is only a shade more interesting than watching paint dry.  Forms, paperwork, documentation – tedious and laborious tasks by any individual’s definition.  Most professionals I know would rather have their toenails ripped out.  However, a solid configuration management program pays significant dividends.

Before jumping into the benefits, let’s start with the basics.  What is configuration management?  Technically speaking, configuration management is an engineering process used to ensure that a system’s attributes remain consistent with operational requirements.  In other words, it’s the process we use to make sure that changes don’t break anything.

Believe it or not, most complex systems are not just thrown together; these systems are designed to satisfy a specific purpose.  However, nothing is this life is static.  Hardware parts become discontinued, new software versions are released, and operational needs evolve.  All these changes could significantly impact the ability of the original system to perform its function.  Hence, the need for configuration management is very real. 

How does this relate to the world if information technology?  Well, I’m sure that most of us have unboxed a new computer and deployed it to a user.  We’ve taken care to set all the correct policies.  Every application is installed according to the checklist.  The new computer runs without a flaw.  The user logs on and expresses amazement on how fast their new machine runs.  We’ve attained hero status in their eyes.  Life is good.

Then a week goes by, and we get a call from our new best friend, except they aren’t happy now.  The brand new desktop that we delivered last week runs dog slow.  The user demands to know why we would give them that piece of trash.  Fix it or else!

We take the computer back to the shop.  It only takes about two minutes to discover the problem – a combination of adware and an unauthorized VM successfully suck up all the resources.  Mystery solved.

Of course, this is just an example.  In the enterprise world, software restriction policies would prevent the installation of new applications, and no respectable IT professional would ever provide local admin privileges to a user.  The consumer market is a little more troublesome, but the moral of the story remains valid:  Bad configuration management inevitably leads to poor and unpredictable system performance.

Perhaps more seriously, system security demands proper configuration management.  The system design specifies component configurations that guard against unauthorized access.  A configuration management process requires a review of system changes before installation to avoid creating vulnerabilities.  In addition, a configuration audit procedure periodically verifies that devices are configured correctly for security and do not provide a path for access.

All this said, one truth still remains – performing configuration management tasks are incredibly boring.  I’m sorry, but I have no solution to that.  All I can say is that your users greatly appreciate your efforts to provide a stable and secure environment.

@gregory_a_baker

Take a Note

Stop for a minute.  Close your eyes, and think of something.  A person.  A place.  A dream.  Visualize it, and see it so clearly that you believe it’s real.  Now take out a pen and a sheet of paper, and write it down.

There’s something special about writing down your thoughts.  Thoughts are fleeting, disappearing as quickly as they occur.  Putting your thoughts on paper allows you capture a moment of clarity, adding permanency to a brief instant of understanding.

Every weekend morning, I devote a few minutes to transcribing my thoughts.  Whether it’s about work, about dreams, or just something I make up, it doesn’t matter.  Morning is my most creative time, and weekend mornings are especially quiet.  Only then do I have a chance to put thoughts clearly on paper.

Why go through all the trouble of writing stuff down?  For me, it’s to get them out of my head.  Once something is on paper, you don’t have to remember it anymore.  In all honesty, once I write something down, I typically don’t remember it anymore.  And why should I?  It’s written down.

With all that junk out of my mind, I can think more clearly.  Every single day, we are deluged with an enormous amount of information.  And let’s be honest, most of these audio and visual sound bites are complete rubbish.  Even so, each of these nuggets sticks in your head, even if just for a little bit.  Without some way to filter the junk and purge the trash, how would anyone know what he or she truly believes and understands?

Writing stuff down is very helpful when organizing thoughts.  In order to effectively communicate, you have to be able to explain ideas.  The best communicators bring clarity to complex subjects.  These expert communicators don’t necessarily have superhuman intelligence or intuition.  But they have learned how to explain these ideas to their toughest critics – themselves.  How do they do it?  The best method I’ve found is in writing.

If you can’t write down an idea, you probably don’t understand it, and you certainly can’t explain it.  Documenting a concept will quickly expose any gaps in your comprehension.  If you truly get it, the writing won’t be a problem.  If you don’t, you’ll find yourself writing and rewriting the same sentence over and over.

Writing and documenting are not skills just for the literary minded folks.  The inability to write stuff down significantly impacts technical tasks and engineering.  The most common mistake I observe amongst the technology crowd is the failure to document a design before implementation.  Too many folks take the “Build it now, ask questions later” approach.

Here’s a challenge to all my IT friends:  Start documenting your projects before implementation.  Take the time to confirm your end result before you begin.  I guarantee that you will immediately observe an improvement in your efficiency and a reduction of your defect counts.

When you sum it all up, I guess what I’m trying to say is that a simple act of creativity helps us to become better people.  Writing requires us to focus our thoughts and provides clarity to our motivations.  Our written words establish boundaries and ensure each of us live with a purpose.  Do you have goals for your life?  Do you know what you want to accomplish?  Do you have a bucket list?  Any long journey is much easier if you have a map to your destination.

Do you have yours?

@gregory_a_baker

For Profit

Currently in America, it is very fashionable to speak negatively of the private sector.  The conventional wisdom proclaims that all corporations are rooted in greed and are run by selfish individuals.  Private sector opponents argue that profits are evil and penalize hard working Americans.  These individuals also state that no matter the form, capitalism ultimately ends in discrimination and unfairness.

If you subscribe to these views, you should probably stop reading right now.  In all likelihood, I’m going to say something might make you uncomfortable, or possibly even cause you emotional distress.

(Pause before continuing…3…2…1…)

Still reading?  Well, OK.  You’ve been warned.

While in graduate school, I took a course that covered (as part of its objectives) the different facets of growing the space industry.  Launch vehicle design, satellite communications, and yes, even missions to Mars were all considered crucial to a sustainable space program.  While we discussed a number of options, they all had one glaring similarity – every approach depended on significant government funding, either through the military or NASA.

The professor asked us to put together a presentation on how we would structure a sustainable space program.  By and large, each class member dutifully regurgitated the party line.  When my turn came, like an idiot, I said what I actually believed.  I forget the exact words, but it went something like this…

The key to creating a sustainable space program is to drive down the cost of space flight.  Since government-funded enterprises possess no inherent mechanism to reduce costs, a sustainable space program must develop organically in the private sector.  Only the private sector contains the negative cost drivers needed to make space flight affordable for all.

Needless to say, my talk suffered the same fate as the comet Shoemaker-Levy – torn apart and swallowed by a massive gravitational force.  As I drowned my sorrows at the Posse later that evening, I couldn’t get 7 of 9’s voice out of my head, “Resistance is futile.  You will be assimilated.”

Never one to believe that I could be wrong, I’ve watched the growth of the private space industry with keen interest.  As the Shuttle program was winding down, entrepreneurs (funded by Silicon Valley profits) began exploring the opportunities created as NASA pulled back.  Scaled Composites and SpaceX are perhaps the most successful of those efforts, each successfully developing launch vehicle technology as part of a for-profit enterprise.

The Google Lunar X Prize was created in 2007 specifically for the purpose of inspiring private investment in space technology.  The competition offers $20 million to the first privately funded team to land a robot on the Moon that successfully travels 500 meters and transmits back high-definition images and video.  Of the 31 original participants, sixteen remain in the competition, and two have secured a launch contract for next year.

Moon Express is one of those teams scheduled to launch next year.  Given all the technical complexity involved with sending a robot to the moon, this past week Moon Express perhaps overcame one of its most difficult challenges.  The FAA appears ready to provide regulatory approval for the world’s first private space mission to go beyond Earth’s orbit.

(If you though the regulations for drones were bad, I can’t even imagine the amount of red tape involved with a Moon mission.)

Moon Express is scheduled to launch in the second half of 2017.  If successful, this mission will provide another example of what private enterprise can and will accomplish.  It’s still too early to say that private investment will save the space industry, but at least it’s a nudge in the right direction.

@gregory_a_baker

Bugs Do Not Come From Computers

This past Memorial Day holiday, thousands of travelers were stranded in New York due to a reported “computer glitch.”  This “computer glitch” apparently started with a “crashed” server that brought down the entire check-in system.  To keep everything from coming to a complete stop, airline agents performed manual check-ins using paper tickets.  Eventually, computer operations were restored, but long delays persisted through the remainder of the holiday.

Is it just me, or are you not greatly offended that this entire fiasco was blamed on a computer?

Of course, this isn’t the first time that some sort of disaster was blamed on a computer.  The massive power outage that blacked-out the east coast in 2003 is blamed on a computer error.  The loss of the Mars Climate Orbiter in 1999 is attributed to a computer data issue.  A faulty network card took the fall for the failure of a U.S. Customs system in 2007 that caused over 17,000 flights to be grounded.  In 2012, the responsibility for a Fourth of July fireworks fail in San Diego ultimately fell to a glitch “deep inside the software”.

I think that most people view computers as these mysterious black boxes that seem to do stuff.  I’m fairly certain that most people don’t really know how they work.  They just blindly go along, tap, tap, tap on the screen, and presto!  Instantly delivered is the latest celebrity snapchat or the most recent update from theprepperjournal.com.  So when computers don’t provide the desired result, it’s easy to point fingers.  And since computers won’t fight back (they are inanimate objects after all), the computer becomes an easy scapegoat.

It’s time for someone to stand up for the computers.  It’s time for the people to know the truth.  I know that the truth might be hard for some of you to absorb, but you need to know.

It’s not the computer’s fault.

First of all, think of what that computer had to endure just to become part of our daily lives.  Every computer started out as a bucket of components in some far away land.  These components were soldered and glued together, transformed into something completely different.  And instead of being given the chance to explore their new individuality, they were wrapped in plastic, trapped in a box and shipped around the world.  Whether they end up in Lenox Mall or an Augusta Wal-Mart, only fate can decide.

Secondly, a computer cannot perform any task on its own.  Since the invention of the ENIAC, modern day computers only do what we tell them to do.  A computer without programming can only transform electricity into heat.  A computer with a program can only execute that program.  And here’s the part that vindicates the computer…no matter how many times that program is executed, that program will always run EXACTLY AS WRITTEN.

So finally, we have to ask, “Where do computer programs originate?”  The answer is clear: software developers.  Nerdy, personality-deficient, but horribly well-paid, software developers.  And interestingly enough, the software developers are generally the first ones to pass the blame to the computer.  If you walk into any software development shop in the world, and you will hear the terms “bug” and “software defect” thrown around like candy.

My friends, if software is defective, it’s only due to the workmanship.  Here’s a better term – “COID”.  It stands for “Coding error introduced by the developer.”

OK, I know that I’m being pretty tough on all the developers out there, but I have a purpose in doing so.  Software developers have an opportunity in their profession that very few others possess.  Developers get to answer the question, “If you can have it any way you want it, how would you have it?”  Every new algorithm begins with a blank sheet of paper.  No matter how you spin it, if an application is hard to use or impossible to maintain, a software developer created it that way.

Bad software design is a choice.  Please stop making bad choices.

@gregory_a_baker

 

NOT A Disaster

It is a perfectly good Monday morning.  The kids are off to school without drama (mostly), and I arrive at the office a few minutes early.  The entire team is all smiles.  Why wouldn’t they be?  Someone brought donuts.  Yes, indeed.  The week is starting off pretty good.

Until…

I just sat down to continue working on a project that has kept me occupied for the past few months when I heard an explosion in the distance.  Within a few seconds, all the power in the building was off.  Completely dead.  Nothing.  As many of you are aware, stable electric power greatly enhances ones ability to operate computer equipment.  The sudden lack of power tends to cause problems, turning an otherwise great morning into something with the potential of going very bad.

But not in this case.  Within a few seconds, the vibrations of the backup generators pulsed throughout the building.  A few quick checks of the monitors and a visual inspection of the NOC indicated that all was well.  Disaster averted.

Of course, our response didn’t happen by accident.  We spend many man-hours developing and implementing our disaster recovery plan to protect ourselves against this type of situation.  And while we always hope for the best, we all know that eventually something bad will happen.

Most folks don’t need a plan sophisticated enough to handle a hosting operation, but everyone needs a DR plan of some type.  And while you can spend hours obsessing over probability of occurrence and severity of impact calculations, a good DR plan is constructed around two very simple questions: what data will you need, and how quickly will you need it?

The first question is the easiest.  It’s a straightforward exercise to determine what data (or applications) you need.  Most people already know.  If you need a guideline, try this.  Imagine that you just erased a bunch of data to make room for a new compilation of epic fail videos.  Now, picture your spouse/boss asking you to print something from the data you just erased.  How to envision that conversation going?  There’s your answer.

The how-quickly-will-you-need-it question is trickier.  Perhaps a better way to ask this question is, “How bad do you want it?”  In general, a correlation exists between recovery time and expense – the faster you want it, the more you’re going to have to pay.  If you can live without the data for a few days or a week, the $10 per month backup solution may be fine.  If you need 5-9s, 24x7x365 access, be prepared to open up your checkbook.

The cloud provides numerous options for disaster recovery, many of which did not exist a few years ago.  Many businesses, and certainly most home users, cannot afford to develop their own data centers.  Moving data and applications to a resource that can realize the economies of scale that come from a shared infrastructure is a very smart move.

The cloud, however, does not solve all problems.  This is best illustrated with a simple question – What if you can’t get to the Internet?  While the data may be safe, your staff of office workers is sitting idle.  Or worse…your grandmama can’t see her pictures.

The bottom line is that disaster recovery is not a one-time event with a one-time solution.  Preparation is a continuing process, gaining from the insight of each new experience.  Like all critical response, disaster recovery should be choreographed and rehearsed.  Otherwise, you’ll be left without a donut the next time the lights go out.

@gregory_a_baker

This Week in Tek

Tesla Scores Again – Have you read any of the reviews for the new Tesla Model X?  It’s the latest entry in Tesla’s line of 100% electric vehicles.  The Model X is officially listed as an SUV with seating for up to 7 adults.  However, this car contains a few non-SUV like features.  For example, this electric beast has 762 horsepower and can move from 0-60 mph in 3.2 seconds.  (Are you kidding me?)  Keep in mind that at 5,300 lbs., the Model X is roughly the same mass as an Imperial AT-ST, so we’re talking about an engine equivalent to Anakin’s pod racer.  

As impressive as that sounds, the real beauty of this car lies within its electronics.  When equipped with the Tesla’s Autopilot package, the Model X performs a number of automatic and driver assist functionality.   The Model X is not the fully autonomous system we all want.   The driver must stay awake and alert.  However, under good driving conditions the Model X will happily take over steering as you watch and (eventually) relax.  Very cool.

The Model X has one big downside…well, two downsides if you consider the price.  I have not read a single positive review of the rear doors, a.k.a., the Falcon wings.  The rear door swing up to open, a la Doc Brown’s DeLorean.  Most reviewers think they are completely impractical and not suitable for everyday use.  Well, duh.  If practicality is your primary concern, you’re probably should not be looking to spend $100K+ for an SUV that can keep pace with a Ferrari Enzo, should you?

Note:  Tesla’s closest supercharging station is over 100 miles away, so it’s unlikely we’ll see Tesla’s in Augusta anytime soon.  (insert sad face here)

Bloodline – Leading up to Star Wars: The Force Awakens, Lucasfilms released a series of novels to fill the gaps between the original trilogy and The Force Awakens.  Of these novels, Claudia Gray’s Lost Stars emerged as a clear fan favorite.  This story of two childhood friends growing up on a planet under Empire control puts a heart-warming, human face on the Empire, and more importantly, explains why Star Destroyers liter the landscape of Jakku.

Claudia Gray’s new and highly anticipated Star Wars novel, Bloodline, is now released.  The story takes place six years prior to The Force Awakens and centers on Princess Leia Organa.  Essentially, Bloodline provides the backstory for all the major questions in The Force Awakens.  Why doesn’t Leia trust the New Republic?  What is the First Order?  How did the Resistance begin?

Bloodline provides all the answers and adds a new dimension to The Force Awakens as you watch the DVD  for the 14th time.  We still have several months before Rogue One is released, so go download Bloodline now.  Really, what do you have to lose?

In Case Your Forgot Mother’s Day – Do you remember the first digital picture frame you purchased?  I bought my wife one about 10 years ago.  We thought it was such a great idea!  At the time we only had a few thousand pictures, and the digital frame seemed like a great way to move those pictures from the computer to the living room.  We spent an entire Friday evening selecting the 20 or so best pictures to display.  It was a lovely, newlywed-like experience journeying through the memories of our early relationship and the birth of our children.  We talked about how we would update the pictures regularly as our life together continued to evolve.

Ten years later, those same pictures still rotate through that same digital frame, sitting in an unused room in the attic.  While a great idea, the digital picture frame suffers a single fatal flaw.  Updating images via USB is highly susceptible to fail.

Nixplay’s Seed Wi-Fi Digital Photo Frame may be the affordable solution to the picture frame fail.  Instead of transferring pictures via USB or other media, Nixplay provides a mobile app that transfers pictures directly to the frame over Wi-Fi.  Multiple frames can be fully managed from the Nixplay web apps, and up to 1000 pictures can be presented on a frame at any one time.

We bought one for my Grandmother for Mother’s Day.  We thought this would be a nice alternative to downloading pictures from the iPad.  The Nixplay turns out to be a very nice system.  With a sub-$150 price tag, this is a present that all Moms would love.

But since Father’s Day is up next, get one for Dad.  He’ll like it, too.

@gregory_a_baker

Living at 3%

A few weeks ago, I had the pleasure to see Cirque de Soleil in Atlanta.  The show is spectacular!  If you don’t have plans to see it, you are missing an opportunity.  The show runs through May 8th.  If you can get tickets for this weekend, go see it!  You’ll love it!

But this column isn’t about Cirque.  It’s about the trip to Atlanta.

Specifically, a common scenario plays out on a regular basis.  I suspect that many individuals and families experience something similar.  Basically, it goes something like this – After getting into the car, one or both of my daughters hand us their phone while saying,

“Mommy, please plug in my phone.  I’m at 3%.”

Several questions occur to me when I hear this request; foremost among them is “How?”  We are 10 years into the age of mobile devices.  By now, I would think that everyone understands that these devices run on batteries, and that to work effectively, the batteries need to be charged.  Common sense would imply that if you want to use your phone on a 2-hour car ride, maybe you should start with a fully charged device, yes?

Apparently, though, many folks prefer to live on edge.

OK, granted.  This isn’t really a fair scenario.   The car is a well-known power oasis.  However, this doesn’t negate the fact that many folks still haven’t learned to manage their battery life.  Just ask yourself, how many times to you have to plug in every day to stay charged?  If it’s more than none, you either need to lay off Facebook or take a look at some common battery saving techniques.

Stay Cool – Battery capacities decreases as the temperature rises above 72 degrees, and exposing batteries to temperatures greater than 95 degrees may cause permanent damage.  While an inconvenient truth for us Southerners, heat damage to batteries is a fact that we must acknowledge.  Keep your phone cool!

Don’t Push Me – Have you noticed that every app wants to send you notifications?  Why?  If something is really important, someone will call.  Everything else is a distraction.  A distraction that lights up the screen, vibrates the phone or makes an electronic beep.  Why waste your valuable battery on annoyances?  Turn off all push notifications.  If a notification is truly needed, use fetch.

Save Your Screen– The largest power drain on most phones is the display.  A few techniques exist to reduce the display power usage.  If you are on an Android with an AMOLED display, use dark wallpaper.  The AMOLED technology uses less power to illuminate a dark pixel than a light one.  And all mobile device users should reduce their screen brightness.  A bright screen requires more power and will quickly drain the battery.

Track Location Services – Location services is another power sucking feature used by app developers.  Every time an app reaches out for your location, additional power is used.  While it’s nice to have your pictures tagged with location, not every app needs your location.  Only enable Location Services for those apps with benefit you.

Know Your Wi-Fi – Personally, my largest power issues occur when I forget to turn off Wi-Fi.  This is counter to most advice, since in general, Wi-Fi consumes less power than cellular.  In my case, I’m often in environments with unknown networks, and I find that my phone uses more power trying to connect to those unknown hot spots.   Since I’m not a big data user, I can simply leave my Wi-Fi turned off.  Device manufactures will suggest using Airplane mode.  Either way, you should be aware of your radio environment and connect accordingly.

I’ve found that by implementing these techniques I am able to go almost 2 days on a single charge!  Of course, your results may be different, but I hope that you can increase the amount of time you go between charges.  Good luck!

@gregory_a_baker

Making Progress

It seems that every Monday afternoon when I sit down to write this column, Microsoft Updater tells me that a patch for Microsoft Word is available.  So every Monday afternoon, I dutifully download and install an update to Word.  A thought occurred to me as I sat and waited the three or four minutes it takes for the update to complete.

I’ve probably spent more than half my time in front of a computer just sitting and watching progress bars.

All you DIY computer gurus know exactly what I’m talking about.  Every time you download applications from the Internet, what do you see?  A progress bar.  Every time you have to apply software updates, what do you get to watch?  A progress bar.  Do you need to reboot your system for some reason?  Guess what, another progress bar.

Of course, the intention of the progress bar is noble.  Most of what a computer does is not visible to the user.  The progress bar is how the computer says, “Hey, be patient!  I’m working on it!”  And back in the early days, we were glad see it.  As a matter of fact, we designed our own progress bars to show off.  Well, we never admitted that – the intent was to always “ensure optimal program performance.”  However, the program always seemed to run better when integrated with a cool progress bar.

The classical progress bar possesses a couple of flaws, however.  The standard left-to-right rectangle fill assumes that a process will run from beginning to end 1) at a reasonably constant pace, and 2) without error.  In reality, poor software design, bad data and click-happy users tend to invalidate these assumptions.  The resulting condition consistently ranks in the top three of the most frustrating computer issues – a stuck progress bar.

Software designers utilize several techniques to mitigate the occurrence of stuck progress bars.  For example, the rectangular progress bar can be changed from “fill” to “bounce.”  Instead of displaying progress from 0 to 100%, the bounce bar simply restarts in the reverse direction and repeats until the process completed.  While the users won’t have any idea when the process completes, at least they believe the process is running.

Designers also use other forms to display progress.  First popularized in the early-1990’s with the Mosaic browser, variants of the spinning icon are now ubiquitous.  While more graceful than the angular progress bar, the spinner still only displays activity.  While useful, a hung application forces the user to helplessly endure the endless rotations of the spinning wheel of death.

Interestingly, the behavior of the progress bar influences the user’s perception of application performance.  A faster spinning indicator makes the application seem its running faster.  A progress bar that accelerates toward completion gives the indication of accelerating performance.  A progress bar that “empties to the left” feels faster than one that “fills to the right.”

Designers have spent a great deal of effort to make applications seem fast.  Wouldn’t it be interesting to transfer these techniques to every day life?  Specifically, what would happen if you replaced traffic lights with LED progress bars?  Would wait times feel shorter if we watched a red bar empty?  Would drivers feel more confident when approaching a stale green if they saw that the bar is three-quarters full?

Yes, I know what you are thinking.  Traffic lights won’t matter when we all have driverless cars.  But its still fun to think about.  ;-)  

@gregory_a_baker

BASH on Windows

Bash on Windows (circa 1999) – The action of voicing a negative opinion toward Microsoft and/or the Windows operating system, typically, involving a large degree of sarcasm.

Bash on Windows (circa 2016) – Something entirely different…

Of all the ways to describe the long-heated rivalry between Windows and Linux, a calm, rational difference of opinion would not be counted among them.  The choice between Windows and Linux elicits passionate responses and spirited discussions.  Each tribe champions their cause with a religious zeal.  At its height, the battle was referred to as a Holy War between operating systems.

To be honest, the rivalry was much more intense during the first few years of the tech bubble.  At that point, Linux was still an unproven environment.  Very few executives were willing to trust their businesses to a first-generation platform largely maintained by an anonymous group of hackers working in their spare time.  However, IT managers quickly noted one quality that could really help them meet their budgets.

Free is a good price. 

And thus started the open source movement, and Microsoft’s battle against open source software.  In the early days, Microsoft repeatedly denounced open source software as destroying intellectual property.  “Linux is a cancer that attaches itself in an intellectual property sense to everything it touches,” said Microsoft CEO Steve Ballmer in 2001, stating a principle that would guide Microsoft for the next decade.  However, during that time Microsoft’s market share dropped from >90% of the desktop market and >55% of the server market to just under 12% of the world device market in 2015.

Well, so much for taking a principled stand.

Today, Linux and other open source products are no longer unproven platforms.  Nearly 80% of companies report using some open source package to run their business.  Faced with these realities, Microsoft changed direction and started to embrace the open source movement.  Microsoft recognized that to succeed in today’s devices and services world, developers must embrace your platform.  With >70% of developers adopting open source, well, that doesn’t leave very many options, does it?

So in April 2016, the seemingly impossible has occurred.  As a result of a partnership between Microsoft and Canonical, the Ubuntu version of Linux may now be run natively on Windows 10.  Just to be clear, this is not a recompiled version of Linux such as Cygwin.  Microsoft has developed a Linux interface called the Windows Subsystem for Linux (WSL) that translates Linux syscalls into Windows syscalls.  Windows run a bit-for-bit, checksum-for-checksum copy of the Ubuntu ELF binaries.  This is truly Linux running on Windows!

Every developer understands the hassles of running Windows and developing in Linux.  Typically, a virtual system or emulator is needed just to open a simple terminal screen.  With Ubuntu on Windows, the developer no longer needs to worry about a VM.  It goes something like this,

1.     On Windows 10, open the Start menu.

2.     Type “bash” [enter]

3.     A console shell opens running /bin/bash

4.     The users has full access to all of Ubuntu user space including apt, ssh, rsync, find, grep, awk, sed, sort, xargs, md5sum, gpg, curl, wget, apache, mysql, python, perl, ruby, php, gcc, tar, vim, emacs, diff, patch and so on.

Pretty cool, right?  OK, now here are the caveats straight from the Microsoft blog.

  • This is beta software.  There are some rough edges and some things will break.  Do not expect every bash script you write to run perfectly!
  • This is a developer toolset to help developers write code.  This is not a server platform!  There are other Microsoft products – Azure, Hyper-V, Docker – to run production software.
  • Sadly, Bash cannot call Windows apps and vice versa.  Sorry, you can’t open Notepad from Bash, or run Ruby from Powershell.  :-(

So, are you ready to explore Linux on Windows?  First, you need to be a member of the Windows Insider program that has access to early release software. From there you can find the installation details at,

https://msdn.microsoft.com/en-us/commandline/wsl/install_guide.

Have fun!

STOP SHOUTING AT ME!

 The topic doesn’t matter.  Even a simple comment regarding that latest (and cutest) cat video causes you to cringe.  This has got to be some extreme, literary superpower.  No human could possibly write so many offensive emails about such inane topics!

Of course, I’m not talking about any one person.  We are all guilty of sending that poorly written email.  It’s that email that sounds good when we send it, but doesn’t sound so great when your boss reads it back to you.  A poor word choice, an ambiguous phrasing, a failed attempt at humor – all of these items lead the reader to wonder, “What the heck were they thinking?”  And before you know it, a simple email thread turns hostile.

What makes an email sound rude?  While everyone has their own pet peeves, most emails considered snarky or abusive contain similar language.

  •     ALL CAPS – This is perhaps the most widely known method to escalate a written message.  It’s very simple – “ALL CAPS” = “yelling”.  SO DON’T YELL!
  • Unnecessary Punctuation – An exclamation point is used for emphasis.  However, multiple exclamation points do not add more emphasis.  They simply make you look like a troll.
  • Multiple personality words – The meaning of many words depend on a context not present in an email.  For example, the word “fine” could mean two different things: 1) That sounds good, or 2) That’s a horrible idea, but I’ll go along since I think you’re a butthead, and I want to watch you suffer.  Likewise for “Thanks”
  • But, actually… – Whether written or spoken, these two words tend to emphasize a single item:  I’m right, and you’re wrong.  If that’s the message you are trying to convey, then they might be the right choice.  Most of the time, you’ll want to try a different phrasing.
  • Demands – Engineers are notorious for placing demands in email.  Their training requires specificity, and their dry, yet charming, personalities hinder their ability to catch the snarkiness.  Please don’t hold it against your engineering team.  They just want to be loved!  ;-)

This list is by no means comprehensive.  A quick search of the Internet reveals hundreds of different sites dedicated to improving your email etiquette.  Go ahead and burn an hour or two on self-improvement.  It will go a long way to warming up your online personality.