jump to navigation

Friday Philosophy – You Lot are Weird April 8, 2016

Posted by mwidlake in Friday Philosophy, Perceptions.
Tags: , ,

I mean this in the nicest way, but some of you lot are weird. I’m not aiming this at individuals (though there of plenty of “personalities” amongst you) but at whole damned countries.

One thing about social media is that when you tweet, blog, facebook or whatever – you are potentially communicating beyond your own culture. This is especially true when you are doing so to a community that is spread across the globe in the way I.T. is. Maybe most of you think this is blindingly obvious {perhaps as it is} but although I think of myself as intelligent and aware – for the first 2 or 3 years of blogging I hardly considered that some of my audience would not be from the UK and thus not understand any cultural references I made about television, books, sport, the importance of a cup of tea and a biscuit. After all, why would people in the US or Australia or India care what some guy in the UK had to say?

I think I avoid that particular error more these days but I still have to occasionally remind myself that the majority of my audience “ain’t from these parts”. The largest portion of my audience is in the US – which makes sense as there are quite a few people over the other side of the Atlantic pond and a heck of a lot of IT companies. India and my home crowd come second (swapping places from month to month), and after that come several European countries, Australia, Russia and, for reasons I am not sure of, Brazil.

We have some variations across our little nation and of course individuals often do not match their cultural stereotypes but, all the same, people in Britain tend to be pretty British. When I started presenting abroad, I was conscious that I was going Over There and so I tried to use less colloquial language and make allowances for the audience not using English as their first language. But I think I remained oddly culturally unaware for a while – and it still catches me out.

What I mean about this is, sometimes, on occasion – you lot get on my nerves. You annoy me. A whole nation’s worth of you. Because you are jolly well not being British! A recent blog post by Dan Kim about not being an XXXX Ninja reminded me of this. I really have no time for people saying they are “Road Warriors” (thankfully almost a dead phrase now) or “SQL Ninjas”, “Java Master”, “Database Gods” or similar “Huh! Look AT ME, I damned well ROCK!!!” self-labelled self-grandioseing twaddle. Americans are terrible for this, the uncouth lot that they are {though Dan is from the US and does not seem very fond of it – as I said earlier, individuals always vary}.

Of course, the issue is not so much with our American cousins as it is with me. British culture, at least the bits I hang about in, is currently still rather against blatant self promotion or even making a fuss (well, not a loud fuss – we are brilliant as a nation at passive-aggressive fuss). Whereas many people in the US hold the view that you should be proud of what you can do, the things you have achieved and you should stand straight and tell the world. It’s simply a different way of being. They probably think a lot of UK people are stuffy, repressed and have sticks up their backsides. Which is pretty accurate for some of us 🙂

Apparently, in Japan (I have to say apparently as I have never been there), when you are listening to someone you show respect by remaining quiet – and this extends to concerts & gigs, which can cause bands not used to it to have some issues. A crowd that does not go nuts at the end of a song (let alone during it) is just… wrong. But they go nuts at the end of the concert. {If I’ve fallen into quoting a national stereotype that does not exist, please let me know}.

Something I have encountered personally is people in Northern Europe being very direct, ie people will simply say “you are wrong about that”. To me that used to come across as rude. You are supposed to tell me I am wrong in words that don’t actually say I am wrong! “I think you might not quite understand” or “well, that is another way of looking at it”. That to them seems bizarre and, when you think about it, it is bizarre. You should just be able to state your opinion, no offence taken.

Personally I find it is not the cultural differences in language or references to shard experiences that are hardest to acclimatise to, it is these cultural changes in behavior. I have to constantly remind myself that if someone is being rude or impolite or over reacting I should first consider if that is only true when compared to my culture, and not theirs. Of course, I can only do that if I have a clue about what is normal for their culture, which is why travelling Over There to do presentations or bits of work is so helpful.

Sometimes they are being rude. Culture is not the issue.

Of course, the single, largest area of cultural difference that bothers me is beer. Lager is fine cold, cider is jolly nice cold. Real ale should be a few degrees below room temperature and not cold.

Or, as my US friends would see it – “Barman, 3 pints of beer please, and a slightly larger glass of warm piss for our UK friend”.

Friday Philosophy – Struggling To Learn Something? You Still Rock April 1, 2016

Posted by mwidlake in Friday Philosophy, Knowledge, Perceptions, Private Life, working.
Tags: , , ,

When did you last learn something new about the tech you work with? This week? This month? This year? 2003?

I fell off THAT? No wonder it hurt

I fell off THAT? No wonder it hurt.

{This blog is a bit of a personal story about my own recent career; how I fell off the log and managed to climb back on it – just so you know}.

