Job Satisfaction Guaranteed


Our most popular post is Justin’s fabulous job satisfaction model, where he outlines the push and pull factors that result in higher or lower satisfaction. The enormous popularity of the post caused me to take another look, 8 months later.

Yep, still there and still pretty darn good.

The piece that really stands out to me is that there are things that can make an employee dissatisfied, but merely removing or fixing them will not make an employee satisfied. To be satisfied, you need to be hit with a whole other list. Read this list!

Of course, I had to think about myself and my own satisfaction. As you know, I love my job. Sure, there are things that are dissatisfying, but overall things are pretty good. Why? Most specifically, a great manager, opportunities for growth, and support of colleagues.

These things trump my poor working conditions any day (i.e. my “ghetto” keyboard with missing keys and a layer of orange juice).

      

CREATE_DIRECTORY first improvement

That was quick..good to know that folks are reading the blog. Christian wrote an email to me specifying the following. Consider this example, which gives access to the root directory: SQL> exec create_directory.createdirectory('rootdir as''/''--','/u01/thisismypath'); It results in the creation of the root directory “/” but without granting the privileges to the user so not a home run but the [...]

TalentedApps makes the Top 25 Talent Management blogs!


top25_badgeWe had the pleasure to find out that the folks at Fistful of Talent and HR Capitalist voted TalentedApps as one of the Top 25 Talent Management blogs!

Coming on the heels of our one year anniversary, this is an energizing validation of our purpose and beliefs shared by 15(!) of us from development and strategy and the way we’ve each tried to make the blog informative and entertaining.

Our thanks to the voting members of Fistful of Talent and HR Capitalist and very special thanks to our readership for following our blog and participating in the conversation. We will continue to strive to do our best to help you better achieve your goals through talent.

      

Limits to Scalability

antony.reynolds | Dec 3, 2008 07:01 -0700

Cameron on Limits to Scalability

Whilst working at Los Alamos Richard Feynman delivered a series of lectures to the other scientists on the fundamentals of mathematics.  Of course everyone present knew where he was going, but the pleasure was in watching how he got there.  I had a similar experience watching Cameron Purdy’s presentation today at the Oracle User Group Conference in Birmingham.  His presentation was entitled “Top 10 Patterns for Scaling Out Java™ Technology-Based Applications”.  There wasn’t anything in there I hadn’t seen before, but watching Cameron build up the story and explain the why was a wonderful experience that clarified my thinking and opened up new possibilities to me.  Cameron originally gave this presentation ay JavaOne 2008 and had an hour slot, but at the OUG he only had 45 minutes, no-one complained when he ran over time, and Simon Haslan as session chair let him run over because he was enthralled as everyone else by the delivery style and content.

So what were Camerons 10 patterns?

10. Understand the Problem

9. Define the Requirements

8. Architecture trumps technology

7. Understand the Basics

6. Visualize the Network

5. Visualize the Design

4a. Plan for Overload

4b. Partition for Scalability

3a. Plan for Failure

3b. Replicate for Availability

2. Tier where it makes sense

1. Simplify

If you didn’t attend the presentation at JavaOne or UKOUG then you missed out on half the experience.  If you did miss out then read the presentation and you will probably come away wiser and with greater insight, I know I did.

Missing UKOUG…

I’m a bit hacked off because I’m missing out on UKOUG…

I got a free pass to check out the conference this year and I can’t go because I’ve got a cold. I spent the whole of yesterday in bed and I think I’m going back there now. I’m bored out of my brain, but every time I try to do anything other than sleep I feel really dodgy and my joints hurt.

It’s my nephews birthday tomorrow. If I miss that I’m going to be in all sorts of trouble, but it’s not looking good at the moment…

I’m off to Sweden next week for a conference over there. I hope I’m feeling better by then!

Cheers

Tim…

Day One UKOUG

antony.reynolds | Dec 2, 2008 02:32 -0700

First Day in Birmingham

