Chasing an Audience

I’ve touched on this subject in my writing tips and public speaking tips, but I wanted to elaborate a little, so here goes…

If you are creating content, at some level you want people to see that content. I always say I write for myself, and I do, because I have a terrible memory and I like to be able to reconnect with a subject. The best way I know how to do that is to take notes that I can refer back to later. Having said that, 22 years ago I made the choice to make my notes available on the internet, and so some part of me wanted people to read them. If not, I would have password protected them…

So what do you create content about?

This is where we get on to the subject of chasing an audience. I always say you should write about what is important to you. I think that’s the only way you can sustain any level of output for a prolonged period of time. Over the last 22 years I’ve seen many people come and go. Many! If you happen to be producing content that has mass appeal, you may well get a lot of readers and followers. If you are producing content on a niche topic, the likelihood is your base of followers will be smaller. I figure that should be obvious. Either way, you should do what you care about.

Are you pleasing your audience?

Even when you have built up an audience, not everything you produce will resonate with them. My website is predominantly known for Oracle DBA, SQL and PL/SQL articles, but in my day job I’m an allrounder. I have articles on the website about a range of things including general Linux topics, Terraform, Ansible and Containers. Invariably anything I produce that is not about core Oracle technologies performs really badly in terms of hits/views. A good example of that is my recent run of 10 videos about Ansible (YouTube playlist). From a views perspective is was a disaster. 🙂 I can’t lie and say that’s not a bit disappointing, but if I’m honest I knew it wouldn’t go well. It’s not what I’m known for, and it’s not a subject a lot of my core audience care about that much.

The important point is I wanted to make those videos, so from that perspective I achieved what I set out to do. Was it good for my core audience? No. Do I care? No. 🙂

I think you have to cut yourself some slack and understand not everything you produce will strike a chord. That’s fine. Don’t sweat it…

Does your audience span multiple platforms?

When I started my YouTube channel I figured I would get loads of subscribers and views because my website was so popular. I very quickly found out that was not the case. Most of my core audience don’t really care about watching videos on Oracle topics. Sure there is some crossover, but not that much. If I compare the stats for an article and a video on the same subject, the article out-performs the video by several orders of magnitude. I’ve pretty much had to build my YouTube following from scratch.

If you are producing content on multiple platforms, don’t stress about this. You will always have some platforms that work better for your content than others. If you enjoy pushing content to multiple platforms, do it. If not, stick with the ones you are happiest with, even if they aren’t the best performing…

Controversy sells, but…

I’ve said this numerous times before. If I blow my stack in a blog post, or on Twitter, it’s easy to get a lot of attention. On several occasions I’ve written negative posts about Oracle and had people reach out to me from the press for a quote. They love that “Oracle fanboy attacks Oracle” angle. Controversy sells, but the attention from controversy is fleeting. You’ve either got to keep doubling down on things and getting more extreme, or you will lose that attention.

Personally I think it’s important for the message to remain positive. I made a decision many years ago that I would try to keep my main website free from opinions, but allow myself some more latitude on the blog. I often say the website is for facts. The blog is for bullshit. 🙂

I do throw in some clickbait, like “The Death of the DBA” type articles, from time to time, but that’s because I think people are sleeping on a subject and I want to give them a kick. I don’t want people to wake up one morning and realise they’ve been left behind. So I could argue this type of “negativity” is done for a positive reason…

It’s not for me to tell you what you should write about, but I think you need to consider if you are looking for a viral moment, or something more sustained. I don’t think controversy is sustainable.

What about professional content creators?

If your job is being a content creator, you are going to have a lot more invested in pleasing an audience. If nobody is reading or watching your stuff, you aren’t going to get paid. You’ve got to look for subjects that pay the bills. I understand that, and this post is not really directed at you. 🙂

Conclusion

Some people may join in for the ride. Some people won’t be interested. Ultimately it doesn’t really matter. You do you! 🙂

Cheers

