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