For me it was (as I type) this week. In fact, it was today! It was in an area of “my tech”, stuff that I know back to front and left to right. I’m an expert in it, I’ve been using this area of Oracle’s tech for two decades and I simply “Rock at this stuff!” I mean, I know quite a bit about it (sorry, went all “USA” on you there for a minute). But still, despite all my experience in it and even teaching others about it, I learnt something new today – And thank the heavens I did.

Why am I so happy about learning something that, really, I perhaps should know already?

About 3 years ago I stepped back from the whole Oracle arena. I’d been struggling with the tech for a while and I was really not enjoying most of the roles I took on. Which is odd, as I was able to choose between roles by this point to some extent, and had no problem saying “no” to a job I did not like the look of. I know, it’s a privileged position to be in – but I pretty much feel it was a position I put myself into by working hard, developing my skills and (which may seem counter-intuitive to some) sharing them.

So, I had finished a job I was enjoying (which had become a rarity) and I had taken on a new role… and I was hating it. And I was especially hating learning stuff. And I had no desire to, once more, pour 10% of my learnt skills down the sink (as they had been superseded) and learn 20% of new stuff. Why do I say once more? Because, as the Oracle tech has rolled on, that is what I and all of you in a band around my age has had to do every few years.

Back in the early 90’s I knew how to get Forms and Reports to work in ways many did not. I would edit the source files for these tools, I could use tricks with the triggers to do stuff and I also knew PL/SQL in a way few people at the time did. But my position as a leading expert went out the window as things progressed and everyone (everyone? OK no, but a good fraction of people) caught up – and then exceeded – my skills in those areas. And some tech was retired. But I had moved onto database skills by then and I knew stuff about segment creation and space management that few others worried about. Which Oracle then made redundant and I had to move on again…

I’m not alone in this, most of you reading this (be you 60, 50, 40 or 30) can relate to this and have your own stories of managing skills and moving on as the skill set you knew evolved.

But as I said, around 3 years ago, for me it ended. I hit a wall. I was simply too tired, cynical and… yeah, pissed off, to keep letting go of some skills and learning new ones. I’d had enough and I stopped learning. Within 12 months I was not pissed off- I was screaming inside to get out of the industry. And I did. If you have followed my blog you might be able to see the pattern if you look back over the posts. I certainly can, looking back over them.

In this industry, if you stop learning you “die”. It might take a while, especially if you are just ticking over in a role where nothing changes and no new features are used. But the nearer you are to the bleeding edge of the tech, the faster you fall off that edge. For 24 years I had either tested the next version of Oracle before it was released or been the person telling (whatever company I was at) how to use (or avoid!) the new features of the latest Oracle release. But now I had stopped learning.

I started having chats with some friends about it and most were sympathetic and understanding and, well, nice. But I still had that wall. My career was based on being near, on or beyond the leading edge. I learnt stuff. I moved with the times. And now I did not as I was… tired. Drained.

But then I had a weekend in America skiing and relaxing after a conference in Colorado and I spent a lot of time with a good friend Frits Hoogland and I told him about where I was. He was also sympathetic – but he also said (and this is not a quotation but a general indication of his intent, as I remember it):

“I can’t tell you how to care about it, it’s up to you. But if you are not driven to learn the tech you won’t learn it. I can’t give you that drive – you have to find it for yourself”.

No one else had said that. Frits had summed up the situation and given it to me straight. You don’t learn by passive osmosis, you need to want to learn. And I’d fallen off the learning log and I didn’t know how to get back on it.

I thought on that for about 12 months. I also hid a little from the Oracle sphere and being “an expert”. And you know what? He was totally right. I needed a reason to learn the latest stuff and keep developing and it had to be something I wanted – be it a career, kudos, being the best I could be, putting kids though college (just checked, I never had kids), anything! But it had to be a drive. Because learning all this stuff is hard work.

It took me 12 months to work it out, but eventually I realised what I did and did not like about my working life. I hated commuting, office politics, dealing with people who were in charge but did not know (and had no desire to know) about tech, seeing the same mistakes repeated – All that stuff we all hate. But for me I was no longer able to balance that with the nice bits. Solving problems, making things work faster, creating programs and tools to help people achieve things and… teaching people.

So I took the decision to spend a year or two doing less work (and not earning much) and being more involved in the UKOUG, technical blogging (I’ve not really done so well on that front), writing articles, doing conferences and smaller user groups.. Basically, doing more in the user community. And I have, even to the extent of being involved in a book.

It took a while but I know it worked. How? I started learning again. I don’t mind if it is stuff that maybe I should already know – if I’m learning I’m not just improving but I am being engaged by my job (whatever my “job” is).

If you are in I.T. and you are still learning stuff, I would suggest that over all, everything is fine. Even if the learning part hurts a little – it does seem to get a bit harder each year to put new stuff into that cerebral cortex- you are not stagnating.

