Perceptions of Innovation

I came across two survey answers that contained the question “My company is big on innovation” (the wording in each survey was, of course, a little different) that caught my eye:

From CIO Insight (their data isn’t online yet, but here’s the pages from the hard-copy: one and two):

“My company’s IT department is actively involved in corporate innovation efforts aimed at introducing new products and services”
Yes: 73%. No: 27%

“The corporate culture at my company encourages technology experimentation and rewards ‘well-intentioned’ failure.”
Yes: 48%. No: 52%.

(On this last one, it’s too bad they asked two questions in one instead of two separate questions. If they were separate, I bet the first question would have rated higher, while the second lower.)

And then this, via Slow Leadership, from an ISR survey:

The perception that IT jobs are at risk for outsourcing may also be
responsible for the steady decline in IT workers’ belief that their employers
reward innovation, as this number has declined from 64 percent in 2001 to
46 percent in 2005.

For the cynics out, there isn’t really any surprise in those answers: everyone wants their cake (innovation that makes money) and eat it too (not pay for all the failures needed to get a win). But, it’s always good to have numbers in addition to gut and anecdote (gutecdode?).

Tags: , , .

[ Podcast] Episode 33c – What Sucks about Ruby on Rails, part 3

In this episode, we respond to a recent comment in regards
to episode 09
, where we proclaimed that Ruby on Rails wasn’t
the holy grail of programming (but sure is nice).

The first part of the discussion is in episode 33b.

Since we’ve been gone for a few weeks, this week we’re brining you
three diferent episodes, so look for 33a and 33b!

This episode edited by Charles.

Tags: , , .

[ Podcast] Episode 33b – What Sucks about Ruby on Rails, part 2

In this episode, we respond to a recent comment in regards
to episode 09
, where we proclaimed that Ruby on Rails wasn’t
the holy grail of programming (but sure is nice).

The discussion continuies in part episode 33c.

Since we’ve been gone for a few weeks, this week we’re brining you
three diferent episodes, so look for 33a and 33c!

This episode edited by Charles.

Tags: , , .

[ Podcast] Episode 33a – The Mute Button, Finland and John Carpenter

<a href=" this episode, we learn what the fuck happened to Charles, his
new headset, and The Thing.

Since we’ve been gone for a few weeks, this week we’re brining you
three diferent episodes, so look for 33b and 33c!

This episode edited by Charles.

Tags: , , .

devcon forum for BMC Performance Manager SDK

We finally got around to putting up a forum a forum for BMC Performance Manager SDK (the product I work on) on BMC’s developer chat site,

So, if you’re a BMC Performance Manager SDK developer and you want a place to hang out, there it is: come on over with any questions, suggestions, or anything in having to do with the SDK.

Tags: , .

Moving Files in CVS Without Loosing History

Whenever you move files around in CVS, you loose the history associated with that file. People tend to get upset about this; though, on the projects I’ve worked on, we’ve moved stuff around every release, loosing history, and it’s never killed us. No one really raised a peep. For the most part, people just want to use it when they’re in that “what fucking idiot put wrote this bug!” mode at 3AM in the morning…

Nonetheless! Thanks to a recommendation from The JC, I found this helpful tidbit in Open Source Development with CVS:

I Need to Move Files around without Losing Revision History.

In the repository, copy (don’t move) the RCS files to the desired new location in the project.
They must remain in their old locations as well.

Then, in a working copy, do:

yarkon$ rm oldfile1 oldfile2 ...
yarkon$ cvs remove oldfile1 oldfile2 ...
yarkon$ cvs commit -m "removed from here" oldfile1 oldfile2 ...

When people do updates after that, CVS correctly removes the old files and brings the new
files into the working copies just as though they had been added to the repository in the usual
way (except that they’ll be at unusually high revision numbers for supposedly new files).

So, there you have it: one of the big “CVS sucks!” bullet points resolved. I’ll see how easy that is to actually do. Anyone else ever do this?

(And yes, I know this would be easier in subversion. You know who you are!)


For quite some time now, I’ve enjoyed listening to and creating podcasts. Podcasts, of course, are self-produced shows in MP3 format that you can listen to on your computer, iPod, burn to CD, or anywhere that can transmit the audio to your ears. There’s plenty more explanations of the word “podcast”out there if you’re interested. The point of this page is to simply list all the podcasts that I’m involved in. Here’s the list: Podcast

The first podcast with my friend Charles Lowell and the occasional guests. We mostly talk about programming and other dorky and tech things. But, mixed in a fine dose of little boy and geek humor.

An audio only version of the feed is available.

RedMonk Radio

The (usually) weekly podcast about the software industry from RedMonk‘s view. I do this podcast with the two partners in my industry analyst firm, Steve O’Grady and James Governor.