Tim…

Video : Ansible Playbooks : Vault

In today’s video we demonstrate how to use Ansible Vault with Ansible Playbooks.

The video is based on this article.

You might find some useful stuff here.

The star of today’s video is Ilmar Kerm, who is very vocal about automation in the Oracle space.

Cheers

Tim…

Video : Ansible Playbooks : Roles

In today’s video we demonstrate how to use role with Ansible Playbooks.

The video is based on the following article.

You might find some useful stuff here.

The star of today’s video is Anton Els, who I first met when he worked for DBvisit.

Cheers

Tim…

Fedora 36 and Oracle

Fedora 36 was released recently. Here comes the standard warning.

Here are the usual things I do when a new version of Fedora comes out.

Why do I do this? As mentioned in the first link, Fedora is a proving ground for future versions of RHEL, and therefore Oracle Linux. I like to see what is coming around the corner. Doing this has no “real world” value, but I’m a geek, and this is what geeks do. 🙂

As an aside, when Fedora 35 was released I was having a lot of trouble getting 19c and 21c installed on it. I tried a number of times over the course of a few weeks and failed each time. When I tried those same installations on Fedora 36 they just worked, so I went back and tried on Fedora 35 again, and they worked there too. Clearly there have been some changes to underlying Fedora 35 packages that have fixed whatever the problem was with the Oracle installations. As a result, I also produced these.

Now that Fedora 36 exists, these Fedora 35 installations are not really necessary, but it’s nice to do them for the sake of completeness.

I pushed Vagrant builds to my GitHub.

If you want to try these out, you will need to build the base Vagrant boxes using Packer. You can find the Packer builds on my GitHub too.

So now you know how to do it, please don’t! 🙂

What’s New?

So what’s new with Fedora 36? It’s a bleeding edge distribution, so as you might expect, loads of package version updates, bringing most things to the latest and greatest versions. The things that stand out for me are Ansible 5 and Podman 4.0. If you want a more complete perspective on this, you might want to look here.

Cheers

Tim…

Video : Ansible Playbooks : Users and Groups

In today’s video we demonstrate how to manage users and groups with Ansible Playbooks.

The video is based on the following article.

You might find some useful stuff here.

The star of today’s video is Connor McDonald of AskTom fame. You can check out his YouTube channel here.

Cheers

Tim…

ORDS : Migration of Legacy Configuration – Why You Shouldn’t Do It!

Just in case you didn’t get the memo, the installation and configuration of ORDS has changed in version 22.1 onward. As well has the changes to the command line, there is also a different structure for the configuration files. ORDS gives you an option to migrate your existing configuration from the legacy format to the new format, which is good right? Maybe not…

Let me start by saying, there is absolutely nothing wrong with doing this conversion if that’s what you want, but I’m going to explain why it’s a bad idea from my perspective. You are allowed to disagree, and I would like to hear your reasons, but I’m going to explain why I think you shouldn’t do this…

Build Scripts

We run ORDS using Tomcat in Docker containers. Each instance gets one or more ORDS containers. There is a load balancer in front of ORDS to handle CA certificates etc.

Every time we have an update of ORDS, Java, Tomcat or SQLcl, we build a new image, throw away the old containers and create new containers from the new image. As a result, it’s really important we are able to rebuild everything cleanly. The Docker image build is essentially our build script. Even if you don’t use containers, I would suggest you have a build script for everything. You want to be sure that in a nightmare scenario, you can rebuild everything quickly and cleanly.

What’s this got to do with migrating the old configuration? What is your build script? Build and configure in the old version of ORDS and convert the config to the new version? I don’t think so. IMHO you need to invest a little time and create new build scripts using the new version of ORDS. You can’t rely on a bunch of commands you ran in an old version of the product…

But we have a complex build!

