Welcome to bexhuff.com
April 29, 2006 - 1:42pm — bexThis is the professional blog for me, Brian 'Bex' Huff. My writing covers science, lifehacks, and computers. I spend a good amount of time on Oracle Fusion Middleware -- which includes the Enterprise Content Management (ECM) technology Oracle purchased from Stellent...
Be sure to check out my book on Oracle Enterprise Content Management (ECM), my Oracle specific posts, or visit the sponsor Bezzotech -- my ECM consulting firm. There's plenty of free presentations and components if you're interested...
Open World: 3 Weeks Away!
August 27, 2010 - 2:52pm — bexAs mentioned by Jake, Oracle Open World is nearly upon us! As usual, the hordes will descend upon Moscone Center in San Francisco September 19-23. I'll be there on the 16th to get a pre-briefing with Oracle along with the other Oracle ACEs. I'll only be giving one talk this year, but I hope you'll be able to make it!
Creating and Maintaining Internationalized Web Sites (S315784)
Time: Sunday, Sept 19, 3pm
Location: Moscone West L2 room 2007
There aren't many published best practices on doing this kind of thing with Site Studio... and it's kind of a tricky problem. Every company has a different need for localized web sites, and they almost alway have different needs when it comes to keeping them up to date (not to mention budgeting for translation!) There are several add-on tools that can help you keep your site updated, and I plan on going through a few.
Who Will Oracle Buy Next?
August 11, 2010 - 7:23pm — bexI came across a post last week trying to figure out what company will Oracle acquire next? The author posted a few options and was taking a poll. I can't tell if this is an exercise in the wisdom of crowds or just an attempt for the author to know what stock to purchase next... but the analysis was still interesting.
UPDATE: The poll got about 1250 responses, and most folks predicted that Oracle might just "play it safe." You can view the full results on the author's web site.
I also liked their chart that showed all the companies Oracle acquired since Peoplesoft as blobs on a timeline... it was interesting to see Stellent as a respectably large blob on the chart.
The potential targets are listed below -- some much more likely than others:
- Teradata
- Informatica
- TIBCO
- Computer Associates
- Sungard
- Infor
- Research in Motion
- Juniper Networks
- F5 Networks
- Brocade
- VMware
- EMC
- Salesforce.com
- Allscripts
I've heard rumors for years about who Oracle might acquire... most of which never come to pass. But, amongst the author's picks, I think Teradata and TIBCO are the most likely. Acquiring F5 might also make sense, and I wouldn't be surprised considering the new integrations F5 is making with Oracle Fusion Middleware... Allscripts would also make sense, if the price was right.
Then there were the crazy ideas... Oracle acquiring Computer Associates would be a longshot -- CA has been coasting on past glories for so long their products ain't exactly cutting edge anymore. Same with Sunguard: Oracle culture is clearly geared towards being a software company, not a services company... so nuts to that.
So what do you think? Leave a comment, or take the poll...
Social Media: How to Make it NOT Useless
July 20, 2010 - 8:02pm — bexMany companies have been adopting Social Media and Enterprise 2.0... some of them because it sounds cool, some because they have money to burn, and others because they actually have a strategy. But eventually, the big boss will come around and ask, "What are we really getting out of all this time and energy? Let's calculate the ROI!"
At this point, you might want to brace yourself for disappointment...
I'm not saying this because most Social Media strategies I've seen are useless... just that they would be hard to justify if you break it down into black an white ROI. According to a recent report by Forrester research, the ROI calculations are fine, but they provide an incomplete picture.
For example, some online retailers found that if a product has online comments, that reduces the return-rate. Whether the comments are good or bad, it doesn't matter. People buy more of the good ones, and avoid the bad ones, which overall improves margins.
However, there are other things that are more difficult to quantify... like has you brand improved among your audien
- Has having a presence on Facebook and LinkedIn helped us recruit better candidates more quickly?
- Has having a presence on Twitter enabled us to enhance our brand, and improve Google rank?
- Has having a Blog enabled us to genuinely connect with our audience, helping us whether the publicity is good or bad?
- Has our social media presence enhanced brand awareness and/or loyalty?
If you only use metrics that measure hard current ROI, then you might be neglecting the value of reducing future negative ROI.
(hat tip Mike Melanson)
Oracle 11g Webcast
June 24, 2010 - 12:10pm — bexIt's time again for the Oracle UCM Community Webcast... and this one will of course focus on what's new in 11g. I strongly encourage you all to attend this one, since you'll be able to get answers for all your burning questions about 11g that you have been afraid to ask... as well as the ones Oracle wasn't allowed to answer until after the release!
You'll need to register for the event in order to attend. Be sure to log in with your company's email address so Oracle knows who you are!
Americas / EMEA Web Cast
- Date: June 30, 2010
- Time: 9:00am US PDT / 12:00pm US EDT / 16:00 GMT
- Length: 1 hour
Asia / Pacific Repeat Web Cast
- Date: July 1, 2010
- Time: 12:00pm Sydney AEST, 10:00am Singapore
- Length: 1 hour
So... what questions do you plan on asking?
Apache mod_rewrite for Oracle UCM Users
June 23, 2010 - 4:03pm — bexKyle had a useful tip a while back about a little-known feature in Oracle UCM: the WebUrlMapPlugin which allows friendly URLs for Site Studio pages. It's extensible, which means you can add your own friendly URLs to the map if you wish.
For example, you could make the URL http://example.com/file/foo automatically redirect to the GET_FILE service to download the item with the content ID of "foo." You set this by going to the page "Administration > Filter Administration > Edit Web Map Urls," then assigning the prefix /file to a map like this:
<!--$cgipath-->?IdcService=GET_FILE&dDocName=<!--$suffix-->&allowInterrupt=1&
RevisionSelectionMethod=LatestReleased&Rendition=web&noSaveAs=1Looks a bit hairy... but those are all the parameters you need to run the service. You can see why some URL aliases come in handy! Kyle has some more suggestions on his blog post.
This is fine and good for internal UCM products... but it can be somewhat limited. This map looks like it supports IdocScript, but you actually only have very limited token replacement functionality...
If you are using Apache, a better option would be to use mod_rewrite. This is an extremely powerful add-on module to Apache that allows you to "rewrite" URLs to make friendly aliases. It's one of the few Apache modules so popular that it has it's own book!
There are some good cheat sheets and beginners guides available for mod_rewrite... but lets' just dive in for a quick tour.
To get started, first we need to enable the module. This is almost always installed with Apache, so installation should be simple. Append the following code at the bottom of your httpd.conf Apache configuration file:
# load the rewrite module, if its not already loaded
<IfModule !rewrite_module>
LoadModule rewrite_module /usr/lib64/httpd/modules/mod_rewrite.so
</IfModule>
# turn on rewrite debugging so we can figure out when redirects don't work
RewriteLog "/apache/logs/rewrite.log"
RewriteLogLevel 3
# turn it on
RewriteEngine On
Now, mod_rewrite should be running... the next step is to create a RewriteRule to match the pattern. The mod_rewrite module uses Regular Expressions to match patterns in the incoming URLs. If a pattern matches, then the rule applies. The first part of the rule is the pattern to match, the second part of the rule is where to redirect the URL to. A very simple example would be this:
RewriteRule /file/foo /bar
This rule would redirect all URLs that look like http://example.com/file/foo to http://example.com/bar. Once we add regular expressions, however, things get more interesting... instead of just matching the word "foo", let's say we wanted to redirect ALL of the pages to http://example.com/bar. The rule below would accomplish that:
RewriteRule /file/.* /bar
The "." character says "any character," and the "*" character says "zero or more of the previous character." So, this rule will match everything under http://example.com/file/, and redirect it to http://example.com/bar. Of course, this isn't terribly useful... so lets see if we can make the same file download URL as above.
First, let's add some security... the global wildcard is usually discouraged, because it does actually grab everything, and unless you really know what you're doing it can be a security hole. A better option is to use a token for just characters valid for a content ID... Which means lowercase "a" through "z", uppercase "A" through "Z", the numbers "0" through "9", and the underscore and dash characters... so we do this:
RewriteRule ^/file/([a-zA-Z0-9_-]*)$ /bar/$1
Hopefully this doesn't look too alien... Firstly, the ^ character represents the beginning, and the $ character represents the end of the URL. We then put the allowed characters in brackets "[a-zA-Z0-9_-]" and the "*" says "zero or more of the characters in that range." We put this whole thing in parenthesis to turn it into an "atom".
Once we match the pattern, we can re-use the "atom" in the subsequent redirect URL. The "$1" token represents the first atom found in the pattern... so our URL above will redirect http://example.com/file/foo to http://example.com/bar/foo. For complex redirects, you can use multiple atoms in the same rewrite rule, which can be extremely handy for organizing quick links to content.
Finally, we need to change "/bar/$1" to something that will actually download the file... so we will redirect to a content server service instead, like so:
RewriteRule ^/file/([a-zA-Z0-9_-]*)$
http://%{HTTP_HOST}/idc/idcplg?IdcService=GET_FILE&RevisionSelectionMethod=Latest&dDocName=$1
Ta da! Now the url http://example.com/file/foo will redirect to http://example.com/idc/idcplg?IdcService=GET_FILE&RevisionSelectionMethod=Latest&dDocName=foo.
To support URLs of the type http://example.com/file/foo.txt, you'd modify it to look like this:
RewriteRule ^/file/([a-zA-Z0-9_-]*)\.([a-zA-Z]*)$
http://%{HTTP_HOST}/idc/idcplg?IdcService=GET_FILE&RevisionSelectionMethod=Latest&dDocName=$1
This rewrite rule has two atoms, but we only need the first atom, so we just ignore the second. However, we could get clever and use a different rewrite rule depending on the file extension... or we can just ignore the extension since the content ID is all that matters.
Oracle UCM 11g Now Released!
June 8, 2010 - 7:42am — bex
Good news! The 11g version of Oracle UCM is finally available! This version is a bit of a re-write to run on top of the WebLogic application server. Oracle has been talking about this release for some time, so I'm glad to see it finally available.
Despite the architecture change, the basic administration interface should be familiar to existing UCM customers. The install is a lot different, and you'll need to learn basic WebLogic application server administration. This isn't as tough as it sounds... you can refer to my presentation on the top 10 things UCM admin need to know about WebLogic to get started. Once you wrap your head around the concepts of instances, servers, and domains, it's not too difficult.
There are a ton of new performance enhancements in this release... when using a half-rack Exadata Machine, they were able to get 180 million 100k document check-ins per day. Note: these are full document check-ins; not merely lightweight "object" storage. Now that UCM is the repository for IPM, you can imagine how Exadata makes an excellent addition to a high-ingestion setup.
Download performance is pretty good as well... using the new Open WCM technologies, Oracle was getting about 120 Site Studio web page hits per second on commodity hardware... Is that a lot? Well, by way of comparison, Wikipedia has a farm of 249 servers, and each node gets on average 80-200 hits per second per server... sometimes spiking to 250... and Wikipedia is using a very lightweight LAMP stack, as opposed to the full enterprise JEE stack that Oracle was using for their tests. I'm sure with a additional tuning (like a CDN) you could get more than 120 hits per second with UCM... but as a general rule, if you need more than 120 hits per second, you really need more than one server!
You can download the new software in the usual place. The documentation is bundled with the rest of the Oracle Fusion Middleware documentation,
Since 11g is so new... Oracle University doesn't have any training for it yet. Luckily, my company -- Bezzotech -- can do Oracle UCM 11g training if you need it.
Oracle UCM jQuery Plugin for AJAX
June 3, 2010 - 7:56pm — bexI recently put together a jQuery plugin for Oracle UCM, and thought I'd share. This connector allows you to use jQuery to make UCM Service calls through AJAX, and easily display the results. This is 100% pure JavaScript, no Java, Idoc, or ADF required! You can download the plugin from the Bezzotech library page.
You will need to be familiar with jQuery before you can use this plug-in. You can start with the jQuery tutorial at W3Schools.
This plug-in is essentially a collection of wrappers around the $.post() method in jQuery, to allow you to more easily make AJAX calls to Oracle UCM. For example, in order to make a "Test Connection" button to call the "PING_SERVER" service, and pop-up a status message, you'd use code like this:
Notice how we have to pass function(ucmResponse){} as a parameter to the executeService method... and then fill that function with the code we want to run after the request completes. Also note that we are passing in functions as parameters to the button's click event, and to the document's ready event. Passing around functions in this way looks quite odd if you're used to object-oriented languages like Java... but it's standard operating procedure for jQuery and AJAX.
The ucmResponse object is a standard JSON data object, with the following convenience functions added:
- getValue('value') looks in the LocalData and the ResultSets to get a value from the response.
- getRow('resultSetName', index) gets the row in the specific ResultSet at the specific index as an associative array (hashtable) of name-value pairs.
- findRowIndex('resultSetName', 'column', 'value') returns the first row index in the result set where the column equals the specified value.
There are more examples and instructions in the download. If you have any suggestions or requests, please leave a comment!
What Almost Everybody Gets Wrong About Collaboration
May 24, 2010 - 11:09pm — bexI've used dozens of collaboration systems... none of which really stood out to me. It wasn't that they were difficult to use, it's that none of them actually solved the human problems that limit our ability -- and our desire -- to actually collaborate.
It wasn't until recently that I came across a talk from Clay Shirky, which explained pretty well what was missing... Clay spoke about human nature and software and asked a very important question: why do some kinds of sharing work well, while other fail?
Well... one reason is that according to anthropologists, there really is no one thing called "sharing." We humans -- like all primates -- have three distinct ways that we share... and our brains are wired to do different things based on what kinds of sharing we are doing.
For example... I want you to imagine that a little old lady is walking up to you on the street. She makes direct eye contact, and gestures that she has a question for you. I want you to take a deep breath and genuinely imagine that she asks you one of the following three things... and take note of your emotions:
- she asks you for money,
- she asks you to help her cross the street,
- she asks you for directions to the bus stop
If you are like most primates, your initial gut reaction to #1 is something like "NO! MINE!" Your gut reaction to #2 is "eh... OK..." And your gut reaction to #3 is "Absolutely! I'd be happy to!"
Why??? All three are sharing, aren't they? Not quite... millions of years of evolution have wired us to react differently to different kinds of sharing. The examples above each demonstrate one kind of sharing:
- Sharing Goods: the gut reaction it to feel bad when you give somebody else your goods... because then you can't use them anymore, and you might not be able to replenish them. Even generous people have this initial reaction.
- Sharing Services: people are more generous with favors, because they don't lose anything physical... merely their time. However, before sharing your time, everybody does a little mental math. Do I have the time? Is this worth my time, or should I delegate to somebody else? Shouldn't I be compensated for my time?
- Sharing Information: people are most generous when it comes to sharing information... it takes little measurable time, it costs nothing, and sharing information makes us feel good. We feel good, because we feel like we've helped out one like us, and made the world a better, more knowledgeable place.
Clay used the example of Napster to illustrate his point... it took a goods sharing problem (can I have your CD?) and a service sharing problem (can you make me a mix tape?) and turned it into an information sharing problem (can I download all your already ripped albums?). People were sharing their albums online because it made them feel good.
Like monkeys with iPods...
The problem with most collaboration software is that collaboration software relies too much on "service sharing" to get people to take action. I post some information on a place for "sharing" and to make it better through input from others... but in order for that to happen, first you need to read it and understand it. That's sometimes not a big deal, but in many cases it's a significant time investment.
To make matters worse, some of these systems even make it difficult for you to do the mental math for you to determine whether reading my document is worth your time... Is this for an important project? How important? Do you need my expertise for all of this, or just a few pages? Should I be charging your department for my time? Not only is this still a "service sharing" problem, but a pretty tough one at that...
Ideally, a good collaboration system would obey the 2 minute rule. Getting information is still something of a service... but if it's a service that can be performed in under 2 minutes, it will probably "feel" more like an information problem... which makes it more likely to be done. If it takes more than 2 minutes, then it feels like a service problem, and then we're back to the mental math problem...
Getting down to the 2 minute rule is tricky... you could opt for a system like Aardvark, which tries to match simple questions with the right person to answer it... Alternatively, you could force people to jump through a few hoops first before asking a question; essentially making it easy for people to answer your question. If people can estimate the difficulty of the task and the value provided by the solution, then it's easier for them to do the mental math for the tougher problems.
Neither of these are new concepts... in fact bug tracking systems for successful open source projects use a blend of both. They'd have to, or their entire model would collapse! Although I have yet to see any enterprise level collaboration system truly adopt these concepts... probably because the enterprise is something of a captive audience. If you're lucky youll have a system that focuses on ease-of-use and good training... but adapting to human behavior isn't always high on the list. Would people still use your collaboration system if you didn't pay them? Probably not... which usually means a problem...
Hopefully the big push to "Enterprise 2.0" solutions will get more software companies thinking about making software that's a natural extension of human behavior... Maybe in a few years we'll have Aardvark for the enterprise... but I'll take my standard curmudgeony "wait and see" attitude ;-)
In Migration Mode...
May 20, 2010 - 1:31pm — bexYou might have noticed this site go away for a while yesterday... my ISP is migrating my site to the latest version of Drupal, and we hit a few snags when we tried to take it live...
We're giving it another whirl today, and hopefully it will be good-to-go tomorrow. I have a new skin that I'll be showing off... as well as a few new features.
The World's Oldest Computer
May 5, 2010 - 8:44pm — bex
Sometimes people ask me, "what does your company's logo mean?" When I founded Bezzotech 4 years back, I wanted a symbol that says "high-tech and new", but also something that says "old school rocks!"
After a bit of thinking, I realized the answer was simple. There was only one appropriate symbol, the computer invented by the ancient Greeks: the astrolabe.
An astrolabe is essentially an analog calculator. You would set it according to your latitude, and point the rule at a well known object in the sky: the sun, the moon, the north start, etc. Depending on what you picked, you could calculate the time of day, the time of year, or your location. It could be used for things as simple as calculating when to plant your crops, or as complex as a geographic survey of an entire city. Advanced ones had charts on the back to help with math calculations, and conversions.
It was originally invented in Greece in approximately 150 BC, and spread quickly through Europe and the Middle East... They aren't very common today, but 2000 years ago they had approximately the "cool factor" of the iPhone. One Persian astronomer wrote a book on the 1000 different uses of an Astrolabe. Technically, the astrolabe has more apps than the Google phone...
You can make a simple astrolabe using paper or wood... but of course the most beautiful ones are made from brass. In the old days, an educated person would not only know how to use an astrolabe, but they could build one as well. This presentation from the TED conference covers how it was used, and how amazingly resourceful our predecessors were with them:
So what do you think? Does my logo look like an astrolabe, or is it just a cool gear thingie?
Blog Year In Review
April 29, 2010 - 1:28pm — bexAs usual, I'm celebrating the end of my blog's fiscal year on April 29, 2010... because that's the day of my first blog post. Also, I didn't want my "end of year" post to be drowned out by everybody else's end of year posts...

