maxfenton.com https://maxfenton.com/in sadjflkjsdlf and other slight breezes. en-us allyson https://maxfenton.com/in/2026/allyson https://maxfenton.com/in/2026/allyson Thu, 30 Jul 2026 00:00:00 -0700 tldr: https://www.allysonmellbergtaylor.com/ runs on Kirby now instead of Squarespace


Seven and a half years ago, I helped an artist friend set up a Squarespace site back when those ran about $10/month and I've paid for it ever since. (In the credit card sense, not the suffering sense.) This month I noticed an email from Squarespace that the rate's going to nearly double that. That's not their fault, but it reminded me that the site we put up right away instead of spending a weekend together building something on Kirby is still more of a rental than a home.

Now, Kirby's a great system and I really enjoy using on small, free projects. Over the years, it's also ballooned from its origins as a PHP script that stitches flat text files into web pages into something more complicated to set up. It requires Composer to build, and probably node. It’s also got a Vue control panel for editing the flat files that runs afoul of security scans (that spot PHP editing text files) and needs hand-written YAML configuration that's honestly awful to write.

But this year I've had relatively good success getting Claude Code to write that YAML, set up some basic ddev + Vite local hosting, and figure out the state of rsync deploys and GitHub actions for this site, so while I'm not mad I gave Squarespace so much money over the years — they did what they promised — it’s time to cut bait and finally make Allyson an actual website.

Allyson's site has always been simple: a landing cover page (retired), galleries of images, index pages of those galleries, and a contact page that just links out to Instagram. Squarespace offers more, but it wasn't being used. Self-hosting also means the administration falls to me, which is no small part of what their service offers.

I couldn't find any kind of export from Squarespace (hmm) so I used Integrity Plusto scrape the site. (It’s quicker for me than trying to remember wget commands, but Claude Code probably could have done the wget)

From that archive, Claude Code figured out the URLs for the original resolution assets, made the flat-file Kirby content tree, defined the Kirby content model, and reverse engineered a similar front-end build.

I figured it’s worth a post about the phases of the process, not as a "hey you can clone your Squarespace and save money" but because the intent of signing up for the Squarespace in the first place was to get something up immediately and then work on the "real" site — in this case that took years to get to and a sea change in how to do the work.

It’s not vibe coded or one-shotted; the chat approach helped me write plans and chip away over a week or two in very small pockets of free time. Setting up tasks I understand, coming back to find Claude had failed spectacularly, then setting it on a better path. Could I have written the plan? Done the steps? Absolutely. Would I have put it off until the week before Squarespace wanted $200 more? Very likely.

The content model took some back-and-forth and it went down a lot of stupid rabbitholes and mistakes. It organized the site by the navigation, misunderstood the concept of galleries, dropped titles, etc. It wasted as much time as it saved, but I was also able to set it off to a task in very small bits of my time, chastise it for mistakes when I came back to see what it had done, repeat. It made an absolute mess in the final steps of htaccess, inventing whole areas of Dreamhost or Cloudflare's admin panel I should be looking for even when I gave it the two exact support URLs as reference.

But it’s up and it’s done and it runs locally on my little Mac Mini. I can screenshare over to that machine and run the updates. I can pull content changes from production and commit them to the private git repo, push them up to staging to sync. I skipped the GitHub Actions deploy on this one, but I'll add it to the half-dozen or so Kirby sites I've set up the same way(s) this year with Claude's help and make its maintenance part of my regular routines.

I tried intentionally not to wholesale copy the work of Squarespace's theme designers. Menu's on the left on larger screens and the index is masonry and there's a hamburger button. But I improved the accessibilty, replaced the interactions with Alpine, swapped out the fonts. I'll do another pass later to really tighten the whitespace and professionalize it more, but that's something I'd rather do with Allyson, hopefully sooner than seven years from now.