I can hear the cries of, “but we have a complex build, so the conversion is easier!” If you have a complex build, replacing it is even harder should something go wrong, so having a version controlled build script is even more important for you than people with simple builds. I wouldn’t be happy about going live with something I couldn’t rebuild. Added to that, the time and effort of getting to grips with the new command line will teach you more about the product, which allows you to support it better.

Web Service Definitions

As I’ve said before, the changes for ORDS are mostly around installation and configuration. Your existing web service definitions will work just fine. They are stored in the database, and will remain untouched by the upgrade. You still need version controlled scripts for their definitions, but you shouldn’t need to run any of them when upgrading ORDS.

So when I’m talking about the migration of config, I am not talking about your web service definitions. I’m talking about the installation and configuration of ORDS at the top-level.

Conclusion

I completely understand why this conversion option exists. Someone will want to use it and giving people choices is typically a good thing. I just don’t think people should use it.

Remember, my thoughts are based on my experience of using ORDS, and I understand that can be a very limited view point. I would be interested to know if someone has a compelling reason why my view on this is wrong. It’s unlikely what you say will alter the way we use ORDS, but it’s always good to know of different approaches, because you never know when they will come in handy in the future…

Tim…

Video : Ansible Playbooks : Tags


In today’s video we demonstrate how to use handlers in Ansible Playbooks.

The video is based on the following article.

You might find some useful stuff here.

The star of today’s video is Tanel Poder, who thinks he’s at the bow of a Viking ship by the look of it. 🙂

Cheers

Tim…

Oracle REST Data Services (ORDS) 22.1 : Article Updates

A couple of weeks ago I wrote about the big changes that have come with version 22.1 of ORDS (here). I mentioned that the changes meant I had to revisit a bunch of my content. I think that process is done now.

As I predicted, there are three new articles so far. I mentioned the first of these in my last post.

These had changed so much is made sense to do them as new articles, rather than trying to cope the “pre-22.1” and “22.1 onward” approaches in one article.

Since the changes are in the configuration, rather than feature usage, most of the other articles needed less work. Typically just references about how to enable/disable features. I’ve worked through all the articles now and I think I’ve sorted everything. I’m sure over time I’ll spot other things I want to add or edit. 🙂 Here’s a link to all the ORDS articles on my website.

ORDS : All Articles

Cheers

Tim…

ORDS and APEX 22.1 : Vagrant and Docker Builds

I was on top of the recent ORDS 22.1 release, but somehow I managed to miss the APEX 22.1 release. Here’s an update on what’s been going on with my builds…

Vagrant Builds

A number of my Vagrant database builds include APEX. Those that do have been updated to use APEX 22.1. You can find them here.

They had already been updated to use the latest versions of Java, Tomcat, ORDS and SQLcl where appropriate, so the APEX upgrade was a small change. The ORDS update was done 11 days ago. It was a bigger update, as the installation process for ORDS 22.1 has changed quite a bit. I wrote about that here.

You can read my beginner’s guide to Vagrant here.

Docker/Container Builds

I have some ORDS containers that include the APEX images, so those image builds have been updated to use ORDS 22.1 and APEX 22.1 images now.

APEX is also included in the database builds. You can find them here.

I was a little slow to add the updates to the Docker builds. The Tomcat and SQLcl changes were done a couple of weeks ago, but I’ve only added the Java, ORDS and APEX changes today. I held back a little on the ORDS 22.1 changes, as I was rewriting a bunch of articles that were affected by the installation and configuration changes.

You can read my Docker/Container articles here.

Real Life

We probably won’t be putting APEX 22.1 live until the next patching cycle, which will be July. In the past I could be quite aggressive about the upgrades, but as APEX is becoming more important in the organisation, the rollout of updates has to be a bit more considered. 🙂

The same will probably be true for the ORDS 22.1 rollout. We run ORDS in containers, so it’s really quick and easy to replace all the infrastructure, but I wanted to be a bit cautious because of all the changes in the new version. Having played with it a bit now, I’m feeling a lot more confident, but at the time we were starting our patching cycle I was too nervous to include it.

