Kyle Shevlin (he/him)'s Avatar

Kyle Shevlin (he/him)

@kyleshevl.in

Software engineer. Skilled with React, Astro, JS/TS, and frontend. Expanding my skills with Postgres more & more these days. Scratch golfer. AuDHD. https://kyleshevlin.com

12,397
Followers
836
Following
3,753
Posts
25.04.2023
Joined
Posts Following

Latest posts by Kyle Shevlin (he/him) @kyleshevl.in

Imagine being happy and not overwhelmingly stressed.

12.03.2026 00:01 πŸ‘ 7 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
An open letter to Grammarly and other plagiarists, thieves and slop merchants To everyone at Grammarly, I am writing a book right now, a really challenging endeavor that no doubt someone in Silicon Valley will think it’s fine to steal the day it’s published. I’ve been a profes...

I finally lost my shit about so-called AIs, LLMs, enshittification & everything fucking evil that @officialgrammarly.bsky.social is doing. I'm fucking furious, and not just about what 1 company has done. An open letter to Grammarly & the rest of the LLM hype machine www.moryan.com/an-open-lett...

11.03.2026 01:44 πŸ‘ 3635 πŸ” 1440 πŸ’¬ 8 πŸ“Œ 211

The police informed me that there are physical locks I can install on the tracks to prevent this as well.

Got some security upgrades to do.

Just thankful all they stole was my pickleball equipment.

11.03.2026 18:04 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Day started out bad with the break in & theft last night...

Then, work started...

Day's going downhill even faster...

11.03.2026 16:48 πŸ‘ 2 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Got brand new garage doors recently. Old ones rattled so hard they shook the house. These are super smooth & quiet.

So quiet that I didn’t hear them when a thief gained access to one of our cars and then opened our garage at 4:15am.

Very lucky all they stole was my pickleball backpack.

11.03.2026 15:18 πŸ‘ 3 πŸ” 1 πŸ’¬ 2 πŸ“Œ 0

Yeah, about $600 worth of stuff, but nothing compared to all my golf gear.

11.03.2026 15:33 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Got brand new garage doors recently. Old ones rattled so hard they shook the house. These are super smooth & quiet.

So quiet that I didn’t hear them when a thief gained access to one of our cars and then opened our garage at 4:15am.

Very lucky all they stole was my pickleball backpack.

11.03.2026 15:18 πŸ‘ 3 πŸ” 1 πŸ’¬ 2 πŸ“Œ 0

I don’t remember what happened?

11.03.2026 03:42 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Had no idea. Would deflect more sounds, so makes sense.

I’m doing it because it’s very forgiving. You don’t need perfection like you do for smooth walls.

10.03.2026 23:32 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

I miss 2018 Twitter when I could tweet whatever popped into my brain and get 100+ likes from real people.

My world is so much quieter (derogatory) than it used to be.

10.03.2026 23:17 πŸ‘ 26 πŸ” 1 πŸ’¬ 6 πŸ“Œ 0

The biggest change in software development is not AI code, but a permission structure for disregarding quality in the pursuit of velocity

10.03.2026 13:40 πŸ‘ 193 πŸ” 53 πŸ’¬ 6 πŸ“Œ 5

No. I dunno, hard to say because I’ve used React so long (since 2014) that I just know what I’m supposed to do.

Genuinely, I’ve found nothing more elegant, but nothing too bothersome. Some annoyances.

Can’t destructure props without toRefs. Setting prop defaults is less intuitive, too. Nbd.

10.03.2026 16:26 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

There is at least one Vue thing that can go in the trash can: the `:deep` selector.

Garbage. Don't give people a way to break the encapsulation of my component.

The only "wormhole" mechanism that should be able to change my component is a store or context (provide/inject). That's it.

10.03.2026 15:57 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

There are a few things that I'm not fond of, but they're not Vue-isms. They're the byproduct of templates.

- Conditional UI is verbose
- SFCs don't result in many small components, it just means people make long files.
- emits are overhead when you can pass fns as props