If you are in I.T. and not learning stuff, I’d suggest you might want to think about why – and if you should be changing what you do or where you do it. We spend most of our adult lives working, if there is any way you can make that part of your life more satisfying, I really think you should try and do it. Even if, as in my case, it pays a hell of a lot less!

Friday Philosophy – Being the Best Manager February 19, 2016

Posted by mwidlake in Friday Philosophy, Management.
Tags: , ,

I’d like you to spend a minute thinking back on your career and decide who your best manager has been.

Surely your best manager ever deserves a good cup of tea

Surely your best manager ever deserves a good cup of tea

I don’t mean the manager who you personally got on best with or was most popular with the team – though being one (or even both!) of those does not rule them out as being the best manager you had.

It does not have to be in IT – or even work, actually, cast the net wide to include people who have managed teams and groups outside of work that you have been in.

What was it about them that made them such a good manager?

I know what I think made my best manager the best manager I’ve had: She was utterly focused on making her team a success.

The two or three managers I’ve had who are close seconds to the top spot also had that as a high priority. But managers I’ve had who put delivery of whatever their boss wanted above getting the best out of the team just fell short – and, in my opinion, actually delivered less than they could. Because, if delivery of the current objectives comes before the team, you start working on the next objectives with a team less capable than they could have been.

Making your team a success does not actually mean being nice to the team, at least not all the time and not to all of them. Sometimes you have to reprimand a team member for doing something wrong, like doing a shoddy job of a task you know they can do better – not doing so is condoning bad behaviour and they will do a shoddy job again, only now it’s harder to call them out for it. You also will have to at times get them do something they don’t want to do, like be on call at a particular time as no one else can or it is their turn. But if you can’t explain why they need to do this thing they don’t want to do, that is not going to help you get the best out of them.

I’m sure some of you will disagree with me about what makes the best manager you ever had so good, but in some ways it does not matter. Because what I feel is most interesting about that question is, if you manage, or ever have managed, a team (be it in work, in sport or whatever) – do you try and emulate whatever it was that made that best manager so good?

If not, why?



(By the way, if your response to the question about your best manager made you think “the least worst” or “I’ve never had a good manager” then either you have been monumentally unlucky – or else maybe the problem lies not with those managers… )

A Book of Friday Philosophies? February 18, 2016

Posted by mwidlake in Friday Philosophy, Private Life, publications, writing.
Tags: ,

It has been suggested to me by a friend (not a publisher!) that I should do a book of my “Friday Philosophy” posts. I’m not sure. I’d like to know what people think.

If you read my blog but “Friday Philosophy” has somehow passed you by (how could they, most of my posts now are Friday Philosophies!) they are usually posted at the end of the week and deal with the non-technical side of working in IT. They are my thoughts and experiences on management, development paradigms, things that seem to still be wrong after 2 generations of programmers have painfully learnt the same lessons. Some have nothing to do with IT. The occasional one is about my life. Nearly all have an element of humour in them (even if it is only when I am laughing at myself and my own stupidity).

I’ve never really meant them to be more than a bit of light relief for people to read at the end of the week, but also to make people think.

A few older posts that have stood the test of time (ie people still occasionally look at them) are:

Oracle Performance Silver Bullets
CABs – An Expensive Way to Get Nowhere
Do Good DBAs Need PL/SQL Skills?
The Small Issue of Planes, Trains and Coaches
The worst Thing About Contracting
The Worst Person In IT I Have Ever Met
The Best Person in IT I Have Ever Met

The person suggesting I make them into a book says there is simply nothing else like them out there – Books on IT are about, well, IT. Books on management are about making you a better manager and tend to be very earnest about it. My Friday Philosophies sit in a wilderness between the two, a bit of fun but thought provoking (so I am told).

The thing is, I am not sure there is a market for it. After all, if you have never heard of me (and close to 7 billion people have not) why would you buy a book by me about opinions on the IT industry? If you know me you can just search my blog for “Friday Philosophy” and read them all. As far as traffic to my blog is concerned, with a few exceptions, they are one-shot pieces. Friday Philosophies tend to get a bigger immediate hit than technical posts but within a week most of them are hardly looked at again. Several of the technical ones get a steady trickle of hits that far outweighs their initial popularity. I know that people search for specific technical terms and not “opinionated view of smart phones” and that has an impact, but even so…

In theory it should be a lot less painful than the living hell of writing (only a part!) of a technical book. I have a lot of material, I can review & tweak them, add some new ones, wrap the lot up into areas. It should only take a week… A month… Maybe 2 or 3 months.

Also, I would not be looking to make any money on this. As in, even less then the very little you get per hour’s effort for doing a traditional book. I doubt a professional publisher would be interested in it, due to the lack of an obvious audience. But maybe a self-published tomb for a few pounds/dollars?