Anyway, here's the phases and the bin scripts (build, deploy, deploy-staging, push/pull-content, push/pull-accounts, pull-all, warm-cache): https://gist.github.com/maxfenton/cef7843392459a3ee9a5d67cead689c4

]]>
janet https://maxfenton.com/in/2026/janet https://maxfenton.com/in/2026/janet Tue, 16 Jun 2026 00:00:00 -0700 FENTON--Janet. Janet Rose Fenton passed away peacefully at her home in Manhattan on June 16, 2020, at the age of 94. Born in 1926, she was the only daughter of Arnold and Edna Munk. Under the pen name Watty Piper, Janet's father wrote, edited, and published scores of children's books including The Little Engine That Could. Janet attended PS 9 in New York and graduated from Fieldston in 1944. After one year at Syracuse University, she married Robert Fenton in 1946, and they were devoted to each other for 58 years until his death. A longtime member of Congregation Rodeph Sholom, the NY Society Library, numerous theaters, museums, and weekly bridge games, Janet was elegant and kind. She will be deeply missed by family, friends, and the countless New Yorkers she met in her long life on the island that was her only home. She is survived by her loving daughters Paula and Joan Fenton, her grandson Max Fenton and his wife Nicole, her great-granddaughter Eva, her step-grandson Ephraim Tabackman and family, and step-granddaughter Noa Summerfield and family. The family will sit shiva over video on June 18 and June 19. In lieu of flowers, please consider donating to your local food bank.

Published by New York Times on Jun. 18, 2020.

]]>
silicon mac mini with external drive for user folder https://maxfenton.com/in/2026/silicon-mac-mini-with-external-drive-for-user-folder https://maxfenton.com/in/2026/silicon-mac-mini-with-external-drive-for-user-folder Sat, 23 May 2026 00:00:00 -0700 (Sorry for the claudefeels in this — I was working through the actual process with Claude and Claude Code and tried to get the facts back out of that chat history into this story post and it blurred until I couldn't tell what was mine and what wasn't. Weird state of things, but this sat in drafts for three months instead of doing what I meant to do which was spare some folks the hassle of figuring out how to set up and external user drive on a Silicon Mac Mini)


TLDR: I finally upgraded my 2TB+256GB i7 Mac Mini file server to an M4 Mac Mini 256GB with an external 2TB SSD for the user directory and had some frustrating file permissions problems to figure out. Specific steps are at the end.


After a catastrophic RAID failure four years ago, I looked at my options and set a $500 budget for a file server that could serve two main purposes: local file sharing access to my replacement RAID and local and cloud backups of that RAID as well as all my cloud services files on iCloud, Dropbox, etc.

The current model of Mac Mini was both too expensive and un-repairable, but the two-core 2014 Mac mini was easy to open and expandable using a standard 2.5 inch SATA drive. I got a clean refurbished i7 Mini from Pacific Macs and a 2TB SATA SSD. It turned out I also needed a logic board removal tool and an 821-1501-A cable to run two internal drives in a Mini that shipped with only one, but those didn't count against the budget. It all worked out in the end and the i7 has been running 24/7 for approximately 1337 days.

