HNHacker News
TopNewBestAskShowJobs

skinowski

12 karma · joined October 15, 2015

submissionscomments
skinowski··on CPU cache-friendly data structures in Go
They meant "[0]uint64" probably, not 0[]byte.
skinowski··on Reinvent the Wheel
+1, also sometimes to avoid complexity due to unnecessary abstractions/modularity, etc.
skinowski··on GOTO (2000)
GOTO is useful when used in the right context. Heavy use of exceptions are more of a problem today.
skinowski··on Generative AI for Beginners
Seems like this requires Azure OpenAI access which is not granted for personal use but only for select corporate customers?
skinowski··on Helidon Níma: A Java microservices framework based on virtual threads
This is a fair point.

I've seen many frameworks shared in hackernews. But rarely do I see anyone commenting on their IDE's capability to be able to use that framework for go-lang, rust, c, c++, etc.

For example, Rust tokio 1.0:

https://news.ycombinator.com/item?id=25520353

I don't see anyone mentioning an IDE there.

skinowski··on Helidon Níma: A Java microservices framework based on virtual threads
Good job on distorting my comments. Hopefully the developer who made the original comment will read your recommendations and will decide to give this framework a try.
skinowski··on Helidon Níma: A Java microservices framework based on virtual threads
If a developer does not want to try this framework because an IDE does not yet support a particular version of java, then the situation has gone beyond an IDE being just useful.

Personally I use various IDEs, light weight IDE/Editors and even vi/vim depending on the language & situation.

Think of it this way:

If I asked my team to develop a project/POC with this framework and they came back to me saying that they have to wait for (or prefer to wait for, or whatever) jet brains to add java 21 support to do this, I would not be very happy.

skinowski··on Helidon Níma: A Java microservices framework based on virtual threads
If a developer says "The blocker for me is IntelliJ supporting Java 21", clearly there's an IDE dependency. Powerful enough for a developer not to adopt a new framework.
skinowski··on Helidon Níma: A Java microservices framework based on virtual threads
This is one of the things that bother me about Java; IDE dependency.
skinowski··on Sockets in a Bind: Troubleshooting Port Exhaustion in Heroku's Routing Layer
A better solution would be relatively new socket option:

IP_BIND_ADDRESS_NO_PORT

https://www.mail-archive.com/netdev@vger.kernel.org/msg66879...

skinowski··on The Ars guide to building a Linux router from scratch
ip_conntrack_tcp_be_liberal is still in kernel sources and it is enabled in distributions like openwrt. The author does not mention this, so very likely that his/her custom router will drop traffic. Recently I ran into the issue with Netflix traffic which seemed to use window scaling. In my case I did not disable scaling, but had to enable this option on arch Linux.
skinowski··on The Ars guide to building a Linux router from scratch
Here we go: https://www.pitt-pladdy.com/blog/_20091125-185551_0000_Linux...
skinowski··on The Ars guide to building a Linux router from scratch
Looks like he hasn't hit the ip_conntrack_tcp_be_liberal problem/setting yet. Good luck with streaming Netflix with that router...
skinowski··on Using Nginx to load balance microservices
Reload runs old/new processes in parallel, so switch is super quick and new connections always land on new processes. So error rate between reload and restart is huge.
skinowski··on Using Nginx to load balance microservices
Any load tester will do the trick. Network latency and client keepalives enabled will also increase likelihood of errors.
skinowski··on Using Nginx to load balance microservices
Before making this statement, think of how the following states can really be non-disruptively handled:

1) requests in transit to nginx (in-flight) 2) TCP handshakes just completed (not yet accepted) 3) TCP handshakes in progress (clients will retry if server doesn't RST)

Nginx cannot know if requests are in transit nor it can handle just established TCP conns. It also does not drain the backlog queue in the old processes. It simply tears down estimated 'idle' connections.

Try a test with heavy load and you will see. More network latency more errors...

That's exactly why Nginx Plus offers dynamic upstream modification features as opposed to relying on reload.

skinowski··on Using Nginx to load balance microservices
"highly available web applications."

but nginx will drop traffic during reloads...

skinowski··on Nginx reverse proxies retries PUT/POST/DELETE on response timeout by default
Regarding 3, buffering behavior is highly configurable in nginx.(eg. proxy_request_buffering, proxy_buffering on/off)
skinowski··on Soon You'll Hate Group Chat as Much as You Hate E-mail
This really reads like a filler article. And communication in the office depends on many factors.

The link to the said research on how awesome face-to-face meetings is just leads to another article written by the same author. Sigh...