Sign in

Gregory Brown [MOVED, SEE BIO]

@skillstopractice.com
939 followers 151 following 2.6K posts

No longer here. Find me on Mastodon instead: 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

PostsRepliesMedia
Reposted by Gregory Brown [MOVED, SEE BIO]
Gregory Brown @skillstopractice.mastodon.social.ap.brid.gy · 28/09/2025
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 […]
mastodon.social
Original post on mastodon.social
164
Reposted by Gregory Brown [MOVED, SEE BIO]
Gregory Brown @skillstopractice.mastodon.social.ap.brid.gy · 29/07/2025
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.
055
Reposted by Gregory Brown [MOVED, SEE BIO]
Gregory Brown @skillstopractice.mastodon.social.ap.brid.gy · 04/06/2025
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 […]
mastodon.social
Original post on mastodon.social
001
Reposted by Gregory Brown [MOVED, SEE BIO]
Gregory Brown @skillstopractice.mastodon.social.ap.brid.gy · 30/05/2025
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) […]
mastodon.social
Original post on mastodon.social
235
Gregory Brown [MOVED, SEE BIO] @skillstopractice.com · 28/05/2025
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!
052
Gregory Brown [MOVED, SEE BIO] @skillstopractice.com · 28/05/2025
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
000
Gregory Brown [MOVED, SEE BIO] @skillstopractice.com · 22/05/2025
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.
100
Reposted by Gregory Brown [MOVED, SEE BIO]
Ruby + Rails : Distilled @distilled.skillstopractice.com · 21/05/2025
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.
171
Gregory Brown [MOVED, SEE BIO] @skillstopractice.com · 20/05/2025
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...
040
Gregory Brown [MOVED, SEE BIO] @skillstopractice.com · 19/05/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.
210
Gregory Brown [MOVED, SEE BIO] @skillstopractice.com · 19/05/2025
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.
040
Gregory Brown [MOVED, SEE BIO] @skillstopractice.com · 19/05/2025
I'm leaving Bluesky effective immediately and this is the reason why. I'll post when I get Mastodon set up + an RSS feed + newsletter.
021
Gregory Brown [MOVED, SEE BIO] @skillstopractice.com · 19/05/2025
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.
220
Gregory Brown [MOVED, SEE BIO] @skillstopractice.com · 19/05/2025
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...
320
Gregory Brown [MOVED, SEE BIO] @skillstopractice.com · 18/05/2025
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.
0101
Gregory Brown [MOVED, SEE BIO] @skillstopractice.com · 17/05/2025
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)
162
Gregory Brown [MOVED, SEE BIO] @skillstopractice.com · 16/05/2025
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)
030
Reposted by Gregory Brown [MOVED, SEE BIO]
Peter Lewis @peterlewis.design · 03/01/2025
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
1140983
Reposted by Gregory Brown [MOVED, SEE BIO]
Stefanni Brasil @stefannibrasil.me · 16/05/2025
"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...
kyla.substack.com
The Most Valuable Commodity in the World is Friction
AI Chatbots, Newark, and the West Village Girls
132
Reposted by Gregory Brown [MOVED, SEE BIO]
Stefanni Brasil @stefannibrasil.me · 16/05/2025
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.
0101
Reposted by Gregory Brown [MOVED, SEE BIO]
rich harris @rich-harris.dev · 14/05/2025
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_
77310
Reposted by Gregory Brown [MOVED, SEE BIO]
Ruby + Rails : Distilled @distilled.skillstopractice.com · 16/05/2025
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.
011
Gregory Brown [MOVED, SEE BIO] @skillstopractice.com · 16/05/2025
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.
030
Gregory Brown [MOVED, SEE BIO] @skillstopractice.com · 15/05/2025
@eva.bsky.world What are you?
100
Reposted by Gregory Brown [MOVED, SEE BIO]
Kent Beck @kentbeck.com · 15/05/2025
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.
3355
Reposted by Gregory Brown [MOVED, SEE BIO]
Brittany Ellich @brittanyellich.com · 14/05/2025
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
171
Gregory Brown [MOVED, SEE BIO] @skillstopractice.com · 14/05/2025
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.
020
Reposted by Gregory Brown [MOVED, SEE BIO]
Kent Beck @kentbeck.com · 14/05/2025
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
1297
Reposted by Gregory Brown [MOVED, SEE BIO]
Sam Rose @samwho.dev · 12/05/2025
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
plainvanillaweb.com
Plain Vanilla
An explainer for doing web development using only vanilla techniques.
6517
Reposted by Gregory Brown [MOVED, SEE BIO]
Brittany Ellich @brittanyellich.com · 11/05/2025
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."
161
Reposted by Gregory Brown [MOVED, SEE BIO]
Jamie Schembri @jamie.schembri.me · 10/05/2025
Today in SOLID: The Liskov Substitution Priciple.
schembri.me
SOLID: Liskov Substitution Principle (LSP)
The Liskov Substitution Principle applies to any OOP language. On the surface it is a structural pricinple, but its true lesson is concerned with behaviour.
363
Reposted by Gregory Brown [MOVED, SEE BIO]
Gergely Orosz @gergely.pragmaticengineer.com · 08/05/2025
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."
213231
Gregory Brown [MOVED, SEE BIO] @skillstopractice.com · 08/05/2025
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
010
Reposted by Gregory Brown [MOVED, SEE BIO]
Sam Rose @samwho.dev · 08/05/2025
✨ 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! ❤️
1522435
Reposted by Gregory Brown [MOVED, SEE BIO]
Brittany Ellich @brittanyellich.com · 07/05/2025
It always works on my machine 😎 what would you add?
Pie chart of bug root causes: Typos, copy/paste errors, it worked on my machine, misunderstood requirements, "I have no idea but it works now"
8182
Reposted by Gregory Brown [MOVED, SEE BIO]
Benoît Fleury @benfle.com · 07/05/2025
"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."
patterns.architexturez.net
Systems Generating Systems | Architecture's New Scientific Foundations
There are two ideas hidden in the word system: the idea of a system as a whole and the idea of a generating system. 1. A system as a whole is not an object but a way of looking at an object. It focuse...
243
Reposted by Gregory Brown [MOVED, SEE BIO]
absolute horses @jcoglan.com · 07/05/2025
thing about software is that the methods you use to produce it impact the confidence you have that it does its intended job. code review is just one of those methods and it is relatively weak, especially next to deliberate design processes, formal methods, testing, etc
252
Reposted by Gregory Brown [MOVED, SEE BIO]
dan @danabra.mov · 06/05/2025
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
23226441
Reposted by Gregory Brown [MOVED, SEE BIO]
dan @danabra.mov · 03/05/2025
icymi, new post dropped yesterday. teaser:
Here’s a piece of HTML:
<html>
  <body>
    <p>Hello, world</p>
  </body>
