Tomáš Deml (@tomasdeml) header
Tomáš Deml (@tomasdeml) profile picture

A courageous developer with a passion for hard sci-fi, anime and all sorts of #queer stuff.

Czech republic
Joined April 2010
"Complexity is like a bug light for smart people. Can't resist it even though we know it's bad for us. The stuff is just so cool to work on"
1
6
One really interesting thing you may not have spotted in the release notes of #golang 1.21 is the following line: "Package initialization order is now specified more precisely" This is quite a big change, as it impacts how the init() function works. Previously it could be difficult to know what order the init function in different packages would be run (medium.com/@markbates/go-ini…) but this changes that. The new Algorithm is: - Sort all packages by import path. - Repeat until the list of packages is empty:Find the first package in the list for which all imports are already initialized. - Initialize that package and remove it from the list. This is a positive change, but it does mean that this is a breaking one; you should test your applications thoroughly if you are upgrading to 1.21. Does this mean we can/should use init more? I don't think so, no. Init was always been seen as anti-pattern by many and some style guides such as Thanos(thanos.io/v0.13/coding-style…) go as far a to say "no init". This is because they can cause global changes that have side-effects which can be difficult to track down . The only init function I use regularly is to setup: github.com/uber-go/automaxpr… (under the hood it calls init) How do you use init functions? Does this change change the way you think about them?
8
25
119
17,894
It's alive! My first e-ink display powered by ESP32 🚀
3
91
Cyberpunk 2077: Phantom Liberty Feels Like A Whole New Game youtu.be/tm45Bz_EtAQ
1
55
io_uring disabled across Google platforms security.googleblog.com/2023…
1
82
Mind the Gap: Broken Promises of CPU Reservations in Containerized Multi-tenant Clouds tddg.github.io/assets/pdf/so…
40
Freaky Leaky SMS: Extracting User Locations by Analyzing SMS Timings arxiv.org/abs/2306.07695
1
68
🎙️ Our newest podcast episode is live! form3.co/43XlgLf Host @classic_addetz is joined by @thedevel, Director at @synadia and #nats expert. He joins us to discuss #eventdriven and #resilient microservice architectures. Then, he gives us a peek into new NATS features.
1
5
3
11
3,085
Interview with an Emacs Enthusiast in 2023 😂youtu.be/urcL86UpqZc
38