Oddbean new post about | logout

Notes by oddevan | export

 I’m still on the lookout for my next job. If you know of a good team looking for a creative engineer, hit me up! Full details on my CV, but I’m especially good with PHP/WordPress and Svelte with Typescript.
 https://eph.me/cv 
 Automakers of America, here’s what I want in an electric:

200+ mile range
NACS charging
Fits in unconventional parking spots like an actual small car and not the compact SUVs that every electric seems to be these days!

 https://cdn.uploads.micro.blog/644/2024/6a342ada59.jpg 
 There’s some graffiti that was spotted in Clackmas, Oregon that I keep coming back to…

"If you promise to stay alive just a little bit longer I promise that we are going to make this world a place worth living in by any means necessary. I ain’t giving up. I swear."

I’m still not giving up.
 https://paperairplanemob.tumblr.com/post/749590427207876608 
 I am CACKLING at this news. A pinnacle example of “it’s not about the money, it’s about justice.”

The families of Sandy Hook victims agreed to a lower payout so that InfoWars—domains, socials, merch, mailing lists, etc—could be sold…

To The Onion.
 https://www.status.news/p/the-onion-acquires-infowars 
 Getting one last Twitter archive before I purge as much as I’m able. It’s a symbolic gesture more than anything, but X is getting toxic to the point of not wanting to be associated with it at all now.
 
 Sometimes it takes a few days for us to process how it went, but it puts things in perspective. In this case, an excellent essay by @gruber tying together stories about a spouse/parent dying and the election, and how, in a way, life goes on.
 https://daringfireball.net/2024/11/how_it_went https://micro.blog/gruber 
 Few things bring me as much surprise joy as finding out that Bojangles has pork chop biscuits.
 
 The Verge lays out in clear terms why a vote for Kamala Harris is a good one.
 https://www.theverge.com/24282022/kamala-harris-endorsement-presidential-election-2024 
 TFW you’re trying to change your email address on Indeed because Glassdoor randomly doesn’t send emails to your personal domain and you never know when a company is using it so you try to change it but something is breaking somewhere and you can’t and you have no idea why.
 https://eph.me/ 
 Do I think Threads is the next great social network? No. But will I be spending an inordinate amount of time there? Also no. But thanks to Micro.blog, I can now inflict myself on the Threadiverse!
 https://micro.blog/ 
 With the .io domain potentially set to disappear, I’m reminded that a good chunk of my online identity is tied up in a different country code. Not sure I need to do anything about it right this moment, but it’s worth remembering…
 https://every.to/p/the-disappearance-of-an-internet-domain?utm_source=cassidoo&utm_medium=email&utm_campaign=dont-block-your-blessings-jennifer-hudson https://eph.me 
 Sometimes the world is awesome, and the Northern Lights make it to South Carolina.

 https://cdn.uploads.micro.blog/644/2024/7dda43db45.jpg 
 Really appreciated this essay by Loris Cro, especially this:

"Don’t you find it infuriating when lawyers and accountants fail to clarify how their respective domains work, making them unavoidable intermediaries of systems that in theory you should be able to navigate by yourself?

Whenever we fail to make simple things easy in software engineering, and webdev especially, we are failing society in the exact same way."

 https://kristoff.it/blog/static-site-paradox/ 
 Hey, uh, what exactly does it want me to test?!

 https://cdn.uploads.micro.blog/644/2024/f91407f2d0.png 
 From the Ghost blog via @manton:

"One of the things we’re learning as we go is that ActivityPub is resource-intensive, and can be pretty expensive/difficult to run robustly."

A hard requirement for Smolblog is being able to run efficiently on cheap/shared hosts. Native AP is secondary to that… 😅
 https://activitypub.ghost.org/beta-plans/ https://micro.blog/manton 
 I think this is the first hurricane I’ve had to properly deal with as an adult. So far we’re doing well, and we have neighbors and community helping each other.

If I may: there’s talk of reducing/restricting publicly available weather data. I hope this event shows how bad an idea that is.
 
 I’m sympathetic to the idea of protecting the commons from freeloaders.

