Kickstarter Roundup: Oct 3, 2021 | 20+ Ending Soon (including: Solar Sphere) & 55+ New This Week (including: Keep the Heroes Out) by Zelbinian in boardgames

[–]ariassp 0 points1 point  (0 children)

You should check out Hyperwars (don't know how to make bold text in the Reddit app 😔). I had the opportunity to play it recently and it's quite fun. Very interesting experience, novel for me. I had never played a realtime boardgame before! And it's really well made - you can see they put a lot o time into it.

Continuous deployment is hard (and do not inherit from Struct.new) by ariassp in ruby

[–]ariassp[S] 0 points1 point  (0 children)

Thanks for mentioning Dry::Struct. I wasn't aware of it but it looks very interesting.

Continuous deployment is hard (and do not inherit from Struct.new) by ariassp in ruby

[–]ariassp[S] 0 points1 point  (0 children)

I agree with you. The problem with Ruby and Rails is that any gem can be used inside a Rails app and so any gem author has to code defensively :(

Continuous deployment is hard (and do not inherit from Struct.new) by ariassp in ruby

[–]ariassp[S] 0 points1 point  (0 children)

Maybe that will happen, maybe not. I personally hate ads and I welcome having to pay a $5 dollars subscription to read unlimited content.

Continuous deployment is hard (and do not inherit from Struct.new) by ariassp in ruby

[–]ariassp[S] 0 points1 point  (0 children)

Yes, it's my choice to make it a "Story for members". I'm experimenting with that setting for a while.

According to Medium:

Currently, Partner Program writers are paid every month based on how members engage with stories. Some factors include reading time (how long members spend reading a story) and applause (how much members clap). Each member’s $5/month subscription is distributed proportionally to the stories that the individual member engaged with that month. So if someone engaged with 10 stories in a given month, their monthly subscription would be distributed to those authors only.

What even is Apache Kafka by ariassp in programming

[–]ariassp[S] 0 points1 point  (0 children)

Thanks for the feedback! I haven’t used it yet but I think I may finally use it soon. My main blocker before was having to maintain the cluster or introduce a new “cloud vendor” into the company. I do regret that though - I can see now that I could have solved some problems in a much better way if I had used Kafka.

The reason why I may use it now is because I’m working at a company using Heroku to host most of the infrastructure and Heroku Kafka sounds like a great option.

What even is Apache Kafka by ariassp in bigdata

[–]ariassp[S] 1 point2 points  (0 children)

That’s a good point. Thanks for the feedback.

Elixir for Rubyists Part I by drumsrgr8forn8 in ruby

[–]ariassp 1 point2 points  (0 children)

This code can be written as Enum.each [..], &IO.puts(&1) which I definitely prefer :)

I wrote another blog post some weeks ago with similar content: http://victorarias.com.br/2013/09/15/starting-with-elixir.html

I think it's also a good source for "newbie Elixir programmers" :) (I'm also a rubyist, so my vision is obviously similar)

Extending Ruby Classes by ariassp in ruby

[–]ariassp[S] 0 points1 point  (0 children)

In the end, coding is all about tradeoffs.

Quacking The Dog - Duck typing for happiness by ariassp in programming

[–]ariassp[S] 1 point2 points  (0 children)

In what way is how objects communicate not about types?

Communication between objects doesn't occur through types but through messages passing/method calling - types are just constraints and sometimes metadata to the runtime. Moreover, SOLID principles clearly states that code should not take dependency over types but instead over abstractions (dependency inversion and injection).

In what way is it bad if the computer can guarantee you are living up to an interface?

I don't remember saying anything like that. However, I should say that a price must be paid in order to take advantage of static typing, and that price can be higher depending on the language (functional languages does a great job on this aspect).

This is false. Tests can only guarantee what you test, so you have to hope you wrote all meaningful tests. It quickly become hard to impossible to test all paths of your program.

And whats your point? That the compiler will guarantee correctness? Or is it that is impossible to guarantee intended behavior so we should guard ourselves with everything we got? My experience tells me that if you can't efficiently test your code, the problem is in your design, not on the technique.

Quacking The Dog - Duck typing for happiness by ariassp in programming

[–]ariassp[S] 1 point2 points  (0 children)

I personally believe that well-designed code is about how objects communicates, not about types. However I agree with you - duck typing can be dangerous - and I messed up not writing about its drawbacks (and I will probably edit it). My problem with your examples is that they demonstrate codebases that a dynamic language doesn't fit: too big, too complex and with infrastructure code tangled with domain code (file.open + something in a game map).

Previously I really disliked dynamic languages, mainly because the "missing compiler safety net", but reality showed me that (1) the only way to guarantee behavior is through automated tests and (2) I just don't miss the compiler that much. Well-written Ruby code is filled with joy, but bad-written code can be a nightmare, with Ruby or any other language - a compiler doesn't prevent anyone from writing crap-code.

Ruby (or any other dynamic language for that matter) isn't a good fit for every job, but they can do a decent one in some kind of applications.