<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.10.0">Jekyll</generator><link href="https://bumnotes.net/feed.xml" rel="self" type="application/atom+xml" /><link href="https://bumnotes.net/" rel="alternate" type="text/html" /><updated>2026-08-18T19:54:33+00:00</updated><id>https://bumnotes.net/feed.xml</id><title type="html">Bum Notes</title><subtitle>A blog by Tommy Twardzik covering music, art, productivity, work, and creative projects.</subtitle><author><name>Tommy Twardzik</name></author><entry><title type="html">Ford Says That Someday It’ll Make an EV Truck Called the Fathom</title><link href="https://bumnotes.net/2026/08/17/ford-fathom-ev-truck.html" rel="alternate" type="text/html" title="Ford Says That Someday It’ll Make an EV Truck Called the Fathom" /><published>2026-08-17T11:45:00+00:00</published><updated>2026-08-17T11:45:00+00:00</updated><id>https://bumnotes.net/2026/08/17/ford-fathom-ev-truck</id><content type="html" xml:base="https://bumnotes.net/2026/08/17/ford-fathom-ev-truck.html"><![CDATA[<p><a href="https://www.ford.com/electric/fathom/" target="_blank">Ford has announced the Fathom</a>, an affordable EV pickup that seems like an obvious response to <a href="/2026/08/14/slate-ev-truck-preorders.html">the very cool Slate truck</a>.</p>

<p>Or rather, the people at Ford have announced that they are <em>planning</em> to make a $29,000 electric pickup truck<sup id="fnref:f150" role="doc-noteref"><a href="#fn:f150" class="footnote" rel="footnote">1</a></sup> for release in 2027.</p>

<p>There’s no other information about it. It’s nothing more than words on the internet.</p>

<p>Seriously, the webpage features a bunch of stock photos of people and dogs and mountains. There’s a photo of a person riding a bike on the beach. There’s a person DJing with a turntable.</p>

<p>Maybe that’ll be an option—in the vein of the Slate truck’s extreme customizability—to replace the center console with a DJ rig.</p>

<p>Slate couldn’t quite meet its goal for a sub-$20,000 starting price. Ford couldn’t convert F-150 buyers to the F-150 Lightning. We’ll see if either can find the right combination of quality and affordability, or if everyone will just keep buying the Tesla Model Y until humanity stops going outside altogether.</p>

<div class="footnotes" role="doc-endnotes">
  <ol>
    <li id="fn:f150" role="doc-endnote">
      <p>Ford <a href="https://www.wsj.com/business/autos/ford-150-lightning-ev-decision-89dc0d84" target="_blank">discontinued its EV F-150 Lightning pickup</a> in 2025. <a href="#fnref:f150" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
    </li>
  </ol>
</div>]]></content><author><name>Tommy Twardzik</name></author><category term="cars" /><category term="technology" /><summary type="html"><![CDATA[Ford announces not a concept truck but the concept of a truck.]]></summary></entry><entry><title type="html">I Don’t Want a Truck but if I Did I’d Want a Slate Truck</title><link href="https://bumnotes.net/2026/08/14/slate-ev-truck-preorders.html" rel="alternate" type="text/html" title="I Don’t Want a Truck but if I Did I’d Want a Slate Truck" /><published>2026-08-14T11:44:00+00:00</published><updated>2026-08-14T11:44:00+00:00</updated><id>https://bumnotes.net/2026/08/14/slate-ev-truck-preorders</id><content type="html" xml:base="https://bumnotes.net/2026/08/14/slate-ev-truck-preorders.html"><![CDATA[<p><img src="/assets/images/slate-truck/Slate-truck-suv-variations-press-image.webp" alt="slate truck pickup and SUV configurations" title="slate truck pickup and SUV configurations" /></p>

<p><a href="https://www.slate.auto/" target="_blank">Slate</a> wants to give you an electric pickup truck for $25,000.<sup id="fnref:price" role="doc-noteref"><a href="#fn:price" class="footnote" rel="footnote">1</a></sup></p>

<p>It doesn’t have speakers, or power windows, or a big-screen TV in the dash. It has three climate control buttons. It has a steering wheel that is round.</p>

<p>It has two seats, four wheels, a front trunk, a rear bed, and 205 miles of range.<sup id="fnref:estimated" role="doc-noteref"><a href="#fn:estimated" class="footnote" rel="footnote">2</a></sup></p>

<p>Looks like a pickup truck.</p>

<p>In its default gray, it looks incredibly boring (like an unfinished toy or the clay model the designers started with). But it holds so much potential, from vinyl wraps and decals to interior design elements and even to exterior hardware components.</p>

<p>Apparently, you can just add parts, 3D print your own components, and change pieces as desired. You can do that to any vehicle, I guess. But on the Slate truck, there seem to be a bunch of built-in mounting points (holes) onto which you can bolt parts.</p>

<p>It’s begging to be tinkered with.</p>

<p><img src="/assets/images/slate-truck/Slate-truck-customized-suv-green.webp" alt="Just beginning to customize a green Slate truck" title="Just beginning to customize a green Slate truck" /></p>

<p>Lots of aspirational pickup owners out there don’t tow boats or haul lumber or lawnmowers or anything bigger than a cooler and a few chairs to the soccer sidelines. Do your thing, no hate.</p>

<p>The Slate truck makes me aspirational in a different way: I want it because of all the things I can do <em>to</em> it, and how that can change what I’d do with it.</p>

<p>Like:</p>