But WordPress.org blocking blogs on WP Engine from plugin updates? This feels like ego, not stewardship. And I don’t want to use MattPress.
 https://bsky.app/profile/ernie.tedium.co/post/3l4zbzglggo2a 
 Really appreciated this write up by @briancoords@mastodon.social that gets to the heart of my issues with Matt’s posts. (Via @salcode@phpc.social)
 https://www.briancoords.com/the-wcus-closing-i-wish-wed-had/ https://micro.blog/briancoords@mastodon.social https://micro.blog/salcode@phpc.social 
 Matt Mullenweg recently made a post on the official WordPress blog titled WP Engine Is Not WordPress where he makes the point that WP Engine is unfairly leeching on the WordPress project.

If WP Engine’s accusations are true, Matt should remember that Automattic Is Not WordPress either.
 https://wordpress.org/news/2024/09/wp-engine/ https://www.tumblr.com/jv/762458840886345728 
 Well, put my iPhone 12 mini to bed last night. Was hoping Apple would go back to mini-sized phones, but alas. Lasted 3.5 years, but I didn’t think it was going to last another one, so best to upgrade now.

But since there’s already a dedicated camera button, what should I use my action button for?
 
 I’ve mentioned my project Smolblog more than a few times, talking about it in bits and pieces. So to get the whole pitch in one place, I made a ~20 min. video essay about why the Smolblog project exists, what I hope to accomplish, and how I’m doing it.
 https://eph.me/sbintro 
 In today’s rabbit-trail adventure, the 11ty announcement of joining Font Awesome led to reading about Web Awesome which led to then looking up the existing UI library Shoelace, and after playing around with it I’m about ready to use it as the basis for my Svelte UI library. Not bad for a day!
 https://www.11ty.dev/blog/eleventy-font-awesome/ https://blog.fontawesome.com/introducing-web-awesome/ https://shoelace.style/ https://ui.oddevan.com/ 
 Anyone want to buy an M1 MacBook? 7-core GPU, 16GB RAM, 256GB SSD, Battery is “normal.” Runs Logic, Final Cut, and Motion well. Includes original charger + cable. Asking $450 OBO + shipping.
 
 Starting to recognize a pattern: a person with no willingness to be persuaded says something politely inflammatory then chastises their detractors for not being more persuasive. And I have no patience for those that set rules of engagement they have no intention of following.
 
 According to the Svelte blog, Apple Podcasts on the web uses Svelte. So now I feel pretty good aboutd about my decision to learn it last year. 😇
 https://svelte.dev/blog/whats-new-in-svelte-september-2024 
 I could have lived with NaNoWriMo leaving their AI stance at “if it helps you, sure, but using it to write for you defeats the purpose, y’know?”

But in the context of creative writing, comparing AI hate to ableism/classism rings extremely hollow, especially when they could have said nothing at all.
 https://nanowrimo.zendesk.com/hc/en-us/articles/19175896488980-Am-I-allowed-to-use-AI https://nanowrimo.zendesk.com/hc/en-us/articles/29933455931412-What-is-NaNoWriMo-s-position-on-Artificial-Intelligence-AI 
 Okay, people in my phone: I just sold a laptop to Best Buy for $600. They currently have the 14-inch M3 Pro MBP on sale for $1500 (18GB RAM, 512GB SSD). Do I get this now? Or do I wait for the M4 MBP that will certainly cost $2000? I have an M1 Air that is doing well, but only 1 monitor is chafing.
 
 I just had my best hand ever in Pile-Up Poker on Puzzmo! Now if only I was quicker at the crosswords…
 https://puzzmo.com/play/pile-up-poker/sh2v2gdw/share 
 Anyone know if I can use Watir or Selenium to have my command line tool use Safari to generate a PDF? (Chrome might be ok, but I need to check if it avoids splitting paragraphs like Safari does.)
 
 If your business model is such that you feel entitled to charge for using a used product, you’re doing it wrong.

And they said my generation was entitled!
 https://www.cnbc.com/2024/08/22/peloton-to-charge-95-activation-fee-for-used-bikes-.html 
 I currently own 1/5th a share of Apple stock. Is there a way for me to register a complaint about their App Store policies (burning goodwill and harming long-term health), and would I need to buy the rest of the share to do it?
 
 I trust Patreon as much as any venture-backed company (which is not much), but this is pure rent-seeking from Apple. This is monopolist behavior. Please, just stop. I dont want to have to make Linux my daily driver.
 https://news.patreon.com/articles/understanding-apple-requirements-for-patreon https://oddevan.com/2024/01/17/just-stop-apple.html 
 I write fiction in markdown with a horizontal line (---) to denote scene breaks. A lot of the editing software I’ve looked at expects each scene to be its own file. So I wrote a PHP command line script to break apart a markdown file by scene.
 https://gist.github.com/oddevan/e51c2283c6d27dedd77c7484facf820d 
 Still working out some bugs, but have a new theme for oddevan.com ! I wanted to have more prominent social links (since I took those away from eph.me ) and have a dedicated space for projects. Would love some feedback!
 https://oddevan.com/ https://eph.me/ 
 Finally got a solid component demo pattern for my very-in-progress UI library. So, naturally, I wrote a component demo for the component demo component using the component demo component.

