Tried to simplify the code.
A typical solution is to declare something like
def server[F[_]: GenFiberLocal: Async: Parallel: Network]: Stream[F, ExitCode] = ...
But only pass
IO
as an
F
, and there will be never any change to another "IO monad".
So, what, the fucking point? Why pass that
F
at all, and not just use
IO
? Declare it like
def server: Stream[IO, ExitCode] = ...
And also declare that type, Stream[IO, ExitCode] somewhere in a common area.
Esteban agrees, but Bill came up with the ideas that we have to minimize the requirements. What fucking requirements, it's a project-private method, called once from main
, not a library function.
Well, we will see. There's a lot of high-level stupidity in our code. Cargo cult.
We had a "standup" at 10:30, just me, Janet, Bill, and mostly showed our avatars and talked about neighbors and HOAs.
Then there was a 4-hour meeting, where some people, looking like architects, designed something, mostly using abbreviations and a whiteboard in the office. Clueless.
Then, during that meeting, at 12, there was supposed to be another meeting, "scaling", which I was supposed to lead. I opened Zoom, there was nobody there for about 5 minutes, and I closed it.
Ok, did some small refactorings later on, working on enabling one endpoint. The code, written 6 years ago, uses stuff like Option[Either[CuUser, BankUser]]
- obviously, "expression problem" was not something these people were familiar with.
But, to make sure we have reasonable functionality, posted a question for Janet, and closed my work computer.
Don't I like my job? I do.
But now it's time for dinner.