u/Weird_Suggestion

787 post karma · 1,180 comment karma · joined Aug 2018

Weird_Suggestion

Maybe we don’t need views anymore. People can write their own. We’re seeing this shift where it makes less sense for us to provide a ui in some cases. Users can display it the way they want from our API endpoints.

Weird_Suggestion

Maybe the threshold for abstractions will be higher? Idk. What if AI needs to change a CSS style for 1,000 pages? 10,000 pages? I can’t seem to imagine not having an “abstraction” of some sort.

What about data? Are data models as abstractions still going to be a thing? Will AI still need a users db table? I have a hard time to discard this one but maybe I’m still thinking like a human on a very short timeline.

Weird_Suggestion

It’s funny whatever DHH does people will get upset. Too much of this not enough if that… It’s the wildest dream of many to see him gone and they’re still upset.

If this wasn’t enough I bet the haters will leave Rails too after experiencing a huge fomo now that their favourite villain is out catching the next train. We won’t see them keeping the lights on either.

Weird_Suggestion

Wow nostalgia hit me by surprise on this one. Well done

Weird_Suggestion

My understanding of the video is that DHH is a maker/entrepreneur first and a programmer second. The dude is basically saying goodbye to Rails because he doesn’t need it anymore to build software. That’s ballsy considering his history with Rails. Sunk cost fallacy would be strong on this one. 37signals have enough cash to try out that approach though and can still pivot like they did with Once brand and pricing.

I took that keynote as a wake up call and the good days of writing Rails and Ruby are soon to be over for us

Weird_Suggestion

That’s a good question and I don’t have a straight answer. At work we use different patterns interchangeably (that’s how much we care).

One issue that comes with these requests is that often it creates a two step validation process that aren’t returned to the user at once. The user make a 6 month mistake fixes it and then gets another validation error on a second submission when nothing was nudging a fix. I’m not a fan of that personally.

Depending on this behaviour there are patterns that fit more elegantly than others.

At the end of the day if it’s a one off controller probably fine, if it repeats then you’ll have more insight on how to extract it. The rule of three duplication before extraction is a nice rule of thumb

Weird_Suggestion

Drop Devise, RSpec, FactoryBot, simple_form and haml… There is a collection of gems that isn’t as relevant as it used to be.

Complexity is directly correlated to the number of dependencies you have to maintain. It’s overall sound minimizing them when your team is capable enough.

Weird_Suggestion

I’m so sorry to hear this. Your contribution to the love of Catan has always been greatly appreciated. My thoughts are with you and your family during this difficult time.

Weird_Suggestion

Vigilante 8

Weird_Suggestion

There is a story about something similar from Stefan Zweig: “Chess Story” or “The Chess Player”.

It’s one of those experiences that seems obviously horrific to most people but I struggle to fully understand the psychological consequences. I have to accept just how devastating it must be.

Weird_Suggestion

That makes a lot of sense. Thanks for the insight. Lots of control over what seems to be a chaotic execution. That’s amazing.

Weird_Suggestion

Very impressive I enjoyed that a lot.
There are things I find weird. What was the purpose of the cards under the table bit? Why did he ask the man to pick up the cards then give it to the lady instead? Looks like plots in a movie that don’t resolve.

Weird_Suggestion

Isn’t this what happens when a language isn’t the new shinny thing. Before everyone used to be a noob and learning things at the same time. A gold rush era where anything could get traction. Patterns were emerging and some were yet to be discovered.

But now dev resources covers mostly every topics. Devs have fair amount of experience now. Things have already been tried and libraries are established. People attend meetups less. The expectation for any form of innovation is at all time high. People are jaded and only few things start to spark genuine interest. OPs don’t search for past answers and ask the same questions every week. There is more noise than ever too.

I’m not that experience with Go but that’s essentially the feeling I had with Ruby subreddit too.

Does that justify the negativity? No but we’re on reddit. You might get more encouragement in discord servers.

Weird_Suggestion

The key to nested attributes is understanding how the form helper f.fields_for works in the view which your code snippet forgets to display. It only requires two methods on the main object #field and#field_attributes=. accepts_nested_attributes is a just helper method that creates an accessor like #address_attributes=.

The main benefit of fields_for is that is handles validation messages at the attribute level out of the box, given the objects have errors on them. fields_for helper method is the glue between the model, the view and the controller. You're kind of reimplementing that pattern with CheckoutForm#build_addresses and merge_child_errors

