Doug Tidwell

Although my career has mostly been a cautionary tale to others, I've spoken hundreds of times at conferences & events worldwide and created dozens of videos & articles on the web. When off the clock, I make The World's Best Manhattan at my home in Raleigh.

Areas of Expertise

docker, kubernetes, containers, serverless, Istio, Java, node.js

Recent Posts

Manipulating emojis in Java, or: What is 🐻 + 1?

Manipulating emojis in Java, or: What is 🐻 + 1?

Warning: The code you’re about to see has no redeeming qualities whatsoever. We hope you enjoy it as much as we do. 

If you’re like us, you’ve probably been wondering about how to manipulate emojis in your Java programs. Or perhaps you’ve been thinking about that age-old question, “What is 🐻 + 1?” Thanks to a recent coding session in which yr author spent what could have been several productive hours going down a 🐰🕳(rabbit hole), we can help you answer that question.

Continue reading “Manipulating emojis in Java, or: What is 🐻 + 1?”

Share
Red Hat technologies make open hybrid cloud a reality

Red Hat technologies make open hybrid cloud a reality

Lots of organizations worldwide have the goal of an open hybrid cloud. The ability to build applications that work with multiple public cloud providers as well as on-premise virtualization services without vendor lock-in has many advantages:

  • The ability to move workloads from one cloud provider to another.
  • The freedom to move workloads in-house and off-premises as needed.
  • The ability to coordinate tasks running in different clouds.

For a definition of open hybrid cloud, we turn to Red Hat’s Eric Schabell:

Hybrid cloud is a combination of one or more public and private clouds with at least a degree of workload portability, integration, orchestration, and unified management.

Continue reading “Red Hat technologies make open hybrid cloud a reality”

Share
Get started with reactive programming with creative Coderland tutorials

Get started with reactive programming with creative Coderland tutorials

The Reactica roller coaster is the latest addition to Coderland, our fictitious amusement park for developers. It illustrates the power of reactive computing, an important architecture for working with groups of microservices that use asynchronous data to work with each other.

In this scenario, we need to build a web app to display the constantly updated wait time for the coaster.

Continue reading “Get started with reactive programming with creative Coderland tutorials”

Share
The browser wars and the birth of JavaScript

The browser wars and the birth of JavaScript

“Any application that can be written in JavaScript will eventually be written in JavaScript.” — Atwood’s Law, stated by Jeff Atwood in a blog post titled “The Principle of Least Power,” July 17, 2007

Before anything like an Android device or iPhone existed, desktop computers were the battleground for the browser wars. The battle involved billions of dollars invested by a number of companies, all based on the premise that whoever ruled the desktop browser market would own the internet. Today, mobile devices account for nearly half of all website traffic. Back in the 1990s, however, almost all of the action on the web came from desktop machines, and the vast majority of those desktop machines were running some flavor of Microsoft Windows.

In the browser world, the first-mover advantage belonged to Netscape Communications Corporation. They built the Netscape Navigator browser that made the web accessible to millions for the first time. Netscape had more than 80% of the market, but they also had no shortage of competition. IBM had a browser for OS/2. Oracle had the Powerbrowser, a Netscape-compatible product that included something called the Database Markup Language. The real danger to Netscape, of course, came from the company that owned more than 80% of the world’s desktops: Microsoft.

Strategically, Netscape realized that the web needed to move past static web pages to reach its full potential. Even if they were created dynamically by something like a CGI script on the web server, pages didn’t change once they arrived in your browser. If you wanted to see even a slightly modified version of a page, you had to send a request back to the server and wait for a response. For all its sophistication, a web browser felt a lot like a dumb terminal attached to a mainframe. What web developers needed was a programming language that would run in the browser, taking advantage of the processing power of the desktop machine to give users a richer experience.

Continue reading “The browser wars and the birth of JavaScript”

Share
Using Quay.io to find vulnerabilities in your container images