Yesterday was the first day of the UK Oracle User group conference in Birmingham – my home town.  The best presentation I attended was by Sten Vesterli entitled “What’s Hot and What’s Not – an Overview of Oracle Development Tools”.  This gave a very realistic assessment of the options open to Oracle developers when choosing a development tool.  He also pointed out something that we all need to remember – Use the right tool for the job.  This was a theme that was later reinforced by Tom Kyte in his outstanding keynote on “The best way …” who made a strong case for understanding multiple IT languages to have access to the right tools, observing that understanding multiple languages allows you to have access to different ways of thinking.  Today I have a presentation around choosing the right Fusion Middleware component for the job.  Unfortunately I am up against Mike Lehman so I suspect my attendance will be low.

If you are at the UKOUG stop by my presentation tomorrow (Wednesday) on using a SOA maturity model to drive project selection.

Moving a WLS Domain

The following describes how to move your own sandbox kind of WebLogic Server domain. This method is not supported and should not be used to move any other kind of domain. It is also not guaranteed that any applications deployed on it, will move flawlessly with it. And it I tried it only on Windows.

So why describe it anyway? Well, just like me, you might have not payed attention when creating a domain and it therefore may have ended up in your product home directory. And you might, just like me, be too lazy to want to run the wizard and create a new one. Not that it is so much more work to do so. Finally, just like me you might be interested to know where WLS stores this kind of information.

