@timriley same here man, same here. I check ubuntu/fedora every now and then but I always realize that it’d distract me too much if I used it on a daily basis as my primary work env…no matter how much I love linux heh
Oh wow ubuntu is switching back to Gnome (thus ditching Unity). This is good news. Fedora with Gnome was already nicer than Ubuntu back in ~2010 (IIRC). You can read more about it here: https://arstechnica.com/information-technology/2017/04/ubuntu-unity-is-dead-desktop-will-switch-back-to-gnome-next-year/
@chris I see, I’d appreciate some info about it. We have a bunch of gems written in a way that crucial parts (and bottlenecks) can be easily rewritten as exts, because those are pure functions (as in, singleton methods, that receive args, and have no side-effects).
In example transproc is used for data transformations, and it’s based on singleton methods. dry-validation uses predicates from dry-logic and they are singleton methods.
@jsrn most of the projects I’ve worked on suffered from poor performance, and I’m not necessarily talking about response times, but things like background jobs processing larger amounts of data that’d take way too long than it should.
Re MRI, it’s hard to tell, really. There are big plans for MRI 3.0 too, but to be honest I’m more excited about TruffleRuby than MRI these days.
Here are 3 things why I believe the future of Ruby can be bright:
1) Lots of modern libraries are growing very fast these days
2) Modern Ruby implementations are in the works, and they show very promising improvements in performance. Especially TruffleRuby and Ruby+OMR
3) Rails seems to have less influence on the ecosystem these days (controversial? maybe)
Listening to the new Mastodon album. Tooting about it on Mastodon. My head just exploded.
Hanami 1.0.0 was released today. This is fantastic news for Ruby community. You can read more about it here: http://hanamirb.org/blog/2017/04/06/announcing-hanami-100.html
Tip of the day:
You can bridge with Twitter so others can find you, and you can find them:
If you have the URL for a toot on another instance you can add it to the search bar on your home instance (above the compose field) to get your local interactions (boost, reply etc.)
@RX14 it’s a matter of redefining an existing method and capturing its arguments and either calling original when all args are present, or currying passed args via a special object that wraps original object. That’s why we have `Relation` and `Relation::Curried` in rom core library. I should mention that relation objects are treated as functions in rom, so they are callable via `#call` method, and this is what enabled various functional solutions in rom (composition, currying, data pipeline).
@RX14 haha yeah I totally agree in principle, although I have to say *libraries* are really special type of code, and leveraging more powerful features of a language is typically desirable to achieve better APIs.
Thanks for offering help. So many great langs, so little time…:)
Anyhow, in rom we have a feature where relations are auto-curried, which means that you can refer to them without providing arguments. This is used to compose relations into graphs. No idea if it’s possible in Crystal.
@RX14 You might be right re monads. I’d have to take a closer look at Crystal union types to say more. When it comes to rom, we may face some challenges, as there are a couple of fairly advanced meta-programming techniques used that we may not be able to replicate in crystal. It doesn’t mean it’s a blocker though, as alternative solutions should be possible too.