35 karma · joined June 26, 2021
Rust is too low-level for typical enterprise app where requirements changes twice a day. You end up spending time and tokens fighting with borrow checker.
C# is MS product, which is no-go for some folks.
Kotlin probably would be the answer.
And if you do, why start with a simpler framework?
There is a reason why youngest developers are more productive. They accept everything Agent suggests. They don't understand or care. They rely on your review of the Agent output from prompt they copy-pasted from JIRA. So you spent your time reviewing it instead of your own work.
From study titled "The Widening Gap: The Benefits and Harms of Generative AI for Novice Programmers" https://dl.acm.org/doi/epdf/10.1145/3632620.3671116
>> Without building this solution, and instead just taking what ChatGPT generated, they had skipped crucial steps in the programming problem solving process, and were now lost
When you skip the problem-solving process and take the LLM's first output, you're not building the cognitive framework needed to debug or maintain that code.
I'd side-eye that list as senior .NET dev full stack.
You're asking one person to do frontend/js/css, backend/databases/Redis/MQ, and Python with all that math behind data-science, but i doubt he can understand and review all of this
When I was in high school, I lied to girls about what I was planning to major in just so I wouldn't sound like some antisocial nerd.
Nobody back then thought coding was cool. It was just the thing the weird kids did in the computer lab.
C# has "nullable reference types" and "required" keyword for that
We had one on our team in the past.
A bunch of microservices built on an in-house RPC framework he wrote, RabbitMQ, half-baked "monads" in an OOP language, esoteric naming, and no comments (the code should be self-documenting!), no docs.
Management adored him.
Once we started to grow, the problems started to appear: bad orchestration, uninformative logs full of PII, poor error handling, edge cases that were nearly impossible to fix within the existing abstractions, dependency hell, etc.
At that point, he moved on.
It took years and many hundreds of pull requests to clean it up.
Properly designed date/time API invented relatively recently.
System.DateTime (.NET) - 2002 | System.DateTimeOffset - 2005
Joda time (JVM) - 2005 | java.time - 2014
Temporal (JavaScript) - still experimental
It's so rare nowadays.
While i agree with technology, art (painters, literature), dance (ballet), i didn't think Russia brings much to the worlds of music.
Curious what is in you iTunes rotation?
>> No, https://www.instagram.com/ is probably not blocked in Russia
Seems like its not working at all.
async fetchApi<TResult = void>(request: Request): Promise<TResult> {
type SuccessfulApiResponse = { Succeeded: true; Result: TResult }
type FailedApiResponse = { Succeeded: false; Error: string | null | undefined }
type ApiResponse = SuccessfulApiResponse | FailedApiResponse;
const response = await fetch(request);
ensureStatusOK(response);
const result = await response.json() as ApiResponse
if (!result.Succeeded) throw new Error(result.Error || 'Unknown API error');
return result.Result
}BoundedChannelFullMode.DropNewest, DropOldest, DropWrite, Wait specifies the behavior to use when writing to a bounded channel that is already full