Nothing you learn is ever wasted!

glasses-272399_1280-smallAbout 18 months ago I went on a couple of load balancer training courses at F5. It was over a year later that we actually got the things wired in and ready to go. I played with them for a couple of days, then nothing for another six months. I’ve only put one service live on them so far, but we are about to start the full rollout now. 🙂

In that time there has been a change of heart over which team will look after them, and it’s not my team. I’m still going to have to migrate 100+ services from our reverse proxy to the load balancers, but once everything is live it will probably get handed over to another team.

Last week we started the handover process, so I went and spent 2.5 hours with the guys, talking about the setup we had done and the sort of tasks they will have to pick up. One of the other guys has put together a workflow and a formal document. I took with me a little template of all the information I needed to plug a new service into the load balancer. When I got back to my desk, I removed all the config we had done together, then repeated it, but this time capturing my screen to make 8 little videos to go with the template doc. This all got put into the company knowledge base.

What’s this got to do with the title of this post?

  • My time figuring out what the hell a reverse proxy was and how to configure one helped me a lot when I went on the load balancer course at F5. It also meant I was still able to muddle my way through stuff having not used the load balancer kit for 18 months. When you understand where you have to go, it can sometimes make getting there a lot easier.
  • Speaking at conferences about Oracle stuff has a positive effect on your ability to speak about other subjects in public. This month at work I have done this handover and a general introductory talk about cloud technologies. Neither of these subjects are “what I do”, but both were a breeze because of the skills I’ve picked up elsewhere.
  • It took 2.5 hours to explain the load balancer stuff to the guys. Realistically, they will forget it in a few days. It will take them about 10 minutes to look through the knowledge base note and watch the video clips. I think that will pretty much remind them of the important points. I would never have attempted the video stuff if I hadn’t been playing with YouTube over the last few months.

You are the combination of your experiences. Everything you do and everything your learn combine to make you the person you are. I still complain when I’m asked to do random things, but in the back of my mind I know it will probably prove useful sometime down the line… 🙂

Cheers

Tim…

Always write everything down!

notes-514998_640In my second job we worked on projects in small teams, maybe 2-3 people. My boss at the time, the team leader, was a lady called Andrea. She wrote everything down. I mean everything! I was still pretty new to the business world and rather naive, so I tended to rely on my memory a lot. Needless to say, she saved our bacon on numerous occasions. That was a very good lesson!

Now I’m still a bit lazy where general note-taking is concerned, but where tech is concerned I write down everything. If they are “general recipes”, I’ve probably already done a run through at home and written it up on my website. If they are company-specific notes or scripts, they go into the company knowledge base, or are saved as text notes on a shared drive. If I’m not sure where it should live, it goes in my scratchpad until I find a real home for it later. Nothing is ever lost!

As a DBA, you are often asked to use bits of technology you’ve not touched for years, or to look at systems you set up months/years ago, so having notes is a life saver. Last week I was asked to alter some WebLogic config on a system I set up about 2 years ago and I honestly didn’t have a clue what I had done. A quick rummage around and I found my setup notes and within about 30 seconds I was ready to go. It would have taken me ages to figure this stuff out again.

When you are in the thick of things, you can’t imagine a time when you won’t remember everything about a project. A couple of months later, it’s like you never worked on it. The only way you can keep your head above water is to make notes. The trick is to write enough to explain things clearly, but not so much you can’t be bothered to read them. 🙂

I’m always telling people to write. It’s nice if it is something that you can publish on a website or blog, but even if all your notes are hidden away, you still need to write them. Very few people can keep all this crap in their heads at all time. The good people are those who know where to get the information from. The internet helps, but I would take my own notes over a random internet search any day. You know more about your job and your company than some random person in the internet. Make your own notes!

Cheers

Tim…

PS. I purposely stayed away from the words “document” and “documentation” as people hear them and switch off. I am of course talking about documentation, but not that bloated crap overpriced consultancies give you. 🙂

All change at oracle-base.com (MySQL 5.7 and PHP7)

Over the weekend I decided to upgrade from MySQL 5.6 to 5.7. I did some test upgrades a while ago and last week at work we did some practice upgrades on a clone of one of our production servers. I was pretty confident the upgrade would be fine and it was. I wasn’t totally sure how some of the surrounding applications would cope with the change though.