<ul>
  <li>install a custom sound system</li>
  <li>add the rear roll cage to convert it from a pickup into an open-air SUV</li>
  <li>wrap it and add decals</li>
  <li>get somebody to 3D print me extra cupholders, and a phone mount, and a sunglasses holder, and maybe even a purse/bag compartment</li>
  <li>install retractable window shades</li>
  <li>for the rear bed: add a cooler holder, a closed golf club compartment, hell, maybe a refrigerated compartment or a flat-top grill</li>
</ul>

<hr />

<h2 id="questions-that-seem-important">Questions That Seem… Important</h2>

<h3 id="are-people-just-going-to-steal-all-of-your-slate-parts">Are people just going to steal all of your Slate parts?</h3>

<p>The customizability of the Slate truck made me wonder: if I bolt on some custom hardware in an open-air model, or I add parts to the rear bed, or I attach the roll cage, can someone with a screwdriver walk up to my parked Slate truck on the street and just… take the parts?</p>

<p>Are there going to be trucks parked on sidewalks like bikes in the city, just a frame chained to a signpost with no wheels, seat, or handlebars?</p>

<h3 id="is-this-thing-safe">Is this thing… safe?</h3>

<p>A roll cage you can install yourself. With built-in airbags, but still. Speakers and Bluetooth modules and lights and switches, marked as “intermediate” to “advanced” skill levels for installation.</p>

<p>Lots of interchangeable, customizable components. It just makes me wonder about the cohesiveness of it all as a vehicle that doesn’t sacrifice safety.</p>

<div class="footnotes" role="doc-endnotes">
  <ol>
    <li id="fn:price" role="doc-endnote">
      <p>starting price <a href="#fnref:price" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
    </li>
    <li id="fn:estimated" role="doc-endnote">
      <p>estimated range <a href="#fnref:estimated" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
    </li>
  </ol>
</div>]]></content><author><name>Tommy Twardzik</name></author><category term="cars" /><category term="technology" /><summary type="html"><![CDATA[I remain enamored by, and continue to root for, the success of this small, customizable, EV pickup.]]></summary></entry><entry><title type="html">Favorite Music 2025 Edition</title><link href="https://bumnotes.net/2026/06/27/favorite-music-2025.html" rel="alternate" type="text/html" title="Favorite Music 2025 Edition" /><published>2026-06-27T19:30:34+00:00</published><updated>2026-06-27T19:30:34+00:00</updated><id>https://bumnotes.net/2026/06/27/favorite-music-2025</id><content type="html" xml:base="https://bumnotes.net/2026/06/27/favorite-music-2025.html"><![CDATA[<p>The best sounds I heard in 2025, ranked.</p>

<h2 id="the-list-">The List 💿</h2>

<p>38. <strong>No Cops In Heaven - Split System</strong></p>

<p>37. <strong>Upwards - Ela Minus</strong></p>

<p>36. <strong>Head Empty Blues - Ekko Astral</strong> - “Is it Bon Iver / or Bon Iver / I don’t care”</p>

<p>35. <strong>Blue &amp; Gold - Madra Salach</strong> - this one stopped me in my tracks</p>

<p>34. <strong>GTA Online - UNIVERSITY</strong> - noise noise loud fuzzy noise</p>

<p>33. <strong>Trace - Crave</strong></p>

<p>32. <strong>Avalanche - Grace Ives</strong> - big beat. Enya strings. love the humming</p>

<p>31. <strong>Blue Mountains - Subsonic Eye</strong></p>

<p>30. <strong>Til My Heart Stops - The Beths</strong> - At Brooklyn Paramount they played this and “Mother, Pray For Me” back to back and I cried. a melancholy song about love and life and longing</p>

<p>29. <strong>Hideaway - Mallrat</strong></p>

<p>28. <strong>American Porn - Die Spitz</strong> - ugly angry punk</p>

<p>27. <strong>catch these fists - Wet Leg</strong></p>

<p>26. <strong>Bittersweet - Cliffords</strong> - I dig the rhythm.</p>

<p>25. <strong>Roundabout - The Beths</strong> - “I loved you / screaming through the roundabout” so sweet</p>

<p>24. <strong>Illegal - PinkPantheress</strong> - “you were recommended to me by some people” has such a good cadence</p>

<p>23. <strong>New Best Thing - Home Counties</strong></p>

<p>22. <strong>Act Like Your Title - Rocket</strong> - love the riff</p>

<p>21. <strong>Cobra - Geese</strong> - a weird but very pretty little song</p>

<p>20. <strong>Bitter Everyday - Wednesday</strong></p>

<p>19. <strong>This is the Killer Speaking - The Last Dinner Party</strong> - banger. “I hope my televisión appearance drives you fuckin’ maddddddd” slaps</p>

<p>18. <strong>Julie - Horsegirl</strong></p>

<p>17. <strong>R4DR4M - SKORTS</strong> - I still call this “Redrum” in my head. SKORTS continue to kill it.</p>

<p>16. <strong>Guy Fawkes Tesco Dissociation - jasmine.4.t</strong> - wonderful folky collab track with Phoebe Bridgers. Excellent moody switch in the pre-chorus kinda part. The lyrical rhythm is perfect</p>

<p>15. <strong>Best Laid Plans - The Beths</strong> - the lil high-frets guitar strum and slide that punctuate thru this song is irresistible. The drums, the whole arrangement. The harmony on “light ray”.</p>

<p>14. <strong>Well I Know You’re Shy - Horsegirl</strong> - the drums are a highlight throughout this album</p>

<p>13. <strong>Humdrum - Home Counties</strong> - gotta dance</p>