I do several podcasts at RedMonk, including RIA Weekly and the IT Management Podcast. All are included in the RedMonk Radio feed. Also, check out the videos on RedMonkTV.

Austin’s Very Own

My wife Kim and I do a more or less weekly podcast on, you know, nothing in particular. We simply talk about what’s been going on recently. Occasionally, we do video versions or may do specials about things around town, like Domy books. Stories (neé)Gravy!

Each of the episodes in “Stories” are just little things I record here and there, sometime with my wife, sometimes myself, or other people.

Back in 2005, I split off some extra material to a podcast I called “Gravy.” For whatever reason, I started another one recently called “Stories.” The two are now merged. If you’d like to get the first 8 Grady episodes, they’re available in this old feed.

Austin Nag Podcast

Tips and advice for out-of-its like myself. That is, how to be more like an adult and less like a dark-room dwelling computer dweeb.


A podcast of other podcasts and audio that I liked. When I heard a podcast I think is pretty good, I tag it in with podcast4u. So, if yo subscribe to this feed, you’ll get an earful of audio that I recommend.


Check out our Frappr!

[ Podcast] Episode 32 – Where’s Charles, Other Podcasts

Charles Bowling

This week, I explain why Charles hasn’t been around for the past 3 weeks. I talk briefly about Austin Nag, our new group-blog with “daily coping tips for people who lead busy (or lazy) lives.” Also, for your listening pleasure, I recommend some other podcasts I’ve been enjoying:

And, the lovely Kim Skotak fills us in on some late breaking Charles news.

(This episode edited by Coté)

Tags: , , .

Lots of “Client Architect” Positions Open at BMC

My work, BMC Software, Inc. has a lot (7) of what they call “Client Architect” positions open. We have several types of architects, but this one appears to be a high level tech-sales type: working closely with customers to help them fit our software into their business and process, of course, with the goal of making those customer’s IT more effective and, as I always like to throw out, money-makin’.

Put another way, it seems to align nicely with the advice I gave in one of my recent posts, The Disappearing SysAdmin and Enterprise Software Vendors: enterprise software is increasingly more about people and service, and less about the exact software. Or, as “Friends of DrunkAndRetired,” RedMonk put it, “focusing on business and operational context rather than speeds and feeds and feature tick-lists.”

Anyhow, here’s the job listings if you want to apply:
seven. They’re all the same job, we just have seven slots open. You can probably just apply to one of them.

The recruiter who posted on Austin JUG (no link yet) said “[t]his is a critical role within the company and they pay these Architects bases from $110k-125k with 35% incentive component.”

If you put down my name as a reference, I get a tiddy pay-out, so I’d appreciate it. Feel free to email me as well.

As a disclaimer: I’m one person in a 6,000+ person company, so I have no idea about these jobs, I just found them thanks to Kinman noticing them posted on the local Java User’s Group.

Tags: , , , , .

The Disappearing SysAdmin and Enterprise Software Vendors

Steve’s latest post on Sun opening up JES reminds me a trend I’ve been seeing and theorizing about over the past year. The case of the disapearing sysadmin.

Software is Worthless Without People

Here’s the excerpt that stoked my memory, with emphasis added:

One of [Sun’s] customers, used to having Jonathan’s home # for support, suddenly discovers that the software he’d been paying for is now available for free, and says “HA! I’m not paying you $500K for something that’s free!” The punchline, of course, is that upon discovering that they’d essentially be on their own not if – but when – something goes wrong, they add it right back on the PO.

Distilled down, this says that the value in Sun’s software is shifting from the bits to the services and support layered on top of it. That’s a bet that a lot of folks within the software world are making right now. Is it the only way to make money in software? Nope. Is it going to be the dominant pricing format? Not in the next year or two, probably, but longer term? Maybe.

I don’t know if it’s literally true that Sun does not have a customer in the world that runs an unsupported product in their datacenter, but figuratively the point is made: enterprises want problems with the software to be someone else’s problem. Therein lies opportunity, as they say.

In the support I’ve done for the past few years, I’ve noticed that it’s a rare find to get a systems administrator or DBA on the other end of the phone. The software we build is a systems management application: it’s a sort of sysadmin in a box. (The company has been expanding up the corporate ladder, but that’s another story.)

As with most enterprise applications, there’s a whole lot of whirling bits and blinking lights under the covers: an application server, a database, a web server, and all the little glue in-between. The other “exciting” part of the application is that it’s whole goal in life is to interact with other computers and applications, sucking out monitoring data (the digital answer to the question of “hey, how you doin’?”).