What does anyone think? A thunderous silence will tell me what I need to know….

It does not help that I am not sure how to pluralise “Friday Philosophy”.

Friday Philosophy – Content, Copying, Copyright &Theft February 12, 2016

Posted by mwidlake in Blogging, Friday Philosophy, writing.
Tags: , ,

There have been a couple of things this week that have made me think about the stuff that some of us write and what other people do with it.

I’m writing a book with 4 other people at the moment (the 4 being Arup Nanda, Brendan Tierney, Alex Nuijten and Heli Helskyaho, all experienced book publishers already – I’m the new kid) which is on SQL & PLSQL. It has been a very interesting experience. I knew writing a technical book was hard work, took a lot of time and that, frankly, the direct financial return on the effort is very, very poor. I know a few authors of Oracle books and I’d talked to them about it all, so I was aware. However, it turns out I did not really know how hard it was, I still did not understand how demanding of time and effort it was! But I had written technical blogs and a couple of articles before I started the book and I had developed the strong opinion that you do not take other people’s work, and you certainly do not take it without citing the original author – because you are actually stealing a lot of someone else’s time and effort.

Probable  front image of "the book"

Probable front image of “the book”

As a result, at the very start of writing my chapters I was determined that my content was going to be My Content. Me, my experience, the official documentation , my test databases – and a word document to receive the end product from those ingredients. I was not going to read what others had written recently on or around the topics I was covering as I did not want to be even subconsciously borrowing from other’s efforts {I say recently as I cannot unread what I had already read!}. I certainly did not want to be accused of doing so. If I was going to object to people stealing my content, I’d be hypocritical to actually commit the crime.

How very noble of me. How very silly of me.

A couple of months in I was talking to someone about the first chapter I was doing and how I was struggling to decide how to structure what I wanted to say. I knew the facts and features I wanted to cover but was unsure of how to make it flow so that it would make sense to the reader and build up their knowledge in steps. They asked me how other people had handled it and I gave them the little opinion piece I’ve just given you. And they laughed at me.
Was I including new stuff? Yes. Was I using my own experience? Yes. Was I going to cut lines, paragraphs, even pages out of other sources and put it in mine? No! Of course not! Well then why was I purposefully making life hard for myself?
Then they asked me the killer bit – Did I know every last thing about the topic? Hmm, no, probably not, but then no one knows every last thing and certainly has not used every little aspect of an oracle feature for real. So I was only going to put into my chapters parts of the topic? Well, I guess so. And that is what someone trying to learn about the feature wants? An expert opinion full of holes? That bit stumped me.

I was kind of writing my chapters to show how much I know. I was certainly limiting it to what I knew well. But the reader does not give a fig about how much I personally know, they are not hiring me to do a job. They are reading about a technical topic so that they can do their job. So I should be making sure I know as much as I can about the topic in order to describe it and I should describe all of it that I think could be useful to others, even if so far it has not been of use to me and the specifics of the problems I was solving. And how do I learn about technical stuff? I read the documentation… and blogs… and books… and play with it.

It also got me thinking about what I will feel like if people use my chapters in a couple of years to help them write about a topic (be it in a book, a blog or an article). If they simply copy my stuff, steal my words, I’ll be angry. If they copy it but just change a few bits to hide the fact I’ll be furious. But if they are writing this as they initially learned from me and then added their own experience and knowledge, I’ll be chuffed to bits – because I taught them. And now they would be teaching others.

So I started reading my modern books on the topics around what I was writing and looking at blog posts and articles more. I know I am doing a better job for the audience since I started doing that. However, the list of people I will need to thank in my bit of the acknowledgements is going up & up and I suspect that for years I’ll be meeting people at conferences & meetings and going “here’s a pint for the help you gave me! And, no, you did not know you had!”. {One thing that did worry the pants off me is that when I read around, it turns out that in my first chapter I uses an example very extensively that turns out to be the exact same example at least two other people have used – it’s convergent evolution, honest! But I’m sure someone at some point is going to point a finger… Oh well, the deadlines are too tight for me to change it now. I don’t even have time to write this blog really…}

There was a specific incident this week that made me think again about copying. I noticed (as I was checking out a relatively unused aspect of a PL/SQL tool and what I did not know about it – but others might benefit from knowing) that the same information was in two places. Exactly the same, word for word. Someone had stolen content from Tim Hall’s excellent Oraclebase site. And it was not just one article, it was dozens, with no citation of the original author anywhere and a copyright sign on the pages of stolen content. You can read about Tim’s ire in this blog post he wrote. He got more annoyed than I think he normally does as this guy had stolen stuff before and Tim was suffering from a cold. He got about as annoyed as I would get in that situation, in fact.