<p>12. <strong>100 Horses - Geese</strong> - a line like “there is only dance music in times of war” (which goes hard af) juxtaposed with a line like “there were a hundred horses dancing / maybe a hundred twenty-four” is hilarious and I’m a fan</p>

<p>11. <strong>Feel Something - Madi Diaz</strong> - some expert-level songwriting</p>

<p>10. <strong>John Mulaney - Wetsuit</strong> - the. vocals. my. god.</p>

<p>9. <strong>CRUISING TO SELF SOOTHE - Ecca Vandal</strong> - rips from the opening scream</p>

<p>8. <strong>Switch Over - Horsegirl</strong> - pared back but still layered, and just a very pleasing ending</p>

<p>7. <strong>Idiot Box - Sharon Van Etten &amp; The Attachment Theory</strong> - great melody</p>

<p>6. <strong>Elderberry Wine - Wednesday</strong> - I remain transfixed by this track</p>

<p>5. <strong>Straight Line Was a Lie - The Beths</strong> - joyous music, pure and simple</p>

<p>4. <strong>2468 - Horsegirl</strong> - dadadadadadahhhdadah. obsessed with the catchy simplicity of this album, epitomized by 2468.</p>

<p>3. <strong>Taxes - Geese</strong> - lots can be said about the goofiness of Geese—which I mean as the highest compliment—but all that matters for this one is the dark-humor fun of the first half and how it blows open into the shout-along catharsis of the second half</p>

<p>2. <strong>Townies - Wednesday</strong> - heavy heavy heavy, and that break down at the endddd. Is anybody else writing music like Karly Hartzman??</p>

<p>1. <strong>Metal - The Beths</strong> - perfection. stunning lyrics, beautiful layers of guitar. I adore this song and this band.</p>

<div>
<br />
<iframe allow="autoplay *; encrypted-media *;" frameborder="0" height="450" style="width:100%;max-width:660px;overflow:hidden;background:transparent;" sandbox="allow-forms allow-popups allow-same-origin allow-scripts allow-storage-access-by-user-activation allow-top-navigation-by-user-activation" src="https://embed.music.apple.com/us/playlist/best-of-2025/pl.u-Zk5WizNNPAB"></iframe>
<br />
</div>

<p>🎵</p>]]></content><author><name>Tommy Twardzik</name></author><category term="music" /><summary type="html"><![CDATA[The best sounds I heard in 2025, ranked.]]></summary></entry><entry><title type="html">Journal: I think the reason so many people like the Sopranos is…</title><link href="https://bumnotes.net/2026/06/03/journal.html" rel="alternate" type="text/html" title="Journal: I think the reason so many people like the Sopranos is…" /><published>2026-06-03T13:55:00+00:00</published><updated>2026-06-03T13:55:00+00:00</updated><id>https://bumnotes.net/2026/06/03/journal</id><content type="html" xml:base="https://bumnotes.net/2026/06/03/journal.html"><![CDATA[<p>I think the reason so many people like the Sopranos is cause every guy just wants to have friends. Every guy just wants to have some friends he can go down the meat shop with and sit on the sidewalk in the sun and chat and complain with, and who will also literally kill a person for (and/or with) him if he has beef.</p>

<!-- See also: I Hope I Lose Everything One Day: The John Wick Fantasy -->]]></content><author><name>Tommy Twardzik</name></author><category term="journal" /><category term="tv" /><summary type="html"><![CDATA[I think the reason so many people like the Sopranos is cause every guy just wants to have friends. Every guy just wants to have some friends he can go down the meat shop with and sit on the sidewalk in the sun and chat and complain with, and who will also literally kill a person for (and/or with) him if he has beef.]]></summary></entry><entry><title type="html">Backrooms (2026) The Scariest Thing in the World Is a Breaker Box</title><link href="https://bumnotes.net/2026/06/02/backrooms-2026-movie-notes.html" rel="alternate" type="text/html" title="Backrooms (2026) The Scariest Thing in the World Is a Breaker Box" /><published>2026-06-02T11:44:00+00:00</published><updated>2026-06-02T11:44:00+00:00</updated><id>https://bumnotes.net/2026/06/02/backrooms-2026-movie-notes</id><content type="html" xml:base="https://bumnotes.net/2026/06/02/backrooms-2026-movie-notes.html"><![CDATA[<p><strong>And the best part is… you can eat them.</strong></p>

<p><br />
tl;dr</p>

<ul>
  <li>+1 spooky rooms</li>
  <li>+1 Minotaur referenced</li>
  <li>-5 Minotaur was a giant pirate mascot monster</li>
  <li>+2 first 45 minutes were scary</li>
  <li>-2 last 45 minutes not enough scary</li>
  <li>-1 the “researchers”</li>
  <li>+1 patient and therapist characters’ story together outside of the store, and generally their great acting</li>
  <li>-1 <em>House of Leaves</em> knockoff</li>
  <li>+1 as close as we’re gonna get to a <em>House of Leaves</em> movie</li>
  <li>+1 other ppl getting dragged into believing (my favorite part of mystery stories)</li>
  <li>-1 he started eating ppl that fast??</li>
  <li>+2 cursed breaker box</li>
</ul>

<p><br /></p>

<p><em>Backrooms</em> was scary enough during the first half that it could’ve stuck to that, given the audience a scary monster reveal climax (RIP our hero), and satisfied the simple goal of: I will scare you for an hour plus.</p>