Basically it worked like this: the Mac Mini was always on and always online. The RAID connects over Thunderbolt 2 and backs up with SuperDuper to an 8TB Seagate drive. Separately, another USB drive works as the Time Machine destination and the Mini syncs everything ("keep offline", don't "optimize storage", etc) — everything comes to the Mini in a normal MacOS way and gets backed up in a normal MacOS way. That's the convenience tax for not trying to run this through some other kind of home-rolled server.

So anyway, I got excited when Apple put out the M4 Mini with expandable storage but of course they did it in the worst Apple way, with firmware and form factor lock-in. Popular blog posts pointed to a few grey market vendors and a complex process that requires a second Mac — something I have, but it was enough friction to stop me from trying. For my purposes, the base price of $699 +$300 in storage was out of my budget. A year or two later, the jackpot prices of that storage have doubled, all the Minis have been bought by LLM farmers, and Tim Apple killed off the low cost base model... while I was driving to the store to pick up the very last M4 256/16. (More on that in a moment.)

In the meantime, if it ain't broke don't fix it. But the i7 was broken in a deep way and that was the OS. Without a more modern version of MacOS than the i7 could run, iCloud does not allow file encryption. That meant my terabyte of iCloud storage wasn't deeply encrypted on Apple's side and security patches were harder to come by. Not great for an always-on machine with my most important files.

In comes OpenCore Legacy Patcher. Hobbyist software to get modern MacOS running on older hardware and keep those perfectly functional computers out of the landfill. With OpenCore Legacy Patcher I was able to get the i7 Mini updated to Sequoia and install subsequent patches which have become more frequent of late.

And that was doing fine for a few months, but the last few security patches really did drag down the perceived speed. I started to worry it was an OCLP issue and/or the inevitable thermal paste decay on the i7.

But what I didn't realize was that I could situate my /user folder on an external drive. Now, external drives that were $89 last year are over $300 now, so "wait until it dies and buy an M4/2TB" was still my main option — but there was also a real risk of M4 Mac Minis going away in favor of a low-end Mac Neo in the $500–$1000 range, and higher prices across the board on an M5 Mini. And then I remembered I already bought an $89 Crucial X8 2TB last year to use as a more rugged laptop Time Machine.

So wiping that 2TB and connecting it with a TB3 cable to a low-end Mini seemed like it would work for me. A $500 machine + a thing that was already on my desk. I also already had the $49 Thunderbolt 2 to Thunderbolt 3 dongle to be able to connect the RAID to my laptop. So after far too many conversations with friends, I finally got in the car on May 1 to go to the store and get the last M4 16/256 they had in stock. When I got there they also had an $899 24/512, and I tell you I thought a long time about that upgrade — but again it was beyond the budget for the use I had, and after two years waiting to buy an M4 it wasn't perfect enough to justify nearly twice the price.

A week later I finally sat down to set it all up. It was awful.

My settings kept resetting. Everything moved slow as rocks. Total disaster, I thought. There are special permissions that were obvious in hindsight but really hard to search for or track down.

I'd made an admin user on the internal storage. That user had wiped the external drive and created my main user and set up the home directory on the external drive. One admin macOS user can't just sudo another user's files, so both the drive and the home directory were owned by the wrong user and the permissions were all out of whack.

The steps to set up a user on an external SSD on an Apple Silicon Mac:

External Home Folder Setup on macOS 26 Tahoe

Problem

macOS 26 does not correctly set ownership when a user home folder is placed on an external drive. Symptoms look like OS bugs: settings revert on logout, Finder crashes on login, widgets reset, preference files fail to write. The root cause is a permissions problem.

Requirements

  • External drive formatted as APFS
  • Admin account separate from the user being created

Steps

  1. Format external drive as APFS via Disk Utility

  2. Create the home folder directory on the external drive manually in Finder or Terminal:

     mkdir /Volumes/DriveName/username
  3. Create the user in System Settings > Users & Groups

  4. Change home directory — right-click the user, select Advanced Options, set Home Directory to:

     /Volumes/DriveName/username
  5. Log out of admin, log in as the new user once to initialize the home folder structure, then log back into admin

  6. Enable ownership on the volume — this is disabled by default on external APFS volumes and must be done before any permission changes will work:

     sudo diskutil enableOwnership /Volumes/DriveName
  7. Set correct ownership on the home folder:

     sudo chown -R username /Volumes/DriveName/username

    Note: some system-protected directories under ~/Library will return "Operation not permitted" — this is expected and harmless

  8. Verify ownership:

     ls -la /Volumes/DriveName/

    The home folder must show owned by username, not admin

  9. Full restart required — logout/login alone is not sufficient to stabilize the session

  10. Log in as the new user and verify settings persist

]]>
macos preview can save a smaller pdf https://maxfenton.com/in/2026/macos-preview-pdf https://maxfenton.com/in/2026/macos-preview-pdf Tue, 14 Apr 2026 00:00:00 -0700 TIL MacOS Preview has an Export "Quartz Filter" to reduce the file size of a PDF.

Image
]]>
thank claude https://maxfenton.com/in/2026/thank-claude https://maxfenton.com/in/2026/thank-claude Mon, 06 Apr 2026 00:00:00 -0700 After probably a decade of trying to get this site out of the ditch, I finally let the machines help. Today it deployed from a git push to production like a real site should. The control panel works. The htaccess loops are fixed. The RSS feed is back after being broken for who knows how long.

