Welcome to James Brown's blagoblag! This contains various thoughts and opinions, mostly wrong, going back a couple of decades. All of the opinions are my own, and probably not my employer's. Feel free to visit the about page for more useless interesting facts about me.

One of my favorite Ruby snippets

This is one of my favorite Ruby snippets, which I wrote many years ago and tend to sneak into codebases:

class Object
  def if_apply(cond, &block)
    unless cond.is_a?(TrueClass) || cond.is_a?(FalseClass)
      cond = cond.present?
    end
    if cond
      block.call(self)
    else
      self
    end
  end
end

It's super-helpful for cleaning up long method chains when writing in a "pipelined" style. Imagine the following pseudo-Rails code:

class FooController < ApplicationController
  def index
    items = Item.all.order(id: :asc)
    if params[:only_squares]
      items = items.where(square: true)
    end
    if params[:owner].present?
      items = items.where(owner: params[:owner])
    end
    @items = items.paginate(page: params[:page], per_page: 25)
  end
end

This is really noisy. The word items is repeated everywhere. Can we make this look a little closer-to a point-free style? With the .if_apply helper, you can rewrite this as the following:

class FooController < ApplicationController
  def index
    @items = Item
      .all
      .if_apply(params[:only_squares]) { _1.where(square: true) }
      .if_apply(params[:owner]) { _1.where(owner: params[:owner]) }
      .order(id: :asc)
      .paginate(page: params[:page], per_page: 25)
  end
end

If you prefer to avoid the _1 everwhere, you can replace block.call(self) with instance_exec(&block) to avoid that argument... but then you can't reference class variables from the enclosing scope, and you run the risk of calling private methods in the subject, so I try to avoid instance_exec when possible.

Also, .if_apply is a terrible method name, but there are two hard problems in computer science: naming things, cache invalidation, and off-by-terminated by signal SIGSEGV (Address boundary error)...

Apple Vision Pro Demo Thoughts

I just did my free 30-minute demo of Apple Vision Pro at the Apple Store in Emeryville and figured I'd write down my initial reactions:

  1. This is the worst Apple Store experience I've ever had. Apparently the connection between the supervisory iPad and the demo AVP unit is very flaky, and their solution is just to have a lot of iPads. The salesperson doing my demo went through five iPads before getting one connected.
  2. Apple Vision Pro is surprisingly... not that heavy. I expected to really feel it, but it feels subjectively lighter on my head than the AirPods Max that I wear at work every day, despite the Vision Pro weighing 50% more than the AirPods Max (600g vs 384g).
  3. In general, this product feels heavily inspired by the AirPods Max. Same color1, same Digital Crown and button, etc.
  4. The IPD alignment wasn't perfect and I still had some doubled vision in the bottom-middle. Easy enough to avoid during the demo by moving my head down when looking at that area, but would be awful if I were using this device every day. I'd want to retry the demo a couple of times and see if it recurs before spending any money on this product.
  5. For some reason, a small green checkmark appeared in the center of my vision roughly every 60 seconds. Was this some artifact of the remote-viewing iPad?
  6. The window resize controls disappeared while watching the Avatar: The Way of Water demo and I couldn't get them back until the video fininshed. Not sure if there's some gesture I was missing to bring them up or if this was a bug.
  7. The Alicia Keys demo is deeply uncomfortable2; all of the other "Immersive Experience" demos are amazing.
  8. Text was more-legible than I expected given the relatively-low angular resolution of the displays (34ppd, compared to 98ppd on the Studio Display I use all day every day). Definitely could see some color fringing on black text on a white background from subpixel anti-aliasing, but it was more comfortable to read than macOS is on a non-Retina monitor with similar angular resolution. I caught the foveated rendering happening a few times but it was pretty unobtrusive.
  9. I experienced no nausea at all during the demo, even the high-motion parts. I have always felt a little queasy when trying other headsets.
  10. The sound was remarkably good. I didn't listen to anything serious, but it had surprising nuance for something that's more open than the most open-backed of headphones.