<p>But <em>Backrooms</em> created the expectation of some deeper psychological reveal—a thesis—and as soon as it did that, it promised more than scares. It promised meaning, a revelation about the characters, about us.</p>

<p>It didn’t follow through on that. I don’t think <em>Backrooms</em> really knew what its ending meant.</p>

<p>Not necessarily bad. Is that better than being sure about itself and just doing the ending poorly? I don’t know. Still not great.</p>

<p>*</p>

<p>When a story presents a mystery, the audience wants:</p>

<p>a) an answer that’s original and/or unpredictable, or…<br />
b) no answer at all, and the satisfaction that the journey was all the fun.</p>

<p>Either can be good. It’s a red flag when a story tries to do both, to compensate for a weakness in one by adding the other.</p>

<p>*</p>

<p>Scary monsters and magic wall-doors are great. Handheld jump-scares and unnerving corporate architecture, all cool with me. I was having a great time. The scary stuff was scary.</p>

<p>Then suddenly the monster is <em>him</em>. Our hero’s own self. His failure? His lack of control? His fear and anger over his lack of control?</p>

<p>Could be interesting ideas. But it all got… silly. A silly pirate mascot monster<sup id="fnref:silly" role="doc-noteref"><a href="#fn:silly" class="footnote" rel="footnote">1</a></sup> bumbling through the endless hallways, a silly climax chase scene, and plates of gooey person-stuffing being served for dinner after the guy spent, what, a couple weeks down there?</p>

<p>And the monster is… <a href="https://youtu.be/v0IyaqurmGE?si=jhQJiqyzHzjAJJ6v">him</a>?</p>

<p>Then it’s all a bit obvious. He’s in therapy, he’s unfulfilled, he’s drinking too much, he’s been evicted from <em>his space</em>.</p>

<p>So he finds a new space, where he’s in control, and he likes it.</p>

<p>Okay, psychological metaphor. But also there’s a team of researchers investigating doors to this place popping up around the world. So it’s real. But also it’s our guy in there as a big ol’ pirate monster terrorizing the rooms. Also the therapist had a traumatic childhood.</p>

<p>*</p>

<p><em>If I Had Legs I’d Kick You</em> uses its monster (the hole) to represent difficult feelings—the hopelessness and powerlessness of a mother who feels she can’t keep her sick child safe, and who feels alone in the struggle. It’s more nuanced, not silly at all, and it at least leaves you to ponder these things.</p>

<p><em>Undertone</em> sets up a pure-horror <em>Paranormal Activity</em>-type scary ghost movie. But by the end it hasn’t actually been that scary. Then it tries to compensate by going <em>deep</em>—layering the story with the podcaster’s dying mother, and also there’s suddenly an implication that the protagonist is an alcoholic because in one scene she drinks alcohol. This followed by a climax that I can only describe as a lot of noise and shaky camera visuals and sensory overload, like it’s trying to hide the lack of an actual ending by dropping us down a flight of stairs and hoping the concussion blacks out the rest of the movie.</p>

<p>If the scale is <em>If I Had Legs</em> at the top as “pretty good” and <em>Undertone</em> at the bottom as “bad. period.”, I’d put the first half of <em>Backrooms</em> just below the top and the second half right up against the bottom.</p>

<p>Disappointed that it didn’t stay scary when it very well could have sent me home to sleep with the lights on (and forever avoid eerie hallways and magic doors).</p>

<p>If nothing else, it made me want to read <em>House of Leaves</em> again.</p>

<div class="footnotes" role="doc-endnotes">
  <ol>
    <li id="fn:silly" role="doc-endnote">
      <p>I also couldn’t get into Nosferatu (2024) despite it being visually beautiful and despite <em>wanting</em> to get lost in that creepy world because he was just so silly. <a href="#fnref:silly" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
    </li>
  </ol>
</div>]]></content><author><name>Tommy Twardzik</name></author><category term="film" /><category term="entertainment" /><summary type="html"><![CDATA[And the best part is... you can eat them.]]></summary></entry><entry><title type="html">A Quote About Money and Happiness</title><link href="https://bumnotes.net/2026/04/06/quote-on-money-happiness.html" rel="alternate" type="text/html" title="A Quote About Money and Happiness" /><published>2026-04-06T14:22:00+00:00</published><updated>2026-04-06T14:22:00+00:00</updated><id>https://bumnotes.net/2026/04/06/quote-on-money-happiness</id><content type="html" xml:base="https://bumnotes.net/2026/04/06/quote-on-money-happiness.html"><![CDATA[<p>A follow-up to my <a href="/2026/03/31/billionaires-do-not-help-people.html">previous post about billionaires</a>, here’s one specific example of somebody doing it better<sup id="fnref:tip" role="doc-noteref"><a href="#fn:tip" class="footnote" rel="footnote">1</a></sup>.</p>

<p>Steve Wozniak cofounded Apple with Steve Jobs, and he sold most of his stake in the company in the 1980s.</p>

<p>In 2025, around his 75th birthday, someone commented on this decision. Wozniak wrote this reply (emphasis mine):</p>

<blockquote>
  <p>I gave all my Apple wealth away because wealth and power are not what I live for. I have a lot of fun and happiness. I funded a lot of important museums and arts groups in San Jose, the city of my birth, and they named a street after me for being good. I now speak publicly and have risen to the top. I have no idea how much I have but after speaking for 20 years it might be $10M plus a couple of homes. I never look for any type of tax dodge. I earn money from my labor and pay something like 55% combined tax on it. <strong>I am the happiest person ever. Life to me was never about accomplishment, but about Happiness, which is Smiles minus Frowns.</strong> I developed these philosophies when I was 18-20 years old and I never sold out.</p>
