Cammy's Big Rambly Journal

Archived 2025 entries


Hello! I notice you're using Netscape (or other CSS-noncompliant user agent—in which case, consider this an easter egg) to view this journal. Because Netscape is so titanically shit, I have disabled image viewing on Netscape specifically. If I didn't, you would notice random images being replaced with each other and similar such strangeness. The posts are still visible, but you'll be missing the images, which are half the context of these posts.

You should use RetroZilla if you can; it runs on Windows 95 and up and gives you a perfect cammy.somnol viewing experience, plus more comfortable Web browsing on retrocomputers in general. Failing that, Internet Explorer 3 (which amusingly also displays this message, since it doesn't support the display CSS property) and up will also work perfectly fine for seeing my journal posts.


June 19, 2025
Baby

Now why would sixteen copies of this thing end up in my thrift store?


I keep forgetting to make this post, but it's only been a few days, no harm done. No, not the Justin Bieber song, though that certainly is on brand given that 2010s nostalgia is ripe in the group these days. A chance encounter at a thrift store! With sixteen burned copies of a student film from New York:

Sixteen DVD-Rs of Baby, fresh from my thrift store

I don't normally go to thrift stores. I don't have anything against them, but they've always felt a little sad to me, a reminder of what extreme poverty looks like. Is what it is. After a really successful flea market outing about a month ago, though, my mom suggested we go browse the CD selection there, and I like adventuring.

These uncurated selections have definitely piqued my interest this year. At a record store, you largely know what you're getting, and you'll be paying for that guarantee, but at a flea market, thrift store, library sale, or any place not specifically built to sell you music, you could find anything. Lots of garbage of course—I found a copy of Cher's Believe in just about every bin I looked in at the flea market, and you bet there was plenty of gospel and karaoke CDs at the thrift store, but then there's not garbage! Then there's indie rock CDs, copies of Windows Me, sealed blank CD-Rs you pick up for a dollar entirely for the novelty of having a 1999 Verbatim blank you burn Tony Hawk's Pro Skater 4 for the PS1 onto! That's not even counting all the mix CDs, home movies, and strange locally-released albums I found in the shelves.

And then we have Baby. We naturally took our time going through the bins in the back of the store, cassettes, VHS tapes, DVDs (where stray PC games like to hang out, but nothing all that great this time), and tons of used monitors and TVs, all of which I'd much prefer to deal with over a shitty smart TV you buy new. (Can you believe our cheapo Onn Roku TV requires you to enable the composite inputs in the settings before you can use them? What the fuck?) I found a box of circa 2005 HP slimline jewel cases that I thought were unused, and not realizing I had a ton at home already, I picked up the whole box.

Before we'd even paid, though, my mom and I looked closer. There were discs in these cases! Each DVD-R looked exactly the same, a screenshot from some kinda independent film with some text reading "Baby" on them. They were dated 2008, by "Muse Productions". (Better than Passion Project Studios, I suppose!) Now her and I were immensely curious. What was on these? A really low-budget indie film? Porn? They came with the box of jewel cases, which was $6, so we were gonna find out one way or another.

The DVD menu for Baby

As it turns out, it's a student film! It's about nine minutes long, probably multiple people's final, and absolutely reeks of late 2000s Final Cut Pro goodness, even down to the DVD authoring. Ithaca College in New York is thanked in the credits, and there seems to be a decent-ish cast to it. It's not all that interesting of a short film, but it is pretty competently mixed, edited, and structured, so I hope whoever was involved with it got a nice grade. (We didn't want to stalk the names we found too hard, but of the two girls who got top billing, we found one has been working as a head of production VFX artist at the same place basically since graduating in 2008, so that's a happy ending.)

If you're curious, I have uploaded Baby to The marf Collection on YouTube. Like I said, it's not really that interesting—some light commentary on quick hookups that aren't all that appealing the next morning. I suppose we'll see if anyone involved awkwardly finds it in a few years and asks me to take it down. I don't think it's anything to be embarrassed about, though. Certainly a lot better than the result of my attempt at a film degree.

That does leave me with one final question, though: what were sixteen copies of Baby doing in my thrift store 150 miles away from the college they're attached to? It's one thing if, say, twenty copies were made and then given out to production staff and professors, I totally get that. These are untouched though, and not only that, in the cases, they were aligned perfectly upright, meaning they were placed very intentionally and then never touched again. Were these intended to be given out and then they just didn't get around to it before graduation? Did one of the girls or production people bring them back home to here in town and then they just went to the thrift store? If you're curious, the DVD-Rs varied in brand, which tells me they were using the college's media to burn onto, and as I said, the HP box branding was copyright 2005, which means they went into these jewel cases at the time and just have not been unearthed since then.

I'll keep a copy for myself and then, as I need cases, recycle the rest or something. What a bizarre and fun find.


June 13, 2025
Elsewhere

Did I mention how much I love PHP?


Brief moment before we begin: Go check out hifi's game review section! I just spent an evening capturing a ton of screenshots from real hardware for a bunch of games, both ones I've streamed and ones I haven't, and I'll be posting new ones on Fridays for the next few weeks until the pool runs out. Use the RSS feed to your advantage, and stick around for more to come.

So as I alluded to in the post from the other day, there's one other idea I've had for the cammy.somnol refresh that I've started working on. If you check the footer as of writing this, you'll see that the link designated "Elsewhere" is marked as an unimplemented link. That's because, up until now, I've not been quite sure how to use it.

It's pretty typical when you have a personal site to link to other people's sites. This was what I did all the way back on Neocities, linking to the sites of my friends and acquaintances and, funnily enough, a couple people who dislike me now. (Lempamo, babe, call me, let's catch up.) That was originally the idea for the /elsewhere/ directory, having a big long imagemap of the Somnolians peeking out of various stone portals, each of which would take you to their sites. Naturally, I never implemented this.

I mentioned in that post that I was pondering Arkm-style choose-your-own-adventure site navigation for cammy.somnol, but ultimately decided against it. I still think the idea is cool as fuck (much like Mario), and I didn't want to abandon it completely, so I decided to apply it to the still-vacant /elsewhere/ and turn it, indeed, into an exploration into elsewhere: you can use it to browse the rest of the site, you can explore other Somnolescent sites with it, or you could visit the various creative worlds of Somnolescent with it.

If this is sounding a little familiar to the longtime Somnolescent viewers, you might be remembering something I built in 2019 called "Colton's Adventure". "Colton's Adventure" was meant to be a CYOA-style way to explore Pennyverse's Apricot Bay, the two paths terminating in short stories I wrote. I don't mention "Colton's Adventure" much anymore because I really don't like how it came out. I just think it's mean-spirited and weird in spots, I don't much like the stories it went with, and I sat with it too long. There wasn't a sense of jubilation in the group when I finished it. In fact, it kinda went quietly. Not great.

It wasn't the format that was the problem, though. It just needed something better to come along and take advantage of it.

That brings us back to Elsewhere. When I built "Colton's Adventure", it was done entirely in static HTML, figured out by hand with flow maps on paper. Charming for sure, but clunky, and no doubt in the six years since then, I could come up with a better way to structure a CYOA section, yes?

Indeed. In twenty minutes at 4:30 in the morning after a night spent drinking (I sleep weird when alcohol is involved), I implemented a simple little PHP-and-JSON thing that completely trumps my old setup. Yes, it came that quickly.

JSON, if you don't know, is a plain text data format meant to be written by humans and read by computers. It consists of a long list of nested objects, arrays, and name-value pairs that, when put together, structure whatever you need the data for. In my case, I needed a list of objects, each one representing what would've been an HTML document under the old setup. From there, name-value pairs represent where you are, the description of the scene, and the scene ID, concluding with a list of scene IDs you can visit next.

"1": {
    "world": "island",
    "location": "Cammy's front yard",
    "bodytext": "<p>You stand in the yard in front of the large cluster of stone buildings that makes up Cammy's house in the sky. A marble fountain with many little jets of water spewing out in a circle stands between you and the house, though what water feeds it, you're not sure. A garden shed free stands to your left, and around the taller silo attached to the house to your right is a set of stairs descending into the ground.</p>\n<p>Cammy is probably inside the house, up to something or other. By the same token, though, there's plenty to see outside as well. Where do you go next?</p>",
    "directions": [
        {
            "destination": 4,
            "text": "Enter the house."
        },
        {
            "destination": 0,
            "text": "Approach the garden shed."
        },
        {
            "destination": 0,
            "text": "Take the staircase down into the earth."
        },
        {
            "destination": 2,
            "text": "Look around at the other islands and floating ephemera around you."
        },
        {
            "destination": 9999,
            "text": "<i>(What exactly is this?)</i>"
        }
    ]
}

PHP has a json_decode function for exactly this. Given a valid JSON file, it'll break objects into a list of associative arrays that you can manipulate from there. In twenty minutes, I had a decoder that would take a scene ID, print out various bits listed under its heading, and list out various other scenes to progress to next. Another hour to pretty it up, and I had the programmatic equivalent of "Colton's Adventure". If I want to add more scenes, all I have to do is add them to the JSON and link them up by ID to the existing ones. The PHP end of things takes an HTTP GET variable for the current scene, fetches it from the JSON, and parses it out.

An example of Elsewhere on cammy.somnol in action

I'm routinely impressed with how easy and fun PHP is to work with, I really am.

Now, the grind is writing out all those scenes! I've got plans for roughly four paths, more depending on how much the Somnolians want to help: a Cammy path, where you explore my house in the clouds and it takes you to various pages across mari.somnol and cammy.somnol, a Somnolian path, where you can visit their sites through Elsewhere, a Pennyverse path, where you can interact with the citizens of Apricot Bay, and a Pinede path, taking you a bit around probably Caerpinwyd (way too big a world to let you roam it freely, that could be a CYOA game all on its own). There's potential to visit other Somnolian worlds, but I'd need Caby and Savannah's help with those, and they can be added at a later date. My focus is on something shippable right now.

I'm convinced "Motorcycle" by Remy Zero was written for folks slightly under the influence. "Too much wine has crossed my mind" indeed.


June 11, 2025
Fixing up my other site...

Gotta take care of your other kids too


So my website focus over the past year or so has been returning mari.somnol to prominence, and on all accounts, we're there. It's not even basically, all the important stuff is in place, plus a ton of the non-important stuff. Everything I wanted, the three flavors for any browser, the theme switcher on hifi, PHP album/game reviews, stories for all three sites that can be built from a central document, they're here. Aside from a few drawings and more content, mari.somnol is complete.

That brings me back to this site, cammy.somnol. cammy.somnol has always kind of had a rough go of things. If you don't know, it was born out of the digital garden thing that dcb and Devon got into back in 2021 or so. Devon's not even in Somnol anymore, lince.somnol was retired, and this too didn't really work for me. It felt kinda larp-y, where I had this retro-ish 90s furry sorta site with my art and my stories and any fixations I felt were a little too personal for mari.somnol, and then that was explicitly music, mod work, and stuff that I thought the Internet at large would like. In short, I was kinda embarrassed by the whole thing, the flavor was wonky, there wasn't a clear split between the sites, and each felt like they represented only half of me.

cammy.somnol was reborn in late 2022 then when I came up with a new way to lay it out. mari.somnol would be my portfolio-ish site. Anything I make, regardless of who it's for, would go on there. cammy.somnol would instead be an interests site and more devoted to who I am day to day. This worked really nicely, and still does! Issue being, 2022 was when I was still trying to find my footing as an artist. I couldn't draw Cammy, the badger namesake of the site (and of course my sona), so I settled for Setter instead. Setter is a secondary sona who was meant to fit into a world of domesticated animals that Caby's had in mind for a long time (same as Bunny for her), and because of the lack of snout, he was naturally a lot easier to draw.

Fast forward to 2025, and I now draw Cammy way more than I do Setter, and in fact I'm not sure how I like to draw Setter at the moment. Setter is now the mascot of lofi, so I don't feel bad replacing him here, and really, all the cammy.somnol art was done at a time when I had far less of a clue what I wanted aesthetically and what I was doing technically. It needs a refresh.

But truth be told, I've been pondering over the past month how extensive that refresh should be. I wasn't sure if I was gonna even keep the aboveground/underground sorting, or the island aesthetic. I thought maybe I'd go for a choose-your-own-adventure site structure, you go find the content! (Hold that thought.) It was all very up in the air, but I decided to hold off on saying much out loud or putting anything into action until it became a little clearer in my head.

Then I remembered more recently that a big inspiration for cammy.somnol in the first place is the still-wonderful still-in-action platypuscomix.net (which has apparently started redirection to platypuscomix.com when I wasn't looking, hmm). It was the long days of browsing pages on Garfield and Friends and the U.S. Acres comic strip (I was a Jim Davis kid, alright) or obscure as fuck cable networks or scary logos (I am also severely autistic, but you knew that) as early as 6 or 7 years old that still stick out in my mind. Back then and now, I decided I wanted cammy.somnol to be my own little small tribute to that, less on the cultural mirror front but no less on the personal fixation front. Why should the end result change all that much? The mission statement is still the same.

To talk a little more about Platypus Comix (because really, when the hell else will I be able to?), to this day, all content pages are built in FrontPage Express. FPX is a truly vintage 90s WYSIWYG page builder program that Microsoft regularly included with Internet Explorer starter kits and suchlike. I imagine this was to compete with Netscape Composer, the equivalent truly vintage 90s WYSIWYG page builder attached to Navigator. I've used FrontPage Express, and while it's got a nice, pleasant WordPad-like interface, I hate the markup it produces. For that matter, I hate Composer's markup. I don't care about the markup of other sites, not even our friend Peter Paltridge's, but my own? Again, I'm a sperg, and I care immensely. cammy_v1 was built with Composer, and I hated it.

All that said, I think the plain text and images aesthetic of Platypus Comix is still beyond reproach, and I'm very glad I didn't decide to change it.

So now, I've decided on what all I'm gonna do. cammy.somnol will be getting a visual refresh. Not gonna play with the formula, the site will be structured the same, I'm just gonna start updating the visuals. I learned a lot, trying to illustrate all those pages, and I'm ready to give it a second go in a more sustainable way. Here's my aims:

There is one other big idea I've had for cammy.somnol, but I'll write that one up tomorrow. It's 1:30 in the morning, the moon is high in the sky right outside my window, and my eyes are starting to hurt.


June 08, 2025
Library sale 2025!

These are NOT library CD material


Library sale started up yesterday! You might remember last year's post about it where I picked up a bunch of music and Redwall audiobooks, and we went again today. I love library sales and flea markets and the less-traveled end of music hunting, because you never know what you'll find and you'll usually pay a lot less. True, I may stumble into five copies of Cher's Believe, but then you'll find a copy of Editors' The Back Room for $1 and it becomes the best album you've heard all year! Not to mention the weird bootleg mix CDs (today's was Barbara Streisand in an Imation CD-R case) or the bonkers low-quality local releases, you find everything. I do love a good CD shop, I really do, but they're much pickier about what they accept and they know what they have for pricing.

I'm very fortunate to have such good options around me for CD hunting, and the library delivered this year! If you can't read from the picture, I picked up a (probably missing the dust cover but I don't mind, it suits) copy of Mossflower, because fantasy animal autism, William Gibson's Count Zero (no, I didn't buy it because of the Harmonix band Count Zero, that'd be silly, but I am also actually curious about his stuff since he's one of the few authors I recognize), out of shot, but iWoz, Steve Wozniak's autobiography, this funky book on registry hacks and customizations for XP with a still-sealed CD in the back and a December 2004 CompUSA price tag, and ten CDs, all a dollar apiece:

Oh, and all of this was $13.50. And yes, I check the discs are in there and clean, and they were. I also saw plenty of other cult 90s favorites on display—Morphine, Spacemen 3—on what planet should I be allowed to buy the Rev, the Rentals, and Man or Astro-Man? at a library? Apparently this one, and I'm thrilled.


June 06, 2025
Superkitty sketches

Caby said she appreciated how androgynous they were, which is fun


Been working on getting back on the art wagon, so here's some designs! I used to be really skittish about designing my own characters for whatever reason, but something about that's been starting to break recently, and I'm rather excited about it.

I don't know if I've ever fully explained what the whole Superkitty thing is here on the journal, but I ended up with two different anthro cats this year with head floof, namely Miranda and Prince, and started pondering ways I could group them. The Superkitties are a sorta-open species sorta-custom thing? Truth be told, it's just anthro cats with big hair, though with some fun pseudo-RPG perks thrown in that were inspired by a literature class I took in high school. The idea is that a race of mystical feral cats started breeding with one very advanced, scientifically-augmented cat sent into space by a world blowing itself up, and everything sorta spiraled from there.

The Superkitties have a WIP world on toyhou.se at the moment that I'd like to get punched up before Art Fight this year. I'm not participating, but Caby is, and I expect her two Superkitties will be listed on her profile, so I'd like stragglers to have some more context should they want that. Part of that involves giving people some more examples of what Superkitties look like, so here's a few designs! Each of these lads were designed to match a few specific "blessings" (those RPG perks I mentioned earlier), and my aim is to line and color them and use them to start decorating the Superkitty world.

I'll have some more finished art up soon. I spent all of today lining the cutest drawing of Caby and I, and I'm gonna color it up and get it up places soon. Man, being able to draw kicks ass. Big recommended.


May 31, 2025
Sippies and chatter

Caby got me into bubble tea because I'm a white girl


I was gonna do up a long piece explaining the MySQL MoodMatch thing for my album reviews I've been putting together, but eh. It can wait a couple days. Here's something I doodled up for Caby! She's been going through it a little lately, and I figured good vibes are what's needed right now. I really love how this came out. I was even having issues drawing Cammy the other day, let alone Wren, so the fact that both came out real easy (after a nice Saturday morning drive through the countryside) makes me very happy.

This post ties this month with June 2023 (when I switched the journal over to HTMLy) for the most posts made in a single month, fun fact. Here's to a productive June 2025 as well, folks. Lots more to come from me!


May 28, 2025
Lince!

coolwolfplushie.png


This is a little old news now, but I haven't posted it anywhere yet, so let's fix that tonight. Lince! There's a certain old Cammy drawing with a big stuffed marf (you can see it on his original original 2019 ref) that we learned a few months ago dcb was mildly obsessed with for a time, so I decided to draw him a Lince version (featuring his real life plushie Timber!) as a present for completing this semester. Came really quick for how complicated the pose is, and he loves it! I'm proud of it too. Crazy to think of a time not that long ago when I used to have a lot of trouble drawing cats, and now they're like my favorite thing to draw, behind badgers.

I've got stuff a-brewin' again. Tomorrow or so, I'll give you guys another WIP project writeup for a certain MoodMatch search thing for my album reviews. Are you familiar with database normalization, chat?


May 15, 2025
The DocBook deployment, day, uhhhh

Telling you, I do a lot of work so I have to do less work in the future


If you head out to any flavor of mari.somnol now, you'll see a story! Potentially more, by the time you're reading this! If you caught the previous post I did on my DocBook story build system, you know that it's been kind of a gigantic process already. It took another gigantic process to get it over the finish line, but I'm happy to say that I've hit all the targets I wanted to: one script to build six different versions of each story from a single double-click. I then put the output into my nofi/lofi/hifi AutoSite projects, build the project, and upload. That's all I need to do to keep a single story in sync across all three sites.

Since I've legit worked on nothing but this for days, I'm a little tired of thinking about it, but I figure I should probably get it into the journal for posterity. Besides, I am hugely proud of it, and I know I'll be rereading this in pride in a couple days anyway.

Step three: splitting the stories up with xinclude

Where I left it last, I wasn't sure if I'd be able to meet my requirement of being able to build both individual story pages and the whole story on one page. Turns out, I can! One of the glorious parts about XML is that you don't need an <html></html> sorta wrapper around your markup, you just have the markup, and if you declare your namespaces right, the processor will still understand what you wrote. In my case, I have the individual pages as separate files with wraparounds, and then I xinclude all of them into a master DocBook.

xinclude literally puts the content of the included XML file into the master file, as if you copied and pasted it in there. xsltproc and DocBook both can work with xinclude, again, with the proper namespaces. This means I can run xsltproc on any individual chapter or the master file, getting what I want out of each. Kino.

Step four: building into my AutoSite projects

Before this, for testing and learning purposes, I had my XSLT stylesheets set up to build full webpages with a doctype and everything. If you know AutoSite, you know that it's actually a templating system, where it takes stripped-down input pages with only the page's content and some metadata, and then smushes them into a rich layout template (the rest of your site markup). That way, you only have to edit the template to fix any errors or add to, say, a navbar.

As AutoSite's #1 fan now and forever, I wanted to be able to make use of my existing templates and use XSLT to output Autosite input pages I could drop into my existing projects for nofi, lofi, and hifi. This was pretty simple stuff, since input pages are still just HTML pages (or Markdown, but that's not relevant to us right now), but there were still snags.

For one thing, dcb wrote AutoSite to rely on specific whitespace around the attributes at the start of each input page, which xsltproc wasn't outputting using its <xsl:comment> processing. So this worked:

<!-- attrib title: Kevin and Theo's Multiverse Misadventure -->

But this (what xsltproc produces) did not:

<!--attrib title: Kevin and Theo's Multiverse Misadventure-->

As a result, these attributes were getting AutoSite confused, and it was passing them through as page content, breaking a lot of things in my templates as a result.

I could've worked around this with literal HTML outputting using the <xsl:text> element, but the good part of using your friend's tools is that they'll usually happily bugfix stuff for you. dcb rewrote his regex for parsing those, fixing another long-standing bug in the process (!), and I had an updated AutoSite that could handle these valid-but-odd attributes within a few days. Good lad.

The other issue was that xsltproc was spewing out an HTML doctype and some namespace attribute spam on all the pages it put out with no way to disable that. Even if I could write a new version of xsltproc to fix this, since it is open-source, that's just a lot of fucking work for no real purpose except this one niche edge case. I had a much better way to fix it, which I'd handle next step.

Step five: wrangling all this shit into a shell script

This was the most aggravating part of the process, because it required me to play with Linux. At least, something that works like Linux.

Remember, I've been basing this whole setup on Cygwin, which is a set of tools and a terminal of sorts meant to give you Linux functionality on Windows. xsltproc, coming from the GNOME camp, is naturally a Linux tool. If I wanted to automate it, I'd be writing a shell script. No big deal, nothing I haven't done before, but something always fucks up tremendously when I have to dive into the gooey guts of anything Linux-related, and this time, it was find that put me through the wringer.

find is a program that can search for files with certain criteria and then do something with them, like pass those files onto an executable or run a shell command on them. This is naturally what you want if you're trying to automate running xsltproc on a whole directory of XML files. The big frustration was that I obviously needed to make output directories for each file, named the file name but without the extension (01, 02, full, etc), and find doesn't provide functionality to pass the base name of the file to the executable you're running from it. That's because Linux doesn't care or use file extensions. At its silliest, find would try to run xsltproc on the output directories as well (also named stuff like "full.xml", despite being directories) and obviously that wouldn't work.

If that's gibberish, that's okay. I've blocked most of this out of my long-term memory for my health. My ultimate solution was to have find and xsltproc make the output directories whatever they'd be called and then use mv later on to simply scrape the .xml off each of the directory names. Hey, if we're already scripting it, might as well take the caveman approach.

This is also where I'd take care of the doctype and namespace cruft, again running find, this time on all the output HTML files it can find in the output directory, and then using sed to delete the first line of the file (the doctype) and any namespace cruft it finds anywhere in the document.

Anyway, it works. I now had xsltproc building AutoSite input pages for me. All that's left is to translate it to the other two sites.

Step six: writing lofi and hifi XSLT stylesheets

This was as much working on the AutoSite templates and CSS stylesheets for each project as it was doing stuff with XSLT. Now that I had the build process working, I just needed it to take those same files and make lofi and hifi compatible versions as well. This is also where I dragged forward my preferred story fonts (New York and Los Angeles, because the classic Mac OS fixation never dies) and also the color-coded character dialogue styling from my old sites to the new ones.

Kevin and Theo, now on lofi and hifi!

All is said and done, this had to happen. There was no way I was gonna be able to put stories on all three sites and then manage potentially six different versions of each story, even just to fix a single typo in each. Bigger changes or rewrites, not happening. This is a huge step towards being able to publish what I'm writing to my sites again like I always wanted, and I'm very proud of how it came out. Even better is the ease of updates: if I write a new chapter and want to publish it, I just add it to the DocBook, rerun the script, rebuild the AutoSite projects, and reupload. New chapter added, can link it to everyone, we're all good to go. If I want to build DocBook to some other XML-based language in the future (eBooks, maybe?), I can add that pretty quickly to the build system.

If you're curious to see the beast in all its messy glory, I made a GitHub repo for all the XSLT sheets and such. I'm sure there's lots to be cleaned up in them, but I really don't care. No one's gonna see it but me and the morbidly curious.

Anyway, all this techie junk distracts from the important stuff! Seriously, I've realized this is so techie-wonky that, when I try to explain it to friends who are less technically inclined and then show them the end result, all they see is the story—which is how it should be anyway, huh? And of course, there's the really immortal, million dollar question, "when will there be more stories, Cammy?"

Watch out. You might get what you're after.

Oh, totally random aside—can you believe I've lost weight in the past two weeks? I'm at 144lbs. That's 6lbs lighter than my stretch goal from this time last year, and nearly 30lbs lighter than I was last time I saw Caby. It feels good! Not really interested in snacking or drinking, just banging out projects and playing Guitar Hero. Lots to do, lots of time to do it. Happy Summer vacation.


May 13, 2025
World Within a Song

"Fuck Bon Jovi", says man in big hat


Like I said the other day, I've got a small pileup of books—mostly music books, but with a few oddball topics on there as well—that general lack of time and patience has kept me from digging into. Cold anything is a hard proposition, but especially cold reading. Just picking up a book and starting, I dunno, it's not something I normally find myself in the habit of. Desertbound on Kindle did get me going though, and I'm eager to keep it going.

I must've been in a Barnes and Noble last year with my mom around my birthday. Maybe I'm just deprived, but ending up in Wind Gap and going to check out even big box retailers up there is pretty fun. Books! Books I just said in the last paragraph I have trouble reading, but books! She'd plucked a Mudhoney biography from the shelves to get for me (can you believe I've still never owned anything Mudhoney, despite all the time I spent with Superfuzz Bigmuff in high school?), but this one caught my eye a little more, even: World Within a Song by Jeff Tweedy.

I've been slowly getting into Wilco courtesy of dcb, and Jeff is one of those kinds of legacy artists who's just as noteworthy for himself as he is for his music. Something about his hesitant, wary outlook and dry commentary, you really do get the sense he's kinda amazed anyone would want to listen to him, but we do! I wound up getting both books.

World Within a Song is an examination of the cross-section of life and music, the way that music colors the scenes of your life and the way that life colors the way you feel about songs, bands, and albums. That makes it sound really heady, but it's honestly pretty light reading. A lot of it is Jeff's storytelling and memorializing, and the rest of it is a peppering of outlook on the music business, some anecdotes about paying your dues at the crossroads of punk and country, and what music encourages us to do and feel and how it grows with us as much as it stands still, acting as a vantage point as we move through life.

Jeff picks out fifty songs (well, including every song by the Beatles, so slightly more than fifty) that take him through early childhood into his adult life touring with Uncle Tupelo and Wilco. That's the meat of the book, and thankfully, it's his strength. Lightly dissecting music, he's interesting. Telling these stories of his family terrorizing the neighbor's kid with ham radio gear, or the poor orderly at the rehab facility who, with pinpoint comedic timing, in the midst of Jeff's most horrific withdrawal symptoms, wanted to know if Wilco were still playing Coachella, or the Traumatic Toilet at CBGB's, he's quite funny. Not as funny when I retell them, but that's how it goes with these things.

Now for the less-than-positives. Jeff has a kinda bizarre writing style that I'm genuinely amazed his editors didn't clean up first. It becomes transparent fairly quickly, thankfully, but he has this wonderful habit starting sentences off with "and", "but", and "because", leading to what feel like fragments across the book. Apparently this isn't incorrect, as the AI slop articles and gleeful contrarian contrarians like to tell you, but my God, is it choppy. Perfect example, open the book, random page, page 64:

Is this song for everybody? No. It's not a song I would throw on at a BBQ. But it is special to me. Which is the point of this book.

Okay, it's not incorrect, sure, but is that elegant?

Truth be told, though, it's not like he can't write. In fact, I feel the urge to balance the previous example with another snippet I found interesting, about Carole King's "Will You Love Me Tomorrow", just so you guys don't think Jeff Tweedy is actually a caveman:

There was a period in my life, back in the early Wilco days, when singing this song as an encore—a ballad that I would often deliver lying on my back while being held aloft and passed by the outstretched arms of fans, crowd surfing in slow motion—felt like I was being as honest as I could ever be with an audience. Will you still love me tomorrow? All of you. Will you? Because this night is forever to me. I can feel you... I sense you mean it right now in this moment... I can allow myself to trust you. But you're going to move on, aren't you?

My only other complaint is that, by the time you get into the final ten songs, it does seem like he stops finding personal anecdotes and experiences to regale you with in the songs, and even he's a little lost as to how exactly to get them to fit in the lattice he's set up for himself. As he says exploring "I Love You" by Billie Eilish:

As the songs I'm excited to write about get closer and closer to the present moment, I'm finding them more difficult to write about.

Is that a bad thing? No, but given that the anecdotes and the way these songs personally shaped Jeff's life were such a driving force at the start, it does make things more diffuse as the book comes to a close. He still finds something interesting in them, though, so I suppose that justifies it. That said, that brings me to another holdup you might have: how much is someone not up on their Jeff Tweedy lore gonna get out of this? Plenty of it is universal enough, catching shows with your mom as a kid or finding shelter from the displeasure of the world in music that seems common only to you, but I dunno—did you know Jeff Tweedy collaborated with Mavis Staples (do you even know who Mavis Staples is?), and is that going to impact how you read her chapter?

Really, that's really the valley where World Within a Song dwells, a book that's deeply personal, and a book where the depth comes from examining what these little things mean to Jeff personally. He'll spend two pages telling you that it's okay if you just never get a song, that it's okay to dislike things as much as it is to like things, only to say "actually wait no, fuck Bon Jovi, you should not like Bon Jovi". He's human! Jeff's book, like his music, is interesting precisely because of how much light he finds in the shards of broken glass. It's imperfect and maybe a little wispy, but that suits it, I think. It's a good book to mail to dcb.


May 11, 2025
Media pickups from the last few months

I've been putting off making this post for whatever reason


Earlier today, my mom told me of a local flea market with metric shittons of vinyl and CDs going for cheap, and well, it reminded me that I hadn't even opened my previous cheap CDs, let alone catalogued them. (40 hour menial job work weeks are nightmarish, turns out.) Let's do that quick. Here's some CDs, DVDs, records, and games I bought this spring that I've yet to show off on here.

Quick notes and stories on some of these:

Okay, time to actually get listening to some of this stuff...


No page to go back to! Page 1 of 3

Previous months