I also noticed as I investigated my currently-obscure aspect of PL/SQL that most of the content on the topic elsewhere was mostly chunks just taken from the oracle official documentation with a few lines wrapped around each chunk. Was that stealing content? I’m still not sure about that, but I think that if there is more borrowed content than original content, it’s at best Poor Effort and probably is Theft. If they do not even write their own demo code for the feature but take Oracle’s – it’s theft. Bad people.

I did nearly comment on Twitter that I never got my stuff stolen, as my stuff is mostly just opinion pieces like this and of no technical worth! But the very next day – Yep, you guessed it, someone stole one of my blog posts. There was a single link back to my original post at the very end but it was not a citation, it just said “reference Link Martin Widlake’s”. In fact, initially I think it just said “Reference Link”. He also has a copyright sign on his web pages. I currently don’t, maybe I should add one so that I can simply say “copyright, take it off else i’ll issue a Take Down request to your service provider”.

I’ve emailed him to say I’m not happy to have a word-for-word copy stolen and presented as his and I am certainly not happy that the pieces is appearing on the front of his web site advertising his services! It seems he is just one guy trying to make a living in rural Northern Pakistan. Should I be concerned about the theft of my article and ask him to remove it? If it is helping him make a living thousands of miles away and he has at least added a small citation at the end? Yes, because it is still theft. And if I do not highlight to him how much this annoys people, he will probably steal other stuff. If you don’t challenge bad behaviour you condone it.

And besides, if he does steal more stuff this will certainly include Tim’s material as his site is often on the first search-engine page on any Oracle Topic. And when he pinches Tim’s stuff, Tim’s gonna be angry…

Friday Philosophy – Database Performance is In My Jeans February 5, 2016

Posted by mwidlake in Friday Philosophy, humour.
Tags: ,
1 comment so far

Database performance is in my jeans. Not my genes, I really do mean my jeans – an old pair of denim trousers. I look at my tatty attire keeping my legs warm and it reminds me of Oracle database performance.

comfortable, baggy, old, DW jeans

comfortable, baggy, old, DW jeans

You can buy jeans in a range of styles & sizes. Just as you can set up your database in a number of standard ways. When you create a database with the install wizard or the DBCA (database configuration assistant) you get to pick from a few options. OLTP databases are like skinny, butt-tight jeans that fashionably young things might wear. I’m more of a Data Warehouse type. I like lose, baggy jeans with lots of space. However, no matter how good the initial setup, performance will degrade. Your jeans will get stretched, stained, more baggy and generally tatty. But you also get used to the performance of your database, it’s oddities and how to live with them. Your baggy, saggy jeans become comfortable.

I'm a dab-hand at doing turn-ups and SQL tuning

I’m a dab-hand at doing turn-ups and SQL tuning

Of course, you probably need to alter your database somewhat to suit you performance requirements. You could go to a tailor to get them done (pay a consultant) and make your jeans a top-notch fit but it’s expensive. Or ask the shop to alter them when you buy them (get some oracle consultancy as part of the purchase deal, to do a pretty average job of changing things). Or, if your requirements are specific (I can never get trousers with a leg length to suit me for some odd reason) and you have your have some skills (I can drive a sewing machine and, if needed and I have time, I can hand-sew) then you can tailor your jeans to your needs yourself. Little changes like this are like a bit of SQL tuning. Hand sewing is messing about with trace files.

You fix one performance bottle neck only to find the next one

You fix one performance bottle neck only to find the next one

Of course, over time more major performance issues will occur and the cracks will show. Well, tears. Bits of the system will give way and you’ll have to patch them. Sometimes the patch is a bit of an obvious cludge, but heck it does the job. The other option is to just live with the gaping knee, which is like not fixing your performance issue and just letting your knee get cold. My business requirements don’t allow for this, I need my knee covered and protected from the brambles and spiky stuff around the garden. And just like performance tuning, you fix one performance problem only to reveal the next point of weakness. The point of most stress in my jeans are the knees, what with all the gardening, crawling through hedges, kneeling in the dirt and grovelling to the wife. I patched that big tear across the knee – and within 2 weeks a new one started, just a little lower. You fix your critical batch load that is doing too much physical IO and now your problem is redo generation in the next step! I did not fix my performance bottle neck, I just moved it down the damned leg!

All those little tears needed a lot of fixing

All those little tears needed a lot of fixing

Many of us get tears in the knee of our jeans, it’s a common performance problem. But some performance problems are more esoteric. Not many people have had to patch the bottom of their jeans due to doing battle with barbed wire (and losing). I could do with self-healing jeans to match the self healing leg. I suppose with the latest dynamic performance tricks in the optimiser, we sort-of have self healing databases. I tried patching it with just the sewing machine but the damage was too great and so a swatch of fabric behind the area and a craze of zig-zag stitch is holding it all together. Maybe that’s like using row-level-security to allow different customer to see just their set of data. It works but it was a tad over-engineered.