Moving a domain can be done as follows:
  • Copy the domain directory and everything under it, to the location where you want it to be
  • Search all the files in the domain directory for the fully qualified path name where the domain was located (e.g. d:\oracle\product\bea\domains\MyDomain, and replace that by the fully qualified path name where you want the domain to be (e.g. d:\wls\domains\MyDomain). You will find a couple of files, among them .cmd files.
  • Find the nodemanager.domains file (in my case in the d:\oracle\product\bea\wlserver_10.3\common\nodemanager\ folder). Find your domain in there and modify that manually (e.g. to d\:\\wls\\domains\\MyDomain)
  • Finally, change the short-cuts to start and stop your domain to point to the correct locations.
That did it for me!

Advanced Oracle Security Development

The code and slides for my talk was first made available at UKOUG’s web site http://conference.ukoug.org/default.asp?p=842&dlgact=shwprs&prs_prsid=3130&day_dayid=13 I have edited the content into Word Below is the CREATE_DIRECTORY package I have written which means that users do not need to be granted CREATE ANY DIRECTORY in future. Updates to the package will be made to this URL. --CREATES A DIRECTORY [...]

UKOUG 2008 Presentation Monday@17.55

Whilst preparing for UKOUG and talking to another well known Oracle Security expert I had some thoughts about the implications of the CREATE ANY DIRECTORY issue . Firstly the Oracle utilities could be overwritten with a new binary - LSNRCTL, SQL*PLUS, IMP, EXP and the debugger for instance. It is possible to execute OS binaries [...]

How to keep a small company afloat in tough times…


Nearly ten years ago I started a company in Australia with a group of like-minded innovative guys in pursuit of success and ultimately freedom.  We raised a bunch of VC money (over a million) and cranked out some super high-quality code.  We shipped several releases - on CD at the time - and captured about 10% of the market.  Then “dot com” hit.  We struggled.  We died.  However, it wasn’t that “dot com” killed us.  No.  We never blamed it.  It was our inability to think strategically in the market place and to keep delivering products that people highly valued and would ultimately hand over “their hard earned cash” in tough times. While our product was good, we realized it wasn’t something that people “really needed” and it was something they could live without during such times. 

We prolonged our existence for a long time, longer than we expected.  It was painful, often very painful. Friendships and relationships were damaged.  Some completely destroyed.  But a lot of lessons where learnt. Some I’m proud of and some I’m not.  There were also some that were simply bad ideas that I’m thankful we never implemented or attempted.  

Here’s my top 18 things to do to survive in tough times.

1. Cut costs.   It’s all about being ruthless.  If you can’t quantify the contribution that something brings to the company, then it must go.  We cut back on a lot of things.  Company lunches, coffee, parking, all kinds of things.  We also reduced holidays, especially for ourselves (and thus holiday pay).  

2. Cut staff.  This is especially difficult in a small company when everyone knows everyone else - ie: it’s family, but this has to be done.  We cut staff.  Generally Last-In-First-Out.  I can still remember the first time I sacked someone - someone that was very good at their job and really didn’t deserve to go.  But we “let them go”.

3. Contract out existing staff.  If you can’t cut staff, perhaps they are better put to work doing something else to bring in cash.  It’s all about cashflow, so bringing in more is a good thing.  Both myself and a colleague started contracting for another company while running our own. Of course our VC “suggested” this and made it “very compelling”. By mere coincidence the “other company” was also being funded by the same VC, but it kept us going.  Working multiple high-pressure jobs ain’t easy though.

4. Work longer hours.  If you cut staff inevitably you still need to pick up some additional work.  We mainly worked 6 days a week and every night.  For me the day off involved sleeping - even when visiting friends and family I spent a lot of time crashed out on the couch. I’d avoid driving so I could sleep.  Ultimately we’d roaster people to work weekends etc.

5. Increase prices.  Seems weird but we found that after testing the market we could sell less but at a higher-price point.  Less customers meant less support (not that we had much).  We almost doubled our price.

6. Charge for support.  We didn’t do this, but when we looked at things it seemed more profitable to ship a slightly worse quality product, with more regular updates, then have a higher license. Ultimately we decided that we didn’t want to build a company based on a support model.  We had a great reputation for quality and customer service.  So this was never a real option.

7. Open source it.  We didn’t do this, but it followed on from our conversations about #6.  Perhaps we could possibly extract more money from support than actually selling the product.  In fact, giving it away, complete with the source was a viable option.  What we eventually did was increase the period people could use the product in “trails”. ie: to get them hooked, and then send them an invoice.  People seem to pay invoices when they arrived.  During the “trail” period everything was branded with “trail”.  For people to get rid of the “trial” they need to pay.  This is what I like to call the “pay us to take the pain away” model.

8. Don’t pay suppliers (immediately).  Yup.  It’s a simple process and not something I personally liked doing.  We’d simply make sure we’d leave it to the last minute to pay suppliers.  As our VC helped us “understand”, we always stretched invoice payments to 90 days.  This way we could extend cash flow and effectively use our suppliers as short-term creditors.  It destroys supplier relationships pretty quickly, but can give you room to breath - or mean you can meet the next months salary payments.

9. Avoid paying suppliers full value or a previously negotiated value.  Another VC “inspired” cash flow management technique.  Call up suppliers and negotiate after the invoice has been received or when a payment is due.  Again, not something any of us would like to do, but still, something that extended cash flow.  eg: We’d say, instead of paying $30k for some service, we’ll pay $15k, or installments of $2k for 10 months.  Again it was all about cash flow and ultimately paying staff salaries.

10. Selling the IP. Much harder to do than we thought, but licensing our IP to another company seemed like a good idea at the time.  The challenge was however finding a buyer.

11. Selling the company.  Following on from #10, trying to package ourselves up as a going concern.We’d market the crap out of ourselves, get as many “hits” as possible, ensure we were #1 on all search engines and then show a potential buyer how good we were.  Again, the challenge was finding a buyer that believed this.  Obviously it doesn’t work… even today.

12. Selling parts of the company.  Much like #11, but instead attempting to find another VC to help out.  Of course, the next round meant you’d be “taken to the cleaners” on valuation and end up owning less and less of the company you founded.  We looked at it and said, no chance.  We’d end up with 1%.

13. Getting a line of credit.  If #12 fails, often a line of credit is provided as an alternative.  This is a high risk approach and usually a “last ditch effort”.  Essentially it means that the creditors become first in line to seize assets should you not meet a repayment.  The big challenge here was finding an asset that a creditor would accept as collateral.  Most creditors wanted our houses.

14. Reduce salaries. Not something that’s easy to do, but it can help out.  We reduced our salaries, and some months did not take any payment.

15. Forget about bonuses.  Pretty obviously really.  No cash bonuses.  Do anything else to reward and provide recognition, accept use cash. We actually didn’t give bonuses anyway, so unfortunately it wasn’t an option.

16. Loan the company money.  Yup.  We became creditors of the company, but at the bottom of the stack. I personally borrowed money to pay company salaries, while at the same time not taking a salary.  The founders too turns doing this for months.

17. Find someone to sue.  Yup.  This had crossed our minds, but we didn’t do it.  Ultimately this is a game of chance.  What is the chance that we could sue someone and win?  We had earlier discovered someone cracking and on selling our licenses overseas.  We simply had to consider, “was there greater reward in investing our time and resources in suing them and being paid” rather than building a great company?  Our answer was no. Of course in the past few years we’ve seen this model in the industry a few times. Companies can get desperate when sales are dwindling and they look for someone to sue, for any reason. It’s a game of chance.  Anyone can be sued.  Previous customers, competitors.  Anyone, for any reason. Perhaps they’ll want to avoid court, and simply pay up.  ie: it generates cash flow.

18. Under no circumstances tell the public how bad things are. Yup.  We carried a brave face for a long time.  In front of our staff, family, friends and partners.  It wasn’t easy, but we did.  Something I’m not proud of, but we lived the “success lie” for many months.

Ultimately for me one day I just woke up, looked in the mirror and was honest with myself.  I asked the question “Are we trading insolvent?”.  Why did this bother me?  Simple really.  Knowingly trading insolvent is a “go to jail” offense in Australia.  Another way to think of it is “am I flogging a dead horse”.

Importantly I also learnt it’s not a question you should generally table in a board meeting.  Wow… was that an interesting meeting.  But after my lawyers helped out, things calmed down.  A few months later, the company was wound up, everyone was paid out and we went our separate ways.

These lessons and tips for staying alive however are still valid.  Don’t be shocked if you find them being used more and more often in the current global financial crisis.

      

VAT flat rate scheme 11.5% rather than 13% from 1st December 2008


The Value Added Tax rate we invoice at drops from 17.5% to 15% on 1st December 2008. If, like me, you are on the small business flat rate VAT scheme for IT consultants, then the rate we pay VAT out to HM Revenue and Customs drops from 13% to 11.5% at the same time.

Full details in http://www.hmrc.gov.uk/pbr2008/vat-guide-det.pdf, Page 43, Section 16, Annex E “Flat Rate Scheme – New Percentage Rates”

      

Down and out on Wall Street … how can HR benefit?


I was hoping that Ann’s lovely post would provide me with Thanksgiving inspiration today, but no, it was Jessica’s exploiting the current economy post that sparked my creativity. So, here goes:

As Jessica points out, there are a lot of smart, talented people that are or will be out of work soon. True, it would be nice to hook them up to your critical jobs and all that. But how about acting selfishly for once? Why not bring them into HR?

Let’s consider the talent profile of a newly out-of-work Bear Stearns, Fannie Mae, WaMu, (insert bank name here) employee:

  • Ambitious, results-oriented
  • Good with numbers and managing to metrics
  • MBA and/or terrific business acumen
  • And, if they’re gen y, may even “want to make a difference”

Sound familiar? This is a close match to the success profile HR needs to turn the corner. Get analytical, business-oriented people into HR. Tie Talent to Finance. Get respect from the business.

Prepare your job req today and brace yourself for the invention of sub-prime talent lending.

   Tagged: economy, hr   

Oracle takes aim at other third party support shops

Oracle customers haven’t seemed too phased by the $1 billion lawsuit filed by Oracle against SAP’s now defunct third-party support subsidiary TomorrowNow.

Last year, analysts predicted that the attention from the lawsuit could actually be a boon to the third-party support market. And just a few months ago, even after SAP closed down TomorrowNow in the midst of “corporate theft” accusations by Oracle, third-party support continues to remain in demand.

So while Oracle customers may not be suspicious of third-party vendors, is a different story emerging for the software giants themselves?

It seems that way. Oracle has now taken legal action against another company — this time it’s the Denver-based Spinnaker Management Group, a company that recently hired dozens of former TomorrowNow employees to form its software services business.

According to this MarketWatch article about Oracle’s court order, Oracle is “demanding a look at [Spinnaker’s] customer contracts, business plans, internal assessments of the ’legality’ of TomorrowNow’s business model, and documents showing any ‘planned support by you of any Oracle customer,’” according to court filings. Spinnaker has contested the request as overly broad.

Oracle has also issued a subpoena on the software services firm CedarCrestone Inc. and demanded to see documentation of the PeopleSoft service provider’s business model.

Has Oracle gone too far?

Other software companies probably won’t think so, according to analyst Jim Shepherd of AMR Research. Third-party support has long been a “gray area” in the industry, Shepherd said in the MarketWatch story, and “all the software vendors are uncomfortable with this.”

The economy may also be making Oracle and other software giants uneasy. As the MarketWatch article points out, support services can be a significant source of revenue in a down economy, when new software sales tend to be down.

Nevertheless, this is one of the “stalls in the market while the dust [around the TomorrowNow] lawsuit settles,” that consultant Josh Greenbaum predicted last year. And, while not all third-party support customers are wary, it’s important to take precautions. For example, customers should make sure that “any contract they sign states that they are not responsible for misuse of intellectual property by the third-party vendor,” according to a research note from Stamford, Conn.-based Gartner Inc.

How (if at all) has the TomorrowNow lawsuit changed your views of the third-party support market?

Cadfile

David Litchfield has written a new paper on Oracle Forensics which describes the usage of a new tool authored by David called Cadfile as a pun on Cadfael. The aim of both tools is to analyse the datafile without having to load it up into the Oracle Server software. The idea would be to first make [...]

Wide Open Spaces


Colorado Trail

I feel like I’ve rushed a sorority and I now have to complete that one final embarrassing thing that gets me totally into the group.  TOTALLY!  So here comes my “9 things you might not know about Marcie” post.

  1. I’m a morning person.  Once when I was recovering from jet lag and back home in my flat in San Francisco, I secretly loved that I was waking up at 5 am and not able to get back to sleep.  I’d slip out the door and walk around the neighborhood, watching the shops slowly come to life and the bread get delivered at the local grocery store. 
  2. My least favorite holiday is New Year’s Eve and one of my favorites is New Year’s Day.  I think for a similar reason as #1.  It’s the start of something new and fresh.  All wrongs from yesteryear are forgotten and forgiven and there’s so much potential for the next year.  I get excited just thinking about it.
  3. “Dress Up” was my favorite game growing up.  High heeled shoes, bangles, make-up, fancy dresses and fake fur shawls.  I never liked playing with dolls much, but boy, give me a box of costume jewelery and I was in heaven.
  4. My first real kiss was at a church camp weekend.  So, yes, it’s a good idea parents to volunteer to chaperon.  And that’s all I’m saying.
  5. When I first moved to San Francisco at the age of 26, I forced myself to drink coffee and wine so I’d acquire a taste for them.  How silly is that?
  6. I went to more schools between Kindergarten and Senior year than there are grades.  Really!  We moved around a lot when I was growing up and thus many grades were split between 2 schools and sometimes even 3 once when we lived in Iran.  Yes, you read me right, Iran.
  7. I am a rule follower.  Though I really wish I had more rule breaking in my blood, so I like to have friends that push me out of my comfort zone so I get to experience life for a while on the other side.  Plus, it’s just more fun over there.
  8. I’ve completed several Olympic distance triathlons.  Great experiences which taught me how to swim, bike and yes, even run, but I do not consider myself a triathlete and don’t intend to do another one.
  9. I love to go 4-wheeling in the Colorado mountains on steep and rocky trails.  I was going to buy my own machine this year even, but I had a baby instead.  I even had my then 2 month old out on the trails though we rode behind and stayed on easy and safe terrain.  This picture is from a ride the previous year.

I wish you all good mornings, happy new years and wide open spaces on the trails ahead.

      

Facebook for family emergencies


facebookLate last week my uncle had a stroke.  For those of you familiar with stroke, there are a lot more questions than answers initially, so I have no additional information to share on that front.  The point of this post is the surprising role of Facebook.

As the youngest, my role in family-crisis-response is pretty lame.  Receive phone calls, offer help that is refused, that sort of thing.  It is my sister who has the actual work of talking on the phone for hours giving updates.  Possibly it is penance for hogging the phone during our junior high years but I digress.

On Saturday morning, she called me asking for contact information for a cousin that lives in the south bay that I didn’t have.   It seems that directory assistance had their information blocked.  I had address information (as part of my general belief that no one can enjoy their holidays without photo cards of my children) but no phone or email.  I did remember that her son had a website at one point, so I went Googling for answers.

Now the “cousin” I was googling is technically a second-third-cousin-twice-removed (or something like that).  We share common great-grandparents who we have never met.  But his mother, is my uncles actual cousin, you know the kind you spend every family holiday with growing up.  

Anyway, I sit down intending to do real investigative work and instead my search finds him on Facebook as the third hit in the list.  Not only that, it turns out you can send email to someone on Facebook before you even get a “Friend” acknowledgement.  Sweet.

So within 20 minutes, I not only had two new friends (his mom is there too), I had a text message with his mothers phone number and a call from her for which I had the opportunity to say “hey, nice to hear from you, haven’t seen you in ages, your cousin is in the hospital“.  Yup, I’m all about the soft delivery of information.

So, for all my deflecting of serious emotion with humor here, I am thankful to Facebook for helping me and my family out this weekend.   I am now rethinking my privacy settings to make myself searchable from google.  Sure, I might have some spam I need to delete but maybe, just maybe, there is a message out there I would want to get in.  You never know.

      

Clearing the Oracle environment in a Unix session

When working on servers with multiple ORACLE_HOMEs, keeping a session’s Oracle-related environment variables in alignment is critical to an administrator’s sanity. Different versions of the RDBMS or application server software can require different binaries and shared libraries, and different ORACLE_HOMEs may have different network setups. An improperly configured Oracle environment can lead to TNS errors when attempting to connect to a database (”Oh, it’s trying to use that tnsnames.ora…”), restarts of the wrong app server (”Wait a minute, which opmnctl did I just run?”), or wasted weekend afternoons (I once sat on the phone w/ Oracle Support for 3 hours because $ORACLE_HOME/ctx/lib was not in my LD_LIBRARY_PATH. Good times!).

Oracle addresses the need for managing environment configuration with the ‘oraenv’ script, and with the various environment files that need to be sourced to work in the different contexts of Oracle Applications. Furthermore, a number of common utilities on the application server side of the world, such as emctl and opmnctl, are shell scripts that explicitly set the Unix environment before launching processes that do actual work. For some systems, however, these tools may not be enough. For example, the oraenv script does not set TNS_ADMIN, and does not remove any custom additions to the PATH environment variables that are based on a previous value of ORACLE_HOME.

Some simple solutions

There are a number of simple ways to prevent your Unix session environment from becoming a tangled mess of inappropriate paths, without resorting to setting individual environment variables manually, including:

  • Don’t switch Oracle environments during a session. Instead, always start a new session to work in a new environment. This is can be good for maintaining personal discipline, but a bit tedious in practice, and besides, if I stopped there I wouldn’t have much of a blog post, would I?
  • Create separate shell scripts to do the work of setting up the environment variables needed, appending or prepending Oracle-related values. This is a common practice, but after switching back and forth between environments a few times, the PATH environment variable can grow from this:
    /u01/app/oracle/product/client/10gR2/bin:/u01/app/oracle/product/client/10gR2/OPatch:
    /u01/app/oracle/product/client/10gR2/opmn/bin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:
    /opt/oracle/bin

    …to something like this admittedly contrived monstrosity:

    /u01/app/oracle/product/client/11gR1/bin:/u01/app/oracle/product/client/11gR1/OPatch:
    /u01/app/oracle/product/client/11gR1/opmn/bin:/u01/app/oracle/product/client/10gR2/bin:/u01
    /app/oracle/product/client/10gR2/OPatch:/u01/app/oracle/product/client/10gR2/opmn/bin:/u01/app
    /oracle/product/client/11gR1/bin:/u01/app/oracle/product/client/11gR1/OPatch:/u01/app/oracle/product
    /client/11gR1/opmn/bin:/u01/app/oracle/product/client/10gR2/bin:/u01/app/oracle/product/client
    /10gR2/OPatch:/u01/app/oracle/product/client/10gR2/opmn/bin:/usr/kerberos/bin:/usr/local/bin:/bin:
    /usr/bin:/opt/oracle/bin

    Alternately, instead of appending/prepending values to the environment variables, you could just reset them to default values, but those defaults may vary across servers, which can decrease portability of your scripts.

  • Unset all Oracle-related environment variables manually before setting up the new Oracle environment. This works well for things like ORACLE_HOME and TNS_ADMIN, but what about PATH and LD_LIBRARY_PATH? Doing ‘unset PATH’ is a surefire way to wreck a perfectly good session, and resetting PATH by copying only the elements you wish to preserve can be error-prone.

Another solution

I’d like to have a method to unset just the Oracle environment in my session; that is, it should remove references to the current ORACLE_HOME from the environment and leave other environment variables untouched. What I’ve settled on is the code shown below, which can be adapted into a shell function, dropped into an existing environment setup script, or placed in a standalone script:

[oracle@lyta ~]$ cat clear_oracle
#!/bin/bash
#Remove references to current ORACLE_HOME in various environment variables.
#Do nothing if ORACLE_HOME is not set

if [[ -n $ORACLE_HOME ]]
then
   echo “Removing ORACLE_HOME references from environment”
   echo “Old ORACLE_HOME: $ORACLE_HOME”

   export LD_LIBRARY_PATH=`echo $LD_LIBRARY_PATH | sed “s#$ORACLE_HOME[^:]*:*##g”`
   # Include additional lines for clearing CLASSPATH, PERL5LIB, etc. as
   # needed *before* modifying PATH

   export PATH=`echo $PATH | sed “s#$ORACLE_HOME[^:]*:*##g”`
   unset TNS_ADMIN ORACLE_HOME ORACLE_SID ORACLE_BASE
fi

Here’s a demo:

[oracle@lyta ~]$ . setup_11gR1.env
[oracle@lyta ~]$ echo $ORACLE_HOME; echo $LD_LIBRARY_PATH; echo $PATH
/u01/app/oracle/product/client/11gR1
/u01/app/oracle/product/client/11gR1/lib
/u01/app/oracle/product/client/11gR1/bin:/u01/app/oracle/product/client/11gR1/OPatch:/u01/app/oracle/product/client/11gR1/opmn/bin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/opt/oracle/bin
[oracle@lyta ~]$ . clear_oracle
Removing ORACLE_HOME references from environment
Old ORACLE_HOME: /u01/app/oracle/product/client/11gR1
[oracle@lyta ~]$ echo $ORACLE_HOME; echo $LD_LIBRARY_PATH; echo $PATH

/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/opt/oracle/bin

Since one person’s completely sensible regular expression can be another person’s incomprehensible line noise, here are some notes on the regex used in the sed command:

  • Uses # instead of the traditional / as a separator to prevent errors resulting from interpolation of the $ORACLE_HOME environment variable.
  • [^:]* matches zero or more non-colon characters. Since the colon is the separator for entries in the path, this prevents the regex from matching more than one entry at a time.
  • :* removes the colon from the end of a matched path entry, so the revised path doesn’t contain a string of useless separators (:::::::).

I may have just presented a solution in search of problem. On the other hand, I’ve found this to be useful, so maybe you will, too. If so, please leave a glowingly grateful comment. If not, then I’ve just revealed myself to the entire Internet as a slightly obsessive geek. There’s a first time for everything. ;-)

