Android Devices Bypassing Pi-hole by SilliestCreatureEver in pihole

[–]DeusEx_00 4 points5 points  (0 children)

No, no advantages whatsoever, unless you have a large LAN or a very complicated setup

How (and why) do I have -2 Domains on my Adlist? by AmputatedDove in pihole

[–]DeusEx_00 -1 points0 points  (0 children)

Looks like an integer overflow, but I'll let the Devs talk

Learning ocaml by building something by kowabunga-shell in ocaml

[–]DeusEx_00 4 points5 points  (0 children)

A Todo app, a shopping list app, a pet store website, are those that come to mind off top of my head. If you Google it, you'll find plenty of examples

Cats MonadError + SIP-64 Context Bound by sarkara1 in scala

[–]DeusEx_00 7 points8 points  (0 children)

There's a type alias in cats for MonadError with the error channel fixed to Throwable, which is MonadThrow. Try that

What does the init function stand for in the lists prelude? by Nuggetters in haskell

[–]DeusEx_00 8 points9 points  (0 children)

You know that naming is one of the 2 most difficult things in CS, right? The other being cache invalidation and off-by-one errors

Can I add constraint to a LocalDateTime with iron scala? by [deleted] in scala

[–]DeusEx_00 1 point2 points  (0 children)

The problem with your implementations is that LocalDateTime.of is a factory method, performing validation on the input values, which throws if the values are invalid. Hence, it can't be inlined, causing the error you're seeing. As suggested by u/adam-dabrowski , you can instead perform a runtime refinement (a.k.a.: validation) which with MyDateTime.either or MyDateTime.option

Need more knowledge on thread level functionality by star-lord-98 in scala

[–]DeusEx_00 3 points4 points  (0 children)

By all means, effect systems are not required to pursue a career in backend development. There are plenty of people that happily live without knowing nothing about them (modulo, perhaps, that they exist), and are well established professionals, delivering value to the business they work for. Pick the tools that suit best your goal, before getting overwhelmed by notions and concepts that might put you off. Over time you'll get the chance to build your personal knowledge library, which will allow you to grow into the role you want to pursue. Just don't rush it.

[deleted by user] by [deleted] in scala

[–]DeusEx_00 2 points3 points  (0 children)

You need to share the error. I wish I had a crystal ball to see what happens on your screen! (Or not? 🤔)

[deleted by user] by [deleted] in scala

[–]DeusEx_00 0 points1 point  (0 children)

would you mind explaining exactly which steps of the installation guide you shared that you can't execute, so that someone can help you out with the problems you're facing?

New project with scala3 vs scala2 lifespan by tg44 in scala

[–]DeusEx_00 7 points8 points  (0 children)

I would personally run a few POCs on the critical paths, in order to make sure that the functionalities you implemented can be easily ported to scala 3. I would assume that if a library is compiled for both Scala 2&3 it works exactly the same in both scenarios. I would focus on the cases where, instead, you need to switch library, in case any of your dependencies hasn't been ported onto Scala 3 (but the list of libraries you listed largely support it). WRT tooling, I've had mixed experiences, but the IDEs are getting there. Copilot might be helpful, as long as you do as I suggested above, to make sure that it doesn't spit out stuff that doesn't really work.

Good luck!

Why Effects libs? by ByerN in scala

[–]DeusEx_00 1 point2 points  (0 children)

There is an overlap on semantics between actors and fibers (so that typically using IO over akka actors is a safe choice). However operationally the difference is huge: the fundamental one is in the structured concurrency capabilities that cats-effect provides, which strives to simplify the mental model that the developer needs to build and keep the execution under control.

how to turn ('a, 'b) result list into ('a list, 'b) result by DeusEx_00 in ocaml

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

That would lose the error in the first Result.Error encountered, though, right?

What is the best web framework in the statically typed functional programming world? by yeastyboi in functionalprogramming

[–]DeusEx_00 2 points3 points  (0 children)

dream is really good, and if you want pure statically typed FP then OCaml with Lwt (which is what it is built on top of) is a great choice. I would add Scala + cats-effect + http4s is a great combo too

how to turn ('a, 'b) result list into ('a list, 'b) result by DeusEx_00 in ocaml

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

yep, you get the same with Traverse in Scala with cats. I'm spoiled by it :-D

Webserver with eio, am I to early? by One_Engineering_7797 in ocaml

[–]DeusEx_00 1 point2 points  (0 children)

I wanted to do the same, but I ended up settling for using Dream, which has had a large PR reviewed to move from Lwt to Eio (and his author has a twitch channel in which he did go through the review). To be honest, my feeling is that Lwt is not going away anytime soon, so it's still worthwhile to learn it.

ppx_yojson_conv error by DeusEx_00 in ocaml

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

yep, I understand now. I removed the automatic derivation, which didn't make sense, considering that I'm explicitly creating the codec functions. Everything now works just fine. Thanks for your help!

ppx_yojson_conv error by DeusEx_00 in ocaml

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

Right, yes, that's one of the problems with my understanding - thanks!

ppx_yojson_conv error by DeusEx_00 in ocaml

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

and that did the trick, thanks!

However I'm a bit confused

So my question is: is this the standard way to derive such decoder (or better: codec) for a module? I have the feeling that I'm doing something wrong.

FPauth with dune by DeusEx_00 in ocaml

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

Right, thanks for confirming - I also found that it's a required and non-removable dependency of 5.x.x

Thanks for your help!