In one day, Claude Code got through three years of TODOs on this and one other Kirby site concurrently: upgrading from 3 to 4 with functional deploy systems, rsync backups, Vagrant to ddev, long-ago compiled Sass to working Vite builds, functional RSS feeds, lightweight site search, fixes for terrible YAML mistakes Cursor made last fall, and a plan for the 4 to 5 upgrade.

I wish I'd been writing here instead of only into social platforms. I'm hopeful that maybe the archive of those posts can be transformed into something on this site. And that the turned-off archive of my homemade CMS site — what should be at 5880.me or 5880.maxfenton.com — can be safely revived too.

The tools are killing the earth. I know. The code is spaghetti and they're burning money and everything is precarious. I know.

]]>
Kirby https://maxfenton.com/in/2025/20250718-deploys https://maxfenton.com/in/2025/20250718-deploys Fri, 18 Jul 2025 00:00:00 -0700 After what feels like a million years but was at least one, I figured out what was wrong with the admin side of this site and can blahg again.

]]>
under the wire https://maxfenton.com/in/2024/20241231-under-the-wire https://maxfenton.com/in/2024/20241231-under-the-wire Tue, 31 Dec 2024 00:00:00 -0800 It was 2024 once, and you could find me at https://mas.to/@maxfenton

]]>
many tricks moom settings https://maxfenton.com/in/2023/20230419-manytricks-moom-settings https://maxfenton.com/in/2023/20230419-manytricks-moom-settings Wed, 19 Apr 2023 00:00:00 -0700 I've used Many Tricks' Moom for years for window screen management and hit the hotkeys for this maybe 500 times a day. Unfortunately the settings have no export/import and every new machine means digging up and re-creating this list of custom configurations. Documenting to share and for reference.

Key binding = control+option+space
Define using 6 x 6 cells

A: A1, F6
L: A1, C6
S: A1, C5
D: D1, F5
M: B1, E5
T: A1, F5
Z: Move to bottom-left
X: Move to bottom-right
G: A1, F3
B: D1, F6
R:  D4, F6
Image
Image
Image
Image
Image
Image
Image
]]>
100 wpm https://maxfenton.com/in/2021/20210917-wpm https://maxfenton.com/in/2021/20210917-wpm Fri, 17 Sep 2021 00:00:00 -0700 Image]]> angelus novus https://maxfenton.com/in/2021/angelus-novus https://maxfenton.com/in/2021/angelus-novus Mon, 13 Sep 2021 00:00:00 -0700 ]]> fifth week home https://maxfenton.com/in/2020/20200414-fifth-week-home https://maxfenton.com/in/2020/20200414-fifth-week-home Tue, 14 Apr 2020 00:00:00 -0700 Fifth week homestuck. Little to say. Finished a book (finally) and realized I hadn't logged any this year. Forgetting what was missed. Groceries in abundance. Work in abundance. Focus is scarce. Time to keep better notes.

]]>
What Was Left https://maxfenton.com/in/2020/20200228-what-was-left https://maxfenton.com/in/2020/20200228-what-was-left Fri, 28 Feb 2020 00:00:00 -0800 Image

In 2007, I knew Jason Polan because he had a website and an email address. A website could show a picture. It could tell a story. His showed someone who painted ants on walls and made drawings and zines and booklets.

I don't know which of his projects I'd heard of first, but he was exciting. And he was nice. We made a plan to have a show for him in Charlottesville, Virginia at a space I helped curate, and timed it so it happened the last week of May, while he was literally moving from Michigan to New York. In an email he said he'd make "As many as I can" - and that became the name of the show.

He arrived on a Friday morning with his car packed. For moving. And he'd brought a show's worth of framed drawings. Of giraffes. They were all giraffes. And the price for every piece based on how many giraffes; something like $20 + the number of giraffes. 30 giraffes in this one? $50, I think. 100 giraffes in this one? $120.

But the knockout was a thousand index cards, each with a drawing of one giraffe. I remember it was my first day meeting him IRL and we were hanging a grid of a thousand index cards with tiny pieces of white archival artists tape. For a show that same night. It filled a thirty or forty foot long gallery wall. It was spectacular.