</html>
Imagine this was the only piece of HTML you’ve ever seen in your life. If you had complete freedom, which features would you add to HTML, and in what order?
Where would you start?
121368
Gregory Brown [MOVED, SEE BIO] @skillstopractice.com · 02/05/2025
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.
011
Reposted by Gregory Brown [MOVED, SEE BIO]
Jamie Schembri @jamie.schembri.me · 01/05/2025
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...
schembri.me
SOLID: The Open–Closed Principle (OCP)
We visit the second SOLID principle: the open–closed principle (OCP). Does it still hold up, or is it bad advice in today's agile world?
195
Reposted by Gregory Brown [MOVED, SEE BIO]
Kent Beck @kentbeck.com · 01/05/2025
Your periodic reminder--if a design change is hard then you haven't worked hard enough making it easy.
26324
Gregory Brown [MOVED, SEE BIO] @skillstopractice.com · 30/04/2025
Vibe coding is not a bad term. It makes it clear that it has nothing to do with programming at all, and so therefore should not be considered systematic, predictable, safe, understandable, etc. And as long as none of that matters, noodle away!
041
Reposted by Gregory Brown [MOVED, SEE BIO]
Jason Gorman @jasongorman.bsky.social · 30/04/2025
To many programmers, "encapsulation" in modular design means "hiding the data". But there's a second definition of "encapsulate" that I think also has relevance: "express the essential features of (something) succinctly".
181
Reposted by Gregory Brown [MOVED, SEE BIO]
Xavier Noria @fxn.bsky.social · 29/04/2025
For me, (1). The way I word it is that I make mistakes, but I try hard they don't ship.
021
Gregory Brown [MOVED, SEE BIO] @skillstopractice.com · 29/04/2025
When does an incorrect software behavior become a bug? (1) The moment the code is written, even if caught immediately (2) As soon *anyone else* might encounter the issue (devs, QA testers, product managers, client, etc) (3) Only when something breaks in production during real use. Your thoughts?
542
Reposted by Gregory Brown [MOVED, SEE BIO]
Ruby + Rails : Distilled @distilled.skillstopractice.com · 24/04/2025
This looks like it'd be quite helpful if you're building command line tools for previewing data of various sorts. Might even be helpful when debugging stuff! github.com/gurgeous/tab...
github.com
GitHub - gurgeous/table_tennis: A Ruby library for printing stylish tables in your terminal.
A Ruby library for printing stylish tables in your terminal. - gurgeous/table_tennis
084
Reposted by Gregory Brown [MOVED, SEE BIO]
Dan Sheehan @dansheehan.bsky.social · 22/04/2025
Gonna be real with you, this feels like an advertisement for spiritual death
630162693609
Gregory Brown [MOVED, SEE BIO] @skillstopractice.com · 22/04/2025
This is an excellent article. Thinking about the temporal relationship in systems is a very powerful and natural mental model that reflects the *motion* of the various moving parts in a system.
150
Gregory Brown [MOVED, SEE BIO] @skillstopractice.com · 21/04/2025
If it's been a while or you've never implemented Conway's Game of Life, I recommend giving it a try, especially the infinite grid aspect of it. It breaks well into little parts, and so is a fun way to practice function/object composition.
030