</blockquote>

<p>He is a wealthy person, worth tens or hundreds of millions of dollars. That’s not nothing.</p>

<p>But the simple line “wealth and power are not what I live for” is a striking counterpoint to the attitudes of many of the world’s current richest people, whose primary roles have shifted from company leaders to soulless corporate politicians and power-hungry egomaniacs.</p>

<div class="footnotes" role="doc-endnotes">
  <ol>
    <li id="fn:tip" role="doc-endnote">
      <p>As seen on <a href="https://daringfireball.net/linked/2025/08/15/woz-on-slashdot" target="_blank">Daring Fireball</a>. <a href="#fnref:tip" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
    </li>
  </ol>
</div>]]></content><author><name>Tommy Twardzik</name></author><category term="money" /><category term="happiness" /><summary type="html"><![CDATA[Smiles minus frowns. And never selling out.]]></summary></entry><entry><title type="html">Every Day, Billionaires Choose Not to Help People Who Need Help</title><link href="https://bumnotes.net/2026/03/31/billionaires-do-not-help-people.html" rel="alternate" type="text/html" title="Every Day, Billionaires Choose Not to Help People Who Need Help" /><published>2026-03-31T23:59:00+00:00</published><updated>2026-03-31T23:59:00+00:00</updated><id>https://bumnotes.net/2026/03/31/billionaires-do-not-help-people</id><content type="html" xml:base="https://bumnotes.net/2026/03/31/billionaires-do-not-help-people.html"><![CDATA[<p>Every day, Elon Musk, the richest person on the planet<sup id="fnref:one" role="doc-noteref"><a href="#fn:one" class="footnote" rel="footnote">1</a></sup>, chooses <strong>not</strong> to give $1 billion to people who desperately need it.</p>

<p>You think $1 billion is a lot of money. It is. Yet: it’s less than 0.2% of what he’s worth. Not 2%. Two tenths of one percent. It’s less than that.</p>

<p>This is not his problem, alone. He is not the only one. This applies to those other couple dozen ultra-billionaires, too. But when you’re the <a href="https://www.forbes.com/profile/elon-musk/" target="_blank">number one fella</a>, you’re the one in the spotlight. You’re not the only guilty one, but you absolutely are guilty as hell.</p>

<p>You have the power to help thousands (millions?) of people who are suffering, and you wake up every day and <strong>choose not to help them</strong>. Every living day.</p>

<p>I had a long essay in the works about billionaires<sup id="fnref:fuckem" role="doc-noteref"><a href="#fn:fuckem" class="footnote" rel="footnote">2</a></sup>, but no need. This is the bottom line.</p>

<div class="footnotes" role="doc-endnotes">
  <ol>
    <li id="fn:one" role="doc-endnote">
      <p>Don’t talk to me about fucking “liquidity”, either. You think the “rules of finance” apply to the richest dozen people on the planet Earth? Cute. <a href="#fnref:one" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
    </li>
    <li id="fn:fuckem" role="doc-endnote">
      <p>It was called: “Billionaires, <a href="https://daringfireball.net/linked/2025/10/03/fuck-you-make-me" target="_blank">Fuck-You Money</a>, and What Is Wrong With These People” <a href="#fnref:fuckem" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
    </li>
  </ol>
</div>]]></content><author><name>Tommy Twardzik</name></author><category term="money" /><summary type="html"><![CDATA[Cowards and imbeciles, all of them.]]></summary></entry><entry><title type="html">Journal: Please let me know / When you’ve had enough…</title><link href="https://bumnotes.net/2026/03/27/journal.html" rel="alternate" type="text/html" title="Journal: Please let me know / When you’ve had enough…" /><published>2026-03-27T00:55:00+00:00</published><updated>2026-03-27T00:55:00+00:00</updated><id>https://bumnotes.net/2026/03/27/journal</id><content type="html" xml:base="https://bumnotes.net/2026/03/27/journal.html"><![CDATA[<p>Please let me know<br />
When you’ve had enough</p>

<p>“<a href="https://music.apple.com/album/dawn-chorus/1467347588?i=1467347667">Dawn Chorus</a>” by Thom Yorke just breaks my heart.</p>]]></content><author><name>Tommy Twardzik</name></author><category term="journal" /><category term="happiness" /><summary type="html"><![CDATA[Please let me know When you’ve had enough]]></summary></entry><entry><title type="html">How I Learned iOS Software Development by Building an App</title><link href="https://bumnotes.net/how-i-learned-ios-development-building-clew/" rel="alternate" type="text/html" title="How I Learned iOS Software Development by Building an App" /><published>2025-12-05T12:00:00+00:00</published><updated>2025-12-05T12:00:00+00:00</updated><id>https://bumnotes.net/how-i-learned-iOS-development-building-clew</id><content type="html" xml:base="https://bumnotes.net/how-i-learned-ios-development-building-clew/"><![CDATA[<p>I started Clew with no software development experience, and along the way, it’s changed from a learning experiment to a project that I love working on.</p>

<p>More importantly, <a href="/clew-i-built-an-ios-app/">Clew is an app I love using</a> every day.</p>

<p>For better or worse, this is an artisanal app. My approach isn’t really scalable if your intention is commercial-first.</p>

<p>But I’m having a great time working on this, so I think it’s for the better.</p>

<p>But back to the beginning.</p>

<h2 id="learning-to-code-from-the-ground-up">Learning to Code From the Ground Up</h2>