I'm not going to buy one of these things, but ask me again in a couple of years when a second version. I do, however, think that Apple could make a whole boatload of money charging people $100 to rent one for a few hours to watch a movie. If you have an Apple Store near you, you should definitely do the free demo just for the entertainment value. Heck, we used to pay $25/pop to go see the M.O.M. at the Jordan's Furniture in Avon, and nobody tries to sell you a new couch while you're playing with a Vision Pro.

1

Silver aluminium, which seems to be getting phased out by Apple in favor of their warmer "starlight" aluminium

2

Does anyone want to have someone singing at them from 3 feet away? What was this like for Ms. Cook? Singing at max intensity at a featureless white obelisk?

2023 Game Reviews

It's January 21, 2024, which means it's the perfect time to do a wrap up of some of the content I enjoyed in 20231. I'm going to start off with video games, because they're on my mind. I don't really play a ton of games, and when I do, I have some perhaps unusual things I look for:

  • Xbox or Switch strongly preferred. I don't have or want a PC in the house, and I don't currently have a PlayStation. Once in a while I'll play games on a Mac laptop (either natively or via NVIDIA GeForce NOW), but usually it's console or bust.
  • Single-player only. No interest in interacting with other people while playing video games. Been there, done that, had enough trolls, cheats, and "gamerz" for a lifetime.
  • Story matters at least as much as gameplay
  • Short is better than long; most days I have 0 hours to play video games, and even when I can eke out some time, it's usually only measured in minutes. A 40-hour game is a huge investment, and a competitive grind-fest that takes hundreds of hours to get to the "good part" isn't even an option.

With that being said, I think I might've played more games in 2023 than any time in the previous 5 or so years! Neat! Let's talk about them!

As always, all trademarks and copyrights are the property of their respective owners.

Cocoon

Geometric Interactive, played on Xbox. A

Cocoon is the newest game from director Jeppe Carlsen, who previously created Limbo and Inside. Fun fact: the reason I own an Xbox is because I played Limbo at my friend Brett's house and it was the most incredible game I'd ever played. So much emotion in so little! Anyhow, Cocoon shares a lot with its predecessors: silent protagonist, mind-bending mechanics, horrifying and mostly-unexplained world, tricky puzzles. You play as a... bug person? who has to solve puzzles using magic orbs. Also, the orbs each contain entire universes, and sometimes contain themselves.

It took about 5 hours to beat this, and I know there are more hidden details. Definitely worth picking up.

Dead Space (Remastered)

Motive, played on Xbox. B-

I never played the original Dead Space, but I've been known to enjoy atmospheric horror entertainment. The remaster is extremely high-quality (I find it hard to believe that they were able to reuse anything from the original game other than the plot and the audio), but it definitly suffers from being a remake of a 2008 video game. The combat is plodding when it should be fast and fast when it should be intentional; the RNG controls way too much; the plot has been referenced by a million other games (such as 2022's the Callisto Protocol). I'll play the remakes of Dead Space 2 and Dead Space 3 when they come out, but this game didn't inspire too much in me.

Indeed, I didn't even take a single screenshot when playing.

Star Wars Jedi Survivor

Respawn Entertainment, played on Xbox. B+

Star Wars Jedi: Survivor is the sequel to 2019's STAR WARS Jedi: Fallen Order2. It's a moderately-hard lightsaber combat game set in the Star Wars universe in the time period between Revenge of The Sith and A New Hope, starring Cameron Monaghan as traumatized Jedi Cal Kestis. The combat is supposedly inspired by Dark Souls, which I've never played. It's definitely hard — there are a lot of one-hit kills, and some fights took me quite a few attempts3.

I did 100% this game, and it was fun, but also sometimes had that "feels like work" slog. Took 53 hours to 100%4, which is past my comfort level for how much I want to invest in a game. I mostly played with the crossguard and double-bladed stances. I stuck with it because the plot hit all the right emotional notes, and, while it was still written for children, was still better than almost everything Disney has turned out recently5.