Of course, over the years the requirements for your database and it’s performance are likely to vary and you might need to do more than a bit of sql tuning or tweaking of indexes. The sewing machine can’t fix all the problems with my tatty old jeans, especially as the workload first grew, shrank, and grew again. I needed a new performance enhancement tool. A belt. It’s stopped them falling down around my knees and also stopped them from cutting off the blood to my legs, depending on how well I’ve done at archiving off excess calories I no longer need.

Addition of a Modifiable Girth Control device

Addition of a Modifiable Girth Control device

The sad thing is, despite all my hard work, I think I’ll have to pension off these jeans soon. Just like computer system I’ve looked after for a while, I know where I am with them and I’ll miss them when I do a hardware refresh.

So there you go. How many of you thought that you could be reading about a tatty pair of jeans this week? I’m good to you lot.

Friday Philosophy – If Only I Was As Good a Programmer As I Thought I Was Aged 22 January 29, 2016

Posted by mwidlake in Friday Philosophy, humour, Perceptions, Programming, Uncategorized.
Tags: , ,

I saw a tweet that made me smile a few days ago:

programmer quote

Like many of you, I started out my working life in IT as a computer programmer. Like some of you, I still am a computer programmer from time to time. I don’t think I’ve had a year of my working life when I did not do either some application development programming or some database infrastructure programming. I am constantly writing small (or not so small) SQL or PL/SQL programs to do what I do in Oracle.

I started programming in school, I did an “O” level in computer studies (the exams we sat in the UK aged 16, up until 1988!), and I was pretty good at the programming as compared to my fellow class mates. My first “real” program played Noughts and Crosses (tic-tac-toe to our American cousins and maybe others) and version 2 was unbeatable. Which at the time I thought was pretty cool.
but Wikipedia now tells me is pretty easy :-). I also remember someone in the year above me unrolling some huge printout of the role-playing game he was writing (you know, the old textual “you have walked into a room where there is a lion, a bar of soap and a chandelier, what do you want to do?” sort of thing) and telling me I would never be able to do it. I just looked at the code and thought: Why have you hard-coded every decision and used all those GOTOs? Some sort of loop and a data block to look up question, answers and consequences would be much smaller and easy to extend? I don’t think he liked me voicing that opinion…

I did not do any programming of any consequence as part of my college course but after that I started work as a computer programmer (sorry “analyst programmer”) in the National Health Service. Again, I seemed better at it than most of those around me, fixing bugs that others had given up on and coding the tricky stuff no one else wanted to touch. And after a year or so, I was convinced I was a programming god!

I wasn’t of course. Part of it was my juvenile, naive ego and the other part was that, fundamentally, many of those around me were bad programmers. Anybody decent either did not join in the first place or got a better job elsewhere that paid more than the NHS did. I eventually did that myself and joined Oracle. Where I realised that (a) SQL confused the hell out of me and (b) when I started using PL/SQL there were plenty of people around me who were better at traditional programming than I.

I think it took me about a year to feel I was damned good at both of them. Guess what? I was wrong. I was simply competent. But after a year or two more I did two things that, for me, finally did make me into a good programmer:

  • I went contracting so I worked in a lot of places, saw a lot more examples of good and bad code and I met a lot more programmers.
  • I think I hit mental puberty and woke up to the fact that I needed to listen and learn more.

Since then, I think my own opinion of my coding skills has generally dropped year on year, even though I would like to think I continue to get better at actually constructing computer programs and suites of programs.

So yes, I wish I was as good a programmer now as I thought I was aged 22. And after 25 years at it (actually, pretty much 35 years at it on and off!) just like Rich Rogers (or is it John D Cook? I can’t quite decide if it is a quotation or not) I think I am finally getting moderately good at writing programs. If I continue to follow this trend, on my 65th birthday I will be convinced I can’t program for toffee and yet will finally be a Good Programmer.

I wonder if  anyone would still employ me to do it by then?

Friday Philosophy – Database Dinosaurs January 22, 2016

Posted by mwidlake in Friday Philosophy, Perceptions, working.
Tags: , ,

I’m guessing many of you reading this are over 40. I know some of you are actually beyond the half century and a couple of you are….older! If you are younger than 40, just print out this and put it in an envelope marked “read a decade later than {current date}”. It will have become relevant for you by then…

beware the network admin

Beware the network admin – creative commons, Elvinds

So wind back your memories to those glorious days in your first role working with IT. For most of us it was half our lives back or more, when we were in our early 20’s or even in our teens. One of you was 18, I know, and I knew one guy who started as a salaried, paid programmer at 16. Do you remember those old guys (and occasional gals) you met back then? Often with beards, an odd sense of “style” and a constant grumbling murmur that, if you listened closely, was a constant diatribe about the youngsters “not getting it” and this UNIX thing not being a “proper OS” {fill in whatever was appropriate for the upstart OS back when back where for you}.

