Archive for January, 2008

XMPP and “Cloud Services” (or why Polling is Evil)

Friday, January 25th, 2008

Great article on Jive Software’s Community Blog: XMPP (a.k.a. Jabber) is the future for cloud services.

The Tivo example that Matt provides is good conversational fodder if you ever need to explain why Polling is Evil to a non-technical audience.

Personally, I don’t love the “Cloud Services” moniker, but that’s neither here nor there. Regardless of what they call it, we’re starting to see that the app networking world is sliding into standardization, using HTTP for simple round-trip synchronous communications, and XMPP for asynchronous communications and/or stateful conversational communications.

The consolidation of the major Instant Messaging providers around XMPP will do much to glue the “Web” and “Non-Web” elements of the Internet together in ways that we’ve only started to think about.

Also, here’s a link (found in the comments of the aforementioned article) about the new XMPP Logo.

Why PyGuys? (or Why we’re not on the Rails bandwagon)

Wednesday, January 23rd, 2008

We recently announced the re-branding of our consulting practice as PyGuys.com. By marketing on a brand-by-brand basis rather than at the company level, we think that we’ll be able to improve the signal-to-noise ratio for the targeted audiences of our various products and services. For example, our Python consulting customers may not have a need for our project management software, and vice-versa.

That being said, the casual observer may wonder why we’re so gung-ho over Python when it appears that all of the cool kids are using Ruby on Rails. When we started the company in 2005, there was still plenty of room on the Rails bandwagon. Our adoption of Python was deliberate based upon the maturity of its language, libraries, and community.

Quite simply, we’re in this for the long haul, and feel that Python has the best prospects of being the dominant dynamic language in mainstream IT settings over the next 36 months. Methinks that the initial hype surrounding Rails has already started to subside, and Rails will continue as a good way of building standard web applications, especially for solo developers and small teams.

It just won’t end up being the way to build web applications.

Don’t get me wrong, the Rails folks have done a lot to validate the use of dynamic languages in mainstream settings, and the Ruby language itself has a bunch of cool and features. You will find no negativity here. But I think that Rails’ great and durable contribution to the field of software engineering is not its libraries and syntax, but rather its philosophy of “Convention over Configuration”. That philosophy transcends technology stacks, and has already found its way into a slew of web application frameworks on a number of platforms.

But when the technology rubber meets the Enterprise IT road, I believe that Python (and its community/ecosystem) is a better and more accessible choice than Ruby for most companies looking to adopt a new application development platform, current conference attendance statistics nonwithstanding.

With PyGuys.com, we’re formalizing our Python advocacy in the branding of our consulting services. In hindsight, we should have done this 3 years ago. So to paraphrase Barbara Mandrell (and there aren’t too many times in life when one gets to say that), we were Python when Python wasn’t cool. (Note: link contains audio)

PyCOE: IT Transformation after the Gold Rush

Wednesday, January 23rd, 2008

This posting provides some background for our new Python Center of Excellence (PyCOE) consulting offering.

We are slowly entering the post-honeymoon era of Ruby on Rails (RoR). For a while, the IT press was head-over-heels in anointing RoR as the heir apparent to J2EE/.NET development in the Enterprise. Now, there is a much more balanced pro/con view of RoR, especially among the Alpha Geeks.

While the press talks about IT fashion du jour, I think that IT and business folks alike are secretly pining for the next “Visual Basic”, where an easy-to-learn syntax coupled with powerful libraries can be used by normal people to solve real problems quickly in a variety of contexts.

Python fits that bill quite nicely, and is attractive to both hardcore programmers and the “IT is my day job” crowds alike.

Other languages are arguably more [INSERT ADJECTIVE HERE] than Python, but few combine its expressiveness and ease of learning.

Unfortunately for the typical IT manager, it’s hard to figure out what technology horse to bet on, since the popular bets are rarely the good ones. Taking the advice of the high-end IT sages will land you smack-dab in the middle of the pack at best. And following the advice of your sharpest go-to person may yield an approach that doesn’t scale across the talent continuum.

Stop me if you’ve heard this one before: Bob is the smartest guy in the IT department. Bob falls in love with Rails, and makes the pitch to his boss that they should do their new development in Ruby. Bob backs this up with circa-2006/2007 praise that Rails received from…everywhere. They get started and the boss quickly learns three things:

  • Bob is happy working in Rails. Woohoo!
  • The simple stuff gets done quickly in Rails. Woohoo!
  • Everything else carries a pretty steep learning curve for everyone but Bob. D’oh!

Our PyCOE offering provides a contrasting model, one that states that You should not base technology selection solely upon the tastes and preferences of your sharpest employee.

Rather, PyCOE provides a nine-step process for helping companies adopt Python and incorporate the set of tools and approaches that are appropriate to their existing environment, making sure that the tool selection is consistent with the culture, charter, and legacy considerations of the organization, among other factors.

Paradoxically speaking, it’s exciting to help make dynamic language adoption become boring and predictable.

Our New Offerings for 2008

Wednesday, January 23rd, 2008

Introduction

As Christian mentioned the other day, we have two new service offerings in 2008, both centered around Python consulting:

  • PyCOE.com is our new offering to help organizations build core competencies in Python in a deliberate and predictable fashion in a way that is fundamentally different from the way that firms tried to adopt J2EE and .NET in the past.

    In a nutshell, we help companies create an environment where the easy thing to do is also the right thing to do for their developers, analysts, and QA personnel. We focus on culture, standards, and infrastructure as we help our customers create a Python Center of Excellence (or COE, hence the PyCOE name) in their organization. We do this by approaching Python adoption as business process re-engineering for IT, rather than programmer training.

  • PyGuys.com is our new Python consulting brand. We are focusing on small-to-midsize custom development projects, and SDLC process improvement consulting. We’ve been doing Python and Project Management consulting since the company started, but we felt that now was a good time to rebrand and grow our Python consulting business.

We also reworked the Botonomy.com company website, to reflect its role as a “holding company” for our branded service offerings.

Also, just before we launched our new websites, TIOBE declared Python as the programming language of 2007. Not a bad sign, if you ask me.