<p>Because I was learning everything from scratch, I decided early on that I wanted to keep things as native as possible. So, I stuck to built-in iOS frameworks like SwiftUI and iCloud Drive.</p>

<p>For its basic structure and look, I took inspiration from the apps that come with your iPhone—Mail and Reminders and Calendar. They’re function-forward, clean, and clear interfaces for entering text, adding metadata, and tracking information.<sup id="fnref:design" role="doc-noteref"><a href="#fn:design" class="footnote" rel="footnote">1</a></sup></p>

<p>When I started, SwiftUI was still very new. (I suppose it still is very new, compared to other languages.) It lets you <em>describe</em> what you want the system to do and display, which is a little different than some other programming languages.</p>

<p>At the very simplest, writing SwiftUI code looks something like this:</p>

<div class="language-swift highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">struct</span> <span class="kt">HighlightsListView</span><span class="p">:</span> <span class="kt">View</span> <span class="p">{</span>
    <span class="kd">@FetchRequest</span><span class="p">(</span><span class="nv">entity</span><span class="p">:</span> <span class="kt">Highlight</span><span class="o">.</span><span class="nf">entity</span><span class="p">(),</span> <span class="nv">sortDescriptors</span><span class="p">:</span> <span class="p">[])</span> <span class="k">var</span> <span class="nv">highlights</span><span class="p">:</span> <span class="kt">FetchedResults</span><span class="o">&lt;</span><span class="kt">Highlight</span><span class="o">&gt;</span>

    <span class="k">var</span> <span class="nv">body</span><span class="p">:</span> <span class="kd">some</span> <span class="kt">View</span> <span class="p">{</span>
        <span class="kt">List</span> <span class="p">{</span>
            <span class="kt">ForEach</span><span class="p">(</span><span class="n">highlights</span><span class="p">,</span> <span class="nv">id</span><span class="p">:</span> <span class="p">\</span><span class="o">.</span><span class="n">id</span><span class="p">)</span> <span class="p">{</span> <span class="n">highlight</span> <span class="k">in</span>
                <span class="kt">NavigationLink</span><span class="p">(</span><span class="nv">destination</span><span class="p">:</span>
                    <span class="kt">HighlightDetailView</span><span class="p">(</span><span class="nv">highlight</span><span class="p">:</span> <span class="n">highlight</span><span class="p">)</span>
                <span class="p">)</span> <span class="p">{</span>
                    <span class="kt">VStack</span> <span class="p">{</span>
                        <span class="kt">Text</span><span class="p">(</span><span class="n">highlight</span><span class="o">.</span><span class="n">text</span><span class="p">)</span><span class="o">.</span><span class="nf">bold</span><span class="p">()</span>
                        <span class="kt">Text</span><span class="p">(</span><span class="n">highlight</span><span class="o">.</span><span class="n">note</span><span class="p">)</span>
                    <span class="p">}</span>
                <span class="p">}</span>
            <span class="p">}</span>
        <span class="p">}</span><span class="o">.</span><span class="nf">padding</span><span class="p">(</span><span class="o">.</span><span class="n">horizontal</span><span class="p">)</span>
    <span class="p">}</span>
<span class="p">}</span>
</code></pre></div></div>

<p>That’s an extremely simplified version of a generic view. It’s the kind of code that tells the iPhone to show a view, which contains a list, which pulls in saved highlights from the user’s database and displays each one in a vertical stack with the highlight text in bold on top and any note the user wrote below it.</p>

<p>Behind that, there’s a <em>lot</em> of code that’s responsible for making sure there <em>is</em> a database to save highlights to, that the app can read those saved items along with all their associated attributes, that the view can read and display each highlight’s attributes in the list’s rows, and that the user can tap on a list row to open up an entirely new view which shows the highlight’s full details.</p>

<p>There’s also much more that goes into making sure all of what I just described is fast, smooth, reliable, and aesthetically pleasing. That example view doesn’t even include a function—it doesn’t do anything other than show pre-loaded information and handle navigation from the list to the detail view.</p>

<p>But at a fundamental level, that’s the gist of what writing a visual interface in SwiftUI looks like.</p>

<h2 id="a-beginners-process-for-swiftui-development">A Beginner’s Process for SwiftUI Development</h2>

<p>I learned by doing. Every time I started working on a new button or view or function, I spent a lot of time reading how-to articles and watching YouTube videos.</p>

<p>I also bought a couple amazingly inexpensive (like, $20 on sale) courses on Udemy and Coursera that were valuable as a solid foundation at the beginning. I probably got through 30% of any of those courses before it became just too conceptual for my attention span, and I needed to start working on real examples in my app. And so, back to YouTube.</p>

<p>Here’s what my process looked like:</p>

<ol>
  <li><em>I want to let the user type text into a text box that they can save as a note that’s attached to the highlight they’ve saved,</em> I think.</li>
  <li>Search the web: “How to make a text box in SwiftUI.”</li>
  <li>Find an article or YouTube video showing how to create a TextEditor (back then it was different, but today that’s how it’s done) in SwiftUI.</li>
  <li>Put a TextEditor in my code and watch it be weird and (probably) not work exactly how I want it to work.</li>
  <li>Do another web search: “How to change the default height of a TextEditor in SwiftUI.”</li>
  <li>Read another article or watch another video about changing the size and probably a dozen other characteristics of a SwiftUI TextBox (or, in many cases, find out that what I want is very difficult/nearly impossible without lots of custom, hacky code).</li>
  <li>Try to implement the relevant parts of the article/video and see that it’s still not doing quite what I want.</li>
  <li>Also start seeing errors pop up because I’ve written something incorrectly or broken something else.</li>
  <li>Search the web for how to fix these various errors and continue figuring out how to get the text box just right. (Remember that this is one text box in the notes section of one kind of detail view in the app.)</li>
  <li>Later—many hours later—finally get the app to build successfully (with no errors) and test the text box and… it works!</li>
  <li>Notice that the keyboard hides a lot of the view while the user is typing, and there’s no way to hide the keyboard when they’re done. Decide to add a button right above the keyboard to hide it.</li>
  <li>Search the web: “How to add a button above the keyboard in SwiftUI”…</li>
