GeistHaus
log in · sign up

Parks Computing

Part of Parks Computing

Parks Computing Services

stories primary
Sudoku
I didn't like most of the Sudoku apps I found, so I decided to write one as a fun little evening and weekend project. It lets you edit and share games.
/page/sudoku
Fixing the Plumbing
Imagine you live in a house where none of the taps have handles. The way you turn on the water is by reaching underneath the sink and turning the shutoff valve to control the flow of the water to the sink. Imagine further that this is the only kind of house you've ever lived in, so you've never known anything different.
/page/fixing-the-plumbing
Discovering the Power of Guitar
I was a shy kid who wasn't the type to attract attention to myself. When it came to girls, I might as well have been invisible. Then, one day, I brought my guitar to school.
/page/power-of-guitar
How Many Years of Pizza Do You Have?
When I was job hunting, one of the most common questions I would get from recruiters was, "How many years of experience do you have with XYZ technology?" I thought of an analogy to explain why it's so difficult for technology professionals to answer accurately, especially at the senior level.
/page/how-many-years-of-pizza
The Next Train to Bracknell
During one of my many trips to England, I was at a train station late one night, trying to get back to my hotel after visiting with a good friend and colleague. I was still new to the train system, and I wasn't sure if the next train approaching went to Bracknell, where I was staying.
/page/next-train-to-bracknell
Barcode Flash Cards
I'm getting back into the retail point-of-sale space, and I needed a way to brush up on my skills at identifying barcode symbologies on sight, so I cooked up a little web app that generates barcode flash cards.
/page/barcode-flash-cards
"That sounds so much more exotic than here!"
My first trip to England was in the summer of 2013. I spent all of June and July there, embedded with a team at Fujitsu in Bracknell, Berkshire, designing an NCR self-service checkout system for the UK Post Office. I stayed at a hotel in Bracknell and walked to the Fujitsu office each morning. It was nice to be outside of London and all of its hustle and bustle. Other than the fact that I was l...
/page/so-much-more-exotic
Just Spell the Month
There was once a software project that was run by an American company for a client in the UK. One of the project documents mentioned a deliverable with the date 10-05-2013. The client was, of course, expecting this deliverable to be completed on the tenth of May, but the team in the US was delighted to find that it wasn't due until October 5th. Fortunately, the American team lead (who also happ...
/page/just-spell-the-month
I Hate Screenshots of Text
During the course of a regular working day, I receive a lot of screenshots like this from well-meaning colleagues:
/page/i-hate-screenshots-of-text
Act Now Before Price Increase
This is an actual, honest-to-goodness advertisement clipped from the Atlanta Journal-Constitution a few years ago.
/page/act-now-before-price-increase
Parks' Laws of Debugging
Over my life as a software developer, I've collected several rules of thumb that guide me in my work, but these two "laws" have been remarkably useful. Like a lot of so-called laws in software development, they're just heuristics, but they have held up so many times that I assume they're true until proven otherwise.
/page/parks-laws-of-debugging
Vibe Coding
It seems everyone's talking about "vibe coding" and how anyone can write Space Invaders in an afternoon. That's great, if you want Space Invaders, but what if you want to create something that's never been done, at least not in the way you envision it? No AI agent is going to write that for you, precisely because it's never been done.
/page/vibe-coding
On Travelling
I use train tickets and boarding passes as bookmarks, which of course makes me a weirdo in a couple of ways....
/page/on-travelling
Résumé of Paul Parks
Fitting almost 35 years of professional experience into a four-page Microsoft Word document is a daunting task!
/page/resume-of-paul-m-parks
Excel Employee Capacity Spreadsheet
Once, when working for a professional-services organisation, I managed a team of business analysts and another team of software engineers. As professional-services employees, they were assigned to customer projects, sometimes more than one project at a time. Our organisation had KPIs for employee utilisation, so making sure employees were assigned to enough proje...
/page/excel-employee-capacity-spreadsheet
Personas In the Wild
If you've been around software product management long enough, you've encountered the concept of "personas," which are fictional characters that represent types of system users. I've used those from time to time to distill user requirements and to keep myself, and my team, focused on our users.
/page/personas-in-the-wild
New Website Design
I'm in the process of porting my site to ASP.NET Razor Pages using .NET 7.0, hosted on Azure. I'm still very early in the process, so it's quite rough around the edges, but it's already much easier to use that my old host on WordPress.
/page/new-website-design
FizzBuzz
The FizzBuzz test is just one of those things you have to write, apparently. Before anyone asks, here is mine, in C++.
/page/fizzbuzz
Set-Associative Cache in C#, Part 2: Interface Design
This is part 2 of a three-part series on implementing a set-associative cache in C#. In part 1, we looked at how set-associative caches work and sketched out the basic design. In this part, we’ll expand on the design a bit more and define a code interface for the cache. In part 3, we’ll turn the design into working code.
/page/set-associative-cache-in-c-part-2-interface-design
Set-Associative Cache in C#, Part 1: Analysis & Initial Design
A couple of weeks ago, I had never heard of a set-associative cache. Then, I was assigned an interview exercise on HackerRank entitled “Set-Associative Cache Optimization”. (I won’t give away the company or any details about the exercise, since that wouldn’t be fair.) Since I hadn’t heard of such a cache, I decided to learn about it and implement one in C# before...
/page/set-associative-cache-in-c-part-1-analysis-initial-design
Barbecue and Project Management
As I begin to write this article, it’s 8:30 on the Saturday morning of Memorial Day weekend, the de facto start of the summer season in the United States. In most parts of the country, and especially in the South where I live, that means it’s also barbecue season.
/page/barbecue-and-project-management
Scheduling Every Minute, Revisited
Late last year, I published an article entitled “How I Plan Every Minute of My Day to Stay Productive,” where I described my personal daily workflow of planning the tasks that I need to accomplish and then adjusting that plan as necessary throughout the day. I have a new job now, so I want to post an update on how well the approach is working in a new environment with ne...
/page/scheduling-every-minute-revisited
Conway’s Game of Life
I realized one day that I had never implemented Conway’s Game of Life, which is something of a rite of passage for young computer-science students. As I opted for a more non-traditional path to the software profession, I somehow missed that fun, even though I’ve made a point of implementing other computer-sciency things like it.
/page/conways-game-of-life
How I Plan Every Minute of My Day to Stay Productive
Over the years, I have progressed from being a software developer who focuses on code all day, to a designer who designs and codes, to a technical lead who communicates a design and technical strategy to a team of developers, to a technical and project lead who leads developers in the implementation of a project while communicating with customers and other stakeholders. ...
/page/how-i-plan-my-day
pbrain Language Compiler
The pbrain programming language is an extension I made to the Brainf**k programming language that adds the ability to define and call procedures. If you’re wondering about the asterisks in the name of the programming language, it’s because the name is rather rude. That’s why I decided to use a name for my extension that a good bit tamer. After all, my Mom and my kids still read my site from tim...
/page/pbrain
WinDragSens – Graphical Drag Sensitivity Utility
In response to a comment regarding the console-based version of the drag sensitivity utility, I’ve created a new version of the utility that includes a graphical interface and a means of testing the drag settings in the interface.
/page/windragsens
Dragsens – Console-based Drag Sensitivity Utility
Inspired by an article by Raymond Chen about how to correctly change the Windows mouse drag sensitivity, I wrote a simple utility called dragsens. It's a small command-line utility that will allow you to change the number of pixels the mouse has to travel before a drag operation is initiated. Just download and unzip the utility, then run it at the command line.
/page/dragsens
Master Foo and the Technical Recruiter
I found Eric Raymond’s Unix Koans of Master Foo several years ago and simply loved them. Like the Zen koans they are taken from, they are a succinct way to communicate concepts of software development, specifically as they relate to the Unix development subculture.
/page/master-foo-and-the-technical-recruiter
George Orwell and Effective Coding
I spend a lot of time and effort trying to get better at the craft of software development. My goal every day is to fall asleep as a better programmer than the one that awoke that morning. While this involves a lot of reading and practice within the field, I usually learn more by studying older disciplines since software development is still such a young craft.
/page/george-orwell-and-effective-coding
COMPUTE! Magazine Archives!
I love the Internet! I just found an archive of COMPUTE! magazine, which is the magazine that taught me how to program in the 1980's. Just recently I was lamenting not keeping every single issue I ever had (which was most of them), but now I can flip back through them any time. Looking through the site really brought back some memories of when I first started ...
/page/compute-magazine-archives