Monday, June 27, 2022

aphoristic noodling

I read this post by Baldur Bjarnason, listing "Everything I’ve learned about web development in the almost twenty-five years I’ve been practising", and this followup, which says:

Some of the aphorisms ended up not-so-pithy, but it was overall a fun little experiment that I recommend: note down everything relevant about the craft that you can think of over the space of a week.

I thought about this, and then I thought: Ok, what exactly is my craft? I do computer shit. So I started a list about that, challenging myself to be descriptive about things and not veer too far into pure advice.

A year or so passed, and I noticed this post was still sitting in my "work in progress" directory. I tried picking it back up and noticed how much overlap it would have with other posts like these:

This style of writing is basically catnip to people like me, whether it's of much use to anyone else or not. This post ultimately felt like a dead end, because instead of a blog post, it really wants to be some long document where I collect all sorts of aphorisms, pithy quotes, eponymous laws, and so forth about technical work and maybe just work generally. Maybe I'll start that document one of these days.

Anyway, that very partial and uneven list:

  1. Caching is hard to think about and breaks often.
  2. Cleverness in code is generally a sign of danger.
  3. Business ruins everything.
  4. Some forms of interoperability are a trap.
  5. Bad ideas aren't limited to bad people.
  6. Good people aren't limited to good ideas.
  7. An aesthetic is not an ethic.
  8. The customer is usually wrong.
  9. If it's written in:
    • C: It'll work, but I should remember there's a buffer overflow or something.
    • PHP: It'll probably work, but there's an SQL injection vulnerability somewhere and the cool kids will be shitty about it being PHP.
    • Python: 50/50 whether it'll just barf stack traces into my terminal for non-obvious reasons.
    • Ruby: Decent chance I'll wind up reading the source code and cursing at clever Ruby programmers.
    • Haskell: It works, but I'm not smart enough to understand it.
    • Rust: Probably works, if they finished writing it. I'm not smart enough to understand the code.
    • Go: Total crapshoot, but either way I bet the CLI has a bunch of infuriatingly nested subcommands.
    • JavaScript: Life is too short to deal with whatever package management and runtime I'm supposed to use for this now.
    • Java: If I have to find out it's Java, I'm probably in trouble.
  10. Lightweight markup languages are fundamentally in tension with the range of structures that their users will inevitably want to express.
  11. Design, marketing, and management are all real undertakings, but they are also aggressively self-reproducing ideological systems and political projects.
  12. Environments within which small tools can be combined to operate on simple abstractions are powerful. An environment might be what you think of as an operating system, a programming language, a database, or an application. All else being equal, the ones that can bridge to other environments are more powerful.
  13. There are few abstractions in computing more stable than filesystems, standard IO, text files, and the shell. Boring relational databases aren't too far behind, but the barriers to entry and data transfer are higher.
  14. Technology is at least as fashion-oriented as the sartorial choices of highschoolers, actors, and musicians. Changes are driven as much by a desire for difference from the perceived status quo as anything else.
  15. Technical politics are also organizational, labor, and identity politics. The currents of power they involve are illegible without taking those factors into account.
  16. There's no guarantee that your technical preferences will match up with the ideas, people, or power structures you find agreeable in other domains. (Or vice versa.)

tags: topics/technical, topics/work

p1k3 / 2022 / 6 / 27

Sunday, May 29, 2022

One earlier this month from Tyler on notebooks and paper notes.

This was a reminder that I’d been meaning to update notes on notes with the current shape of my system. My habits haven’t changed drastically in three years, but I’ve made some extensions worth describing. (In particular, I now make heavy use of the tagged log format I wrote about last year. In turn, that’s shown me some things that could be better.)

On a meta level, that document is still mostly boring technical specifics. I’d like it to include more of the why of things, the stuff I’ve come to realize after years of overthinking.

tags: topics/notebooks, topics/notes

p1k3 / 2022 / 5 / 29

wednesday, march 16, 2022

what's the distance
between a nervous habit
and a ritual tradition?

maybe just time and the collection plate
or how much group dynamics and trappings of
the numinous you can gin up

but i notice how
a lot of us have lost all touch with the latter
while accumulating a distinct excess
of the former

p1k3 / 2022 / 3 / 16

Monday, February 21, 2022

why i don't blog much, any more

I read Tyler’s Why I Blog earlier today, and it reminded me of a draft I started here back in early January. I thought: These are compelling reasons to write in public, or at least I used to think so. Then I remembered I’d been been writing about not doing that any more.