Performance Calibration - Good or Bad?


bellcurveI’ll admit that I’ve been going along for awhile now believing that performance calibration is a good thing.  What could be bad about coming together as a management team, discussing your employees’ performance and using these conversations and comparisons to help calibrate the final performance ratings?  So I was surprised today when a co-worker referred to performance calibration as being dated and old-school and assumed, but was dismayed that companies were still dong it.  Enough so that I stopped the conversation to dig in deeper.

Well, it turns out her mental image of performance calibration was completely different than mine.  Whew, thank goodness.  But I think this difference warrants further investigation.  She associated performance calibrations with the exercise of having managers take their initial performance ratings they’ve assigned their employees and then forcing them into a bell curve assignment - or calibrating them to the curve.  This forced ranking would then likely be used to identify the bottom 10% and well, you know what happens next.  So this performance calibration to the bell curve had a very negative connotation to her, and, in my opinion, rightly so.

Performance calibration is more accurately seen today as an exercise by which an organization comes together to discuss employees’ performance ratings to ensure a consistent and fair assessment has been made based on past performance.  It’s an opportunity for managers to start the conversation about their employees with the next step to be to conduct talent calibrations where the future performance, or potential, of employees is discussed.  Talent calibration… now that’s a whole other post.

Performance calibration is good, but we should be aware that there is still some perception out there that it’s about ranking to a bell curve.  And while good, it’s not the whole story and we shouldn’t stop there.  There’s talent calibration and even talent reviews to conduct. 

