Profile avatar
kuba.zalas.pl
Software Engineer
154 posts 289 followers 174 following
Regular Contributor
Active Commenter
comment in response to post
Nothing in software development is new. We reinvent wheels all the time šŸ˜…
comment in response to post
en.m.wikipedia.org/wiki/Garbage...
comment in response to post
It's an infinite fold.
comment in response to post
Actors can have state. Since messages are processed one by one, state can be returned from actor's function to be passed with the next iteration.
comment in response to post
Inbox is a Mutable Shared Flow that you can emit messages to. Before returning the inbox, a new coroutine is launched to start processing incoming messages.
comment in response to post
Actors process messages that arrived in their inbox one at a time. The inbox reference is returned from `actorFor` in the example below. Each message emitted to the actor is passed to the actor's function. Below example just forwards messages to a Channel for further inspection.
comment in response to post
Unfortunately not.
comment in response to post
Odd. I seem to have copilot access without paying for GitHub šŸ¤·ā€ā™‚ļø
comment in response to post
What app is it?
comment in response to post
Why? Also, when is an abstraction premature?
comment in response to post
The way I understand Sandi's advice is she doesn't suggest to avoid an early abstraction, but rather to not be attached to it. When an abstraction is no longer fit for purpose, take a step back, introduce duplication and proceed with new abstractions from there.
comment in response to post
bsky.app/profile/hadi...
comment in response to post
Where's the dilemma? šŸ˜…
comment in response to post
I'm afraid you look too happy. You should be smiling internally more.
comment in response to post
Interesting! I guess this is the paper? arxiv.org/abs/2203.04374
comment in response to post
Now that my devices are a mix of apple and non apple, I needed something portable.
comment in response to post
Obviously having more guitars is always better!
comment in response to post
I think these tools will amplify one's approach. Some will create more well-crafted code faster. Others will create more crap faster.
comment in response to post
I have similar feelings about Javascript in general šŸ˜…
comment in response to post
Link to Sandiā€™s blog post: sandimetz.com/blog/2016/1/... Link to Sandiā€™s RailsConf talk: youtu.be/8bZh5LMaSmE
comment in response to post
Sandiā€™s talk is in the context of refactoring existing code to prepare for new requirements. Make the change easy, then make the easy change. Itā€™s not an excuse to avoid introducing abstractions early.
comment in response to post
Weā€™re taught to Donā€™t Repeat Ourselves. It causes us to obsess on removing duplication as quickly as we spot it. I agree we should hold back a bit to get a better understanding before introducing an abstraction. We shouldnā€™t wait too long though.
comment in response to post
That is when keeping the wrong abstraction will be more expensive than duplication. Very often the way forward is to take a step back. Once weā€™ve noticed the abstraction is wrong, itā€™s time to re-introduce the duplication and see new abstractions emerge.
comment in response to post
Itā€™s the developer that comes in later with new knowledge or requirements that choses to keep the abstraction, rather than evolve it. Itā€™s when the abstraction, once good, is not fit for purpose anymore. It wasnā€™t always bad. It expired.
comment in response to post
Itā€™s not necessarily the person that introduces the abstraction that makes it wrong. I like to believe they did it to the best of their ability and understanding at the time.
comment in response to post
Avoid the **wrong** abstraction, not just any abstraction.
comment in response to post
Sandi summarises her presentation with the advice to ā€œPrefer duplication over the wrong abstraction. If your choice is between the wrong abstraction and duplication, you should choose duplication.ā€.
comment in response to post
Itā€™s used as an excuse to keep duplication for some arbitrary amount of time. Thatā€™s not the original premise.
comment in response to post
I then attempted to do some frontend. I failed just like any time before. I just can't keep up šŸ˜‚
comment in response to post
I can confirm as I've done the same :)
comment in response to post
Yes, with VCMI, I run Heroes on my Macbook, my iPad, and my Android phone šŸ˜Ž vcmi.eu