Svelte-ception 😎
 https://ui.oddevan.com/components/component-demo 
 Got a burst of inspiration for a point-and-click adventure, figured out ways I could build it in Svelte, and now I’ve got an HTML version of a old phone…

 https://cdn.uploads.micro.blog/644/2024/5039f8a80e.png 
 Teleprompter procured.

Slowly but surely I’m eliminating all the “reasons” I don’t do more videos. Soon I’ll be left with just “it’s too much work.”

 https://cdn.uploads.micro.blog/644/2024/7f97a4658a.jpg 
 Recorded a test video. Used a teleprompter app to show the script while I delivered into my webcam.

Watched the video and saw my eyes go back and forth from the webcam to the script every time.

Bought a teleprompter on eBay.
 
 Manton Reece on the last few weeks:

"People are worried that Biden might lose. Good, be worried. If more people were worried in 2016, Hillary would be wrapping up her 2nd term right now."

 https://www.manton.org/2024/07/09/postdebate-postinterview-questions.html 
 Downloaded 37Signals’ Writebook because free. I might try to run it locally as a Scrivener replacement, but I’m bristling at the thought of running a full Rails app on the server for what should be static files.
 https://once.com/writebook 
 Timed the “intro to Smolblog” talk at just under 35 minutes. I should probably shave five minutes off somewhere, right?
 
 Is a “where’s the beef?” reference too dated?
 
 Between the coffee and the general environment, I’ve needed this deskmat cleaning guide from Mintlodica for a little while.
 https://mintlodica.com/blogs/from-our-desk-to-yours/gaming-deskmat-cleaning-guide 
 Got my professionally-done resume back. Great words, but the formatting was incredibly plain (intentionally so, to make it work better with automatic scanning systems).

So of course, I had to make it look good.
 https://eph.me/ 
 
"I’m not interested in competing with anyone. I hope we all make it."

— Erica Cook
 
 I’ve been spinning my wheels on UI stuff for a few days now, so I finally gave up and started compiling my own UI library. No idea if it’ll go anywhere or be useful to literally anyone including me. Based on shadcn-svelte but with my own opinionated layer on top.
 https://github.com/oddevan/oddevan-ui 
 OK, is there a good tool out there for running multiple containers on a server? I’m trying to do Docker Compose in the CLI, but it feels like I’m having to hold too much context to use it well and I keep shooting myself in the foot. Do I need to just work smarter, or is there a better thing?
 
 I’m startingting to get good at Keynote animations. Stay tuned for my 1-minute explainer on en💩ification/platform decay.
 
 I had no idea the market for Intel Macs was so bad now.
 
 Open questions: How was the model for Apple’s generative images trained? How much energy is the cloud compute using?

Unexpected potential upside: let’s put gen AI in the iPhone and Macs, build it into all that, so that it becomes as cringe as Word Art.
 
 I can’t remember another time that I’ve avoided reading one of @gruber@mastodon.social’s articles, but here we are. The way life is for me right now, I need the childlike surprises on Monday.
 https://micro.blog/gruber@mastodon.social 
 Just got laid off. Not sure what my immediate moves are, but I’m listening for opportunities.
 
 My friend’s kickstarter to make a children’s book about South Carolina plants and animals just needs a little bit more support. Anyone interested?
 https://www.kickstarter.com/projects/goodprintedthings/wild-things-of-the-upstate 
 The problem with mic-dropping a zoom meeting is you don’t get to see people’s reactions.
 
 I’m working on a fictional universe… and I’m thinking of making the website a point-and-click adventure like I don’t have anything else to work on.
 
 One thing I’m trying to learn: it’s ok to take breaks. It’s ok to be slow. Even if I already feel like I’m behind.

Smolblog isn’t a startup. I’m not burning runway. The features that really matter will still matter a year from now.

