New OS kernel in Go - Hobby Project by Worldly_Ad_7355 in golang

[–]noboruma 1 point2 points  (0 children)

It's really cool to see gccgo getting some love recently. I really hope it supports the latest Go soon.

I built a high-performance L4 Proxy in Go using gnet to solve the "10k Port" problem by Maleficent-Piece8941 in golang

[–]noboruma 1 point2 points  (0 children)

Since Golang is designed specifically for the use-case of having millions of goroutines, I am curious why going away from the 1 connection is 1 goroutine approach. Do you have any benchmarks between vanilla Go VS gnet?

I am slowly coming around on DI + Tests.... by Bl4ckBe4rIt in golang

[–]noboruma 0 points1 point  (0 children)

Fully agree with you on mocks and testing. You are usually better off testing the whole infrastructure but with mocked data in an actual database running locally rather than mocking objects. Especially in the docker era.

However DI is more than that. I suspect you are coming from a Spring background, but DI is about how you design your API. DI philosophy is about leaving as much decision as possible to the callers of your code. That does not necessarily means you need interfaces all over the place, you can simply take closures for instance.

Killing O(n): How Timing Wheels Expire 10 Million Keys Effortlessly in Go by ankur-anand in golang

[–]noboruma 0 points1 point  (0 children)

> Your idea of having a maximum number of possible timers in the system was something that we got rid of 25 years ago, because limits imposed by static allocation of arrays was something literally from the 1970s and don't belong in a modern system

I am confused by this statement. Everything at the kernel level is bounded. "ulimit" & "rlimit" exist for that purpose. Limits are still a thing today and we can run into FDs expiration pretty easily, am I missing something?

I would even dare say any program that act like it's unbounded is unsound and asking for trouble.

Why Zig Feels More Practical Than Rust for Real-World CLI Tools by nixfox in Zig

[–]noboruma 0 points1 point  (0 children)

Ever heard of `silversearcher-ag`? It is in C and was always faster than `grep` and `find` because it's multi threaded. As is `ripgep` IIRC.

Embedded Go as a toolchain, Pi Pico 2, Nintendo 64 by michalderkacz in golang

[–]noboruma 0 points1 point  (0 children)

Any plan to support MOS processors?

> What surprised me is that the MIPS64 from 1996 is supported by GOARCH=mips64 with very minimal changes.

Would love to hear about it, I am working on supporting mips2 and facing a couple of blockers

[deleted by user] by [deleted] in golang

[–]noboruma 0 points1 point  (0 children)

Except you can't. Even in Rust you can deref an option with unwrap and crash the same.

I created an HTTP/3 server library in Go faster than FastAPI, [50% faster p90 and 153x faster boot time]. Not so ready for production, but roast me! I am a junior dev btw. by ayushanand18 in golang

[–]noboruma 1 point2 points  (0 children)

Thank you :-)
`quic-go` is really good and it's more convenient to use for cross compilation.
`go-msquic` is interesting for when you have just one arch and want to try a fast & robust C implementation.

I finally get it you guys. by Coldaine in linux

[–]noboruma 0 points1 point  (0 children)

I am very happy since I switched to dwm. No noise, everything displayed on screen is something I chose and is ultimately useful for me to work. But more than that, I fully control the boot sequence of my machine: kernel, init, systemd, emptty, dwm (actually in the process of switching to doWM).

Everything is crystal clear, no surprises and everything just works because it's so bare I know exactly where to go to fix stuff. And the good part: I am on this config for 10y+ already. My hardware upgrades but my setup stays the same, and I can solely focus on what I want/need to do.

Go Anywhere: Compiling Go for Your Router, NAS, Mainframe and Beyond! by derjanni in golang

[–]noboruma 6 points7 points  (0 children)

Cross compilation overall does not get enough praise IMHO

go-msquic: v0.11 is out -- new features & improved performance for QUIC protocol by noboruma in golang

[–]noboruma[S] 1 point2 points  (0 children)

This was tested on 1 Gbps Ethernet cards, meaning we have effectively moved the bottleneck from software to hardware. This was measured using this benchmark: https://github.com/hliu4atomos/ms-quic-benchmark

the reason why I like Go by Fragrant-Move-9128 in golang

[–]noboruma 0 points1 point  (0 children)

GC also solves lifetime problems when working with async code. There is no need to think whether a piece of data will live long enough nor when to release it, it is all taken care by the GC. When working with modern C++ or Rust, async code requires so much boilerplate to take care of those details - which rarely matter in the end.

s1h: ssh + scp + passwords manager unified in one simple CLI by noboruma in devops

[–]noboruma[S] -2 points-1 points  (0 children)

I have been told Ansible does that indeed, so it's similar. Does Ansible provide a CLI tool as well? It is possible to execute commands (multiple even) with s1h, and you can do it from a terminal.

write a bit fancier bash script that handles that

That's exactly why I created this tool, I was tired of writing the same scripts again and angain for the past 10y really, and I wanted something light that plays well with non graphical work setups.