Becoming Coruscant?

The June issue of The Economist has a lead article titled “Towards the end of poverty.”  Among the key points made in the article is that gradually the world is making progress toward raising a defined minimum level of living wages to something more in line with developed countries.  As more countries join the global community and take part in the benefits of developed economies, everyone rises.  Now, there are many more granular, micro-level arguments that can be made about widening gaps between the more wealthy and middle-class, but the point of the article was that those in the world with living conditions that were extreme poverty are decreasing.

This got me thinking:  how long will it be before “developing” countries become “developed” and overall living conditions begin to approach those of current and long-time developed ones?  What would this new fully developed world look like?  How would a global citizenry all wanting and needing similar “developed” things function?  Think about it.  In the past 15 years China has grown in power and stature incredibly and (though opinions rightfully vary per issue) its citizens have benefitted along with this growth.  More middle-class, less poverty (overall), increased numbers of educated, and increased life expectancy levels in general (baring pollution issues) .  Similar exploding growth is happening in India with Africa likely to be next.  So, how many places on earth in 2013 are left that are considered “developing”?  Interestingly, there is not an official index from the UN (need to validate this), but there are some established viewpoints that get published from the World Bank and the IMF.  I found some here from Oxford University that says there are ~35-60 depending on who is reporting.  So, if all these countries took say twice as long as China (perhaps~ 30+ years) we might have a large global middle class by maybe 2050?

Combine this with the incredible advances in technology and medicine we have made in the past 30 years and you have the making of some of these Hollywood visions of the future like the self driving cars in Minority Report and ever larger cities that form interstate sized connecting metropolises.  Fast forward even farther and something like the full planet city of Coruscant in the Star Wars series doesn’t seem all that much of a fantasy.  The interesting thing to ponder is not so much the technology advancements but the globally touching life we all might lead in such a future.  I guess the question remains:  what does this future world look like when everyone becomes developed?  What type of interactions will we all have?  How will trade be done?  How will businesses remain competitive when wages are no longer arbitraged by going to a developing nation?  Could earth become one big developed planet?

Coruscant


Agile and DevOps at Scale

More and more we are starting to hear about how real transformation can happen for businesses using IT.  For busineses like NetFlix or Twitter where IT is at the core of the entire business model, that has been clear for a while.  What is changing are businesses that have heretofore leveraged IT as just part of the “backoffice” seeing incredible transformative possibilities by leveraging the same IT principles as technology startups.  Those with deep IT knowledge have always intrinsically known this potential.  However, convincing a non-tech business of this possibility has been a difficult historically.  This is because non-tech businesses (and to be sure, even traditional large tech businesses) saw IT as a “cost center” and not a true “partner” with the business for achieving goals.

This perception has been changing over the past 5 years.  It has been accelerated by advancements in infrastructure as a service, platform as a service, and software as a service offerings that have made business leaders aware of ways to get things both faster and cheaper in the infrastructure world.  However, a funny thing has happened.  When business leaders asked IT leadership to “take a look” at these new “n-as-a-service” offerings, they got feedback that there were still 3 main hurdles to being able to unlock real business value fast:  infra and developer collaboration, technology freedom, and core IT and business processes.  So, while you might be able to get servers fast from cloud providers, you still had the existing internal hurdles to overcome.  These hurdles are not insignificant.

The real unlock for all these “n-as-a-service” infrastructure offerings is actually transforming the traditional way IT does business.  Recently, authors Gene Kim, Kevin Behr, and George Spafford created a fiction novel called “The Phoenix Project” which outlines what a hypothetical Agile and DevOps transformation looks like.  While the novel is a great way for people to understand how agile/devops change can happen, it might be great to hear about a real success story.  Let me offer up Gap Inc as an example of how you can take massive legacy enterprise IT and make a real transformation happen.  The actual implementation of Agile processes by a business with a heavily traditional structure and workflow is not without pain.  Being successful requires a strong spine and executive leadership that is willing to put everything on the line.  For Gap, the CIO (Tom Keiser) and VP of Infrastructure (Naveen Zutshi) were key to pushing the transformation through successfully.