Take time and rest.
 
 I realized what irks me about some tech: the shoehorning of one tech into another (server-side JS, Not-SQL databases, anti-cascading CSS) shows unwillingness to learn the other tech. Experimentation or time constraints are valid, but don’t claim that it “fixes” something that’s not even understood.
 
 Y’all whippersnappers and your Tailwinds and your server-side rendering like you’re allergic to CSS and PHP. Y’all never had to use font tags inside of every paragraph or try seeing which table property will actually change the background color or transcribe your angst from your YakBak to your LJ.
 
 Really appreciated this article by Jason Snell on regulation and the App Store:

"Let’s not root for Apple to win—let’s root for Apple to do better."

A good rule to remember with any corporation. See also: Dropout’s adventure with Ticketmaster’s Dynamic Pricing.
 https://sixcolors.com/post/2024/04/apples-emulator-about-face-is-good-for-everyone/ https://www.polygon.com/tabletop-games/24130879/dimension-20-ticketmaster-madison-square-garden-ticket-pricing-controversy-gauntlet-in-the-garden 
 Messy space, messy brain. Time to clean the office!
 
 Are there any good electric cars coming out in the USA that aren’t crossovers or straight-up SUVs?

(I know the Mini Electric exists, but I’m hoping for at least 200mi of range.)
 
 Currently in Smolblog, I don’t like how much boilerplate there is around Content Types (and CRUD operations in general). I’ve gotten close to a good abstraction a few times. But something in my brain just isn’t clicking.

Maybe I just need to sleep on it. Again.
 https://github.com/smolblog/smolblog/issues/49 
 From Trevor Flowers:

"I wish more people who are worried about FOSS supply side attacks would realize that universal basic income and free healthcare would result in an almost infinite stream of excellent software from people who care more about quality than profit."

I’m increasingly convinced we need this.
 https://widerweb.org/@trevorflowers/112215137141805964 
 Interesting choice for ESPN to add commercial breaks (“we’ll pick up right where we left off”) to an F1 race that everyone’s going to be watching on DVR anyway (and thus skipping said commercials). What weird kind of contractual obligation is this? 🏎️
 
 Just sent out the first set of private beta invites for Smolblog. 😬
 
 I will have made the first public post about Smolblog five years ago this May.

Let’s see if I can’t get to Open Beta by then.
 https://oddevan.com/2019/05/28/introducing-smolblog.html 
 And it’s not even consistent? Like my logs are full of rejected inbox requests because the Delete messages are signed with public keys that don’t exist because they belong to the account ostensibly being deleted!

I’ve been “almost done” for a month now. 🫠
 
 ActivityPub might not be complicated, but trying to figure out all the little nitpicks with Mastodon that if you don’t do just right means nothing works is almost enough to make me give up on the whole thing.
 
 Count me in with people calling large-context machine learning models “spicy autocorrect” instead of “AI.” That being said…

It’s getting to the point where it doesn’t matter how good it actually is, just that it’ll be good enough for lots of people to be out of work. What are we doing about that?
 
 Did beta work using smol.blog. Production server is Smolblog.com, but with handles on smol.blog…

Except mastodon.social cached the URLs and, even with the webfinger changes, only talks to smol.blog. With the old IDs.

sigh
 
 TBT to when the internet went out and I worked from a Starbucks (because their internet wasn’t from the local cable company and therefore still worked).

…haven’t worked from a coffee shop since. 🙃

 https://cdn.uploads.micro.blog/644/2024/d7f611bffb.jpg 
 TIL a Time Machine backup can fail because the disk you’re backing up (not the disk you’re backing up to) is too full. 🫠
 
 Thought I was going to send out some closed beta invites this weekend, but I ran into a snag with my last-pass testing. The good news is, I think this means custom domains and fediverse handles are coming sooner than expected…
 
 I’m trying to customize the account registration page in WordPress. The hooks for adding fields work fine, but not the hooks for validating. I can only assume that, because it’s multisite, it works differently? Because reasons?

Am I actually going to launch manually creating user accounts?
 
 Working on a color scheme… I don’t think I need any interface colors besides primary, secondary, error, and neutral, right? I know a lot of the off-the-shelf systems have “success” and “info” and “danger” (not to be confused with “error”), but I also feel like I never use those.

 https://cdn.uploads.micro.blog/644/2024/screenshot-2024-02-03-at-10.39.14pm.png 
 If you’ve been interested in Smolblog and you haven’t signed up for the mailing list, now’s a pretty good time.

