No longer here.
Find me on Mastodon instead:
https://mastodon.social/@skillstopractice
Or if you don't use Mastodon, you can follow my bridged account here on Bluesky:
@skillstopractice.mastodon.social.ap.brid.gy
I just signed the open letter to the Rails Core team, after hesitating for a long time about whether that was the right choice for me.
I know and like several Rails core members, as well as several Basecamp employees. I understand the squeeze that can happen when speaking out individually only […]
Thinking of doing an informal code reading session to explore the Sequel ruby gem's codebase.
If you're interested in joining me, send an email to gregory@skillstopractice.com with the subject "Sequel Code Reading" and I'll get back to you with more details.
PSA: If you see a post from Mastodon bridged to Bluesky and reply to it, that reply will only make it over the bridge if you also follow @ap.brid.gy on Bluesky.
That's literally all that's needed to make it so each side can stay in their own app happily, but without it your responses might not […]
In 2016 I wrote "Programming Beyond Practices" for O'Reilly.
It deliberately includes *no code samples* -- only discussions, design decisions, analysis, etc in story form.
Many of its ideas are still relevant. You can find the PDF here (free, no signup needed) […]
To make your Bluesky posts available to folks on Mastodon, all you need to do is follow @ap.brid.gy - If you do that, others who do the same on the Mastodon side will be able to reply, like, repost, etc like normal and neither side needs to use the other app at all.
Please give that a try!
Even though I have switched to Mastodon I don't want to lose connections with the folks I have met here, so I set up a bridge.
Follow this account if you're not on Mastodon but still would like to keep in touch and/or see what I am up to:
@skillstopractice.mastodon.social.ap.brid.gy
Finished that convo - here's what would restore trust.
1) Public disclosure of the rumored January 2025 funding round that had a $700 million valuation.
2) A public business plan.
3) Something rolled out that makes money.
4) Legally+financially sound steps that shield protocol development.
Open letter to @why.bsky.team regarding Bluesky revenue model risks + potential mitigations.
We've discussed some of this over DM and will continue to be available so, and the notes within it reflect my own take on things only but hopefully clarify.
notes.skillstopractice.com/updates/2025...
And if you're wary of all this, give Mastodon a try.
I sort of wrote it off a couple years ago and either it improved a lot, the social graph got better, or it's just a shift in perspective to favor values-oriented projects that follow through on their claims... but it feels, not bad over there.
(The Bluesky/atproto stack has unique tech advantages + a different purpose which I sure hope stays alive in a way I could support but I did expect the overall state of Mastodon to be *much* more rough than what it is... and apart from some UX hiccups it seems like a nice place to be)
Finished that convo - here's what would restore trust.
1) Public disclosure of the rumored January 2025 funding round that had a $700 million valuation.
2) A public business plan.
3) Something rolled out that makes money.
4) Legally+financially sound steps that shield protocol development.
Open letter to @why.bsky.team regarding Bluesky revenue model risks + potential mitigations.
We've discussed some of this over DM and will continue to be available so, and the notes within it reflect my own take on things only but hopefully clarify.
notes.skillstopractice.com/updates/2025...
I'm going to keep an eye out for each of those things and if I see good faith efforts on them I'll be back here and first to acknowledge that this team is getting things right.
I'm just a drop in the ocean here and I very much know that, but if you agree, ask for this stuff too.
Ruby + Rails : Distilled is moving to Mastodon.
Just getting set up over there but you'll find the account here:
ruby.social/@distilled
I will set up bridging when I can, not sure if I will do crossposting though.
If you're set up with @ap.brid.gy here I can still share your posts that way.
Open letter to @why.bsky.team regarding Bluesky revenue model risks + potential mitigations.
We've discussed some of this over DM and will continue to be available so, and the notes within it reflect my own take on things only but hopefully clarify.
notes.skillstopractice.com/updates/2025...
Here's where you can find me on Mastodon, since I won't be on Bluesky anymore.
mastodon.social/@skillstopra...
I'll try to figure out a way to keep Ruby + Rails : Distilled going, likely as a self-hosted microblog of some sort with an RSS feed.
Until then, that's a starting point.
Looks like setting up Bridgy Fed has a seven day warmup period. Once that passes I'll enable my account for bridging so you can keep following via Bluesky if you want.
To be very clear... ad revenue is only one way to make money.
Nearly any other option I'd welcome with open arms because you can't run a principled business without being financially sustainable.
It's startup smoke and mirrors to pivot to "oh you hate revenue bro, that's dumb"
So I'm out.
Counterpoint to this... I would happily pay $50/month for an atproto-based Bluesky clone that promises "no ads, ever" as long as it was interoperable.
So anyone who is building that, just know that you've got at least some customers waiting, especially if you refuse to take VC money.
I won't mince words, the day Bluesky rolls out ads is the day that I make this place syndication only and stop hanging out here, and then plot an exit entirely from the platform within 6 months after that.
It'd be a broken promise, in *any* form.
bsky.app/profile/zipp...
I won't mince words, the day Bluesky rolls out ads is the day that I make this place syndication only and stop hanging out here, and then plot an exit entirely from the platform within 6 months after that.
It'd be a broken promise, in *any* form.
bsky.app/profile/zipp...
Frictionless learning is not a thing.
If you're doing something that feels like learning but you're constantly in a flow state and progressing w. ease, you're not learning, you're being trained via someone else's designed system.
This is not always a bad thing.
But it pays to know the difference.
v0.6.0 of "Bug Hunt: Volume 1" is now live, with two new exercises...
One is themed on Conway's Game of Life and shows something to watch out for when using Ruby's pattern matching feature.
The other is a common "gotcha" when using Ruby hashes, especially if you mostly work in Rails.
(1 of 2)
You can find the link to download the latest version, as well as the link to buy an early access pass as you haven't yet right at the top of the CHANGELOG:
bh-1.skillstopractice.com/CHANGELOG.html
There are now 22 exercises in early access, will get past the 50% completion point soon!!!
(2 of 2)
We need a new equivalent of UNIX, not at the systems level but at the application building level.
(Meaning, a super interoperable fundamental building block that allows for infinite specialization but doesn't require infinite piecemealed integrations)
i'm on Bluesky for the echo chamber of Good Job With Your Project, and I'm Doing This Thing Now That I Enjoy, and You Got This, and Help Me Out With This Problem I'm Having, and Isn't This Thing Pretty Cool, and Check Out This Thing I Made
"This is the economy now. Not a distribution of opportunity. A redistribution of friction. But friction isn’t the enemy!!!! It’s information. It tells us where things are straining and where care is needed and where attention should go."
kyla.substack.com/p/the-most-v...
The main reason why I never offload cognitive thinking to LLMs is that frictiontless output is a pernicious trap. Seems smart, but long term it's you who becomes replaceable. If the use case is to speed up useless work, it's a sign to change your life, not how you produce something to the society.
had a thought about why people outside the tech world (artists, journalists, etc) are quicker to perceive gen AI output as bullshit even though they are generally less deeply familiar with how they work: in most domains, generative models are only trained on the _output_
Already several good RSS feeds in the thread.
Keep them coming! Discoverability is hard these days and RSS was one of those lovely tools that deserves a comeback.
If you've got a blog where you (at least sometimes) write Ruby-related posts, please reply with a link to your RSS feed below.
I am going to try to start keeping an eye on those as well and sharing interesting stuff I find from time to time.
Been slowly and steadily keeping the #distilled.rb feed (and mirrored account w. same content) updated.
Will start experimenting with finding stuff outside of Bluesky as well and bringing it here to be more easily found.
Would appreciate a repost of the quoted post below to help w. discovery.
If you've got a blog where you (at least sometimes) write Ruby-related posts, please reply with a link to your RSS feed below.
I am going to try to start keeping an eye on those as well and sharing interesting stuff I find from time to time.
Two fundamental skills in managing complexity:
* Partitioning. If I arrange things *thus*, then I can deal with *this* while not dealing with *that*.
* Oopsie. Arranging things *thus* actually makes things harder because I have to deal with *this*, *that*, and the partitioning all at once.
This week on the Overcommitted podcast, I chatted about decision-making as a software engineer, including the differences between one-way and two-way door decisions.
Check it out at overcommitted.dev
The thing I love about the term "Coding Genie" from @kentbeck.com is that it reminds me of Game Genie from the NES days... You know, the thing you attached to a physical game cartridge to inject a bit of canned machine code to cheat or otherwise mod games.
Which more or less is what vibe coding is.
Your periodic reminder that consolidating a wobbly design is worse than a waste of time, it interferes with further improvement. Sometimes the best thing is put all the elements in one pile until the fault lines become clear. #AugmentedCoding#GeniesDesignBadly
Absolutely love this. Have figured out a bunch of this stuff from first principles over the last 2 years, but still loads of goodies in here.
plainvanillaweb.com/index.html
Powerful emotions from this post.
"...more people are going to be forced to rely on a deposit of knowledge from prior to 2019 — one that can be remixed and perhaps commented on, but not really expanded, because the skills and resources that it takes to expand it have somehow withered away."
"Mass literacy is a kind of infrastructure, and like all forms of infrastructure in our neoliberal and now potentially post-neoliberal world, it has been allowed to crumble." itself.blog/2025/01/02/n...
How @KentBeck thinks about AI coding tools and agents:
"They're like a genie. They grant your wishes... but not quite how you expect it. Then you tell it that it's not what you wanted.
'Oh, I'm sorry...'
The genie is good at apologizing. But it's not good at meaning it."
If you're somebody who enjoyed Civ 6 and are thinking of getting into Civ 7, and particularly if you're a fairly experienced player.... these are the starting settings I'd recommend.
(Can bump to Deity once comfortable)
It's a *lot* better than the reviews make it seem.
@civilization.2k.com
✨ It's new samwho visual essay o'clock! ✨
Reservoir sampling is one of my favourite algorithms. It allows you to sample from a set without knowing the size of that set.
I try to assume no prior knowledge, and use no scary math notation. Just beautiful visuals.
Let me know what you think! ❤️
"A system as a whole is not an object but a way of looking at an object. It focuses on some holistic property which can only be understood as a product of interaction among parts."
who up there writing their blog?
i want to see yalls blogs!
criteria:
- you wrote at least a post in 2025
- it doesn't force a paywall so we can actually read it
A huge amount of software bugs are conceptually equivalent to a "broken link"
An incorrect or out of bounds array index, a wrongly typed or typo in a hash key or variable name, a resource that was moved without the references being updated/redirected, etc.
You can't unsee it once you see it.
Finally got the second post of my SOLID series out — The Open–Closed Principle.
Had a great time writing about this one, digging up Bertrand Meyer's classic book and reflecting on how we used to build software back when I was a (slightly) smaller Jamie.
schembri.me/solid-the-op...