Don't annoy the DBA

Don’t annoy the DBA

You are now that person. I know, you don’t feel like it – you can still do all this technology stuff, you program better now than ever, you know how to get the job done and you have kept up with the tech as it moves forward. And you sure as hell do not look as weird as those oldsters did! Well I have bad news. You do look as weird as those old guys/gals to any youth about {and is that not a good thing, as most of them look a right state} and you have probably not kept quite so up with the tech as you think. You have to keep partly up-to-date as the versions of Oracle or whatever roll on, else the career becomes tricky. But as I’ve realised this last few weeks, you probably use old coding techniques and ways of doing things. This is maybe not a bad thing in you day-to-day job as these older ways *work* and doing it that way is quicker for you than spending time checking up the latest “time saving” shortcuts in the code you write. I’ve had that brought home to me recently as I’m working in PL/SQL at the moment and I am using some code I initially wrote back in the last century {I love saying that} as the basis of an example. It works just fine but I decided I should re-work it to remove now-redundant constructs and use features that are current. It is taking me a lot of time, a lot more than I expected, and if I was writing something to Just-Do-The-Job with slightly rusty ways, I’d have it done now. That is what I mean about it not being such a bad thing to use what you know. So long as you eventually move forward!

Of course it does not help that you work on a legacy system, namely Oracle. I am not the first to say this by a long, long shot, Mogens Norgaard started saying this back in 2004 (I can’t find the source articles/document yet, just references to them} and he was right even then. If you think back to those more mature work colleagues when we started, they were experts in legacy software, OS’s and hardware that did in fact die off. VMS went, OS/2 died, Ingress, Informix, Sybase and DB2 are gone or niche. And don’t even mention the various network architectures that we had then and are no more. Their tech had often not been around as long as Oracle has now. And I know of places that have refreshed their whole application implementation 3 or 4 times – and have done so with each one based on a later version of Oracle (I do not mean a migration, I mean a re-build).

Or the Sys Admin

Or the Sys Admin

The difference is, Oracle has had a very, very long shelf life. It has continued to improve, become more capable and the oracle sales & marketing engines, though at times the bane of the technologist’s lives (like making companies think RAC will solve all your problems when in fact it solves specific problems at other costs), have done a fantastic job for the company. Oracle is still one of the top skills to have and is at the moment claiming to be the fastest growing database. I’m not sure how they justify the claim, it’s a sales thing and I’ve ignored that sort of things for years, but it cannot be argued that there is a lot of Oracle tech about still.

So, all you Oracle technologists, you are IT Dinosaurs working on legacy systems.

But you know what? Dinosaurs ruled the earth for a very, very, very long time. 185 million years or so during the Mesozoic period. And they only died out 65 million years ago, so they ruled for three times as long as they have been “retired”. We IT Dinosaurs could well be around for a good while yet.

We better be as there is another difference between when we started and now. Back then, we youth were like the small mammals scurrying in numbers around the dinosaurs(*). Now we are the dinosaurs, there does not seem to be that many youth scurrying about. Now that I DO worry about.

(*) the whole big-dinos/small scurrying mammals is a bit of a myth/miss-perception but this is not a lesson on histozoology…

Friday Philosophy Guest: Open Source Projects January 15, 2016

Posted by amitzil in Architecture, Friday Philosophy, Guest Post, Perceptions.
Tags: , ,

This post is Guest Post by my friend Liron Amitzi, an Oracle Ace, presenter and instructor who specialises in Oracle design & infrastructure. You can find his blog over here.  And with that, over to you Liron 🙂


I have been wondering about open source projects for a while. I’ve talked to quite a few people about it, and still don’t really understand some of it. So I decided to write a post about my thoughts regarding this issue.

I’m not going to talk (or even mention) specific projects, but it is very interesting to me how these projects run.

During the years I have worked with quite a lot of open source software and I like some of it a lot. I completely understand how small projects work, such as text editors, small schedulers and others. With these relatively small projects, I can easily see that someone needs such software and simply sits down and writes it (alone or in a small group). When it is ready, I can see that they want to share it with the world – and open source is perfect for that. I can even understand that they will want to update it, add features, support it a little bit, etc. Another side to it that I can see is a developer that writes software to get his reputation going in the community: in order to get a job, an interesting project or simply fame.

However, I’m quite puzzled with the big open source projects, such as databases, queue management, large monitoring systems and more. I know that behind at least some of these software products, there are actual companies that invest money and people. And I don’t really understand how it works as companies need to cover their expenses, salaries, and of course, make a profit.I know that there are many ways to make money out of open source projects. Some companies charge for support, some for education & courses, and some for professional services & consulting. However, in some cases the companies that provide these services are not related to the company that sponsored the development.