None were the same. No order was given to which faced one way or another. When they were up, every one was worth spending a moment with. Seeing which way it was facing. Where it was looking. Choosing a favorite. Changing your mind. He and I watched this little world before people came to the opening. They'd pick one they wanted, take it off the wall, and give him a dollar or put it in a box. Little by little a whole other shape appeared. Gaps. The giraffes looking at each other over widening distance.

The next night, Saturday, he gave a workshop in the space called "How To Draw a Giraffe and Other Large Animals" He talked about art train and a little about moving. Kids came. Artists came. Grown-ups. He drew any animal anyone named. More giraffes left the wall.

On Sunday, Jason and I took a day trip to North Carolina to Lump, and I think Jason stayed friends with the folks there forever after. By Monday, I think all the framed pieces had sold, and about 200 giraffe cards were left. He told me to keep those. And then he got in his car and moved to New York.

What he did in New York, in all the years since, seemed to have the same good energy of those three days in Virginia. Drawing. Meeting people. Drawing. Giving drawings away. Drawing where you could see him. Drawing at home. Drawing at Taco Bell. Little challenges to himself in quantity and quality and essence. And to no other judge.

When those unsold giraffes came off the wall, we jokingly called them "WHAT WAS LEFT FROM AS MANY AS I CAN (dimensions variable)" —
"What was left from as many as I can."

We all know he made as many as he could. As much as he could. And what was left is a lot.

It will have to be enough. And we have to share it.

Thank you, Jason.

edit: found these photos of the install

]]>
Tape Deck https://maxfenton.com/in/2020/20200214-tape-deck https://maxfenton.com/in/2020/20200214-tape-deck Fri, 14 Feb 2020 00:00:00 -0800 "tape deck"

I'd been trying to get an Ion USB Tape2PC to play through an iMac using Audio Hijack, but that app doesn't monitor audio unless you're recording.

Just thought to check the Rogue Amoeba site to see if they make any other utilities and found Loopback which let me monitor the USB audio input. As a bonus, it let me name the source, so now it shows up in Audio Hijack as "Tape Deck" instead of "USB Audio CODEC"

Now playing: Massive Attack

///////////////////////////////

Update 2020-02-17:

Whoops. Loopback is $99 and does way more than I need. Turns out if you hold the Option key when you click the Sound menu bar, there's a super fast way to shift the native Input Device, i.e., monitor the tape deck or any other USB input audio. Ha!

Image
Image
]]>
2020? https://maxfenton.com/in/2020/20200119-2020 https://maxfenton.com/in/2020/20200119-2020 Sun, 19 Jan 2020 00:00:00 -0800 Aaaaaand. It’s been a year since I posted an update.

]]>
2019 https://maxfenton.com/in/2019/20190213-2019 https://maxfenton.com/in/2019/20190213-2019 Wed, 13 Feb 2019 00:00:00 -0800 It's 2019 already.

]]>
Cameo https://maxfenton.com/in/2019/cameo https://maxfenton.com/in/2019/cameo Wed, 13 Feb 2019 00:00:00 -0800 Hey everybody, here's a live Sharon Van Etten show I've listened to a dozen times in the past couple years. Maybe it'll help you, too. https://archive.org/details/SharonVanEtten2012-12-15.nyctaper

]]>
that was a year https://maxfenton.com/in/2018/20180124-that-was-a-year https://maxfenton.com/in/2018/20180124-that-was-a-year Wed, 24 Jan 2018 00:00:00 -0800 That was a year. A couple of wordpress projects, a couple of gigs. Bought a house and moved to a different town.

]]>
placeholder https://maxfenton.com/in/2017/placeholder https://maxfenton.com/in/2017/placeholder Mon, 30 Jan 2017 00:00:00 -0800 Placeholder for a blog post.
Placeholder for an edited stream of words that is not shouting.
Placeholder for something helpful and concrete.
Placeholder for something I can say to my child, with dignity, when she is older, if I am still around. Or not.
Placeholder about this slide into a fascist crusader-state.
Placeholder about finally getting it, a little. Whatever it is. Each day hand-over-hand-ing it around a mountain-size prism to see another facet.
Placeholder about reading Hannah Arendt.
Placeholder about Hungary liquidating its entire Jewish population in the span of a year. Beginning to end
Placeholder about always wanting to see Prague. Budapest. Vienna. Capitols. Castles.
Placeholder about sleepiness and the feeling of lying down.
Placeholder for some kind of hope, but also no obligation to hope.
Placeholder for obligation to her, my child. To children.
Placeholder for some sunny warm future day, flipping through pages, finding this.
Placeholder to come back to when there's time, if there's time.
Placeholder to remember emergency, even if only later to laugh at, as if you even knew.

]]>
winter (in america) https://maxfenton.com/in/2016/20161222-winter-in-america https://maxfenton.com/in/2016/20161222-winter-in-america Thu, 22 Dec 2016 00:00:00 -0800 Well. Here we are. Winter again.