Once the MySQL 5.7 upgrade was complete everything was working fine, so I got a little excited and decided to switch to PHP7 as well. Before this I was just using the stock version from the CentOS6 yum repository, which was pretty old.

The switch to PHP7 was a little more problematic. Some of my code failed, but a quick look at the Apache error log showed I was still using split() in a couple of places where I should have been using explode(). Once I sorted that the main website looked fine. WordPress worked with no problems, which was nice.

I had a couple of issues with phpBB 3.1. First, I was still using the database type of “mysql” in the phpBB config, which means it uses mysql_connect() to connect to the database. That has been deprecated for a while, but has been desupported in PHP7. Once I switched the database type to “mysqli” and emptied the contents of the “cache” directory it connected OK. There are still some issues, which according to the change log will not get fixed until the phpBB 3.2 release, but with the exception of some ugly debugging messages, it kind-of works now.

Both MySQL 5.7 and PHP7 claim significant performance improvements, so it will be interesting to see if that is noticeable on my site.

Cheers

Tim…

PS. I don’t believe the downtime this morning was anything to do with the upgrade. I’ve been fighting with the server for a while now. My current contract comes to an end in about 4 months. I think I’ll make a move to AWS next. Maybe a couple of small servers and a load balancer in front of them!

Problem Solving (Breaking Things Down)

direction-1033278_640Some people are great at problem solving, others not so much. The people I meet that are good at problem solving always have one very important skill, the ability to break stuff down into its constituent parts. With practice, it can seem like they are making massive leaps of faith, but that is based on their experience. That experience came from breaking problems down and dealing with the little stuff. Here are some examples, including some you may not consider as classic problem solving, but illustrate the point.

Books: Ask somebody to write a book and they will crap themselves. The thought of writing a book is really daunting. Ask them to write a chapter and they might still be scared, but less so. Ask them to write a page and most people would probably grudgingly do it. A book is a collection of pages. If you can write a page, you can write a book. I’m not saying it’s a good book of course, but you get my point. So the problem of writing a book and be broken down into very manageable pieces.

Development: I’ve been involved in some really complicated development projects in my career. When you’ve finished, you take a look back and think, how the hell did we manage to do that? When you look at the individual bits, they are all pretty simple. The skill is breaking down that massively complex development into manageable chunks. The classic top-down or bottom-up approaches to programming encouraged this. Agile, when done properly, also encourages this approach of breaking down problems to small units of work, delivered on a regular basis. So the big problem is broken down to little bits, that get put together and you end up with something that seems bigger than the sum of its parts.

Infrastructure: When you are dealing with multi-tier architectures, finding the cause of a problem can be quite complicated. You get questions like, “this URL is not working, why not?”. Based on experience of your environment, you might know likely candidates, but if not, you may have to take the long route, which may look like this:

  • Can I connect to the database?
  • If I connect directly to the App Server, rather than via the web layer (Load balancer, Reverse Proxy, web server) does the application work?
  • If I connect via the web layer, does the application work?
  • If I connect from different network zones, does the application work?

Based on the answers to those questions, I will know which part of the chain is broken and I can look at that specific section and break it down further, eventually finding the root cause and getting the relevant people involved to fix it.

SQL Tuning: Looking at a 10 page execution plan is really scary. What is a plan made up of? Lots of individual steps that combine to form the whole plan. If you work your way through the plan in order, operation by operation, it is often very obvious what is going wrong. Typically, a bad cardinality estimate somewhere causes the optimizer to make a bad decision, which kind-of propagates up the plan. Fix that cardinality estimate, or help the optimizer by “shaping” the plan in a more sensible fashion and things often fall into place. If you get a chance to see Jonathan Lewis talking about SQL tuning and shaping execution plans, or Kyle Hailey speaking about his approach to SQL tuning, you will see they both focus on breaking stuff down to their constituent parts, and you will realise the “black magic” they perform is actually very doable by mere mortals like us if we take a consistent and meticulous approach.

Life is all about breaking down big and daunting tasks into smaller, more manageable tasks. You can either get used to it, or spend the rest of your life achieving nothing and wondering what magic button everyone else is using! 🙂

Cheers

Tim…

PS. I understand there are lots of ways to achieve a goal and successful people will find a way of working that suites them. 🙂

Sharknado 3: Oh Hell No!

sharnado3Sharknado took the bad B-Movie concept to it’s ultimate conclusion, making it an instant classic. A tornado sucks up a bunch of sharks to create a sharknado that passes over Los Angeles.