So what makes a company develop or support a development of an open source project? I can think of a couple of reasons:

  • As the software will be free and open source today is very common, it will get this software many potential customers and foothold
    After getting a foothold, the company can charge for specific features or other complementary software.
  • Business decisions can also be a cause. A company that makes a lot of money from software might decide to give some back to the community so people will “like” the company more.

Still, when it is a big software project and requires a lot of resources, I can’t see why a big company will go for open source.

  • First, they can make it a freeware without releasing the code.
  • Second, at the bottom line, they will have to make money on this somehow.

So, if they release the project as an open source but charge for education or professional services, I guess that the education and professional services will cost more, so at the end they will make the same amount (and we will pay the same amount) as with licensed software and cheaper courses and professional services.

Am I missing something?

What do you think? I’d love to know.

About Liron

Liron Amitzi and Steven Feuerstein

Liron Amitzi and Steven Feuerstein

Liron Amitzi is originally from Israel and now lives in Canada with his wife and two children. I met Liron at the UKOUG Irish User Group conference in Dublin last year and again at Oracle Open World 2015, when it struck me that he looks a lot like  Steven Feuerstein (Liron is on the left). Liron has been an Oracle ACE since 2009 and has helped run the Israel Oracle User Group since 2011. He specialises in High Availability solutions, design, infrastructure, performance and recovery. As well as presenting he is also an instructor and lecturer in Oracle course.

Friday Philosophy – Inspirational Tweets: Why Do They Annoy Me so Much? December 11, 2015

Posted by mwidlake in Friday Philosophy, humour, Perceptions.
Tags: , ,

A few weeks ago I saw this on the Twit Sphere:

A comfort zone is a beautiful place, but nothing ever grows there.

Wow. Deep. Meaningful. Let me follow that twitter account.

No. Let me not. I looked at the account and it was just an endless stream of “Inspirational Tweets” and very little comment or content. For some reason I can’t quite understand, this sort of thing gets on my nerves. No, that’s is not strong enough. It makes me unreasonably bad-tempered and angry. The first draft I wrote on this topic was a ranting diatribe of swear-words and invective {I love that word} that was completely beyond acceptable.

So I’ve been wondering, why do twitter accounts that put out lots of Inspirational Tweets annoy me so much? We have all seen them. In fact I have a couple of friends I follow on twitter who at times put out half a dozen Inspirational Tweets a day. I have to sometimes mute or “unfollow” them for a while. I think part of it is that if an account puts out half a dozen Inspirational Tweets a day, they can’t really mean them very much can they? If I had a set of short phrases that summed up important aspects of my life, such as “Always be nice to cats” then I can’t help but feel that they should be few in number and really mean something to me. They can’t really mean something to me if I have 200 of them.

Another reason is that so many of these Inspirational Tweets are actually just trite such as “when you listen, it’s amazing what you can learn” or even asinine such as “I love dramatically looking out windows on public transportation”. Yes, that is a real one. Of course, most of us put out some stupid tweets and we all have different tastes or interpretations of what is worth saying.

So I am not sure why I find them annoying – but I do. If you put out such tweets and I follow you & then unfollow you, follow you etc or I seem to go quiet (you might be on temporary mute) then just ignore it. I think it’s more my problem than yours. But you have annoyed me.

Why? Why follow me?

Why? Why follow me?

As a secondary rant of the day, I get really annoyed with these fake accounts that follow you or like a tweet of yours but having no connection to your world. Some of course are just another way of advertising something (usually soft porn it would seem – I usually spot them from the start as the account picture is some young women who can’t stop buying clothes 2 sizes too small and describes themselves as “bisexual and always follows back”…Yeah, I’m convinced). But recently I’ve had a lot of follows or likes from accounts, again apparently from young ladies, but now there are often two of them in the picture. Their tweet streams are just an endless flow of retweets, “clever” lines, the inspirational ones of course and nothing, not a thing where there is a conversation with someone else. But no soft porn. I can’t work out what these ones are actually aimed at. They don’t seem to be selling or promoting a specific thing, though they often have some films or makeup adverts retweeted, but if this is what they are selling, the content is drowned out by the stupid stuff and they are missing their audience. I’m pretty sure the content is generated though as I looked at a couple of them and the same quotes and “humorous” utterances seemed to make appearances across accounts.

If anyone could tell me if this is some type of advertising or it really is some attempt by teenage girls to increase they number of twitter friends just as a “look how many followers I have” (though I thought twitter was more an older persons thing) then I’m curious to know. It’s got to be sales, hasn’t it?

Perhaps I should stop worrying about these things and either mute or block them as them come up. Oh, I do 🙂