Hey again, I'm Peter Herniman, one of those unfortunate souls who came down with 'The Knack' at a young age.
I've been programming, exploring, and tinkering since a little bit before my early teens, and I haven't managed to kick the habit yet.
I've played around with a good lot of programming languages, nowhere near all of them, but a good few, in roughly chronological order of fascination:
C, C++, Scratch, Common Lisp, Racket, Python, Ruby, Lua, Erlang, Perl, Javascript, Processing, Bash, Forth, Ocaml, Haskell, Prolog, SQL, TCL, Awk, Factor, J, K, Apl, A whole bunch of Schemes, Smalltalk, Clojure, D, Hy, Rust, Elixir, Julia, Raku, COBOL, quite a few more little ones, esolangs, the few languages I've written.
Of those, the ones that really captured my fancy (not that I'd necessarily say that I'm productive in all of them) are, off the top of my head, and in no real order:
COBOL, Lisp, Racket, Ruby, Lua, Erlang, Javascript, Perl, Bash, Forth, SQL, TCL, Hy, Julia, Python, Raku, Rebol, and of course, C.
I feel a strong aversion to using Java and Go. I could elaborate on the design decisions I don't like, but I'd rather do that in person.
I'm not a fan of typing a lot, despite what impression this site might give you.
I appreciate implementation simplicity, expressiveness, and something indescribable in the languages I like.
I believe that an individual, given room to expand and be independent, will be more productive than one forced to be a fungible unit.
I've experimented quite a bit with writing Domain Specific Languages for various things.
For Superoxide, I wrote a macro that converted a subset of Julia code into html or alternately html generating Javascript, kinda like a version of JSX, using M-expressions, so it didn't suck as much.
For this site, I suppose my HTML generating functions are something similar, but their scope and novelty is very limited.
For Annotato, my most scope restricted site, I wrote a Nim macro that does largely the same, but with no Javascript generation capabilities.
Overall, I think it's best to write less code, and make the computer do the heavy lifting for you.
Not to mention, and contrary to most opinions (outside of LispLand), I think a well placed macro makes code vastly more legible.
My sense of right and wrong isn't set in stone, but it's very developed.
I'm very flexible, but I absolutely will not violate my moral principles.
What those principles actually are, is something that wouldn't be difficult to put into words, but would be better done in person.
Various essays exist espousing my opinions, by large, I value autonomy, productivity, intellectual curiosity, and purpose.
I respect and strive to have a good memory, resilience, forward momentum, and the ability to forgive.
I especially struggle with the latter.
I agree strongly with Pavlov and Anokhin's ideas about the essential aspects of life, particularly that exploration, and the 'orienting reflex', are intrinsic in all but the smallest units of an organism.
I'm a bit of a Luddite. I don't use social media, I don't watch videos (other than old movies, frequently, and talks, occasionally), and I don't use my phone for anything other than writing code and texting.
I enjoy lively conversation about almost anything, but I don't think best that way.
I prefer to get my information by reading, with slow reflection afterwards.
I've been an avid mushroom hunter for the past 8 years or so. I developed the hobby when I lived in Santa Cruz, which has long rainy seasons, a fantastic variety of mushrooms, and an equally various set of mushroomers.
Since moving to the desert, I have been surprised by the quantity and variety of mushrooms that I've found in the most unassuming places!
Tangentially, I'm interested in mushroom cultivation, having grown oysters, and attempted blewits, chantrelles, and a few other varieties of edible mushrooms.
I'm not as good a cultivator as I am a hunter, though.
I also enjoy woodworking and pit-fired pottery. Recently I have developed a peculiar fascination (I'm not remotely musical) with making bizarre instruments.
I have a minor obsession with physiology, medicine, nutrition, and drugs. I could happily talk for hours about the intricacies of aspirin, the histories of different vitamins, and other trivia.
I'm very interested in the way that biological systems organize around producing robust / approximate function in the face of faults.
With that in mind, one of my longest standing obsessions is with distributed systems / organization / delegation in general.
And if you're interested in reading a few papers I like, go to
Papers I like.
If you still want to get in touch with me, message me at
peter@impeter.org, and I'll reply as soon as I see your message.