Using Quay.io to find vulnerabilities in your container images

You’ve created a container image that has all the packages that you and your team need to do something useful, or maybe you’ve built a public image that anybody can use. But, what if that image contains packages with known security vulnerabilities? Regardless of the severity of those vulnerabilities, you’ll want to learn more and take steps to mitigate them as soon as possible.

Fortunately, your team uses Quay.io* as your registry. When you push an image to Quay.io, it automatically runs a security scan against that image.

Continue reading “Using Quay.io to find vulnerabilities in your container images”

Share
Container-related content you might have missed at Red Hat Summit

Container-related content you might have missed at Red Hat Summit

If you weren’t lucky enough to attend the recent Red Hat Summit or you went but couldn’t make it to all the container-related sessions, worry not. We teamed up with Scott McCarty, Principal Technology Product Manager–Containers at Red Hat, to bring you an overview of what you missed.

Choosing the right container base image for your applications

The Red Hat Universal Base Image (UBI) gives you three options for building containers with the full power of Red Hat Enterprise Linux (RHEL) underneath. The goal is to create the smallest possible image that fully supports your application. You select a base image depending on the application you’re packaging in a container. For example, if you have a Golang or .NET application, all of that application’s dependencies are built in. That means you can use the minimal image (ubi-minimal), which contains microdnf, a package manager that only supports install, update, and remove functions. It also includes, well, a minimal set of tools.

Continue reading “Container-related content you might have missed at Red Hat Summit”

Share
How to build a Raspberry Pi photo booth

How to build a Raspberry Pi photo booth

The Coderland booth at the recent Red Hat Summit was all about serverless computing as implemented in the Compile Driver. If you haven’t gone through that example (you really should), that code creates a souvenir photo by superimposing the Coderland logo, a date stamp, and a message on top of an image from a webcam. We thought it would be fun to build a Raspberry Pi version for the booth so we could offer attendees a free souvenir. Here’s a look at the finished product:

Front of the photo booth

Continue reading “How to build a Raspberry Pi photo booth”

Share
Guru Night at Red Hat Summit: Hands-on experience with serverless computing

Guru Night at Red Hat Summit: Hands-on experience with serverless computing

Millions of developers worldwide want to learn more about serverless computing. If you’re one of the lucky thousands attending Red Hat Summit in Boston May 7-9, you can gain hands-on experience with the help of Burr Sutter and the Red Hat Developer team.

Guru Night is a BYOL (bring your own laptop) event taking place Wednesday, May 8 from 5:00 p.m. to 8:00 p.m. at the Boston Convention and Event Center in ML2 East-258AB. (Doubtless there will be a map to show you where or what ML2 East etc. is; we have no idea.) Head to the signup page and fill out your details now.

TL;DR: Beer and pizza will be served.

We felt compelled to point that out. But read on.

Continue reading “Guru Night at Red Hat Summit: Hands-on experience with serverless computing”

Share
Podman basics cheat sheet

Podman basics cheat sheet

Here and elsewhere, we get a lot of questions about post-Docker container tools in Red Hat Enterprise Linux 7.6 and Red Hat Enterprise Linux 8 beta. Tools like podman, buildah, and skopeo enable you to create and manage rootless containers, which are containers that don’t require root access to be built and deployed. To help you master the basics, we’re happy to offer a new podman basics cheat sheet.

Continue reading “Podman basics cheat sheet”

Share
5 Red Hat Summit sessions developers won’t want to miss

5 Red Hat Summit sessions developers won’t want to miss

Oh sure, like countless thousands of others you’re planning on attending Red Hat Summit in Boston this year. But you’re a little anxious that you might miss the best sessions at the show. In no particular order, here are five sessions (actually five sessions and a workshop) that will enrich your life, expand your horizons, and give you the knowledge you need to lead your team forward. Be sure to check them out.

Continue reading “5 Red Hat Summit sessions developers won’t want to miss”

Share