RSSAmplifier

Blog

Doug's Place

Recent content on Doug's Place

douglascuthbertson.comRSS feed ↗17 posts

Latest posts

A Simple Unit Test Framework

Over the past few years, I created Basic Unit Test (BUT), the simplest possible unit-test framework for C code that I could think of. I had one important criterion for it, and that was the code for the test driver had to be separate from the code for the test suites. I didn’t want to tie each test suite to a specific driver. I wanted the flexibility to write different drivers, possibly with…

Writing a Unit Test Framework in C

The C programming language was one of the first programming languages I ever learned (after learning Basic, APL, and Fortran). I haven’t written much in C lately and I miss it, so I decided I needed a project to write C on a regular basis. One of the problems with writing C code is making sure it does what you intend it to do. I’ve made lots of mistakes in the past, and I’d like…

Glob Patterns

Some time in 2016 or 2017, I needed a way to match file paths with glob patterns . The trick was that it had to work in a filter driver running in the Windows kernel. There weren’t a lot of ready-to-use libraries that were kernel-ready. In fact I couldn’t find any, so I wrote my own. Back then, I wrote an implementation in C which was very Windows-centric, and didn’t hold to the…

Layoffs at F5

In April 2023, I was laid of from F5, Inc. . It was a significant layoff of about 9% of the workforce, or 623 employees, worldwide. Given that the economy, at least here in the United States, doesn’t seem all that bad, I was surprised to see so many good engineers, product managers, sales people, and others let go. I started working for F5 after it acquired Threat Stack on October 1st, 2021.…

The Orchard

My wife and I went to the Paramount Theater in Boston last night to see The Orchard, a variation of Anton Chekhov’s play, The Cherry Orchard, starring Jessica Hecht and Mikhail Baryshnikov. It was a very avant-garde play. It used a robotic arm that was its own character, a Boston Dynamics robotic dog, and a projection screen curtain draped in front of the whole stage. The projection screen…

A Table Shortcode for Hugo

I write a lot of notes in Markdown files and use Hugo to display them in a browser. It makes for easy reading and jumping among them. Several months ago, I needed to create some tables where some cells spanned mulitple rows or columns. That’s not possible with Markdown tables. Creating tables in HTML with appropriate classes seemed tedious. I thought it might be less so by defining tables in…

Asymptotic Notation

Big-O, Big-\(\Omega\) (Big-Omega), and Big-\(\Theta\) (Big-Theta) notation are used to describe some aspect of an algorithm (usually the running time or the memory resources it needs) relative to the size of the input data. Big-O Notation describes the asymptotic upper bound. In other words, if \(f(n)\) describes the running time of an algorithm; \(f(n) \text{ is said to be } O(g(n))\) if there…

Waiting for Election Results (2020)

The election is over. All we can do is wait for the counting complete. I hope enough people who see just how terrible this failure of a human being, Donald Trump, is went to the polls and voted. The future of our country depends on it. Nevertheless, I have to get a few things off my chest. This morning, I considered writing a post about how horrible and dangerous the actions and words of Donald…

Vote 2020

If you live in the United States of America, please vote! Election Day is Tuesday, November 3rd. Vote for whomever you like, but understand that Trump is tearing apart our country. He lied to us Americans about the deadliness of COVID-19 and how easliy it spreads. Now well over 200,000 Americans are dead. Many of those deaths could have been prevented if we had been forewarned and taken…

A New Hugo-Based Blog

In my previous post I talked a little about why and how I started this blog. Here I want to present my experience with Hugo and what I like about it. Contents The Short-lived Academic Theme Quick Switch to Vanilla Bootstrap A New Navigation Menu More Puttering Around with Layout MathJax Pagination Scrollbar Jumping SCSS Pipeline Processing Sorry Vanilla. You have to Go Navigation Menu General…

Restart

Creating a blog is hard. I admire those who are able to design their own and write regular posts, so much so that I’m trying again to create my own blog. I started this blog late in 2015. After writing a few posts, I became discouraged. I didn’t like the way it looked, the tools often broke, and I didn’t have a clear idea of what I wanted to write, or why I was blogging. Recently…

A Dangerous Spectacle

I am truly saddened by the outcome of the 2016 presidential election. I woke up this morning to find that Donald Trump is our president elect. I feel really awful about it. Our national anthem declares America as “the land of the free and the home of the brave.” While we don’t always live up to that ideal, it’s something we strive for. It’s something we are all proud…

Serving a Blog

I want a blog where I control the design and layout. I want to be able to change the way it works and appears so I can experiment with various ideas, learn by attempting to replicate other designs and see what happens. I’ve tried CMS solutions running on Linux-based servers. One of the first ones I tried many years ago was Apache Cocoon . I was enticed by how flexible and programmable it was…

Fixing the Width

What an ugly, fragile blog. All I wanted to do was make the page a little wider. Suddenly the widths of the left and right columns were varying in size depending on content. Headings were crazy sizes. Both headings and paragraphs had awkward line spacing. While syntax highlighting is a great feature, poor color choices make code very hard to read. It was a mess. I spent a lot of time trying to…

The Pursuit of Happiness Gels in the Imagination

Imagination is good, but action needs to be taken in the real world. I wonder if the reason I have so many non-fiction books waiting to be read is that I’m looking for the thrill of living in a world of fun and self-fulfillment, but I’m not willing to create it. I have books on game programming, drawing, sketching, animation, project management, time management, organizing, clutter…

A Quick Note on Python

I saw an amusing Python tutorial. I have been meaning to learn Python for a while now. While searching for other things, I came across an amusingly titled video on YouTube, Python Programming: Learn Python in One Video , by Derek Banas . I had no illusions it was going to cover the language in any depth. Still, it is only about 45 minutes long, so I decided to take a look. It actually hit a lot of…

A Blog on GitHub

What do you really need to know to setup a blog on GitHub? I want a platform to write about software development, design patterns, and anything else that came to mind. GitHub user pages looked like a good place to start. I’ve toyed with Jekyll and Compass in the past, so I thought it would be easy to setup. For the most part, it is. Along the way, I discovered a few stumbling blocks that I…