Golang drawer
178 subscribers
1 photo
5.03K links
Curated Golang news
Download Telegram
This month, high-performance language Rust jumped from position #17 to position #13 in the TIOBE index. This is an all time high for Rust. Gaining 4 positions might seem a small change, but Rust has been "the talk of the town" the last couple of years without making much progress in the TIOBE index


https://www.tiobe.com/tiobe-index/
Recently, I've been looking at cache friendly algorithm for common data structures like trees, tries, ... One such algorithm kept coming up to mind and that's why I decided to implement it in Go. You can find the paper describing the algorithm here


https://clement-jean.github.io/simd_binary_search_tree/
What are range iterators?

I don't know about you, but I found the explanation and examples from the experiment documentation very confusing. But the release notes for 1.23 do a much better job summarizing the feature (although not of providing examples)


https://www.dolthub.com/blog/2024-07-12-golang-range-iters-demystified/
An open-source, cloud native, horizontally scalable, distributed time-series database


https://lindb.io/oss/lindb
Govulncheck reports known vulnerabilities that affect Go code. It uses static analysis of source code or a binary's symbol table to narrow down reports to only those that could affect the application


https://pkg.go.dev/golang.org/x/vuln/cmd/govulncheck
As programmers we sometimes need to do weird stuff or make two systems work together that really should not interoperate. As is the case with c++ and go in the way of calling functions written in go from c++. But I didnt ask if i should, i just asked if i could and the result is documented in the form of this blog post and the repo here


https://xnacly.me/posts/2024/go-cpp-interop/
At the time of writing, HTTP/3 is supported by 30.4% of the top 10 million websites. This market penetration is astounding, but it seems like all of this progress has been possible almost exclusively by work on browsers, load balancers and CDN providers. What about the backend? How’s HTTP/3 doing there? The answer, sadly, is not as incredible


https://kmcd.dev/posts/grpc-over-http3/
At the company I’m currently working at, a.k.a. re:cap, we have some manual data imports that are business-critical, e.g., a customer-provided CSV file that we want to import into our database and that affects business operations. A simple pattern I came to love to make this process fast & safe is using the plan-execute pattern


https://tn1ck.com/blog/update-plans
In case you missed the memo, the Single Page Application hype period is over, and we’re now back to PHP and jQuery, I mean rendering HTML on the server. I’m excited! It brings me back to the early 2000s when we were all web developers, not frontend or backend engineers


https://threedots.tech/post/live-website-updates-go-sse-htmx/
I started DarwinKit a few years ago because there were no bindings to native Mac APIs for Go. We've slowly turned the project into bindings and generation tooling to someday reach full coverage of all Apple APIs


https://dev.to/progrium/how-i-build-simple-mac-apps-using-go-104j
Does this sound familar? You make a change to a library to optimize its performance or clean up technical debt or fix a bug, only to get a bug report: some very large, incomprehensibly opaque test is now failing. Or you add a new compiler optimization with a similar result. Now you have a major debugging job in an unfamiliar code base


https://research.swtch.com/bisect
Exactly a year ago (yesterday), Russ Cox submitted a proposal to add two new range capabilities to Go: range-over-int, and range-over-func. The former was added to Go 1.22. And the latter left me immediately skeptical. I spent a fair amount of time (as measured in Internet minutes) trying to understand the proposal, and eventually coming to the conslusion that I wasn’t very smart


https://boldlygo.tech/posts/2024-07-18-range-over-func/
Go 1.23 is coming soon, so it's a good time to explore what's new. The official release notes are pretty dry, so I prepared an interactive version with lots of examples showing what has changed and what the new behavior is


https://antonz.org/go-1-23/
🔥1🙏1