HNHacker News
TopNewBestAskShowJobs

dimaaan

35 karma · joined June 26, 2021

submissionscomments
dimaaan··on Android 17 is the first since 3.x to add new APIs without releasing to the AOSP
And don't forget about Manifest V2/uBlock Origin removal!
dimaaan··on Java 27
It says: "Status - Draft"
dimaaan··on Java 27
Go has null pointer dereference problem.

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.

dimaaan··on Java 27
Null pointer dereference problem. Solved for greenfield C# projects and Kotlin
dimaaan··on Startup Anti-Patterns
You don't need network boundaries for good architecture. Split monolith into modules with an interface
dimaaan··on Htmx 4.0
If you want a prototype fast, don't you use an LLM?

And if you do, why start with a simpler framework?

dimaaan··on AI is hitting entry-level jobs hardest, Stanford study finds
From my experience.

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.

dimaaan··on AI is hitting entry-level jobs hardest, Stanford study finds
Honestly, that is way too much for a junior.

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

dimaaan··on AI is hitting entry-level jobs hardest, Stanford study finds
That resonates me.

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.

dimaaan··on Go is an ideal language for AI-assisted software engineering
>> Nil and partially constructed structs

C# has "nullable reference types" and "required" keyword for that

dimaaan··on Ask HN: What is the job market like?
RTO - Return to Office
dimaaan··on Cleaning up after AI rockstar developers
Don't call them rockstars - call them "resume-driven developers."

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.

dimaaan··on JOPA: Java compiler in C++, Jikes modernized to Java 6 with Claude
Don't forget NPM packages Mocha and Chai (Pee and Tea)
dimaaan··on .NET 10 Preview 6 brings JIT improvements, one-shot tool execution
MIT license: https://github.com/dotnet/roslyn
dimaaan··on Never write your own date parsing library
No. See https://stackoverflow.com/questions/1732348/regex-match-open...
dimaaan··on 'Russia's Google' exits the country
And "Search by picture"
dimaaan··on Ask HN: Did you encounter any leap year bugs today?
Right, fixed such test today
dimaaan··on Ask HN: Did you encounter any leap year bugs today?
And standard library design errors also.

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

dimaaan··on Russia killed its tech industry
Thank you for that kind of words.

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?

dimaaan··on Russia killed its tech industry
And the greatest Russian rock singer was Korean.

https://en.wikipedia.org/wiki/Viktor_Tsoi

dimaaan··on Is It Blocked in Russia?
>> No, https://twitter.com/ is probably not blocked in Russia

>> No, https://www.instagram.com/ is probably not blocked in Russia

Seems like its not working at all.

dimaaan··on TypeScript Magic
Similar trick for JSON-based web API's that returns either error message or result

    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
    }
dimaaan··on Asynchronous Programming in C#
Use System.Threading.Channels.

BoundedChannelFullMode.DropNewest, DropOldest, DropWrite, Wait specifies the behavior to use when writing to a bounded channel that is already full