Sharknado 2: The Second One was a parody of Sharknado, with everything bigger, crazier and better. Not one, but two sharknados, threatening to merge to forms a super-sharknado over New York!

Sharknado 3: Oh Hell No! has finally come to NetFlix in the UK and managed to do the unthinkable. Not one, not two, but a whole wall of sharknados hitting the entire east coast of the USA. Can anyone save the whole of the east coast? Watch the film and find out!

After seeing this masterpiece of modern film making, I’m going to struggle to find the motivation to ever watch another film again in my life. When you’ve reached the top, the only way is down!

Cheers

Tim…

I’m not spamming your blog comments!

confused-panda-303949_640It has come to my attention that there is a new website in town that happens to have a URL extremely similar to mine. Literally one character different. The domain in question was registered on 3rd November 2015.

Let me first say, the site in question does not contain any of my content (*see update*) and as far as I know is not doing anything wrong from a content perspective. The reason I am writing this post is to protect myself.

It has come to my attention the owner of this site is spamming links to his site in the comments of other bloggers. It’s your typical link spam stuff, seldom any relevance to the original article, and just trying to get attention. Why do I care? In some cases these spam comments are obviously nothing to do with me, because they are posted under this guys own name. In others, it is very easy to mistakenly believe it is me spamming links to my site, because the URL is so darn similar. In fact, when it was first pointed out to me, I didn’t even notice they weren’t links to my site. My brain just auto-corrected it. 🙂

I just want to make it very clear, if you see spam links in your blog comments or forum answers that at first glance seem to point to “oracle-base.com”, please double check the URL before you get pissed off with me. It is not me posting this stuff. They are not links to my website. I’m gaining nothing out of this, but potential bad feeling from other bloggers!

To the individual in question, I have a few words of advice.

  • Spamming links to your website from other people’s blog comments really doesn’t do much to publicise your content. Most CMS tools, like WordPress, give external links in the comments section a NOFOLLOW value. As a result, those links don’t get followed by the search engine spiders and don’t help with your search ranking. You are literally wasting your time.
  • Content producers get really annoyed by spam comments. The more you do this, the more you get a reputation of being a dick. I wrote this post because I don’t want people to mistakenly blame me, for what you are doing.
  • Choosing a URL so similar to someone else’s is either a really lazy move, or a cynical attempt to piggy-back on their reputation. Either way, it doesn’t reflect well on you as an individual. It’s cool that you are producing content in the community to help others and gain some profile. I just don’t see how the URL you chose to use will be viewed in a positive light by anyone.
  • Once someone knows the domain, a couple of Google searches and it becomes obvious who you are, that you already have an existing blog. I would suggest the content you are producing would be better posted to that blog. You are obviously fairly new to the content production game, so building a reputation associated with your name seems like a much better idea from a career perspective. My website is very well know, but in comparison I am not. That is kind-of the opposite of what most people want when they are trying to build a profile to help with their career.

If you are one of the bloggers I’ve contacted about this link spam, I would prefer it if you don’t mention the domain in question. At this point I think the individual is just misguided, so I don’t want this to become a witch hunt.

Cheers

Tim…

Update: I have found one of my articles on the site. I wrote to the owner of this website and ask for it to be removed. I’ve heard nothing back, so I’ve filed a DMCA take down notice.

UltraEdit v16 for Mac

Followers of the blog will know I’ve been a long time user of the editor UltraEdit.

uemac-theme

I got introduced to UltraEdit about 15 years ago. At the time everything else around sucked. I paid my money and was hooked pretty much instantly. At that point it was a Windows-only product. When I later ditched Windows in favour of Linux at home, I went through a succession of crappy editors and was never really happy. I eventually started running UltraEdit on Linux using Wine and it “mostly” worked.

A few years ago I switched from Linux desktops to Mac and went through another succession of crappy editors that everyone told me were amazing. One day I woke up to find UltraEdit had released a Mac and Linux version of their editor. It was lacking features compared to the Windows version, but it worked. I immediately switched and have been there ever since.

I have a multi-platform unlimited upgrades license, which cost me something like $200 a few years ago. I use UltraEdit for Mac on my desktop at home. I use the Windows version when I’m at work. Very occasionally I fire up the Linux version on one of my servers, but that tends not to happen much these days as I just connect to that stuff from my Mac.

