🐦 Just published: Dream Code First

A look at how test-first and test-last workflows affect code quality.


Can you believe it? Another article, just one week after the last one. I can scarcely believe it myself.

I'm trying a different style of writing for this one, with less code. I'd appreciate any and all feedback on the draft: rubypigeon.com/pipeline/dream-

Soonish, I'm releasing a RubyPigeon.com article about my value_semantics gem, and designing libraries in general. Any feedback on this draft would be appreciated!


Why sprint? Why not just take work off a backlog, as necessary? Give me your opinions!

All the articles I can find are like “how to cargo cult Scrum©™️® exactly” instead of giving the pros and cons.

"Rafal created a big chess school. He updates the team with instructors and creates new instructor/reader assignments where they update kids education on the beauty of the game of chess. They create new plays and they create a simulation of those plays to create chess pieces simulations."


I have a bug where calling `Tempfile#tell` once, at a particular point, changes the number of bytes that are written to the temp file. 🤦‍♂️


@pushcx Could I get a lobste.rs invite? I think I'm ready to give up reddit.

Happy Spooktober everyone!

(This took way too long to make)

I'm going to put commas wherever I damn well feel like. You're not my real dad, Rubocop.

If you do semantic versioning properly, the major version number tends to take off like a rocket. That's not a bad thing, but it might confuse some people.

:ruby: thought for today:

Form field validation is very different to error cases in business logic.

validates :password, length: { minimum: 8 }
validates :email, uniqueness: true

These two validations appear to be the same kind of thing, but are actually very different in terms of performance, correctness (race conditions), dependencies, etc.

Rails does not differentiate, so we slap messages on `x.errors[:base]` as a bandaid solution, because there is no proper place to put them.

Lately I’ve been thinking about how we don’t have a standardised way to represent errors outside of ActiveModel::Errors. A string, or an array of strings isn’t ideal. I’m thinking of something detailed enough for internal use, plus i18n-friendly and composable for rendering nested forms.

Is anyone here a happy user of `accepts_nested_attributes_for`? If not, tell me about what you do instead.

via the birdsite, avdi is giving away free 1 year subscriptions to ruby tapas to interested female devs twitter.com/avdi/status/104570

Realised my "Real-world Functional Ruby" talk from last year's Southeast Ruby is online. I was really proud of this one.



I wrote a small parser to help someone out on reddit. If you want to see what a hand-written recursive descent parser looks like, here are the tests and the implementation:



Show more

A Mastodon instance for Rubyists & friends