I used to. Lately… Well, prior to a bit about writing on paper from the 7th, I last posted anything of length here in July. In all of 2021, I wrote 19 entries. This is the fewest in any year that I’ve had a blog, including the ones where it lived on GeoCities or still had a tilde in the URL. Reading back over the year, there’s not much weight to any of it. A few incomplete thoughts. Some rabbitholing on mundane topics. Mostly: Going through motions and repeating myself.

I could overthink this, but it isn’t warranted. The reasons not to write here are all just themes I’ve been repeating at (numbing) length for years: Self-expression in the open seems like an attack surface. A public record is, as much as anything, a liability. Kinds of text that once felt liberating now feel like an embarrassment at best. The internet in general is owned by bad people and has gone septic as a culture, even as it determines culture as a whole.

Besides all of that, writing on the internet in 2022 is a lot like photos in 2022: There’s just so much of the stuff. It’s not just that anything I write here might be used to train a language model a la GPT-3, it’s that increasingly it feels like it could be the product of one.

And so it naturally works out that instead of writing more p1k3 entries, I chat with my friends, post to a handful of people on Mastodon, and take notes in local files.

I still feel some kind of an attachment to this. It’s my longest-running project, more or less, and writing here has been a lot of how I sorted out the world for myself. Back in 2017, I wrote:

On the other hand. Writing is one of the only real powers I've ever had, and the surface of this terrible website is still mine to write on. The web is dead to me, as a hope or a cause, and the world it's made — the world that so many thousands of us helped to make — is in bad shape and getting worse. But why should I give up my only real canvas, the only place where I have any voice at all?

Possibly (almost certainly) having a voice is itself an illusion, irrelevant to the course of things now. But I guess it's something.

Over time, though, it feels less and less like something. On matters public, there are infinite voices. The repetition and variation, the algorithmic swell, is vast. If I have anything to say, someone else is probably saying it better. At least if it can be said in any useful way. The usefulness of saying things itself is frequently washed out in the deluge. The impossibility of communication feels like a defining feature of the age.

The only thing that’s left is whatever’s particular to my perspective, and it rarely feels like the networked ebb and flow has a healthy use for that.

Anyway, I’m repeating myself again.

For a while I’ve been thinking about changing the structure of this whole site into something less reverse-chronological, writing something besides the personal narrative that a blog lends itself to, or just publishing somewhere away from the public web. Maybe somewhere away from screens altogether. Who needs Substack when you’ve got a laser printer and a roll of stamps?

I’m not sure what I’ll do any different, if anything. It’s just hard to let go of something you’ve made at considerable length, even if it isn’t worth much, even if it’s just a habit of talking mostly to yourself. Maybe I’ll let it lie fallow for years until I get hit by a bus, or find some better use for the hosting costs and let it drop off the web without fanfare. Maybe I’ll change my mind about all of this in six months or a decade.

(Of course this is more meta-whatever.)

tags: topics/writing

p1k3 / 2022 / 2 / 21

linkdump

Labor Force Participation Rate (CIVPART) | FRED | St. Louis Fed

LEADERSHIP LAB: The Craft of Writing Effectively - YouTube

User:ATomasevich (WMF)/Guidelines for a healthy code review culture - MediaWiki

chiark’s skip-skip-cross-up-grade

Repo Owner Quickstart — scap 3.0 documentation

diziet | chiark’s skip-skip-cross-up-grade

Free() As In Going To The Mattresses

Cops Are Still Fainting When They Touch Fentanyl | Defector

Tio is a Serial Terminal For Us

SynoCommunity

100 degrees sets a new record for Denver Saturday

Accident Cessna T337G Pressurized Skymaster N337KN, 17 Jul 2022

1 killed in plane crash that started wildfire in Lefthand Canyon | FOX31 Denver

Circumnavigation

ImperialViolet - Passkeys

Reverse-engineering the Apollo spacecraft's FM radio

Chris's Wiki :: blog/programming/GoTimeFormatMixedFeelingsTo summarize, you both parse and format times by telling Go how a magic time would look either on input or on output. This magic time is Monday, January 2, 15:04:05, 2006, in time zone seven hours west of GMT, which is chosen so all sets of digits are different (including the hours if they're not in 24 hour format). A typical time format string from one of my programs is '2006-01-02 15:04:05 -0700'. Seriously?

Finally got rid of a/ and b/ in git diff outputs!

How to Successfully Smash Your Face Against a Tree

Photo

Saturday Morning Breakfast Cereal - Science Show