Excited to see this posted. We'd previously shared it in a few Slacks and were planning a larger announcement after the long weekend, but since someone beat us to it, we've opened up the early-bird registrations we were saving for Tuesday.
The Ruby for Good in-person event is absolutely not a hackathon. It's a friendly gathering of OS maintainers where we work on existing projects (some have been running for over 10 years!) and kick off new ones. We don't code into the night and burn folks out, either. We have a hard stop every day when we break for dinner. The evenings are reserved for karaoke, conversations and s'more-making around the campfire, board games, and all the other fun nerdery that happens when you get a group of awesome folks together. Really, the best way to think of the event is as "nerd camp for good." Everyone leaves having made a bunch of new close friends.
That's partly because helping non-profits is only part of the RfG mission. The other parts are growing the tech community and helping folks level up, regardless of skill level.
For people interested in attending this year: we'll be working on existing projects as well as kicking off several new ones. With ACA subsidies going away and the number of nonprofits reaching out to us, our focus area this year is healthcare. We'll be launching a project with an Ohio/Illinois nonprofit that works with pediatric cancer patients and their families, another in Virginia that works with cancer caregivers, and a Maryland nonprofit focused on mental health.
If you can't make it, almost all our projects are on GitHub and run year-round, so feel free to grab an issue!
Hope to see a follow-up post on what was built!
If you write Ruby for a few years, and then you "go back" to other languages, you will groan. That's not to say that some other languages do not have things that we wish Ruby had, but often those other things would not really fit well with Ruby.
Nothing is perfect from every angle. But writing Ruby can be a joy for some of us.
I'm going to edit this: much of this is rails, we know why that is, so apologies to rubyists
It's no accident that it's named after one of the rarest gems in nature. This philosophy of craft and beauty is thus instilled within the community and gets carried forward.
Ruby is still a great programming language, but it really needs to intensify the effort to get out of the pit-of-decline.
The languages that have supplanted it haven't succeeded by being excellent. If excellence won't do it, what should "Ruby" do?
Or, just write code for a project - and add useful documentation to it. This is probably more relevant than overpriced hackathons.
Meanwhile the Ruby Central and whytheluckystiff debacles show it to be anything but.
I weirdly got my first programming job / made a good friend because of him (he tweeted about wishing he could adopt @person. I looked up @person, saw they lived in my city, worked at a company that was hiring. I DM'd @person, and eventually got the job!" Thanks ~2008 _why!
Let's check out the Rust Code of Conduct (https://rust-lang.org/policies/code-of-conduct/):
"Please be kind and courteous. There’s no need to be mean or rude."
"We are committed to providing a friendly, safe and welcoming environment for all, regardless of level of experience, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, ethnicity, age, religion, nationality, or other similar characteristic."
Seems pretty morally virtuous, no?
How 'bout Gleam... Right on their home page (https://gleam.run):
"As a community, we want to be friendly too. People from around the world, of all backgrounds, genders, and experience levels are welcome and respected equally. See our community code of conduct for more.
Black lives matter. Trans rights are human rights. No nazi bullsh*t."
Seems morally virtuous, too!
Also also: what does the "whytheluckystiff debacle" have to do with any of this?! Also also also: _why was pretty much the first prominent "dragger" of dhh. Man was an innovator.
"...if the answer to the problem is that people should just be virtuous, then there is no problem, because we have known that for thousands of years."
raise ArgumentError.new("...") unless ...
which can include type assertions but also a lot more. The agents seem to do well with this.I've also had good results using agents to write Crystal https://crystal-lang.org/ which is Ruby-like but does have the static types and produces blazing fast static binaries. Might be a sweet spot for coding agents if you're building some backend services. But I'd still pick Ruby on Rails for a new full stack project.
I like using Ruby with agents because the code remains short and readable.
I never wrote ruby before so I could only sanity check the results and approach of what it was doing, but thanks to the automated data migrations it was very easy for me to change my mind about how I wanted data to be structured, rollback if it didn’t work etc. it is a language designed for rapid iteration.
And what little there is, is worth it ten-fold for all of the runtime bug headaches that you avoid compared to dynamically typed languages.
JS:
let person_1 = { };
let person_2 = { parent: person_1 };
person_1.child = person_2;
Rust: use std::cell::Cell;
struct Person<'a> {
parent: Option<&'a Person<'a>>,
child: Cell<Option<&'a Person<'a>>>
}
let person_1 = Person {
parent: None,
child: Cell::new(None)
};
let person_2 = Person {
parent: Some(&person_1),
child: Cell::new(None)
};
person_1.child.set(Some(&person_2));
And that's before we start talking about function signatures and traits.