I've tried to reproduce the blog snippet here and illustrate the differences if we were to use the fields_for pattern instead: https://railsamples.com/gists/g%2FNqlhc=

Other Resource: Perfecting your rails form: nested attributes

Weird_Suggestion

We use to have rubocop defaults and that was a nightmare. We disabled pretty much all of the rules only leaving what the team felt essential.

Weird_Suggestion

Tomb Raider

Weird_Suggestion

I enjoyed reading this but I had a very hard time understanding t2, t3, t4 & t5. They explained it the other way around compared to t1. It feels like they forgot a step to demonstrate why we only care of a subset of the tiles touching the number in the first place.

For example I find it easier to understand T2 by adding these first two lines

-> Look at number 2
-> The four squares contain 2 mines because they touch 2

- Look at the purple cells.
- They contain a maximum of one mine, because they touch 1.
- Now look at the 2.
- If the purple cells contain a maximum of one mine, then there must be a mine in the remaining cell.
- If you put the flag, you can see that there is one mine in the purple cells. So 1 already has a mine and all the remaining cells can be opened.

Same applies for t3, t4, t5. I Hope this helps someone wired like me because it took me way longer than I’d like to admit.

Weird_Suggestion

Nice. Thanks for sharing.

One thing I’ve noticed over the years is that discussions about responsibility are often really discussions about granularity and boundaries. The challenge isn’t just assigning responsibilities, but deciding what the appropriate unit of composition is at a given level of the system.

You touch on this with the organs vs. microservices analogy. We naturally think in hierarchies: atoms → cells → organs → bodies. Each level has meaningful boundaries and responsibilities of its own. Problems often arise when we flatten those levels and try to apply the same abstraction everywhere.

I think this is one reason service layers become messy. The layer ends up containing concepts that belong to different levels of the domain, all grouped under the same abstraction. Everything becomes a FooService.call, regardless of whether it’s representing a small operation, a workflow, or an entire business capability.

You can see similar debates elsewhere in software development: unit tests vs integration tests, atomic commits vs. squash merges, or initiatives vs. epics vs. stories vs. subtasks. In each case, people are really asking: “What is the appropriate unit at this level of the system?”

A common assumption is that smaller units are inherently better. In practice, though, the right unit is often relative to the scale and boundaries of the problem you’re trying to model.

Weird_Suggestion

I can only speak what I do locally. I’ve been using retest every day for over 5 years. Note I maintain retest lol.

I use it either to run a subset of specs against the diffs from a commit/branch, run an exact subset of specs on every file changes or run unit tests on any file change.

It doesn’t analyse code path execution because that often needs a successful run of your suite to start with. It’s a simple runner that will follow naming conventions to run specs on file changes. It’s good enough as a sane check before pushing and triggering CI. CI will still fail from unrelated specs every now and then but that’s marginal in my situation. It’s very capable and people find it useful but I can imagine it’s easy to discard thinking it won’t fit somehow.

Things are changing in that space too. I’d imagine AI could possibly do a good enough job to identify which subset to run. Retest might not be needed in the future but I still find it useful as part of my workflow since we’re not full agent loopers at work.

It’s exciting times for testing I think.

Weird_Suggestion

One of the hardest game I’ve ever played

Weird_Suggestion

I think of this game very often. So many good memories

Weird_Suggestion

My 2cents

The co attributed commits to me is a testament|proof of the level of productivity that can be achieved with an llm. People talk a lot on social media about what they do with nothing to show for it. Matz kind of showcases how much can be done this way.

Some of Matz’s project lack resourcing: the mruby project for example. IIRC in a few months there was over 800 commits. Claude solved that resource issue for him I find this pretty insane. These projects are great open examples of llm assisted projects.

Weird_Suggestion

That’s awesome!

Weird_Suggestion

I’ll politely disagree. I’ve given up on any from software I tried lol.

What makes Returnal more approachable than the other games is the simplicity of the progression. Everything other than the bullet hell (and maybe the story line) is simple to wrap your head around. No builds, no levels, no points to allocate, no open word.

Only a set of weapons with fixed abilities and a couple of actions: shoot, grapple, jump, dodge, run. There are some unlocks but they naturally happen with runs and story progression. The game has simple rules, no farming grind, yet still remains challenging.

Weird_Suggestion

Interesting.

Racks seem unnecessary.

Are we meant to draw our roads, settlements and cities with colored pens? Is that new or was there another version doing the same thing? You can’t rage flip tables 😂