</ol>

<p>And so on…</p>

<p>This is what I’ve done for thousands of hours, now.</p>

<p>And what’s fun is that, as I’ve become comfortable with these fundamentals, I’ve also moved on to much more complex ideas, like data model migrations, AI-powered tag suggestions, and comprehensive data backups.</p>

<p>Thus, the process has remained pretty much the same. It’s incredibly frustrating and incredibly satisfying.</p>

<h2 id="resources-for-learning-ios-software-development">Resources for Learning iOS Software Development</h2>

<p>If you’re interested in learning to build apps for iPhones, iPads, and Macs, these are some of my absolute favorite resources that I continue to go back to as I build new features:</p>

<ol>
  <li><a href="https://www.hackingwithswift.com/" target="_blank">Hacking with Swift</a></li>
  <li><a href="https://www.swiftbysundell.com/" target="_blank">Swift by Sundell</a></li>
  <li><a href="https://swiftwithmajid.com/" target="_blank">Swift with Majid</a></li>
  <li><a href="https://nilcoalescing.com/blog/" target="_blank">Natalia Panferova at Nil Coalescing</a></li>
  <li><a href="https://www.youtube.com/@Kilo_Loco" target="_blank">Kilo Loco</a></li>
  <li><a href="https://www.youtube.com/@seanallen" target="_blank">Sean Allen</a></li>
  <li><a href="https://www.youtube.com/@CodeWithChris" target="_blank">CodeWithChris</a></li>
</ol>

<p>For higher level discussions about iOS app development, the recently concluded <a href="https://www.relay.fm/radar" target="_blank">Under the Radar podcast</a> is incredible.</p>

<p>If you’d like to follow my development of Clew, check out the <a href="https://getclew.com/updates" target="_blank">Clew website</a> for updates and the roadmap. 📱</p>

<div class="footnotes" role="doc-endnotes">
  <ol>
    <li id="fn:design" role="doc-endnote">
      <p>I’m steadily adding more splashes of color, finding more opportunities for user customizations, and improving information density. I’m not a designer by trade, but I know what I like in an app. <a href="#fnref:design" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
    </li>
  </ol>
</div>]]></content><author><name>Tommy Twardzik</name></author><category term="programming" /><category term="technology" /><category term="project" /><summary type="html"><![CDATA[On learning to code, building an iOS app, and turning software development from an experiment into a practice I love.]]></summary></entry><entry><title type="html">I Built an iOS App: Introducing Clew</title><link href="https://bumnotes.net/clew-i-built-an-ios-app/" rel="alternate" type="text/html" title="I Built an iOS App: Introducing Clew" /><published>2025-12-03T19:10:00+00:00</published><updated>2025-12-03T19:10:00+00:00</updated><id>https://bumnotes.net/clew-i-built-an-iOS-app</id><content type="html" xml:base="https://bumnotes.net/clew-i-built-an-ios-app/"><![CDATA[<p>It started when I went back to reading mostly paper books after years of trying ebooks. On paper, I’d underline passages and write margin notes, then finish the book, close it, and likely never see those highlights or notes again.</p>

<p>When I was an English major reading three books a week, it was easy to remember those notes and passages because I was using them in discussions and essays every day, referencing them alongside other works, and making connections all the time.</p>

<p>I wanted that kind of experience—creating and discovering links across books, genres, centuries, and even between books and films, songs, poems, and more.</p>

<p>I wanted to create an intelligent tool to store these highlights and surface them, to put them in conversation with each other.</p>

<p>There are places out there like Goodreads where you can store notes and clippings online. There’s your iPhone’s Notes app, where you can toss thousands of highlights from books and, similar to my problem on paper, never see them again. There are complex systems, wiki-style note-taking apps like Obsidian and Notion, that could do this with a lot of heavy lifting.</p>

<p>I wanted to build something better.</p>

<p>I wanted something that made it faster to save highlights, simpler to categorize them, and more fun to collect and explore them. I wanted it to work with no fuss on all my devices (Apple devices, at least for now…).</p>

<p>So, <a href="/how-i-learned-ios-development-building-clew/">I started learning iOS development and building an app</a>, which I was calling ‘Breadcrumbs.’ Pretty quickly, I realized that <em>this</em> was the way I wanted to build a library of highlights over my lifetime.</p>

<p>That was in 2021. Been working on this for 4+ years.</p>

<p><strong>Today, you can <a href="https://apps.apple.com/app/clew-highlights-and-notes/id6477902274" target="_blank">download Clew for free on the App Store</a>.</strong></p>

<h2 id="what-is-clew">What Is Clew?</h2>

<picture>
  <source media="(min-width: 601px)" srcset="/assets/images/clew-i-built-an-iOS-app/highlight-detail-and-book-detail-view-in-clew.webp" />
  <img src="/assets/images/clew-i-built-an-iOS-app/clew-highlight-detail-dark-crying-lot-49.webp" alt="Clew app showing highlight detail view" style="max-height: 400px; display: block; margin: 0 auto;" />
