Principles of Good System Design

Based on this article

(Note that these are not presented as universal principles of system design, but rather ones that worked for this specific project. Hopefully they are useful examples, but I urge you to take a shot at your own list.)

1. Keep it as simple as possible to address today’s known problems

Don’t add complexity to the system to solve hypothetical problems we might face in the future. Thinking ahead is great, but we shouldn’t take on the burden of planning for eventualities that might not even happen. Let’s not try to boil the ocean.

If we can make the system more open-ended without adding a ton of complexity to the system or adding lots of work, that’s great. But otherwise let’s stay focused.

Can we make this simpler? Are we making too many assumptions about how this may need to be extended in future?

2. Ensure that it’s legible

A successful system should be easy for users to understand when they interact with the product. They will need to look at the UI (when we design it) and be able to roughly figure out what the parts of the system are.

Kimball Data Modeling, or why not?

Cloud Data Management

Learn how to manage your data stack and set up processes to get the most out of your data in your organization. We will cover best practices for when you are still querying production all the way up to setting up data marts for different business lines in your organization.

Who this book is for

This book is for anyone looking to setup an effective, modern (typically cloud-based) data stack that will truly enable a company to explore and understand the data it collects to have high visibility into their business. It’s for people who value their data and realize that a company that is truly informed by their data has significant competitive advantages

Download book

Introduction to Data Warehousing

3D Print stl files

Use your favorite slicer to convert these to gcode, I use Cura to generate gcode files that I upload to Octoprint for my Ender 3 printer. 

Here are some fun prints for kids.

Little fun prints

Chess pieces - Original and Replacement




Train scaled 75%





Ender 3 upgrade to v2 silent board 4.2.7 and add BLTouch 3.1

I recently found out about the v2 motherboard upgrade (Motherboard V4.2.7 with TMC2225) for the Ender 3. It is a great idea and not very expensive or hard to do.  The reasons for doing the upgrade are you replace the 8 bit board with a 32 bit board and the new board comes with Silent stepper motor drivers.  They may the printer run silent except for the power supply fan which I added a cover over to quite down some.

Social Media Disinformation

Social Media & Threats, OCTOBER 13, 2020, By Small Business Administration Staff

Social media enables people to communicate, share, and seek information at an accelerated rate. In recent years, social media became the pinnacle of news consumption through its rapid dissemination, low costs, and its accessibility to consumers worldwide.[1] Often breaking and sensitive news is first made available on social media. Whether the information is fact-checked or not, it disseminates around the globe within minutes. Social media provides users the ability to exchange thoughts and ideas with people from corners of the worlds they might not have visited, enables strangers to collaborate and positively impact our collective society, and increase awareness to help grow our businesses and communities. However, social media is a double-edged sword, for all the good we intend to accomplish, social media is also an adversary breeding ground for subverting social media use for their illicit gain.

In this blog, the United States Small Business Administration (SBA) Cybersecurity team members explain common social media risks posed by misinformation campaigns, phishing and scams, malware, and account takeovers. Along with tips to protect businesses, home networks, and individuals.

Linux usage history of CPU Memory and Disk usage using nmon

nmon_cliHow to monitor your Linux servers with nmon

The advantage of the nmon tool over top is it will, using a simple ncurses interface, display the usage for CPU, memory, network, disks, file system, NFS, top processes, resources, and power micro-partition. What's best is that you get to choose what nmon displays. And since it's text-based, you can secure shell into your servers and get a quick glimpse.

Summary - The Anatomy of Peace

Peace Cover

The Anatomy Of Peace will help you make your life and the world more calm by explaining the inefficiencies in our go-to pattern of using conflict to resolve differences and giving specific tips for how to use understanding to settle issues.


Do you remember the last conflict you were part of? Perhaps it was a difficult spouse, struggling teenager, or an annoying neighbor. These days it’s hard for anyone to come out on top in these situations. Usually bringing up an issue just makes people point fingers at you!

But realistically, it takes two people to sustain a fight. Unfortunately for you that means that you are at least a little to blame for the quarrels in your life. But what parts of the disagreement are you responsible for? And better yet, how can you end the conflict peacefully?