Today I’ve upgraded to UltraEdit for Mac v16. It still doesn’t have 100% of the features of the Windows version, but it’s getting close. Happy days!

I know there are a lot of good editors out there (Sublime Text, NotePad++, Atom etc.), but I don’t get on too well with any of them. I’m sure a lot of if comes down to familiarity, but I find myself saying, “If only they could do …” all the time. Aaaahhhh, to be old and set in your ways. 🙂 Anyway, if you like any of those, all power to you. If you are struggling against them, you might want to give UltraEdit a try!

Cheers

Tim…

PS. This is not a sponsored ad. I’m just a fan! 🙂

Video: Amazon Web Services (AWS) : Relational Database Services (RDS) for SQL Server

Here’s another video on my YouTube channel. This one is a quick run through of RDS for SQL Server, a DBaaS offering from Amazon Web Services.

The video was based on this article.

The cameo for this video is Garth Harbach, a former colleague of mine. 🙂

I’ve been ill recently and my voice is pretty shot. The last three videos have all be on AWS RDS, which has very similar setup regardless of which database engine you use. This has been really handy, as I could pretty much reuse one vocal track for all three videos. Not sure if anyone would have noticed, but I felt guilty, so I thought I would confess up front. 🙂

I’m hoping I’ll get my voice back in the next few days so I’ll be able to do something different. 🙂

Cheers

Tim…

Stolen Content – Again…

frowning-150840_640In my Writing Tips series I wrote about Copyright Theft. I had a quick look through my blog and the first time I wrote about my stuff getting stolen was in 2006. I’m sure it had happened before then and it has happened many times since. Most of the time I try to deal with it privately and give people a chance to sort their lives out without publicly branding them a thief, but sometimes circumstances bring the worst out of me.

If you had followed my series of rants on Twitter tonight you will know it happened to me again. The reason I went off the deep end this time was because approximately 10 months ago, this same person did exactly the same thing to me. When I contacted them the first time, they were very apologetic and removed the content, saying they had paid someone to produce some content for them and they didn’t know it was all stolen. Since it was all resolved quickly and pleasantly, I said nothing more. I did of course keep a record of the whole process, including my contact with the hosting company etc.

Fast forward to today and Martin Widlake contacted me to say he had found some of my stuff on another site. When I checked, it was this same person again! Some of the content that got removed last time had mysteriously returned, and there was a load more with it. Most of the time it was a straight copy. Sometimes the article names had been slightly altered, but the content was straight off my site. Occasionally there was one extra sentence at the start. In total I found 141 articles stolen from my site. There may have been more, but these were all I identified up to now.

I wrote an email to the individual in question, which ended with the rather melodramatic statement of,

“What you are doing is wrong and illegal. I will end you!”

I was putting together a DMCA takedown notice when Martin Widlake said the content had started to disappear. I checked and sure enough, I was getting 404 errors for most of the URLs. I’m promoting Martin to “Chief of the Content Police”! 🙂

Now I’m a rather petty individual and I have a very large readership, so I’m pretty sure that if this person ever does something like this again, I will be able to make sure everyone he has ever worked for, or ever will work for, will know he has been proven to be a thief twice over. Not exactly the sort of person you want working with your valuable data!

Just some words to the wise:

  • If you steal content from a popular source, people are going to notice and tell the original content producer about it. There is no maybe. It will definitely happen.
  • When you are caught stealing stuff it makes you look like scum. You know why? Because you are scum! If you are lucky, you will be able to deal with it quietly. If not, the world will find out you are scum!
  • If you pay someone to produce content for you, you better make sure they are not stealing it, because if they are, it is you that will end up looking like scum, not them!
  • If you are paying someone for content and they are producing several articles a day, it is highly likely the work is stolen, or incredibly derivative at best. If you do not realise this, you are a moron. Being a moron is not a defence, and kind-of affects your future job prospects!

Changing tack slightly…

We are all writing about the same stuff. When a new product is released, there is a flurry of new articles on the subject, many of which are covering the same content. There is nothing wrong with that. No one person has a claim on it. You won’t get an email from me asking you not to write about it. That would be ridiculous. Everyone’s take on the same subject matter is slightly different. If you ever see me in person you’ll know I’m always encouraging people to get involved. Having said that, if your idea of getting involved is stealing other people’s material, we will not be friends!

Cheers

Tim…