The Talos Principle 2

Croteam, played on Xbox. A+

Without a doubt, The Talos Principle 2 was my favorite game of 2023. It follow directly from 2014's The Talos Principle and is a puzzle game about robots and philosophy. It mixes extremely difficult puzzles (some of which took me hours to figure out) with philosophy lectures and long digressions about the nature of consciousness. The writing is snappy and infuses humor and melodrama appropriately; you'll come to care deeply for these characters, even (especially?) those you disagree with.

The game is also gorgeous to look at; all of Croteam's games have a hyper-real quality to them, and this one is no exception.

I didn't 100% this, but I did play about 27 hours and finished all of the primary content. You do yourself a disservice by not reading every terminal, listening to every audio log, and talking to every character.

I also went back and replayed the entire Talos Principle and Road to Gehenna after finishing TTP2, and was reminded that those are excellent games.

Starfield

Bethesda Games, played on Xbox. D+

Bethesda has been promising a sprawling new game since 2015's Fallout 4, and released the first trailer video five years ago. What we got was... Starfield. I played through all the main questlines for each faction and most of the sidequests and the main emotion I felt was... boredom. It feels like they had a lot of great ideas on what to do with this game, but somehow weren't able to implement any of them for some reason. There are a bunch of mechanics around weight and fuel and stealth and base-building that don't do anything at all. The combat is somewhat better than Fallout 4 but at the end of the day, all the guns feel pretty much the same and it's mosly just a matter of having a bigger number.

The plot is sort of interesting, but also every single twist is predictable if you've ever watched any science fiction television or movies or read a single book. The characters are mostly dull and lifeless, and those that aren't (like Andreja) never get a chance to really explain their backstories.

Space combat is extremely dull once you get a Class B ship. Building spaceships is fun, but also stupid because you can't control basic things like where the ladders are going to be between rooms. Making a ship that doesn't look butt-ugly takes hours and costs hundreds of thousands of credits, which are easy but boring to get more of due to the low sell prices of everything and the trademark awful inventory management.

And, of course, everything is buggy. Everything! I can't finish the game because the last mission of the main questline is totally broken. There are hundreds of other reports of this online. Bethesda hasn't addressed it in any of their patches. I have two or three other side-quests that are similarly broken.

I've played dozens of hours of Skyrim over the last 12 years, but I really don't see Starfield holding up. Maybe I'll re-examine if a plot-heavy expansion pack comes out, but no promises.

Nova Drift

Chimeric, played on Mac. B+

What if Asteroids were a bullet hell roguelite? That's the fundamental idea behind Nova Drift, a game from solo developer Jeffrey Nielson available on Windows/Linux/Mac. Gain points to get randomized unlocks; reach new high scores to unlock progression upgrades that apply between runs. Blow up thousands and thousands of little shapes. Bright colors! Fun electronic music! It's an ideal arcade game.

It's also a little buggy (I've gotten some really annoying crashes late in a long run), and it's unfinished. I'm always a little skeptical of "Early Access" and paying to beta test something. However, this game is straightforward enough that I don't feel like I'm missing out on too much.

Fun fact: I originally found out about this game when people were talking about it on Mastodon!

The Last Campfire

Hello Games, played on Nintendo Switch. A-

Another great game that I played for the first time this year (but which came out 2020). You play as Ember, an adorable little blobby character who has to explore a metaphor for death to help lost souls recover a spark of hope and move on. The narrator (who also voices all the characters) really makes this game.

The puzzles are pretty easy and this game took about 7 hours to beat.

Transistor

Supergiant Games, played on Nintendo Switch. A

Speaking of games about death, Transistor actually came out in '14, but it never came out for Xbox, so I didn't play it. I do adore Supergiant Games and have played through Bastion many times, and still play Hades regularly. Transistor is an isometric hybrid between a hack-and-slash game and a turn-based RPG. Even if you hate the gameplay6, it's worth playing just because everything with Darren Korb and Ashley Lynn Barrett is worth listening to.

