Parks Computing Services
I'm Paul Parks, a freelance software developer based in Singapore. If you'd like to know more about my skills and background, please take a look at my resume.
Below are some of my personal blog articles. Some are new, and some are from an earlier version of this site before I transferred it from WordPress to my own bespoke engine. If you find the articles interesting, or if you'd like more information on a particular topic, let me know.
-
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.
-
Résumé of Paul Parks
Fitting almost 35 years of professional experience into a four-page Microsoft Word document is a daunting task!
-
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 projects at t...
-
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.
-
Becoming a Developer Overnight, In Only Five Years
This post was inspired by an article on Cal Newport's site that caused me to reflect on my path to my current career.
-
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.
-
FizzBuzz
The FizzBuzz test is just one of those things you have to write, apparently. Before anyone asks, here is mine, in C++.
-
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.
-
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 I started the a...
-
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.
-
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 new responsibilities, and ...
-
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.
-
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. At each level the demand...
-
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...
-
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.
-
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.
-
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.
-
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.
-
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 ...
-
Barcode Generator
This is a very old barcode generator in JavaScript that I wrote long, long ago. I intend to update it eventually to take advantage of the canvas element, but for now, feel free to play around with this page or the stand-alone page.