<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Esoteric Cowboy</title><description>Essays, poetry, photography, and field notes from Denver, CO.</description><link>https://mwksl.me/</link><language>en-us</language><image><url>https://mwksl.me/icon.jpg</url><title>Esoteric Cowboy</title><link>https://mwksl.me/</link></image><item><title>Snowy Egret</title><link>https://mwksl.me/journal/snowy-egret/</link><guid isPermaLink="true">https://mwksl.me/journal/snowy-egret/</guid><description>A snowy egret hunting in Crown Hill Park</description><pubDate>Mon, 18 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;figure&gt;&lt;img src=&quot;https://mwksl.me/_astro/egret.BatSzF_J.jpg&quot; alt=&quot;A snowy egret standing erect looking to hunt&quot; /&gt;&lt;figcaption&gt;A snowy Egret captured using a Fuji X-E5 and Fuji XF 70-300mm lens&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;The Snowy Egret (&lt;strong&gt;&lt;em&gt;Egretta thula&lt;/em&gt;&lt;/strong&gt;) is a small species of heron.&lt;/p&gt;
&lt;p&gt;Snowy Egret plumage was so prized for women’s hats that, at one point, 130,000 birds were killed in a single nine-month season. Harriet Lawrence Hemenway leveraged a sense of &lt;em&gt;noblesse oblige&lt;/em&gt;, and her
Brahmin connections in the Boston Social Register, &lt;a href=&quot;https://www.smithsonianmag.com/science-nature/how-two-women-ended-the-deadly-feather-trade-23187277/&quot;&gt;to organize a boycott&lt;/a&gt;. This boycott led to the founding of the Massachusetts Audubon Society in 1896, the seed of the National Audubon Society,  and helped drive the&lt;a href=&quot;https://www.fws.gov/law/migratory-bird-treaty-act-1918&quot;&gt; Migratory Bird Treaty Act of 1918&lt;/a&gt;.&lt;/p&gt;
&lt;h6&gt;Photo notes&lt;/h6&gt;
&lt;blockquote&gt;
&lt;p&gt;My first bird photograph with the new Fuji XF 70-300mm lens. Not as sharp as I’d hoped – it’s heavily cropped. I’d mounted the camera on a cheap Sirui tripod hoping to catch a spoonbill on the water, and I got appropriately distracted.&lt;/p&gt;
&lt;/blockquote&gt;
</content:encoded><category>photo</category></item><item><title>croppie holidays</title><link>https://mwksl.me/journal/croppie-holidays/</link><guid isPermaLink="true">https://mwksl.me/journal/croppie-holidays/</guid><description>you&apos;re getting claude code for christmas</description><pubDate>Wed, 24 Dec 2025 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;it’s no secret that i get antsy when i don’t have an active project. this year, with a new career under my belt and finally calling my own shots, i decided it was time to do a little open source software with my holiday time.&lt;/p&gt;
&lt;p&gt;for Beep, i’ve been using Croppie with stimulus to adjust and edit images. auto insurance and crms both involve some degree of image editing and storage - not necessarily cascading walls of images, but performance being my north star, i thought… well, hey, Croppie hasn’t had a release in over five years and i bet i can do better than ~50KB.&lt;/p&gt;
&lt;p&gt;i ultimately created a fork which is more of a completely new project with a fork relationship. the project was rewritten in typescript, made esm-only, and supports the modern pointer events api. it’s ~5KB gzipped (a 90% reduction) and we’re already dogfooding it in production.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/bayinformatics/croppie&quot;&gt;https://github.com/bayinformatics/croppie&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;we’re using bun for built-in testing, lost pixel for visual regression, and have no external dependencies. we also support dark mode. sad bois unite.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;it’s a small project, and i was able to crank it out pretty fast. in about 72 hours i had a drop-in replacement. the entire thing was written by me in neovim with the claude code plugin, mostly for confirming functional parity and reviewing my code.&lt;/p&gt;
&lt;p&gt;this was one of the most excellent ai coding experiences i’ve had. “does my implementation match the original behavior here?” was an instant sanity check that compressed the time while still leaving me feeling in control.&lt;/p&gt;
&lt;p&gt;i’ve been evaluating ai coding tools for about a year now and am genuinely shocked at how useful they are. there’s no way development at Beep would be moving as fast as it does without ai coding assistance. that’s not to say we just type a prompt into claude code, hit enter, and walk away - as far as i can tell, one-shotting sufficiently complex software is not in the cards any time soon.&lt;/p&gt;
&lt;p&gt;most value for me has been in asking for a socratic tutor to help hone my architecture or patterns. here’s an example prompt i used when rewriting Croppie:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;“in my test mocks, i want to use happy-dom to have a lightweight test bed. some functionality appears missing like canvas mocking. i’d like you to look at my implementation of the mock canvas and ask me about my choices and architecture”&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;with small scope, a clear goal, and one decision-maker: me. this worked beautifully.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;so why am i skeptical about ai for oss teams at large?&lt;/p&gt;
&lt;p&gt;oss discourse tends to oscillate between “all the code will be written with ai” and “ai is plagiarism.” i don’t subscribe to that black-and-white thinking, but i do see issues that are more practical than philosophical.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;notification fatigue is real.&lt;/strong&gt; coderabbit, i’m looking at you. no, i made that decision intentionally - go away. github code quality, you too. every pr becomes a wall of robot opinions nobody asked for. the irony of ai tooling meant to save time creating more noise to wade through is not lost on me.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;there’s no shared context.&lt;/strong&gt; my chats are private. the ai doesn’t know why we made the decisions we made, and neither does the next engineer reading the code. although i try to document things via changelog, ai adds even more of a “meh, ship it” button to the average engineer. suddenly documentation requirements or some sort of wiki become necessary just to preserve the reasoning that used to live in slower, more deliberate code review. i like what ampcode is doing with shared team context and logs; that feels like the right direction.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;signal-to-noise inverts with scale.&lt;/strong&gt; when i’m the only reviewer, ai augments my judgment. when there’s a team, it creates noise for everyone. the same generic suggestions surface things humans already know but chose to accept. it doesn’t know when to shut up.&lt;/p&gt;
&lt;p&gt;the pattern i keep landing on: ai as personal assistant scales. ai as team process doesn’t.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;if you’re working on a small oss project over the holidays, ai tooling is genuinely great for that. just don’t inflict it on your teammates’ inboxes.&lt;/p&gt;
&lt;p&gt;how are you using ai in your open source work? i’m curious whether others have found ways to make it work at scale, or if we’re all just turning off the bots.&lt;/p&gt;
</content:encoded><category>essay</category></item><item><title>Choosing to Wield the Hammer</title><link>https://mwksl.me/journal/choosing-to-wield-the-hammer/</link><guid isPermaLink="true">https://mwksl.me/journal/choosing-to-wield-the-hammer/</guid><description>When you have a hammer, every problem looks like a nail.</description><pubDate>Fri, 17 Oct 2025 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;When you have a hammer, every problem looks like a nail. As aphorisms go, I hear this one constantly. I have never heard it used in a positive context. Misusing tools evokes images of beating a screw into your deck with a hammer or sawing a bolt out of your motorcycle subframe. Inefficient, embarrassing, and dangerous. The three killers of careers and consultants. Over the last decade in software, I think we’ve elevated the wrong advice. We’ve been taught that reaching for the same hammer makes us lazy. But sometimes the right move is choosing your hammer deliberately and wielding it with mastery.&lt;/p&gt;
&lt;h3&gt;No Agent is an Island&lt;/h3&gt;
&lt;p&gt;At this point ‘premature optimization’ has reached low-effort meme status. Don’t create 20 Go microservices for your new startup, don’t manage your own Kubernetes cluster, don’t Terraform yourself into a corner. We all nod along. But here’s what we’ve missed: the new enemy isn’t premature optimization, it’s context loss. And there’s no faster way to lose context than distributing your systems. When you’re one person (or a small team), every additional service is another mental model to hold, another deployment to remember, another place where things can break silently. This holds even more true in the realm of agentic AI. When Claude or Cursor is helping you code, it needs context, &lt;strong&gt;and lots of it&lt;/strong&gt;! A monolith means you can feed it one codebase, one set of patterns. Microservices? Now you’re explaining service boundaries, API contracts, and inter-service communication before you even get to the actual problem you’re solving.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://mwksl.me/blog-archive/5e801e0f-81b6-41f8-8df6-ca7dc0d9f43a_1024x466.jpg&quot; alt=&quot;&quot; title=&quot;It’s the circle of life, isn’t it?&quot;&gt;&lt;/p&gt;
&lt;p&gt;Early in my career, I consulted for a small shop in Wisconsin, which gave me access to the inner workings of tech companies across healthcare, fitness, and print industries. But my greatest lesson came from a single engineer who rented a private office from us.&lt;/p&gt;
&lt;p&gt;He built and ran waiting system software for major hospital systems—entirely solo, entirely in Grails. Occasionally he’d pay for a few of my hours when he needed help. I didn’t even know Groovy, but because everything lived in one coherent codebase, I could hold the entire system in my head. In just a few days, I implemented timed texts, sign-in links, and several other substantial features.&lt;/p&gt;
&lt;p&gt;He was, by far, the most profitable solo developer I’ve ever encountered. One person, one framework, one mental model.&lt;/p&gt;
&lt;p&gt;This was 2014. Today, a developer in his position would be tempted by serverless, vercel, and fixing whatever breaking change has been introduced in Next.js or React. Back then, the siren songs were different but equally distracting. He ignored all of it. He’d chosen his hammer and mastered it.&lt;/p&gt;
&lt;p&gt;That engineer taught me something the industry blogs never mention: boring technology is a competitive advantage when you’re small.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://mwksl.me/blog-archive/72671039-c995-44ae-962c-e8b77d1a1186_1080x1685.jpg&quot; alt=&quot;&quot; title=&quot;Average monolith enjoyer&quot;&gt;&lt;/p&gt;
&lt;p&gt;For any new web project, I reach for Rails. Convention over configuration. Monolithic architecture. Ship fast, iterate faster. The framework gets out of my way and lets me focus on solving actual business problems instead of wiring together infrastructure.&lt;/p&gt;
&lt;p&gt;Boring is powerful when you’re starting from zero. Running Rails’ built-in generators `&lt;code&gt;rails generate scaffold, rails generate model&lt;/code&gt;` is faster than asking Claude to write equivalent code. You get a working CRUD app with database migrations, views, and routes in seconds. No prompt engineering required. You get the entire force of a community behind you and 20 years of AI training data. When you ask Claude or Cursor for help with Rails, it’s drawing from millions of Rails codebases, Stack Overflow threads, and blog posts spanning two decades. Compare that to the JavaScript ecosystem, where the ‘right way’ to handle routing changes every few years and half the training data points to deprecated patterns. You get 80% of the way with 20% of the effort. This leaves you with time and energy for what actually matters: understanding the business problem, modeling the domain correctly, and shipping features that solve real needs.&lt;/p&gt;
&lt;h3&gt;Handing Over the Keys to the Honda&lt;/h3&gt;
&lt;p&gt;The thing about consulting work that product engineers often miss: you’re not just building for yourself. You’re building for the team that takes over after you leave.&lt;/p&gt;
&lt;p&gt;When I meet a new client or start a new project, I’m thinking about the handoff from day one. Can they hire Rails developers in their market? Will the next engineer understand the codebase in six months? Can a non-technical founder grasp what the system does without getting lost in microservices diagrams?&lt;/p&gt;
&lt;p&gt;This is where boring technology becomes a business advantage. A Rails monolith with straightforward documentation is something a client can actually maintain. They can hire locally. They can onboard new developers quickly. They can understand the system well enough to make informed decisions about future development. If they’re feeling daring, they could even attempt to vibe code it.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://mwksl.me/blog-archive/ad3bca00-9680-4f7f-9ca4-96cc46980715_400x300.gif&quot; alt=&quot;&quot;&gt;&lt;/p&gt;
&lt;p&gt;Compare that to the handoff conversation when you’ve built a distributed system: “So you’ll need to maintain these seven microservices, understand their API contracts, monitor the message queue, manage the service mesh, reconfigure the hoozymcflozzy…” You’ve just guaranteed they’ll be calling you back at premium emergency rates. Not exactly a strong selling point.&lt;/p&gt;
&lt;p&gt;As a one-person technical team, you can’t hide behind complexity. Your value is speed (shipping features fast) and clarity (making sure everyone understands what you built and why).&lt;/p&gt;
&lt;p&gt;Speed comes from keeping your entire system in your head (and in your AI’s context window). When everything lives in one Rails app, I can trace a request from browser to database and back in seconds. More importantly, when I’m pair programming with Claude or Cursor, I can feed it the entire relevant codebase. One repo. One set of patterns. One mental model.&lt;/p&gt;
&lt;p&gt;Every additional service fragments your attention and fragments your AI assistant’s understanding. Want to add user authentication? In a monolith, Claude sees the User model, the sessions controller, and the authentication logic all in one place. In a microservices setup, worst case you’re working across packages and system boundaries, best case, you’re working in a monorepo with so many files you’ll blow straight out of the context window.&lt;/p&gt;
&lt;h3&gt;You Get Some Clarity, and You Get Some Clarity, Everyone Gets Clarity&lt;/h3&gt;
&lt;p&gt;&lt;img src=&quot;https://mwksl.me/blog-archive/f93148e1-ffcd-427e-b2f6-e1e62ff53759_640x304.png&quot; alt=&quot;r/196 - a rule in 2 parts&quot; title=&quot;What happens when you pretend to understand what you’re doing&quot;&gt;&lt;/p&gt;
&lt;p&gt;Clarity works both ways. A monolith is clear for me: one codebase, one mental model, one place where everything happens. It’s clear for stakeholders who need to understand what they’re paying for. And crucially, it’s clear for AI coding assistants that amplify my productivity.&lt;/p&gt;
&lt;p&gt;When a client asks “where does the user registration flow happen?”, I can point to one file. When I ask Claude to add email verification, it can see the mailer setup, the User model validations, and the registration controller in a single session. No explaining service boundaries. No managing API contracts across repos. Just: “Here’s the codebase, here’s what I changed. Review plz, luv u.”&lt;/p&gt;
&lt;p&gt;Every architectural decision is really a decision about where to spend your attention. Microservices distribute your computing across services. But more importantly, they distribute your mind across codebases, deployment pipelines, API contracts, and debugging sessions. When you’re one person, your attention is your scarcest resource. A monolith isn’t a compromise—it’s a deliberate choice to keep your cognitive load manageable and your AI assistance effective.&lt;/p&gt;
&lt;h3&gt;Choosing Your Hammer&lt;/h3&gt;
&lt;p&gt;DHH has made the architectural case for monoliths. I’m making the cognitive and pragmatic case. When you deliberately choose your hammer and master it, you’re not being lazy—you’re being strategic about the one resource you can’t scale: your attention (and trust me, I, along with the entire biohacking subreddit have tried).&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://mwksl.me/blog-archive/8a25b66b-3731-4c5e-bb80-727ea08883e7_984x1004.jpg&quot; alt=&quot;CDN media&quot; title=&quot;Returns on my VC’s risky tech portfolio&quot;&gt;&lt;/p&gt;
&lt;p&gt;Look, there’s a time for novelty. If you’re in the fundraising game, the right buzzwords can open doors. But once those doors close and you actually need to build something that works, makes money, and doesn’t page you when you’re skiing? Mastery wins. Every single time.&lt;/p&gt;
&lt;p&gt;I’m not arguing monoliths work for everyone. Far from it. If you’re coordinating hundreds of engineers across dozens of teams, you need to work with your organization to map out your architecture. When your organization is so large that independent deployment cycles and team autonomy become more valuable than system coherence, split things up.&lt;/p&gt;
&lt;p&gt;But here’s the thing: you’ll know when you hit that point. You won’t need an article to tell you. Your deploys will be taking hours. Your merge conflicts will be constant. Your team leads will get shifty and start weird skunkworks initiatives to break things up.&lt;/p&gt;
&lt;p&gt;Most companies never reach that scale. And the ones that do often started with a monolith. GitHub ran on Rails for years before introducing microservices. Shopify still runs one of the largest Rails monoliths in existence. Basecamp (DHH’s company) serves millions of users on a monolith.&lt;/p&gt;
&lt;p&gt;The real advantage isn’t that boring technology can’t scale, it’s that boring technology lets you scale with a smaller team. You don’t need a platform engineering group, a DevOps department, and a site reliability team when you’re running one well-architected Rails app.&lt;/p&gt;
&lt;p&gt;So the next time someone warns you that when you have a hammer, every problem looks like a nail, you can smile and say: ‘Exactly. And I’ve gotten really good at driving nails.’&lt;/p&gt;
</content:encoded><category>essay</category></item><item><title>cybernetically enhancing my brain with vendor lock-in</title><link>https://mwksl.me/journal/cybernetically-enhancing-my-brain/</link><guid isPermaLink="true">https://mwksl.me/journal/cybernetically-enhancing-my-brain/</guid><description>just how quickly can you build and deploy a site in 2025?</description><pubDate>Thu, 06 Mar 2025 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;just how quickly can you build &lt;em&gt;and deploy&lt;/em&gt; a site in 2025? if you ask Guillermo Rauch he’ll probably say &lt;a href=&quot;https://every.to/podcast/transcript-vercel-s-guillermo-rauch-on-what-comes-after-coding&quot;&gt;instantly, or something&lt;/a&gt;, before muttering to himself about state-sponsored propaganda and &lt;a href=&quot;https://x.com/jlazaroff/status/1854219546686816596&quot;&gt;the free market&lt;/a&gt;. sure, i could flash &lt;a href=&quot;https://nixos.org&quot;&gt;nixos&lt;/a&gt; on to the spare machine sitting on top of my guitar amplifier. battery swelling, insurance adjusters frothing at their thin-lipped mouths, but what if i just paid someone else to do that for me? and what if i gave &lt;a href=&quot;https://www.lemonsqueezy.com/blog/guillermo-rauch-vercel-ceo&quot;&gt;two&lt;/a&gt; &lt;a href=&quot;https://www.forbes.com/real-time-billionaires/#359f95593d78&quot;&gt;billionaires&lt;/a&gt; money in the process?&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://mwksl.me/blog-archive/735029fb-3ef1-44fe-a3a0-f2c6452b0010_1024x433.jpg&quot; alt=&quot;&quot; title=&quot;courtesy of some poor soul on the apple discussion board who is experiencing “mild” concern and maybe a mild concussion.&quot;&gt;&lt;/p&gt;
&lt;p&gt;in the age of Claude 3.7, gps ads, algorithmic feeds, and &lt;a href=&quot;https://futurism.com/the-byte/robotaxi-smashes-delivery-robot&quot;&gt;robot-on-robot violence&lt;/a&gt; why would i do anything myself, including setting up my own aws environment? what am i, a &lt;a href=&quot;https://grugbrain.dev&quot;&gt;caveman&lt;/a&gt;?&lt;/p&gt;
&lt;p&gt;so, instead of doing the logical thing i’ve been doing most of my life and making a Ruby on Rails app, i decided to see how many npm libraries i could weave together into a digital trammel. perhaps, i’ll even catch something good, and not just some &lt;a href=&quot;https://www.worldwildlife.org/initiatives/protecting-turtles-from-the-threat-of-bycatch&quot;&gt;endangered turtles&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;over the course of approximately 3 hours and 27 commits, i threw together&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://mwksl.coffee&quot;&gt;https://mwksl.coffee&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;one of the most simple crud apps one could design. it has auth, a postgres database, edge functions… for some reason, and uses shadcn and tailwind for styling.&lt;/p&gt;
&lt;p&gt;those three hours were 2 hours and 10 minutes of reading docs, resolving npm conflicts, and consulting the oracle stack overflow with 50 minutes of hamfisting garbage typescript into webstorm via my keyboard. indeed, who doesn’t enjoy reading year &lt;a href=&quot;https://orm.drizzle.team/docs/latest-releases/drizzle-orm-v0283#-added-tableinferselect--table_inferselect-and-tableinferinsert--table_inferinsert-for-more-convenient-table-model-type-inference&quot;&gt;old release notes&lt;/a&gt; to find slight changes in type names. now, granted, its my own fault for trying to use an orm, and quickly reading through some older implementations. i, like most modern developers, don’t believe in personal responsibility, so, i’m choosing to blame the geist of modern computing. the greater foundational spirit of the lightning boxes that dominate our lives.&lt;/p&gt;
&lt;p&gt;the irony isn’t lost on me: i’m tracking the substance that wrangles the post-modern, meme-riddled, goop floating in my skull, using tools that deteriorate my cognitive abilities. with every sip of caffeine i ingest, i wedge myself further into the wallet of vercel. i’ve become codependent. i need caffeine to understand modern web dev, and i need modern web dev to track my caffeine.&lt;/p&gt;
&lt;p&gt;i’ve completed my transformation. completely locked in to next.js, vercel, neon — but not only this, i’ve locked my biochemistry in too. who needs neural implants when you can run a cli tool to deploy your EDGE COMPUTE FUNCTIONS™️. this is cybernetic enhancement for the terminally online: we’ve ditched the chrome hardware for subscription-based digital services that save us potential &lt;em&gt;minutes&lt;/em&gt; of work.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://mwksl.me/blog-archive/bbdc66c3-1e77-49e7-b6ac-60094cc6ed19_990x712.png&quot; alt=&quot;heaviest objects in the universe...nodemodules&quot; title=&quot;nice meme, bro.&quot;&gt;&lt;/p&gt;
&lt;p&gt;the full recipe for this digital monstrosity? start with a fresh next.js 15 app. add a sprinkle of drizzle orm (appropriately named, as it’s just enough database to make everything damp enough to mold). toss in nextauth so you can scapegoat the library for your misunderstanding of &lt;a href=&quot;https://cryptobook.nakov.com/mac-and-key-derivation/pbkdf2&quot;&gt;pbkdf2&lt;/a&gt;. layer on shadcn components since something good had to be developed from the primordial ooze of tailwind. and finally, drown the whole thing in classes until your jsx looks like the xanga page from your xRawrxMonsterx era.&lt;/p&gt;
&lt;p&gt;after battling npm dependency hell – where “react-dom”: “^19.0.0” somehow conflicts with a package that requires “react-dom”: “^19.0.0” – i finally deployed to vercel. why? because i’ve developed stockholm syndrome for platforms that promise to handle infrastructure for me. i am done. i am happy. :)&lt;/p&gt;
&lt;p&gt;as i sip my fourth espresso, washing it down with a sugar-free red bull and watching the caffeine counter tick upward on my shoddily deployed app, i realize i’ve created the perfect metaphor for modern development: an over-engineered solution to a simple problem, temporarily satisfying but ultimately creating more dependencies than it resolves. the difference between caffeine and cloud services? at least caffeine is honest about its half-life.&lt;/p&gt;
</content:encoded><category>essay</category></item><item><title>generating the future</title><link>https://mwksl.me/journal/generating-the-future/</link><guid isPermaLink="true">https://mwksl.me/journal/generating-the-future/</guid><description>or dropping a stone down a well</description><pubDate>Tue, 17 Dec 2024 00:00:00 GMT</pubDate><content:encoded>&lt;h2&gt;house keeping&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;freq boutique was electric – thank you to everyone who made it out. video available &lt;a href=&quot;https://www.youtube.com/live/C8y3HdA2ejY?si=JjGvjVt5Vys4uEzn&amp;amp;t=3601&quot;&gt;here&lt;/a&gt; (gentle warning: some mic feedback haunts the opening moments)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://www.moodmix.app&quot;&gt;moodmix&lt;/a&gt; has entered the digital afterlife. custom AI models vs LLMs: a $100 monthly offering i can no longer justify.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;midi divination&lt;/h2&gt;
&lt;p&gt;norns programming pulled me away from the physical realm of modular and guitar. the end of tape experiments led me, unexpectedly, into pure digital territory. my current implements: generative music systems and max for live.&lt;/p&gt;
&lt;p&gt;there’s something mystical in crafting sounds and surrendering them to midi chaos. here’s a 2-minute window into these evolving experiments (the full sequence runs much longer, but file size constraints are very real). a first for me: sequenced drums making an appearance.&lt;/p&gt;
&lt;iframe style=&quot;border: 0; width: 100%; max-width: 700px; height: 120px;&quot; src=&quot;https://bandcamp.com/EmbeddedPlayer/size=large/bgcol=ffffff/linkcol=333333/tracklist=false/artwork=small/track=304566270/transparent=true/&quot; loading=&quot;lazy&quot; title=&quot;down the well by palmistry&quot;&gt;&lt;/iframe&gt;
&lt;h2&gt;recommendations&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Family Romance, LLC by Werner Herzog – a gentle unraveling of reality via rent-a-family services in Japan. minor Herzog perhaps, but the existential questions linger. Ernst Reijseger’s delicate score threads through the film perfectly.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;supporting your local independent theater.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
</content:encoded><category>essay</category></item><item><title>iron oxide</title><link>https://mwksl.me/journal/iron-oxide/</link><guid isPermaLink="true">https://mwksl.me/journal/iron-oxide/</guid><description>dust under mylar</description><pubDate>Sat, 07 Dec 2024 00:00:00 GMT</pubDate><content:encoded>&lt;h2&gt;house keeping&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;enjoy the music of my dear friend &lt;a href=&quot;https://driftdiffusion.bandcamp.com&quot;&gt;Drift Diffusion&lt;/a&gt;, he is generous enough to let me share the stage with him next tuesday.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;manor revisited&lt;/h2&gt;
&lt;p&gt;the &lt;a href=&quot;https://monome.org/docs/norns/&quot;&gt;norns&lt;/a&gt; has rekindled my love of lua. long dormant, somewhere from 2006, likely still writing gui scripts.&lt;/p&gt;
&lt;p&gt;i look forward to sharing scripts with the community soon. in the meantime, i’ve continued pulling on the tape and unwinding the cassette.&lt;/p&gt;
&lt;p&gt;for now, this is the finale of my tape experimentation. my next chapter involves integrating the norns into a new modular system and venturing into live visuals.&lt;/p&gt;
&lt;iframe style=&quot;border: 0; width: 100%; max-width: 700px; height: 120px;&quot; src=&quot;https://bandcamp.com/EmbeddedPlayer/size=large/bgcol=ffffff/linkcol=333333/tracklist=false/artwork=small/track=4243083291/transparent=true/&quot; loading=&quot;lazy&quot; title=&quot;dust by palmistry&quot;&gt;&lt;/iframe&gt;
&lt;h2&gt;recommendations&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Community by Jonathan Franzen - a sprawling exploration of idealism and community in 1970s Chicago&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Mahashmashana by Father John Misty - an introspective 70’s psych rock inspired album mixed with a hefty dose of LA mysticism a la Bruce Wagner&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
</content:encoded><category>essay</category></item><item><title>haunted by tape</title><link>https://mwksl.me/journal/haunted-by-tape/</link><guid isPermaLink="true">https://mwksl.me/journal/haunted-by-tape/</guid><description>the universe is a giant tape delay</description><pubDate>Wed, 13 Nov 2024 00:00:00 GMT</pubDate><content:encoded>&lt;h3&gt;house keeping&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;i’m playing an ambient show on December 10 at &lt;a href=&quot;https://fortgreenebar.com&quot;&gt;Fort Greene&lt;/a&gt; in Denver. you should come.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;a note on The Blood Brothers reunion tour: it’s transcendent, mystical – witness it if you can.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;paranormal echoes&lt;/h3&gt;
&lt;p&gt;&lt;img src=&quot;https://mwksl.me/blog-archive/914e953e-1ffb-4580-a8f1-4027749149a9.jpg&quot; alt=&quot;&quot;&gt;&lt;/p&gt;
&lt;p&gt;the Tascam 424 MkII found me through a stranger in Redlands, Ca. i’ve been haunted by the tape sound for the last 15 years. hiss and warble from my childhood. itself artifacts of my own memory. they’re memories of memories, degrading and transforming like magnetic tape worn thin with time.&lt;/p&gt;
&lt;p&gt;i’ve recorded a short demo track onto tape for your ears. yes, this arrives shortly after my essay on joy in music – perhaps there’s a certain pleasure in haunting, too.&lt;/p&gt;
&lt;iframe style=&quot;border: 0; width: 100%; max-width: 700px; height: 120px;&quot; src=&quot;https://bandcamp.com/EmbeddedPlayer/size=large/bgcol=ffffff/linkcol=333333/tracklist=false/artwork=small/track=3712975030/transparent=true/&quot; loading=&quot;lazy&quot; title=&quot;governors manor - demo by palmistry&quot;&gt;&lt;/iframe&gt;
&lt;h3&gt;technical apparatus&lt;/h3&gt;
&lt;p&gt;committed first to tape, then into ableton. hiss and warble are authentic artifacts of the physical medium. digital intervention remains sparse: just the essentials of mastering (3-band eq, glue compressor, limiter). a failed RCA cable forced an unintended path: mono output split and widened into stereo space. sometimes technical limitations reveal themselves as gifts.&lt;/p&gt;
&lt;h3&gt;recommendations&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://bookshop.org/p/books/under-the-volcano-malcolm-lowry/8900568&quot;&gt;Under the Volcano&lt;/a&gt; by Malcolm Lowry. a feverish descent through mezcal vapors — the consul dissolves into his final day like a memory eating itself.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://clairerousay.bandcamp.com/album/the-bloody-lady&quot;&gt;The Bloody Lady&lt;/a&gt; by &lt;a href=&quot;https://clairerousay.substack.com&quot;&gt;Claire Rousay&lt;/a&gt;. a reimagined score for Viktor Kubal’s 1980 eponymous animated film.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
</content:encoded><category>essay</category></item></channel></rss>