</picture>

<p>A <strong><a href="https://onlineexhibits.library.yale.edu/s/not-reading/page/commonplace-book" target="_blank">commonplace book</a></strong> is what used to be a physical notebook that creative people used to save passages from books, poems, correspondence, etc. Things that inspired them, that made them laugh or cry, that they’d like to reference in future work.</p>

<p>It hit me on Friday, September 19, 2025 at 10:47 p.m., that this is the fundamental idea behind Clew. I know this because I was reading Pynchon’s <em>The Crying of Lot 49</em> when I underlined this passage on page 129 of the book and saved it as a highlight in Clew:</p>

<blockquote>
  <p>Lucky for me,” said Bortz,” Wharfinger, like Milton, kept a commonplace book, where he jotted down quotes and things from his reading.”</p>
</blockquote>

<p>Until that moment, I hadn’t had the exact word for what Clew was—a database, a notebook, a research app, a PKM tool/digital garden?</p>

<p>It’s all of those things, I guess, but at its heart, it’s a modern commonplace book—one that’s searchable, easy to organize, and fun to use.</p>

<h3 id="what-is-a-clew">What Is <em>a</em> “Clew?”</h3>
<p>Want to know the meaning behind the name? Download the app and go to the About section in Settings to find out! (You <em>could</em> look it up. But it’s more fun if you don’t.)</p>

<h2 id="why-clew-is-better">Why Clew Is Better</h2>

<p>My goals for Clew are:</p>
<ul>
  <li>intelligent context and connections between saved highlights</li>
  <li>simple but powerful organization capabilities</li>
  <li>the fastest highlight creation possible, so you don’t interrupt your reading flow</li>
</ul>

<h3 id="intelligence">Intelligence</h3>
<p>Clew is <em>smart</em>, and it’s only getting smarter.</p>

<p>Right now, when viewing a highlight, it shows related highlights based on the source (book, website, song, etc.) and the tags you’ve attached.</p>

<p>Clew also suggests new and existing tags when you’re creating and editing highlights.</p>

<p>In the near future, the app will use your iPhone’s on-device AI to provide additional context and connections between saved items (no internet connection required).</p>

<h3 id="organization">Organization</h3>
<p>In the old days of paper commonplace books, people had to set up their organization system ahead of time. They had to define sections and keep them sorted and organized as they added clippings.</p>

<p>In Clew, you simply add tags to your highlights. You come up with the tags as you go, so you don’t have to plan anything or stick to one organization style. And it’s easy to go back and add new tags to old highlights.</p>

<p>You can use tags like “funny” and “inspiring” to connect highlights by themes. Then, you can use the “inspiring” tag in a home screen widget to show sparks of motivation throughout the day.</p>

<p>You can also browse collections by source or author. And, soon, you’ll be able to create custom collections based on tags, dates, and other characteristics.</p>

<h3 id="speed">Speed</h3>
<p>It’s important that the app doesn’t interrupt you while you’re reading, so I’m focused on making it as fast as possible to create new highlights.</p>

<p>You can use the page scanner to scan book pages and paper documents and quickly select the text you want to save. Or, you can dictate highlight text using the iPhone’s microphone.</p>

<p>I’ve got more ideas to speed things up even more, so stay tuned.</p>

<h3 id="bonus-widgets-on-the-home-screen-and-lock-screen">BONUS: Widgets on the Home Screen and Lock Screen</h3>
<p>I didn’t know how much I’d love Clew’s widgets until I built them.</p>

<p>You can show random or specific highlights from your collection right there on the home screen or lock screen of your iPhone, iPad, and Mac!</p>

<p>Throughout the day, you’ll get glimpses of past highlights you’ve saved. Maybe you’ll experience some serendipity as the app surfaces funny, beautiful, inspiring, or interesting snippets that past-you saved for future-you.</p>

<h2 id="clew-10-is-just-the-beginning">Clew 1.0 Is Just the Beginning</h2>

<p>At the time of writing, Clew is already on version 1.3, and it’s been available on the App Store since April. But that was more of a soft launch.</p>

<p>Since then, I’ve polished all the rough edges and added significant new features: view customizations, AI tag suggestions, support for songs in addition to books and websites, and more.</p>

<p>Now, it’s showtime.</p>

<p>And it’s only going to get better from here. I’m talking support for movies and TV series, podcasts, and audiobooks. I’m talking fun social features, like gorgeous shareable highlight images for your feeds and stories.</p>

<p>For a more complete rundown of what I’m working on, check out the <a href="https://getclew.com/roadmap/" target="_blank">roadmap on the Clew website</a>.</p>

<p>If you like the app, let me know! And if there’s a feature that you’d love to see (or a bug you spot), <a href="mailto:help@getclew.com">send me an email</a> and I’ll see what I can do. 📱</p>]]></content><author><name>Tommy Twardzik</name></author><category term="programming" /><category term="technology" /><category term="project" /><summary type="html"><![CDATA[I wanted a better way to write margin notes and save highlights from books, articles, songs, and more. So, I created Clew.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://bumnotes.net/assets/images/clew-i-built-an-iOS-app/clew-highlights-app-screenshot-gallery-dark.webp" /><media:content medium="image" url="https://bumnotes.net/assets/images/clew-i-built-an-iOS-app/clew-highlights-app-screenshot-gallery-dark.webp" xmlns:media="http://search.yahoo.com/mrss/" /></entry></feed>