As far as home systems are concerned, I only use the latest and greatest, unless there is a compelling reason not to. 😉

Cheers

Tim…

Technology Evolution : What does “the best” even mean?

I was watching a Twitter thread develop, where people were discussing which of two pieces of technology were “the best”, and I found myself thinking of evolution and selection pressure. I’m going to speak in simple terms, so I apologise in advance to folks with an education in this stuff, who are irritated by my simplifications…

Selection Pressure

Organisms evolve because of selection pressure. There is something about their environment that makes certain changes advantageous. Take the case of the peppered moth. To cut a long story short, it was a pale moth. Being pale was good camouflage as the places it hung around were a similar colour, so predators found it hard to spot them. Any mutations that made a peppered moth darker, made it more likely to be spotted and eaten, so mutations that caused the darker moths were unlikely to get through to the next generation. If you get eaten, you are less likely to breed. So there was a selection pressure in favour of being a pale peppered moth. Then along came the industrial revolution, which covered trees and walls in soot. All of a sudden, being pale made it easy for predators to see you and reduced your chances of breeding. Any moths with a mutation causing a darker colour were at an advantage, were more likely to breed, and quickly the predominant colour of peppered moths in industrial regions changed. The selection pressure was now for darker peppered moths.

In contrast, alligators have remained relatively unchanged since before the extinction of the dinosaurs. Sizes vary, but they look pretty much the same. Why? They are already the perfect design for their lifestyle, so there is no selection pressure forcing a change. If some new mutation happens, but it doesn’t give an advantage that affects the alligators chances of breeding, it’s unlikely to spread through the population. The selection pressure is low for the new mutation.

So what’s this got to do with technology? I’m hoping that’s simple for you to see.

If you invent a really smart bit of technology, but it has no major advantages over the existing technology out there, it’s unlikely to obliterate its competitors. Even if there is a technical benefit, that benefit has to be sufficiently large to make people stand up and take notice.

When we look at the database market, relational databases are the alligators. They are really well suited for the role they play. Every time a new non-relational engine comes along, it’s easy to get excited and think of it as the RDBMS-killer, but they are typically targeting different problems. The biggest threat to a specific relational database at the moment is other relational databases…

Survival of the Fittest

When people read “survival of the fittest”, they often forget that “fittest” relates to ability to breed and pass on your genes. The male peacock has stupid tail feathers that slow it down and put it at a higher risk of predation, but the peahens are all about the crazy tail feathers, so the physical disadvantage of the crazy tail feathers is a breeding advantage. Effectively the “least fit” for survival becomes the “most fit” for breeding…

But what about the peacock’s tail feathers in technology? There are a number of factors that make a technology attractive apart from technical excellence, so it’s not always “the best” that wins. For example:

  • Brand : I guess this is the obvious one. Apple is a premium brand. People will often spend extra money for a technically worse product because of the attraction of a brand. There is a reason companies spend big money on advertising and promoting their brand.
  • Community Support : If a product has a vibrant community, where it’s easy to get answers and support, it will be more attractive than a product with bad support and a weak community. Why intentionally put yourself at a disadvantage?
  • Staffing : It doesn’t matter how good a product is, if you can’t get staff with those skills, it’s probably not a great idea to base your future on it. This can be a problem for new technologies, but it also goes for old technologies that are falling out of favour. I wouldn’t be starting a new project using COBOL, even if it were well suited to the task.
  • Cost : There is a reason Android phones have a bigger market share than iPhones. They are cheaper, and therefore more attainable. Cost should be judged on total cost of ownership (TCO), not just the headline price tag…

I know this post has rambled a lot, but coming back to my original point, when I hear someone arguing about technical merits of a product, I find myself wondering if that’s actually relevant at all. Maybe it’s only a small fraction of what really matters…

Cheers

Tim…

PS. The first picture is a crocodile, not an alligator. I know they are different, but I liked this picture… 🙂

Exit mobile version