Now, whenever one computer thing talks to another computer thing, all sorts of problems and errors occur, and you need a person to sort them out. Usually, this “sorting out” means setting some configuration, adding some permissions to an otherwise restricted device, or cleaning up after a messy application. It’s the kind of thing that’s obvious to a person, but completely baffles a computer. (Technically, to say it “baffles” the computer is to be way too kind in anthropomorphizing the computer.)

To summarize:

The computer is a moron

The Vendor is the SysAdmin

The job of sorting things out for the computer is the purvey of the systems administrator (a sysadmin) or, in the case of a database, a database system administrator (a DBA). In the “the old days,” a vendor could sell some tool software to a customer, the customer’s system would need some sorting out to get the software to run, and the vendor would get ahold of the sysadmin or DBA and say something like “yeah, you need to switch over your primary hoopty-ha to accept tokens with goo-gazits,” and the sysadmin would say, “oh yeah, they disable that by default. Will do. Switching over the hoopty-ha, boss.”

And it was fixed, and your support call lasted 5-10 minutes.

Now, I never lived in such times. I live in the age of the disappearing sysadmin: there are very few sysadmins (as I envision them) in corporate American anymore. My theory is that customers are looking towards enterprise vendors to not only sell them the raw tools, but also all the servicing. This is Carr’s world of “IT doesn’t matter”: you don’t staff up experts in areas that are out-side the core-compentency or domain of your company. To do so would be to waste money, ’cause they’re not going to do anything to differentiate you from your competitors. If you’re an insurance company, you don’t get a bunch of expert IT wonks to keep all your computers happy: you get a bunch of genius risk assessment experts, marketers, lawyers, and those people who come up with all those byzantium policies.

A la carte Sysadmin

Instead of paying for those wonks, you pay an enterprise vendor a shit-load of cash, and call them up whenever something goes wrong. This works out well for you, because IT vendors (now-a-days) are desperate to keep customers and will do anything to keep them. That is, you can usually get them to do things like sit on 5 hour support calls to get your afore mentioned hoopty-has all goo-gazited up correctly. And, you know, you don’t have to worry about maintaining your own cranky stable of IT wonks: not to mention not having to pay all the ice berg “overhead” like health-insurance for them. Nope, you just pay that one fat bill every few years to your vendor.

Vendors: Get Some Sysadmins

What this means for enterprise vendors, of course, is that they need to start staffing up for these expectations. As time goes on, customers will be expecting more and more sysadmin support from vendors, if they haven’t already. Many vendors probably have the belief that their programmers — the people who wrote the enterprise software — can fill this role. That’s far from the truth though: the skill-set of a good systems administrator and that of a good programmer are rarely in the same person.

More importantly, you probably haven’t hired with this in mind, so you can’t just dump the sysadmin role on your programmers. (I mean, you can try, but your customers will stop being so happy to send you checks after they get shitty service, and some of your programmers, longing for the Divine of the Abstract while they’re wallowing in the icky-goo of a sysadmin’s tasks, will up and leave.)

The Software as a Service Angle

The whole web-based SaaS fits with the vendor-as-sysadmin trend to a great degree: with “nothing” to install but a web browser and maybe a simple desktop app (think of Flickr as a good model for this with their web based app and a simple Uploadr thick-client tool), you don’t really need a legion of IT wonks to take care of the boxes that your enterprise apps run on. Nope, you just fire up the web browser, and any errors you see are completely in the court of the vendor you’re paying for that web app. You couldn’t even sysadmin the app if you wanted to: you don’t have access to the computers the app runs on.

From the vendor’s vantage, offering SaaS has the potential to save money: it’s much easier to troubleshoot problems on your own systems than you’re customer’s systems over the phone. Not to mention you can actually be pro-active in fixing problems and preventing them from occurring (everyone who’s done any enterprise software support has the story of the customer who did something like edit a configuration file, delete a vital file, or otherwise do something a long-beard would roll his eyes at).

Selling Software and Service

One customer once told us, “we evaluated your competitors, vendor A, B, and C. In the end, you were all more or less the same: we could easily fit your app into our business process [not the other way around, you’ll note –Coté]. But, you guys had the best customer service, so we went with you.”

That is, the software on it’s own wasn’t the major differentiation, it was the software combined with the service. More importantly, the value, in this case, shifted more towards the service than the software. As Steve points out, this means you can open source (or “give away” from the perspective of the money-folks) your software and still make money.

This probably isn’t true for every vendor right now, but I’d wager a few bucks that they’ll go that way soon. Hell, they used to just give the software away with the big iron. It wasn’t ’till later that we injected value into the software itself. It’ll probably take another few decades before the cycle comes full circle and software, once again, becomes second fiddle to the service, and other goods, the vendor provides. That is, the enterprise software market will become a conversation.

Update: the SaaS strategy that Ray Ozzie’s “The Internet Services Disruption” memo talks about fits nicely with the above as well.