Anyway, at the end of my blog's year, I do some analysis on what posts were the most popular. I use Google Analytics on my blog to collect this info, ever since I found other engines to not be what I needed... see my post on how many hits does your site really get for more info.
Overall, the blog is still doing well... I got 182,364 page views, which is about 15% more traffic this year than last year... below are the top posts of 2009, according to Google:
- HTML 5 versus Flash and Flex: a post on the future of the web. I like Flash, but it is not the future, and anybody who builds upon it will be kicking themselves in 2 years. Steve Jobs agrees... (9342 views)
- The Best Fairy Tale EVER!: it made me believe in fairy tales...(4331 views)
- The Bucket List: what do you want to do before you die? And... what on earth are you waiting for? By the way... don't rob a bank(2782 views)
- How To Make A Decision: a look into the biology behind the decision making process in the brain, and how to hack your brain to make better decisions (1950 views)
- Scripting Oracle UCM with Jython: want to whip out an administrative script for UCM, but with the power of CIS? Simple: use Jython and RIDC. (1538 views)
- The Deep Dark Secret of Oracle UCM's Security Model: A historical post about why UCM developers designed the security model they did. (1503 views)
- Oracle UCM Rated a Leader in Gartner's Mystic Grid: Good news for the Oracle UCM team. Well done! (1314 views)
- Oracle Glassfish Supports Jython and Django: quick post on how Oracle is supporting open source frameworks (1076 views)
- Is the Roth IRA a Total Con? feeling cynical one day, I decided to do the math, and I could not justify the existence of the Roth IRA (873 views)
- How One Bad Business Process Doomed GM: a lesson on the rule of unintended consequences... one business process that seemed good at the time was left unattended for too long, and probably doomed General Motors to bankruptcy. (847 views)
So.. although this may seem a bit early -- or a bit late -- happy new year! And hopefully you're following you new years resolutions.
The Top 10 Things Oracle UCM Users Need To Know About WebLogic
April 28, 2010 - 8:30pm — bexAs promised, below is my presentation from IOUG Collaborate, 2010. It's an intro to WebLogic for people who know Oracle Universal Content Management:
In case you haven't heard, the 11g version of Oracle UCM will by default run on top of WebLogic. I have heard that support for other platforms are planned post-11g -- such as JBoss, WebSphere, and maybe even the old-fashioned stand-alone mode -- but it's still a good idea to become familiar with WebLogic. These concepts will be similar on JBoss and WebSphere... especially when it comes to the security and performance sections of my talk.
Enjoy!
Bezzotech and IRA Merge Into One!
April 18, 2010 - 6:36pm — bexThis shouldn't come as a surprise to my clients, but it might to a lot of my readers...
About 6 months ago, Jason Clarkin (from Impement R Advantage) and I had discussed joining forces. We talked a lot about the kind of firm we could build together, and what kind of new software we could create. We started working very closely together to make sure our business styles were similar, and that our skills complimented each other's well...
Once comfortable with that, we decided to pull the trigger an make it official. We are now one company!
We decided to make the big splash at IOUG Collaborate... together, our company is giving three UCM related talks this year:
- Sesion 418: The Top 10 Things Oracle UCM Customers Need To Know About WebLogic. Tuesday, April 20 3:15 p.m.
- Session 422: UCM as the Repository, Presentation Layer of Your Choice: The Future of WCM. Wednesday, April 21 8:00 a.m.
- Session 107: Impact of Oracle UCM on Organizations. Thursday, April 22, 11:00 a.m.
Also, be sure to swing by our booth: #1743. We're right by the big Oracle booth near a few other UCM vendors. See you there!
Twitter is Sooooooo 18th Century...
April 16, 2010 - 2:03am — bexJust in case you think that Twitter is cutting edge, the good people at the Wall Street Journal are here to set you straight... On their blog they interviewed Cornell professor Lee Humphreys, who did an analysis of the striking similarities between Twitter and 18th century diaries.
Personal journals were not always about writing long prose about everything you did that day... most of them contained very short one-sentence updates:
"Before the end of the 19th century, diaries weren’t considered private or introspective. Instead, people wrote semi-public diaries that were often shared among faraway family members and others. And space was at a premium; by the mid-1800s, popular “pocket diaries” were only about 2 inches by 4 inches and were intended to be more mobile than earlier books."
Take for example somebody I just started following recently: John Quincy Adams. Yep... son of John Adams and the sixth president of the USA, John Quincy is up on Twitter. The Massachusetts Historical Society is taking his personal diary verbatim and placing it up on Twitter... 200 years to the day AFTER he originally wrote them, and most of them fit into the 140-character limit just fine! Call me nerdy, but that's pretty cool.
One of my favorite lines from the article is this:
Dr. Humphreys said the research serves as a good reminder that not everything in new media is entirely new. "It’s helpful to put things into historical context," Dr. Humphreys said. "It’s amazing how much human nature hasn’t really changed all that much."
Too true... when Twitter first came out I thought it was a silly concept... why would I Tweet when I could Blog? The point it, despite the number of blogs out there, not many people enjoy writing... but everybody like keeping up-to-date with friends.
But of course, that's what Facebook is for ;-)
Almost Time For IOUG Collaborate 2010
April 12, 2010 - 6:55pm — bexAnybody else jazzed that IOUG Collaborate 2010 starts in a week??? Hanging out with Oracle Nerds and talking technology may not be everybody's cup of tea... but it's waaaaaaaaaay more fun than most people realize... Honest! No foolin!
...or maybe I just have unusual tastes...
In either case, I'm going... and I'll be giving my talk on The Top 10 Things Oracle UCM Customers Need To Know About WebLogic:
Date: Tuesday, April 20, 2010
Time: 3:15:00 PM - 4:15:00 PM
Location: PALM D (wherever that is)
In case you hadn't heard, both IPM 11g and IRM 11g now run on top of the WebLogic application server. The word is that Oracle UCM 11g will need WebLogic as well... No word yet if this will be a requirement, or if some kind of "stand alone" mode will also be supported. In any event, the go-forward strategy for pretty much all Oracle middleware products will center around WebLogic... so it's probably a good idea to get to know it sooner rather than later.
I've used WebLogic for years, and recently I've been playing with a beta copy of UCM 11g on WebLogic. I thought I share my thoughts and help demystify what this WebLogic stuff means to UCM customers... Spoiler alert: everything will be just fine.
Anyway, if you want to meet up at Collaborate, let me know! I'll be attending a few of the 15 sessions on UCM -- a shockingly number, IMHO -- and attending the Oracle ACE dinner on Sunday... but my schedule is otherwise quite open...
Hope to see you there!
Let it go, this too shall pass...
April 9, 2010 - 12:48am — bexI couldn't resist... this latest video from OK GO is as amazing as their other ones...
Should Product Managers Know How To Code? Steve Jobs Couldn't...
March 25, 2010 - 12:10am — bexLast week I was in a spirited debate with @jkuramot over at The Oracle AppsLab about whether or not Product Managers need to know how to code.
Jake says yes, I say no... Primarily because we disagree about what a product manager actually does...
First, I think I should answer the question, what the heck does a Product Manager do all day long??? Most of the time when my wife tells people she's a "proDUCT manager" they think she's a "proJECT manager"... which isn't even close. I've met quite a number of Product Managers, in different industries, and I can safely say that most of them do significantly different tasks... And many of them disagree on what their main focus should be.
Why such contention? The best explanation I ever heard was this: a product manager is more or less the CEO of a product line. Which means that pretty much anything that will help your product, you should do... which means a million different things in a million different situations. In order to be successful, you need to know a little bit of everything -- what features to add, what new markets to attack, what sales people need to sell -- in order to be an effective Product Manager.
Rich Manalang did not like that definition, saying it was too broad... he preferred the idea that a Product Manager is responsible for just the "life cycle" of the product. In other words, vision, design, creation, testing, support, and end-of-life decisions. In my opinion, this definition is far too narrow... it's far too "developer centric" in that you focus mainly on new features, training, and support... but neglect such very important things like what effect does the existence of this new product have on the rest of the company? An individual Product Manager might not know this... but hopefully somebody on the Product Management team does! If not, then nobody is building the path between a successful product launch, and a successful company.
If the Product Manager isn't responsible for that critical task, then who the heck is???
Back to the original question... do technology product managers need to know how to code? I say, emphatically no... It's a useful skill to have, don't get me wrong... but I disagree that it's a requirement for everybody on your product management team.
Let's be clear -- programming skills are primarily useful to a Product Manager as a communication technique. A prototype speaks volumes about what features people want... but that's about the limits of it's usefulness to a Product Manager. And, of course, if you are a good communicator, you can certainly do without it.
"the three great virtues of a programmer: laziness, impatience, and hubris" -- Larry Wall, inventor of Perl
Now... what if you are a Product Manager in charge of lazy, lazy developers? This happens. Maybe you want a feature, but the developers don't want to add it. So the developers give you the run-around so they can go back to playing Halo. Well, in those cases it helps to know how to program, so you can call out your developers for being lazy virtuous... but this only works if you know a great deal of the existing code base as well! Just because it works in a prototype, that doesn't mean it will work when integrated into the product.
"When it comes to understanding code, if you wrote it 6 months ago, it might as well have been written by somebody else" -- Ancient Geek Proverb
Knowing the code base is a pretty hefty requirement... even seasoned developers don't know everything about their product... so it would be nigh impossible for a Product Manager to do so. It's more important that their minions think they know the whole code base, to try to keep the lazy virtuous developers honest. The best technical Product Managers know ho to "dive deep" into the product, and know well a handful of obscure but important details about the system... this inspires a healthy amount of fear.
Ultimately, Product Management is so important and so difficult, that it's almost impossible to find all of the skills you need in one person. Small companies do this, but as companies grow, they usually break it down into three teams... it's occasionally useful for the "technical" Product Manager to know how to code, but this rule does not apply to your whole team.
If you're looking for more info on this subject, I've heard great things about the Pragmatic Marketing Framework for designing a Product Management team.
The Origin Of Bex: Now Available On Netflix
March 11, 2010 - 5:52pm — bex
I'm frequently asked where I got the nickname "Bex." Back in 2008 I finally put the matter to rest by explaining the origin of "Bex".
The quick story is this: a while back I saw a British TV show with a character named "Bexley," thought it was a cool name, and started using "Bex" as one of my (many) internet aliases. When I went to college, there were too many "Brians" in my dorm, so they decided I needed a nickname... one of my geekier dorm-mates asked me what I used for internet aliases, I mentioned them, and they liked "Bex" the best.
The rest, as they say, is history...
The TV show in question is Red Dwarf, which is a something of a sci-fi cult comedy... I was recently surprised to see that Red Dwarf is available via NetFlix-On-Demand! If you have NetFlix, and about 20 minutes to spare, you might want to watch the television episode that spawned my nickname. And maybe a few more episodes, if you care to...
The show is well written, if not a bit quirky... but, if you're a frequent reader of my blog, you probably have the sense of humor necessary to find it charming ;-)










Recent comments
2 days 6 hours ago
6 days 12 hours ago
1 week 1 day ago
1 week 4 days ago
2 weeks 9 hours ago
2 weeks 9 hours ago
2 weeks 9 hours ago
2 weeks 1 day ago
2 weeks 1 day ago
2 weeks 3 days ago