But for now, good prevails over evil and all is again right in the world.  And as always, there’s the opportunity to do better.

   Tagged: performance calibration, talent calibration, talent review   

Technology Impact on Hunger - positives and negatives


Yesterday, the Fusion talent team volunteered at the Alameda Food Bank. After we finished up our work, we chatted with a staffer. In this short conversation, I was struck by the indirect effects of technology on people, namely people who need food.

1) The high-tech inventory systems that grocery stores now employ mean that very little food is left over. Great news, right? Not so for the food banks who were the recipients of this left-over food. On the bright side, the high tech inventory systems have not solved left-over produce, so food banks have switched their business model to include larger produce donations. This is good for people’s health, but makes food banks much more expensive to run.

2) Food stamps have now largely converted to an electronic system, allowing bearers to merely swipe their debit card when at the grocery store, alleviating much of the stigma of food stamps. That said, the immigrant population is wont to use the electronic system for fear their information is easily accessible and can be turned against them. Education and legislation is key here to allay fears.

3) Applications for food stamps can be done electronically. Food bank personnel can take a laptop out to any neighborhood, anytime and get people a food solution that serves them far better than a box of canned goods and cereal ever can.

Thank you to the folks that arranged the day. It was a wonderful, learning experience!team-volunteer

      

Database Vault Faults

Hello Oracle folks, Just read on Alex’s blog about a couple of Database vault faults. http://blog.red-database-security.com/2008/11/21/oracle-database-vault-privilege-escalation-exploit-published/ However the number of vulnerabilities in Oracle is not the main controlling factor to threat level. Note that the UK govt have suffered from an average of one data breach per week for the last year. The increased drive capacity, network speed [...]