Tags: , , , , .

More Gravy for Your Biscuits: Episode 007

I put up another gravy podcast episode this afternoon. It’s pretty crackly, which is terrible. I need to figure out the secret to recording with the iMic without it sounding like shit.

You can get the episode by downloading it directly from the online feed, or by subscribing to the feed in a podcatcher.

Tags: , , , , .

[ Podcast] Episode 31 – Gotta Get a Car to Get a Girl, Fundamentalists Breed Faster

This week, Matt Ray fills in for Charles, who’se either in Puerto Rico, New York, or somewhere else, possibly, with Silva who’s come from Finland for a lengthy visit.

We spend our lunch break talking about The Undercover Economist, Aidan’s (Matt Ray’s son) complexifying music, the DCMA, The Long Now Foundation on world population growth, and other exciting topics. It’s a non-technical (relatively) episode for all those people who fell asleep listening about state-machines…

(This episode edited by Coté)

JavaOne 2006 Submission: Logging with java.util.logging

Since I spent sometime a couple months ago putting together a presentation on logging in Java, I thought I’d submit a proposal to JavaOne this year. Here’s the proposal I wrote up:


Logging in Java ™ with java.util.logging


This presentation shows you how and why to use the logging API that’s
bundled in the core J2SE library. You’ll learn the basics of logging
and configuring, advanced logging and configuration, how to tailor
logging to your needs, and best practices for logging.

We’ll go beyond the standard documentation available in the J2SE and
on the web, using plenty of examples to explain pragmatic ways to
quickly and effectively use the logging API in your code.

The built in logging API has been available in the J2SE for several
years, but consistent and knowledge use of this API is sparse. This
despite both the richness and simplicity of logging, not to mention
the consistency and portability benefits of using the bundled logging

Logging is vital for both quick debugging during development and once
your software has been deployed onto hosted servers or in the field to
customers. Oftentimes all that stands between you and hours of
debugging over the phone is the ability to quickly use logging to
diagnose problems remotely. Attending this session will help save you
from those tedious and costly hours, keeping you and your customers

Presentation Summary

The presentation follows the outline below:

What logging code looks like

A quick dive into what logging with the logging API actually looks like in
code and as output.

When and why to log

Why programmers should bother to thoroughly put logging in their applications:
the primary reason being that once your application is run in a non-developer
environment, in production, it becomes almost impossible to debug. As a result,
customers get frustrated as problems take “forever” to fix, and companies spend
too much time and money diagnosing problems in the field.

The Logging API

This section introduces the different concepts in the logging API: log
levels, the different log messages, handlers, formatters, etc.

It also covers best practices in logging, such as when to double check
the logging level for performance, using argument’ed messages, logging
exceptions, and how to determine where in the code to log.

Finally, this section covers how to configure logging using the
default flat files, at runtime, and with the newly available logging
MBean. Knowing how to properly configure logging, especially during
runtime is an invaluable skill.

This section contains many code examples that illustrate the points.

Customizing Logging

This section covers the customizations that can be made in the logging
API, such as custom handlers and formatters, as well as some
extensions to logging, such as context loggers that take care of
logging tedious to code, but vital to debug, information.

A brief section covers using Aspect Oriented Programming to help weave
logging in; pit-falls of an AOP approach are also covered.

Logging Grab Bag, Tip and Tricks

The last section collects together a “Top 10” style list of tips and tricks
with the logging API.

If you’re interested in taking a look at it, there’s a draft of the presentation available.

And, of course, if you’re interested in me giving the presentation, feel free to contact me and we’ll work something out: I’m sure it’d be fun ;>

Tags: , , , .

[ Podcast] Episode 30 – Intuition, Java Profiling, Austin Straight Razor Barbers

In this episode, we talk about Charles’s intuition experience of late, java profilers, and getting a good shave in Austin.

If you’d like to leave a voice comment, please call +1-512-879-6339 (it’s a US number) or Skype us at drunkandretired, and leave some voice mail. Otherwise, you can email comments to, in the comments field below, or by talking directly to one of us bozos.

Also, check out the new episode of the quick and dirty podcast: Gravy.

(This episode edited by Coté)

Tags: , , , , , .

J2SE 5.0 Upgrade on OS X Breaks XSLT

I updated to the new Java release on OS X today, and it broke my use of XSLT in Java. From what I’ve read, J2SE 5.0 no longer sets the system property that tells JAXP which TransformerFactory to use. This, of course, seems kind of silly. I’m sure there’s some long, drawn out explanation of why: the upshot is that shit don’t work for me.

To get around this, you have to pass in the following system property to all your Java processes that are going to be running XSLT:

This bug report from maven has some more detail.

Tags: , .