Thursday, 29 March 2007

Workers walk away from bad bosses

A survey has found 82 per cent of office workers have quit a job rather than put up with an outrageous boss.

Personally, I have done this twice in my career and should have done it a 3rd time.

One thing that has always disappointed me is that companies seem to be willing to put up with bad managers and see their other staff leave. When the market is as good as it is now, you can easily see teams completely turnover in a year. You would think companies would learn !

So if your a manager complaining about the cost of new staff, ask yourself why the old staff left in the first place...

Friday, 23 March 2007

The Active Record pattern (or why I love Ruby on Rails)

If you don't know what active record is, I am not going to tell you. Google it, and/or read about it on the Ruby on Rails website.

If you are one of those people that think struts and Hibernate are the best combination since the Captain and Tennille (cause I know you Struts people are into that shit :-) ), then you won't like it at all, because it takes you away from messing about with configurations files and makes you work on the problem at hand.

I really buy into the convention over configuration mantra for a couple of reasons:
  • Opinions are like arseholes
  • Most object-only guys can't (or don't bother to) get the database right, and activerecord encourages sorting out the design first
Unfortunately, I don't get to work with Ruby at work, I have to use Java. I've yet to find a fully functional Active Record Implementation for Java yet. If you find one,. please let me know !

Wednesday, 21 March 2007

TPC-C to die

One of the least reliable and easily distorted benchmarks is nearing the end of its life. Having seen this from the vendor's side, the TPC-C benchmarks of so little relevance to real world database performance as to be virtually useless to companies looking to compare the performance of different vendors. What the benchmark does tell you, is who is investing money in their databases, as running a TPC benchmark costs a lot of money. The reason you hardly ever see Sybase or Postgres or MySQL in the top ten is they can't afford / aren't investing to run the benchmarks. Looking at the top ten this morning you see Oracle, IBM and Microsoft filling up the whole list. No surprises there.

Whether the new benchmark (TPC-E) is any better, is the question. It is based on a financial scenario, which may work against Oracle (which has never been great at high volumes of small transactions which are typical of financial systems) a bit, but its unlikely to be much more real-world than the old one. Good companies will have to run their own benchmarks, like they always have.

Wednesday, 14 March 2007

Putt's Law

I have managed to avoid coming across this until today, when I heard and interview with the Author. I couldn't agree more.

"Technology is dominated by two types of people: those who understand what they do not manage, and those who manage what they do not understand."
—Putt's Law

Monday, 12 March 2007

Cursors (I RANT)

Cursors. Satan's operand.
I hate them. There is nothing more annoying that working through someone's crap code which is failing, to find you need to decrypt their perverted thinking just to work out what is going on.
Apart from the fact that cursors are slow, I have never (I said 'NEVER') seen a case where cursors are necessary. In every case I've ever come across, there has been a better way of doing things. If you need to process data row by row, you can do this better and faster using a while loop, a select statement and a couple of marker variables.
If your reading this and you think I'm wrong, then you need to do a bit more research on set theory and then you may (I hope) come to understand why cursors are such terrible operations for a relational database.
I suspect cursors were invented to allow old COBOL programmers to be able to work with databases.
If I was offered a job where I never had to deal with cursors, and badly written code in general, I would gladly take a pay cut (well, just a small one) !