Premature Generalization

I’m trying to understand premature generalization. First, why is premature generalization a problem? Dave Smith:

One result of premature commitment to a generalization is that you’re supporting code that isn’t used. I’ve joined projects and found that 1/3rd of the code base wasn’t reachable, all because one or more programmers had tried to write class libraries that would solve all possible future needs. It is really, really tempting to give in to the misplaced belief that “… as long as I’m here, I might as well add the other methods that people might need at some point.”

2015-10-12    
Dockerizing Perl Applications

I presented at our Salt Lake Perl Mongers about using Docker to isolate dependencies in your Perl applications.

Perl on Docker

2015-09-14    
An Illustrated Guide to SSH Tunnels

SSH tunnels can provide secure connections through insecure or untrusted networks and may also be used to securely route through firewalls.

About This Guide

This guide began as a personal document to help me learn and remember how SSH tunnels work and has been several years incubating. If you find errors or think of additional examples that you believe would be helpful, I’d be delighted to know about them.

Terminology

Throughout this guide we use “SSH” to refer to the SSH protocol or the world of SSH things and use ssh to refer to the ssh(1) program itself. “We use ssh and sshd to make SSH connections.” The examples in this tutorial are based on OpenSSH 0.9.8 and later.

2015-08-16    
Arches National Park

Some photos from Arches National Park:

And one of my siblings eating sand:

2015-08-10    
About Solitum.net

My name is Scott Wiersdorf; I hail from Salt Lake City but have lived in Pleasant Grove, Utah since y2k or so. I write software for a living and am VP of Software Engineering at a small startup. I like to ski, hike, backpack, read, and overthink things. My résumé is here.

This website is my personal blog. I have a family whom I love and admire, but I seldom mention them so they can define their own public lives. I’m at ease being inconsistent in my views and opinions over time.

2015-08-05    
A Gentle and Mostly Harmless Introduction to Event Loops

I talked about event loops at OpenWest.

2015-08-05    
Euclid's Proof of Infinite Prime Numbers

Euclid created this simple and beautiful proof of infinite prime numbers. I am writing this down as I understand it to make it more solid in my own mind. Caveat: I am not a mathematician and don’t use rigorous terms below.

Let S be the set of all prime numbers. Multiply all members of S to come up with a number N. N is not prime (being composed of all primes in S). But N+1 may be prime; if so, N+1 can be added to S.

2015-07-29    
Google Fiber

I overheard some 12 year olds talking. One of them asked, “Have you heard of Google Fiber?”

Another asked, “What’s that?”

“Google fiber is a new operating system by Google that is way faster and has more memory.”

2015-07-26    
The Will to Design

Martin Fowler on the will to design:

In order to work, evolutionary design needs a force that drives it to converge. This force can only come from people—somebody on the team has to have the determination to ensure that the design quality stays high.

This will does not have to come from everyone (although it’s nice if it does), usually just one or two people on the team take on the responsibility of keeping the design whole. This is one of the tasks that usually falls under the term ‘architect’.

2015-07-15    
AnyEvent Primitives

I gave a talk at OpenWest about Perl’s AnyEvent module and some of its primitive operations.

2015-07-06