Only takes about 5 hours to beat, and smooth as silk on the Switch.

Cobalt Core

Brace Yourself Games, played on Nintendo Switch. B+

This is another great Switch game, and I'm cheating here because it came out at the very beginning of January 2024. Close enough! It's a "deck-building low-fi roguelite", and the closest comparison I have for it is 2012's FTL: Faster than Light. It's a turn-based space combat game, but the twist is that the actions you can perform are based on a deck of virtual "cards" that you acquire through the game. This is a great game to play while doing something else (like watching TV, if you've got as poor of an attention span as I do. It's also quite frustrating; like a lot of roguelikes/roguelites, the game is hugely dependent on the RNG, and it's frustrating to get 20 minutes into a run and realize that you have no change of success because the next boss is only survivable if you have a certain card.

Looking Forward

In 2024, we've got Hades 2, Homeworld 37, Star Wars Outlaws coming out that I'm interested in so far. Plus, the whole reason I got a Switch was to play Breath of the Wild, which I haven't done yet. Hopefully, it'll be as good of a year for games as 2023!

1

I know, I know, a lot of people do their yearly wrap-up review posts in December. But then what about the games I played in December, eh?

2

What the hell is going on with capitalization and colon placement at Electronic Arts? When is it STAR WARS and when is it Star Wars? Why is it "Jedi: Survivor" in promotional material, but "Jedi Survivor" in the menus? Who knows!?

3

TWO rancors!?

4

For comparison, STAR WARS Jedi: Fallen Order took about 39 hours to 100% a couple of years ago.

5

Except Andor, of course. Go watch Andor!

6

Which I did not, to be clear

7

Probably the most hyped game for me in many years? I've played hundreds of hours of Homeworld and Homeworld 2. I didn't love Deserts of Kharak, but I'm tentatively hopeful for Homeworld 3. Even though they were initially promising Mac support, they haven't mentioned anything about Macs in the last few years, so I'm really hoping this one runs on GeForce NOW.

January 2024 Editor Update

I decided to take some time over the holidays to redo my Neovim configuration, which I last spent any meaningful time on in 2019. I've been going back and forth on editors a lot for the last few years; last year, I spent the first six months of the year using Helix, which is a batteries-included editor based on the Kakoune editing model. I gave up on Helix after one too many crashes, and went back to Neovim.

The main goals of my recent config rewrite were:

  1. Move from init.vim to init.lua
  2. Get rid of unused/underused plugins
  3. Move to LSP + Tree-sitter, for real

All of these things were successful! My new init.lua is about the same size as the old init.vim, but has about 20% fewer plugins and a lot more comments. I also switched from vim-plug to lazy.vim, which slightly improved startup time and provided a slightly more ergonomic way to configure stuff.

Here's a quick screenshot showing my solution for Advent of Code 2023 Day 25, in Neovim in iTerm 2:

Neovim in iTerm 2

Read on for more fun and exciting details.

read more

Changing Servers

I've kept a server in The Cloud1 for the past 14 years or so, hosted with Tornado VPS (formerly prgmr2). Well, I suppose I've been running anywhere from tens to tens of thousands of servers during that time, but this one was always a pet that I used to run whatever miscellaneous nonsense I needed in my personal life. For what it's worth, let me say that I have had a very satisfactory experience with prgmr/tornadovps; there has been maybe six hours of downtime over that period, and support has been super-helpful3.

sietchtabr.roguelazer.net started out way back on November 30, 2009 as a 512MB RAM, 12 GB spinning disk VM costing $11/mo and running Debian lenny. When I was experimenting with dnsextd in 2009, it was on this server. When I was hacking on a sed to x86 compiler in 2011, it was on this server. When I got married in 2015, I built the web-app for managing RSVPs on this server4. When my former classmate Michael Vrable needed someone to host a replica of a DNS zone for him? This server. Every once in a while, pgrmr would bump up the RAM and disk and CPU, and every time a Debian release came out, I would do the upgrade. I even rebooted from time to time.

When Debian bookworm came out this June, I initially planned to upgrade again. After all, why not? Well, for one thing, every time my disk had been expanded, I'd just made new partitions and put big pieces of data on them, so the filesystem was a mess — LVM2 had existed by 2009, but I hadn't used it. It was also an untidy mixture of ext4 and unconverted old ext3 volumes. If nothing else, I probably ought to have fixed all that. I also wanted to try out btrfs as a root volume; I've been avoiding it after seeing some nasty data loss issues around 2015, but probably eight years is enough maturation time.

That all seemed annoying, so instead I've replaced the server entirely. Still with TornadoVPS, just a fresh clean install of Debian. I went through and wrote Puppet manifests for every service I care about, and dropped everything I no longer need. Some key services:

  • tailscale for talking to other machines
  • bind9 to host some DNS zones
  • apache with some CGIs and web pages
  • postfix for outbound mail5
  • synapse as a matrix homeserver
  • znc as an IRC bouncer
  • duplicity running offsite backups
  • prometheus to collect metrics both about this machine and other machines on my tailnet, and to alert about them
  • a motley collection of OCI containers used to test things in docker/podman

I also took a bunch of stuff I use that doesn't have usable/up-to-date Debian packages (like neovim and zellij) and packaged them so I'm no longer running a bunch of un-managed binaries out of ~/bin like an animal.

Anyhow, I'm glad to report that after a couple of hairy days, everything's moved over. The new instance has 8GB of RAM, two vCPUs of AMD EPYC 7402P, and 90GB of reasonably-fast SSD storage; something like an m5a.large in AWS terms. You'd think that in these days where you can run a Kubernetes cluster on the free tier of GCP and we all have an infinite number of Raspberry Pis sitting in shelves, there'd be less need for a "junk-drawer" server in a datacenter, but it really is quite handy. Hopefully this new instance will go another 14 years without requiring any major intervention!

1

You know... someone else's computer

2

There was some kind of drama in 2018 and the founder left the company to work for Google, and the company got renamed. I am two degrees away from Luke Crawford on LinkedIn, but not quite close enough to actually know what happened.

3

Alan Post ended up doing a lot of very helpful work on the installer for me recently

4

With mod_cgi and python, because why not? It was going to be hit a couple of hundred times, total.

5

I was previously running postfix and courier-imapd and doing my own mail server, but I'm too old for that).

Vaccinated (again)

Well, it's that time of year again! The CDC and FDA both approved the new COVID-19 vaccine last week, and I started looking for shots immediately. I managed to find a booking for today at a local Walgreens, and was perhaps a little worried when the fact-sheet they sent me was for the 2022 BA.4/BA.5 bivalent shot. Thankfully, after a bit over an hour waiting in line, I successfully got the latest XBB.1.5 Pfizer vaccine.

So far (as usual) no side effects except fatigue.

I know that a lot of folks are recommending waiting until a bit later in the year, but pretty much everyone I know with school-aged children has COVID right now, so it doesn't hurt to get in a little bit of extra protection. Stay safe out there.

Some recent relevant reading:

Too many social media!

terrible clipart

I think... there are too many social media platforms right now. A couple of years ago, the only thing I used was Twitter, and I was pretty happy with it? Now:

  • Mastodon is where I mostly consume short-form social media postings... and is pretty frustrating a lot of the time. I think there are a total of three people I know in the real world who are still on Mastodon; everyone else bounced off. There's no coverage of any local news or politics. The Discourse is absolutely exhausting1. I saw a post2 last week that said something to the effect of "Mastodon isn't a social network, it's a leftist social engineering project and if you don't like that you should fuck off" which feels right. Mastodon does have by far the most usable iOS apps of all the social networks, and is also the only option that has Mac apps at all. I think Mastodon3 could certainly be a place where people talk with other people about interesting things, but it's mostly a place right now you can go to get scolded for not being an ideologically-pure gay space communist. The only exception from this is the "iOS indie app dev" network, which decamped whole hog from Twitter to Mastodon and mostly just talks about the same things they ever talked about. They're cool.
  • Threads is Facebook's4 entry into the "Twitter clone" space. It is a clone of the parts of Twitter I never used or cared for; in particular, it only has an "algorithmic timeline". As far as I can tell, the people you Follow on the app has no bearing on what posts you're shown; it's a constant barrage of Brands™ and B-list celebrities. I open it once in a while to follow back all the people I know IRL who follow me there, but none of them post anything and the main timeline is boring as sin. There's no iPad or Mac app for Threads, nor even a website5.
  • Bluesky was originally some kind of proposal for a decentralized future Twitter, and has a bunch of funding from Bad People6. However, there are a lot of people whose writing I used to enjoy on Twitter who are only found on Bluesky. The iOS app is deeply mediocre7, there's no iPad or Mac app, and the website is just the iOS app in a browser8. At the end of the day, though, Bluesky is still an invite-only social media network with <100k people on it, so it can't really solve for the general case. I do think ATProto has some things that it does a lot better than ActivityPub.
  • Nostr is legitimately a neat protocol concept that has a roughly 0% chance of ever being used by anyone outside of a vanishingly small set of cryptography nerds. Also, somehow it's been captured by cryptocurrency nuts, goldbugs, and doomsday preppers. I don't think I've ever seen a post on the network that interested me. My public key is npub1g86srua47gncah0l2aalwxlt8mhvnwgq3860240aa0zm3nqem3wq49lrwk if you happen to want to look for me.
  • Lemmy is a Reddit alternative built on ActivityPub. I was hopeful that it would have a big growth spurt after Reddit killed off all the decent mobile apps and moderator tools, but it didn't. There's some interesting stuff on there, but the server software is incredibly buggy and the community is very small.
  • Twitter is still around, but given the eager embrace of Nazis by the new owner, it feels like anyone who still chooses to spend time there is being willfully ignorant. Without decent applications, I can't imagine using it even if it weren't a right-wing hotspot; nobody gives a shit about your "For You" timeline, Twitter. Also, apparently Elon Musk is going to throw away the name Twitter and rename it "X" and maybe turn it into an unregulated bank soon. What a winner.
  • Facebook is still around as long as you only want to see pictures of the kids of your gen x friends, and intermittently report your crazy relatives for posting super-racist conspiracy theories.

I don't know what the point of all this is. Twitter was a lot of fun — a social network that almost everyone was on, where you could use great native applications and see the posts from only the people you wanted to see, or if you prefer, use the terrible first-party application and see a constant feed of celebrity click-bait.

Maybe I should just stick to IRC.

1

popular subjects this week: "anyone who makes bad user interface is a white supremacist"; "Mastodon having multiple instances is racist"; "making closed-source software for pay means you hate freedom and might be a fascist"; and, of course approximately one million takes about other social media networks)