What a year. A year as a dad, without my dad. And that election. Amirite?

Some plans:

  • keep improving my coding and sysadmin skills
  • volunteer those skills a little more, for folks who need 'em.
  • make more calls to congress and find ways to contribute to strategy
  • aggregate some of the links that pour through twitter and reading.am into summaries and possibly make that into a weekly email
  • be kind, even more
  • spend a little time each day reading books, now that I basically have them all
]]>
hotline https://maxfenton.com/in/2016/20161101-hotline https://maxfenton.com/in/2016/20161101-hotline Tue, 01 Nov 2016 00:00:00 -0700 So, like last night the Slate thing went from “THEY HAVE AN EMAIL SERVER IN THEIR BUILDING FOR TALKING TO RUSSIA” to “they registered a domain name with their official office address that they use for sending junk mail"

and maybe someone at a bank stayed at one of their hotels and is getting junk mail that bounces

or maybe THEY DO HAVE A SECRET BANK HOTLINE

like literally I do not even know what to think about that.

Image

But it makes me trust this story less — https://twitter.com/Scott_Gilmore/status/793246783220641792 — which is odd, because they’re entirely unrelated. And maybe the DNS story is, like, designed to erode my trust in stories about T. & Russia

Scott Gilmore @Scott_Gilmore
Russia has been "cultivating, supporting and assisting Trump for at least 5 years"
http://m.motherjones.com/politics/2016/10/veteran-spy-gave-fbi-info-alleging-russian-operation-cultivate-donald-trump https://pbs.twimg.com/media/CwItuipWYAAsCQS.jpg
TwitterYesterday at 8:22 PM (127KB)

Like, it moves the baseline towards “don’t trust stories about T. and Russia” which is … an interesting effect.

Cognitive bias. Whee.

Charlie Loyd (vruba) has an amazing tinyletter. — http://tinyletter.com/vruba

Willem Van L’s last blog post is this: http://www.willemvanlancker.com/hits-driven-world

Willem Van Lancker
Building Products in a Hits-Driven World

Which ends with this quote: https://www.quora.com/What-are-the-best-stories-about-people-randomly-meeting-Steve-Jobs/answer/Tomas-Higbey

In Charlie’s last newsletter he blindlinked to https://www.youtube.com/watch?v=QJ92il176oQ#t=1m53s

YouTube Reagan Library
President Reagan's Address to the Nation on the Venice Economic Summit, June 15, 1987

which is a heck of a speech, in terms of storytelling and setting "the vision, values and agenda of an entire generation that is to come"

I miss Willem’s emoji, I miss the whole style of things that were built for limitations: for lower-res screens and SMS character limitations.

Remaking emoji for an iWatch on the keyboard at 260ppi or whatever; busting up how at-replies work —https://medium.com/@tressiemcphd/twitters-new-replies-re-design-isn-t-just-stupid-it-s-really-stupid-c471ca254f0a#.y00dgflt6 — … just a bummer.

Medium
Twitter’s New @Replies re-design isn’t just stupid; it’s really stupid.
This week I noticed something odd on my desktop Twitter:
Reading time
————————
4 min read
(72KB)
Oct 30th at 12:37 PM

I think I miss thinking computerphones could be anything besides surveillance, mostly.

]]>