programmer

Sunday, 17 April 2011
Call me Rys—sounds like Reese. My name is David McCusker, but I prefer Rys. At gmail, username ythorn was already taken, so I took username whythorn instead. I might respond to your email, if you say something interesting about BSD-licensed code shown here. Note thorn is just a brand name I chose a few years ago, meaning code I wrote.

I'm a programmer, aka software engineer, and I develop backend software in C and C++. My computer science degree is from a lowly state school. I taught myself C from K&R in 1983, and later C++ in 1990. Most of my full time coding positions since 1990 have been in C++; I have well over 20,000 hours writing code in C++, so I'm good at it.

But I lack religion and rarely use C++ idiomatically, typically using my own libraries. I seldom use code developed by others, even standard libraries. Some folks might say I don't use C++ as intended. I merely prefer C++ syntax to C, because brevity and type safety are both improved. My style of C++ is sometimes called C with classes.

bytes

Saturday, 23 April 2011
My goal when programming is to get bytes where they need to be, when they need to be there. So I focus on when, where and how bytes change, and very little on language model, which I bend to my own purposes. Very detailed memory management permeates my code. This style is useful when optimizing embedded systems with few outside dependencies.

Some folks feel code is good if and only if it stylishly pursues current fashion in clever use of well-approved tech to maximize social kudos. In contrast, I feel code is good when doing simple things to bytes using api with clear contracts to maximize controlled empirical results, even when stacked in complex ways. Good tools aim to be trivial in isolation.

purpose

Wednesday, 20 April 2011
The purpose of this site is to document bottom-up utilities in C and/or C++ useful for writing backend systems when you stack them up carefully. My intended audience is current and future coworkers, but clearly other folks are welcome to read everything too. But unless you are a coworker, your desires have very low priority. I have little spare attention.

Scope is tiny: only what you see. Alternatives one can pursue won't be discussed, and neither will I cover products one might develop using thorn. Simulations of complex systems might be shown when characterizing a test technique, so coworkers can see how tests work based on bottom-up tools here. Threads, sockets, and scripts etc are just tools for tests.

I lack interest in social status greater than needed to have interesting work to do. Try not to see rudeness in the way I ignore your feedback. I merely have no use for approval.

wiki

Thursday, 21 April 2011
This site is not a wiki, but imitation of wiki style is intentional. Importing pages here into a wiki ought to be easy when I use camel-case page name conventions for pages. I also plan to just check entire directories into source code trees later, to browse docs in a file system. Both pages and directories thus aim to be self-contained, so a tarball gets everything.