2

actually, I kept seeing it over and over again because multiple people in my network boosted it, and deduplication is still flaky

3

and the wider Fediverse of Calckey and Misskey and Pixelfed and whatnot, of course

4

"Meta" is a silly rebrand and I refuse

5

my favorite fact about Threads is that the official Facebook blog has buttons to follow Meta on Facebook, Instagram, Youtube, Twitter, and LinkedIn, but not Threads

6

if you support Robert F. Kennedy Jr. for president, you can fuck right off

7

it doesn't have timeline sync, randomly moves you around, and doesn't follow any iOS platform best practices, but at least it does let you see posts by the people you follow in reverse-chronological order

8

for funsies, try pressing ⌘-down on the web app and see how it freaks out

Version 6

Welcome to Version 6 of this website. As promised a few months ago, I decided to take this website, which has been using the Pelican static site generator since 2014, and rewrite it to use the Zola static site generator. This was a pretty painless process; I wrote some Python scripts to take all the Pelican markdown and convert it to Zola format1 and to generate redirects for all the old URLs.

Some notable changes:

  • I've removed commenting functionality; Commento's spam filtering has gotten really lousy the last few months and I'm tired of having to translate and delete a bunch of Hindi spam posts every morning.
  • Building the site from scratch now takes ~1s instead of ~3s. (woo)
  • A bunch of the repetitive inline HTML in posts has been rewritten as shortcodes
  • There's now only an Atom feed (no RSS 2.0), at least until this item gets resolved upstream
  • I removed the tag cloud from the sidebar because it seemed too noisy
  • All the pages have new permalinks, but there are redirects at the old URLs, so hopefully I'm still in compliance with the "Cool URLs Don't Change" rule.