I have taken the liberty of summarizing 2 main tracks of effort that made the massive Agile and DevOps transformation at Gap possible by using 2 documents.  The first document is a paper written by Kamal Manglani which focuses on core Agile principles as applied to infrastructure.  The second is a Meetup presentation I put together that focuses on the methodologies we designed at Gap to change mindsets about technologies.  Hopefully, these documents will be useful for others with the gumption to take this journey on.

Gap Infra Agile Transformation Journey

View this document on Scribd

Enterprise-DevOps-at-Scale-Gap

View this document on Scribd

Enjoy,

Jeff


Formula for Success in 2013

My formula for success in 2013 is essentially my new years resolution.

It is a simple math formula to get things done.  I have written it on my whiteboard at my desk as a constant reminder.

nWORK - nMEETINGS = nPOSITIVE_INTEGER

In other words:   DO  >  TALK

In reality it is way easier to type and say this as it is to actually do it.  The new world of IT Infrastructure means real leaders need to lead by having what I call HOK “Hands on Keyboard” as much as possible making things as well as talking about them.

I am also an optimist so I feel that my chances are really good that I will make this work.  See if it works for you too.

JBPadgett_Success_Formula


SF Skyscraper Update

Periodically, I like to check out this site to find out what the latest is with the San Francisco skyscrapers.  Sometimes these projects don’t materialize, but it is still fun to check them out.  I really, really like skyscraper architecture and am continually fascinated by the architects who design them and engineers that build them.  Here is the latest for proposed buildings in SF.

http://skyscraperpage.com/diagrams/?cityID=114


What Microsoft’s IE and North Korea Have in Common

Not sure why, but here lately I keep seeing opportunities that Microsoft is squandering.  The latest one:  Internet Explorer.

Why?  Recently, we all witnessed a massive advertising blitz on TV and the web for IE9.  To me it seemed wasteful.  I mean who was Microsoft really marketing to?  The only people that they were trying to convert were EXISTING users of Windows!  Think about it, Internet Explorer at one point had a nearly 80% market share.  Today, often the first thing I do when getting a fresh Windows VM up and running is to install Google Chrome and Firefox.  I don’t even launch IE (no matter what version) unless I absolutely have to for some bizarro ms-centric client code support issue.

The reason?  Internet Explorer is only supported on one platform:  Windows.  In effect, Microsoft has made their browser market share isolated much like North Korea has made itself on the international stage.

Even Apple makes Windows versions of Safari (actually, this appears to be changing).  So, why would Microsoft chose to isolate the primary application delivery mechanism (browser) to only their OS?  Let’s not get distracted by the current mobile apps stratified marketplace.  IOS and Android do control the “isolated mobile apps” marketplace as I call them, but there is a clear desire by many including Facebook to make the move to native HTML 5.x apps on mobile devices as quickly as on par capabilities arise (getting there).  I think this “detour” with isolated mobile apps we are all on will eventually turn the power back to the browser again on mobile devices.  To be sure, potentially strong competitor Mozilla, has a mobile OS making heavy use of HTML 5.  Google has already realized that the browser can be the OS and has based their Chrome OS notebooks on this strategy.

Right now, in terms of speed and recoverability Google’s Chrome is a superior browser and it runs on Windows, OSX, and Linux platforms.  Microsoft should take notes and effectively become a full faith partner in the multi-platform community, much like a respected nation in the UN.  Microsoft should immediately develop an open source version of Internet Explorer with full standards support.  To their credit IE9 has come a long way toward supporting open web standards from the days of IE6.  But they need to do more if they wish to compete and be relevant in the coming open browser world.  They need IE to run on OSX, Linux, IOS, and Android as fast as possible.  However, that will not be enough.  They need to have the recoverability from javascript issues through tab/process isolation like Chrome does and they need to add features faster than Google and Firefox can (like robust syncing bookmarks).  By doing these things, Microsoft can start to gain the respect of the open web community and gain traction.  For now, I am happy using Chrome and Firefox.  Redmond, you better wake up and get to work.  Open source IE and get it running on multiple platforms.


Cool Geeks DevOps Meetup

Heya Fellow Cool Geeks!

I and some fellow geeks formed a new DevOps Meetup called “Cool Geeks DevOps.”
The hope is that we will be able to tackle some common DevOps problems in an open forum that is also fun.
I invite everyone to stop by our regular meetups to share the fun.

