Missed a few Screenshot Saturdays and haven't posted in a while so I thought I'd sent my heartbeat packet to the socials today.
If you want to see what I've been up to recently come on over and check the blog.
Missed a few Screenshot Saturdays and haven't posted in a while so I thought I'd sent my heartbeat packet to the socials today.
If you want to see what I've been up to recently come on over and check the blog.
During the pandemic lockdowns, I did the first "Ray Tracing in One Weekend" book in D (#dlang).
I thought it'd be fun to continue with the second book. I now wasted so many hours trying to get this working again (both on macOS and a Linux container) that it's probably quicker to rewrite it in another language and forget about D. Shame.
Simulation instabilities can be beautiful
hell yeah, writing docs
@soulsource it’s worse than that. Non-destructive moves, while definitely an improvement on the semantic horror of auto_ptr, force us to have objects with an “empty” state, repeating the billion dollar mistake again and again… Rust is so much better in that respect that it isn’t funny
Self-referential legacy objects could probably even have been made movable by introducing something akin to D’s post-blit operator (but for moves)
Juan Vazquez and Cameron Cunning rejoin the show to discuss how we fared with the 2025 Advent of Code competition.
#rust #elixirlang #dlang #Aoc2025 #AdventOfCode #programming
D言語の更新まとめ 2026年1月版(dmd 2.112.0)
https://qiita.com/lempiji/items/7ba90329faad243335ee?utm_campaign=popular_items&utm_medium=feed&utm_source=popular_items
So thinking about asyncronous programming again and how I probably need to ditch #dlang's GC if I want performance and then it hit me:
Why tf is std.socket.Socket an heap-allocated, gc'd class to begin with?!?!
It dosn't uses syncronized that would require a classes monitor, nor does it hold any significant amount of data.
socket_t (fancy 32-bit fd)ushort-enum for the address family (16-bit)So in sum it holds 48-bit of data, while an pointer on modern systems will always be 64-bit (classes are always pointers / by ref in dlang).
Sure, it "uses" inheritance for 2 wrapper types TCPSocket and UDPSocket, which dont actually do anything other than pre-filling the type/protocol arguments in the constructor, which dont even survive after the call to socket(2)...
Is the std really that badly engineered at times or am I going crazy???
#dlang #programming #development #async #networking #garbagecollector
1.26次元の図形?! ~フラクタル図形の次元を計算してみる~
https://qiita.com/zushi_ryota/items/d198dc7282183eefc1b3?utm_campaign=popular_items&utm_medium=feed&utm_source=popular_items
Currently working (again) on my async framework in #dlang
I need to say coming back to #dlang after a extensive while of #rust coding, I do miss a lot of features of rust already (tho it's nice for once not fighting against the borrow checker or some strange tokio bugs), like choice-types, pattern matching and traits.
Tho it's nice to just have an decent gc and not the need of wrapping everything in `Arc<RefCell<Box<T>>>` /s
Got plenty of ideas for my async framework after working with tokio (and reading parts of it and mio).