But fine, I can deal

10.03.2026 15:57 πŸ‘ 2 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

I've been working with Vue for ~1 year now and my opinion is...

It's fine.

I've never been (terribly) frustrated by it, but I've also never had a moment where it sparked joy or I felt like, "Wow, that was so much nicer in Vue!"

So it's fine. It's there. It works.

10.03.2026 15:57 πŸ‘ 4 πŸ” 0 πŸ’¬ 2 πŸ“Œ 0
A knockdown textured wall I did by hand with some dramatic shadowing due to a down light.

A knockdown textured wall I did by hand with some dramatic shadowing due to a down light.

Smooth walls are cool and all, but knockdown looks pretty cool with the right lighting, too.

10.03.2026 04:41 πŸ‘ 14 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

luckily, it kind of means that I can just remove both uses of `!important` and rely on layer order. win win.

09.03.2026 22:35 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Our code is chock-full of !importants overwriting other !importants, and using a layer undid all that. womp womp womp.

09.03.2026 22:30 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Preview
@layer - CSS | MDN The @layer CSS at-rule is used to declare a cascade layer and can also be used to define the order of precedence in case of multiple cascade layers.

Started using CSS Layers to solve some problems at work, only to learn the hard way that there are other nasty problems lurking in wait.

Turns out the precedence of `!important`s (don't get mad at me, i hate them, i inherited them) is in reverse layer order.

developer.mozilla.org/en-US/docs/W...

09.03.2026 22:30 πŸ‘ 4 πŸ” 0 πŸ’¬ 2 πŸ“Œ 0

The problem is the same as ever, it's not how you build, it's what you build. And frankly, I don't really have ideas that aren't "how to fix my own problem".

I have a golf stat app I've built as a side project for ~5 years. If i had any faith that thing could make me a living (I don't), I'd do it.

09.03.2026 20:58 πŸ‘ 11 πŸ” 0 πŸ’¬ 2 πŸ“Œ 0

Been thinking that perhaps the only way I might enjoyably use AI is to build a (set of) product(s) of my own, and the autonomy that might be gained from doing so.

If only the last 6 years didn't keep burning me out to where I have absolutely zero interest in being on my laptop after work.

09.03.2026 20:58 πŸ‘ 11 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

I didn’t have exact figures in my mind, just knew it was around 70M in each election.

09.03.2026 19:34 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Ahh duhπŸ€¦πŸΌβ€β™‚οΈ I was only thinking of the two times he won

09.03.2026 19:17 πŸ‘ 3 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Over 70M of them. Twice!

09.03.2026 18:53 πŸ‘ 4 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

We're working on tooling to assess a PR's risk and auto-merge if it meets a threshold because we can't review the volume fast enough.

I, too, am not filled with confidence.

09.03.2026 18:07 πŸ‘ 12 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Preview
War is not hell: war is war, and hell is hell | Henry From Online A quick note about war, hellworld, and rants. It's about a 2 minute read.

regarding that old lie that war is hell

08.03.2026 20:18 πŸ‘ 26 πŸ” 5 πŸ’¬ 1 πŸ“Œ 2

INNOCENT! FREE HIM

07.03.2026 18:26 πŸ‘ 182 πŸ” 38 πŸ’¬ 8 πŸ“Œ 0

My brother, we had to explain a 1/3 pound burger was bigger than a quarter pound burger and still failed

07.03.2026 16:41 πŸ‘ 7096 πŸ” 1187 πŸ’¬ 74 πŸ“Œ 24

It’s not like I don’t understand the advantages of AI, but I find nothing addictive about this.

I’m watching three dumb dots on a screen for a few minutes and then proofreading the output.

It’s passive activity, which is exactly the kind of thing to turn off my focus.

05.03.2026 22:22 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Same, buddy, same.

I didn't just want to make stuff, I enjoyed the process (and learning the process) of making stuff.

05.03.2026 19:30 πŸ‘ 4 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0