http://www.meetup.com/Cool-Geeks-DevOps/

coollogo_com-1771611211


TMUX Fun

After opening up 10+ terminal sessions on my macbook every day, I started to think there must be a better way.  Turns out there is. My guru buddies Lamont, Oliver, John, and Chris use Screen.  My first thought was to copy them.  Lamont joked that he has been using the same screen config file since 1995!  Wow, I thought, a technology that solid has to be the right one for me.  Then I tried to install and use it on my Mac.  While OSX comes with a version of screen pre-installed, it doesn’t include some custom options I wanted (vertical splitting) without downloading the latest bits from SourceForge and compiling it on OSX.  I didn’t want to spend too much time on this endeavor and just wanted to install all the options I wanted fast (using Homebrew in my case).

So, after doing a little research, I discovered that TMUX had almost identical command sequences as SCREEN, installed fast via Homebrew, and had simple global configuration files that I can setup (just like SCREEN).  Yay!  So I decided to just install TMUX and get going.  After surprisingly little effort reading other nice folk’s blogs and the man page, I was up and running.  I thought I would share my global configuration file for TMUX for others looking to do the same.

It is on github here:

https://github.com/jbpadgett/tmux-config

For those wishing to just view it here on the blog, here you go:


#########################################################################
#########################################################################
# JBPadgett's custom tmux configuration
# Borrowed heavily from various nice people on the internets
# Put everything global here: ~/.tmux.conf
# Put environment specific tmux config here: ~/.tmux/ # Example: ~/.tmux/chef
#########################################################################
#########################################################################

#########################################################################
# Reset The Command Prefix
#########################################################################
# Not that I don’t like change, but now you know screen and tmux!
# set the command prefix to match screen (good ‘ol CTRL+a)
unbind C-b
set -g prefix C-a
bind-key C-a last-window

#########################################################################
# Unbindings
#########################################################################
#unbind C-b # unbind default leader key

#########################################################################
# Global options
#########################################################################
# utf8
set-window-option -g utf8 on

# large history
set-option -g history-limit 10000

#########################################################################
# Status Bar
#########################################################################
set-option -g status-utf8 on
set-option -g status-justify right
set-option -g status-bg black # colour213 # pink
set-option -g status-fg cyan
set-option -g status-interval 5
set-option -g status-left-length 30
set-option -g status-left ‘#[fg=magenta]» #[fg=blue,bold]#T#[default]’
set-option -g status-right ‘#[fg=red,bold][ TMUX-SESSION ] #[fg=cyan]»» #[fg=blue,bold]###S #[fg=magenta]%R %m-%d#(acpi | cut -d ‘,’ -f 2)#[default]’
set-option -g visual-activity on

# Titles (window number, program name, active (or not)
set-option -g set-titles on
set-option -g set-titles-string ‘#H:#S.#I.#P #W #T’

# statusbar background to black, foreground to white
#set-option -g status-fg white
#set-option -g status-bg black

# set the current window name to a nice bold yellow text
#setw -g window-status-current-attr bold
#setw -g window-status-current-fg yellow

# hostname is printed on the left
set-option -g status-left-length 40
set -g status-left “#H”

# be notified when there is activity in one of your windows
setw -g monitor-activity on

# don’t rename windows automatically
#set-window-option -g automatic-rename off

#########################################################################
# Bindings
#########################################################################
# reload tmux conf
bind-key r source-file ~/.tmux.conf

# Navigation ————————————————————
# Pane Switching with Alt+Arrow keys
bind -n M-Left select-pane -L
bind -n M-Right select-pane -R
bind -n M-Up select-pane -U
bind -n M-Down select-pane -D

# Begin Mouse Section
# Cheating with el mouso. Pray for forgiveness. You should know why —-
# Global mouse enablement (needs to be first)
set-window-option -g mode-mouse on

# Mouse pane switching
set-option -g mouse-select-pane on
set-option -g mouse-select-window on

# Allows terminal scorolling to not override vim/editor scrolling
set -g terminal-overrides ‘xterm*:smcup@:rmcup@’

# Initialize custom session configs
#bind S source-file ~/.tmux/session1
#bind s source-file ~/.tmux/session2