Just saying… 😇
 https://smolblog.com/ https://eph.me/smolblog-updates 
 
Setting up test coverage checks for the framework behind Smolblog.
Tested lines: 100%
Saw that there was an option for testing lines, branches, and paths.
Tested paths: 38%
Saw how many tests I would need for full path coverage.
Decided to test branches instead.

 
 File this one under “comically and colossally missing the point.”

 https://cdn.uploads.micro.blog/644/2024/ed37e90d77.jpg 
 IT WORKS IT WORKS IT WORKS IT WORKS redacted because I don’t want you to follow my test account IT WORKS IT WORKS!!!

 https://cdn.uploads.micro.blog/644/2024/52ba825804.jpg 
 All these sports betting apps encouraging me to make sports “more exciting” and “mean more.”

No. I get my heart broken enough as it is.
 
 Watching the NFL game, they’re showing the temperature difference between Kansas City and Miami. Mike Tirico narrates the temperature in Miami as “70 degrees.”

The on-screen graphic says 69°.
 
 Sometimes I feel lucky that ADD is so socially “acceptable” these days. Today, though…

My pharmacy is out of the generic.
Insurance won’t cover the brand.
My prior auth expired two weeks ago.
My doc is closed Friday afternoons.
I can’t do any of this ahead of time because FDA.

This fucking sucks.
 
 We’re not who we were, and I’m so glad we’ve been able to grow alongside and with each other. Happy anniversary, Brittany.
 
 For those that celebrate, hope you are having a wonderful Christmas. Today’s joy is a six-sided keyboard switch tester that doubles as a fidget toy.

I will try not to annoy absolutely everyone. No promises.

 https://cdn.uploads.micro.blog/644/2023/b69f198bad.jpg 
 From @brentsimmons’ post on adding Mastodon support to the RSS reader NetMewsWire:

"Such an app could be a nice unified experience. Get your Mastodon, Threads, RSS feeds, Micro.blog and, hopefully, other services — anything that supports ActivityPub, RSS, or some other open format or API — all in one place, in a way that’s already familiar to everyone."

That’s the second half of the plan for Smolblog. It’s under Beta Phase 2. Feedback and help is always appreciated.
 https://micro.blog/brentsimmons https://inessential.com/2023/12/17/on_mastodon_support_in_netnewswire https://eph.me/sbkanban 
 Just wrote the last sentence of a story that comes in at just under 12k words.

But I like this one too much, so it’s getting edited!
 
 Bookmarking this article about moving from CRUD to Event Sourcing as it has some of the simplest explanations of the concept I’ve seen.
 https://event-driven.io/en/the_end_is_near_for_crud_data/ 
 Fascinated by this talk by Gary Bernhardt about boundaries in software architecture. It’s validated some of the architecture I’ve used with Smolblog and given me ideas for what I haven’t…
 https://www.destroyallsoftware.com/talks/boundaries 
 
"There are always going to be the free riders – tech companies, perhaps – who benefit from the interconnectedness of the world while refusing to do the work."

— Duke University Libraries in a post aptly titled “Why We’re Dropping Basecamp”
 https://blogs.library.duke.edu/blog/2023/11/30/why-were-dropping-basecamp/ 
 Last year Fortnite did a big in-game event to end Chapter 3 and launch Chapter 4. This year they had even worse queuing (my wife got kicked out an hour before and couldn’t get back in) just to have a few cinematic teasers and… get kicked out anyway I guess? I’m not mad, just disappointed.
 
 Sometimes you get an error that just makes you want to walk into the ocean.

 https://cdn.uploads.micro.blog/644/2023/ca06c72a8e.png 
 I hate signing into my Google account on my phone. Because Google, a company run by Very Smart People, always assumes I’m signing into my phone for the first time and bombards me with emails and notifications about “setting up” my phone and “making it better” with all of their apps. 🙄
 
 It goes like this:

Find out my company is using a product.
Look at product.
Find out they have a free tier.
Sign up for said free tier.
Find out that this product allows public comments on a roadmap.
Post the link to the Smolblog roadmap I just created.
Ask people to like, comment, and subscribe.

 https://starter.productboard.com/smolblog-starter/1-smolblog-full-stack 
 And after resigning myself to just using a raw SQLite database to store my character/setting info, I gave Collections Database a try. So far it’s working well enough to spend the $7 on the pro version…
 https://collectionsdb.com/