1

Mostly, this just entailed changing the format of the front-matter to TOML and adding newlines between footnotes in the Markdown.

On “enshittification” and the future of knowledge

A few months ago, Cory Doctorow wrote a very memorable blog post about the enshittification of social-media platforms, focused on TikTok. I've been thinking since then about how prevalent this trend is and how much it makes me worry for our future.

It's mentioned in Doctorow's piece, but I really want to emphasize how deleterious this effect has been on Google Search. I remember when Google was introduced! By the time I first had access to the Internet in school (perhaps 1998 or 1999), there were two options for finding things you didn't already have a link to: Yahoo (which had terrible free-form search but a passable directory you could click through like the index to some giant poorly-edited encyclopedia), and Ask Jeeves (which was pretty good at letting you type a query into a box and get results). Then, some time around 2000 or 2001, Google entered into the public consciousness, and it was like crack. Anything you wanted to know about, you could just put into the box and get real, high-quality results from legitimate sources! Unbelievable!

read more

Daniel Tiger's Neighborhood

Daniel Tiger's Neighborhood

My two-year-old's current Favorite Thing is the PBS television show Daniel Tiger's Neighborhood, which is a latter-day spinoff of the excellent Mister Roger's Neighborhood. It's a cartoon about the eponymous Daniel Tiger (who was a puppet on Mister Roger's Neighborhood) and his family, where various small children/animals learn important lessons about sharing and whatnot; standard fare for TV aimed at a two-year-olds.

My son has been home sick1 for the last week or so, so I've watched a lot of Daniel Tiger's Neighborhood, and there are some things that annoy and/or confuse me:

  1. Why do Daniel and his father2 never wear pants? Everyone else in this universe wears pants. The Tiger men clearly understand pants, because when they go to the sleep-over at school, Daniel brings special pajama bottoms for the occasion. Mom Tiger always wears pants, so it's not a species thing. What's going on here?
  2. Speaking of Dad Tiger: he's a clockmaker, but none of his clocks or watches have hands. Is this a deep statement about how childhood is free of deadlines, or is it just that it would be too much work to animate hands?
  3. The magical land of this show is populated by a mix of humans and anthropomorphic animals; however, there are also some animals that are kept as pets.3 Are the pets also sentient, and this is some kind of slavery situation, or are there some animals that are sentient and some that are not? If so --- where's the boundary? I notice that all the sentient animal characters are obligate carnivores, so is this a universe where all carnivores are sentient and all herbivores aren't?
  4. Does anyone other than Prince Tuesday actually have a paying job in this town? He's the waiter, the grocer, the crossing guard, the lifeguard at the pool, and probably some other jobs. Plus he's also next in line for the hereditary monarchy and lives in a literal castle. Some of the other adults have vocations (such as Dad Tiger making useless clocks, and Stan the Music Man... playing music?) but none of them seem to have actual jobs. I guess Teacher Harriet has a job.
  5. Speaking of the pool: where does this show take place? It snows regularly, but also has a seaside beach with palm trees.

I know, I know, it's just a kids' show, and I'm reading too much into it. It just... bugs me!

Anyhow, my kid isn't sick any more, so he's going back to school and maybe I can watch less of this nonsense.

1

Just a cold, although now it's turned into an ear infection. Nothing serious

2

"Dad Tiger". They did not put a ton of effort into character naming on this show.

3

Daniel Tiger's Neighborhood Season 2 Episode 15: Daniel Takes Care of Snowball