View on GitHub

chops-net-ip

Chops Net IP ("C"onnective "H"andcrafted "Op"enwork "S"oftware) is a tasty C++ library that makes asynchronous IP network coding fun! Or at least this library makes asynchronous network programming easier and safer without sacrificing significant performance.

Author Notes and Contributor Information

A Cliff Note on the Chops Name

(from Cliff, 2018) Yes, the name / acronym is a stretch. Quite a stretch. I like the word “chops”, which is a jazz term for strong technique, so I decided on that for a name. For example, “Check out Tal Wilkenfeld, she’s got mad chops.”

I considered many names, at least two or three dozen, but my favorite ideas were all taken (or too close to existing names and could create confusion). It seems that a lot of software developers have similar creative ideas when it comes to names.

I wasn’t thinking of any Chinese related terms when I came up with “chops”, such as chopsticks or the Chinese meaning of chop as a seal or fingerprint. It was weeks later before I remembered the Chinese associations.

The crucial word in the acronym is “Connective”. Most of my software engineering career has involved networking or distributed software and this collection of libraries and utilities is centered on that theme. Making it easier to write high performing networked applications, specially in C++, is one of my goals as someone writing infrastructure and core utility libraries.

The second word of the acronym is just a “feel good” word for me. Most software is handcrafted, so there’s nothing distinctive about my use of the term. I’m using the word because I like it, plus it has good mental associations for me with things like “handcrafted beer” (yum), or “handcrafted furniture” (good stuff). Handcrafted also implies quality, and I believe this software excels in its implementation and design.

I originally was going to use the term “openhearted” as part of the project name, but decided that “openwork” is a nice alternate form of “open source” and a little more technically consistent. The dictionary says that “openwork” is work constructed so as to show openings through its substance (such as wrought-iron openwork or embroidery, and is typically ornamental), so my use of the term is not exactly correct. I don’t care, I still like the way I use it.

Even though I didn’t use “openhearted” in the name, it’s an aspect that I aspire to in every part of my life. I fall short, very often, but not because of lack of effort or desire.

I mentioned Tal earlier in this note, so here are two representative YouTube videos of her playing with Jeff Beck, who I consider one of the all time best guitarists. The first video is a blend of jazz, rock, and funk, the second is the two of them playing one of my favorite rock / jazz fusion ballads: https://www.youtube.com/watch?v=jVb-izZVCwQ, https://www.youtube.com/watch?v=blp7hPFaIfU

And since I’m on a music digression, an artist I often listen to while writing code is Helios. His music is instrumental, space music’ey, ambient, contains a nice amount of harmonic and rhythmic complexity, and is very melodic. Most important it doesn’t interfere with my concentration. A good album to start with is Eingya: https://www.youtube.com/watch?v=fud-Lz76MHg