HNHacker News
TopNewBestAskShowJobs

zdimension

405 karma · joined February 25, 2022

zdimension.at.hn

I make things with computers.

* my blog with text on it: [zdimension.fr](https://zdimension.fr) * my code: [github](https://github.com/zdimension)

[ my public key: https://keybase.io/zdimension_; my proof: https://keybase.io/zdimension_/sigs/YsDs65xqRbedgqtKAxAoazoy9U-04Kju7RV7PwibWyA ]

submissionscomments
zdimension··on Rust without crates.io
Using cargo (the build tool), you can add dependencies using Git URLs. Referencing crates.io is just "the usual way" to add dependencies. Git repositories can disappear (becoming private, author changes username, etc.), crates.io is more resilient than the average OSS project repo.

Most people use one of a handful of Git hosts anyway (GitHub, GitLab, ...) so Git dependencies are still like a huge centralized repo.

zdimension··on C++ Sudoku Solver by Singapore PM Lee Hsien Loong
Many contributions on CPAN, true, though maybe more notably she did also lead the development of the first Perl 6 (now Raku) compiler
zdimension··on Show HN: EnfinBref- {GPT3-5|Mistral-7B} YouTube summaries, segment by segment
Pardon my French, but merde, this is impressive. I've tried it on 20-40min French videos and the summary and section-dividing is spot on.
zdimension··on Yugoslavia's Digital Twin – When a country's internet domain outlives the nation
As the parent comment said, it's a temporary TLD, so by design it does not appear in the root listing. See: https://en.wikipedia.org/wiki/.xk
zdimension··on Deconstructing Go Type Parameters
Honestly I'd have preferred `.as_slice().to_vec()`
zdimension··on Plug and socket types around the world
The lettered naming convention is common and not new ([see](https://en.wikipedia.org/wiki/AC_power_plugs_and_sockets#Typ...))

In France, Switzerland and Germany I've heard the terms "type C/E/F" (sometimes "Schuko"), but never CEE 7/3 or CEE 7/7.

zdimension··on Fixing for loops in Go 1.22
There is a recurring joke about Go's language design ignoring many bits of the general language design knowledge collectively acquired through decades of writing new languages. This change is an example of why this joke exists.
zdimension··on Arguments against IDEs
It is a known fact in philosophy that spelling mistakes automatically invalidate whatever thesis you are defending.
zdimension··on Windows 11 will happily execute a binary compiled 30 years ago
An "alternative OS" built on top of the NT kernel would certainly be interesting. It would take a decade to a thousand-person team, but it would be interesting
zdimension··on FIDE bans transwomen from Women's Chess Events
I mean, have you seen the shape of the pawns? It appeals to the male fantasy.
zdimension··on FIDE bans transwomen from Women's Chess Events
Plainly, to give women a chance in a field that is excessively male-dominated for systemic reasons. Not saying this was a good or bad idea.

Not that women are less capable than men at playing chess, but boys were historically way more encouraged than girls to partake in "intellectual" activities such as learning, playing, and mastering chess. Obviously the end result is that you get way more men than women that are good at chess. It's a bit like noticing that the most impactful people in the history of science were (mostly) men. Men are not inherently smarter, but it's a bit easier to do stuff when you can get yourself an education instead of getting married at 20 and raising the kids.

zdimension··on FIDE bans transwomen from Women's Chess Events
Which is not what this article is about, though, men are already not expected to play at women's events; this is a decision about trans women
zdimension··on Rust Abstractions Posted for Sockets and Other Fundamental Network Bits
Having used both, I find it much easier to predict the behavior of Rust code than C++ code when metaprogramming is involved. Rust is very much against having thirty-seven and a half automatic deduction mechanisms under a trenchcoat and calling that metaprogramming. C++ has done a great job at building stuff on top of C but it's a bit like Windows 9x at this point, limited by DOS. C++ templates and resolution rules are fundamentally flawed from a UX perspective, however powerful they are. In the same vein, Rust usually has much better error locality, i.e. in C++ it's quite easy to get three pages of errors in files from the std when the error is actually in your code and you forgot a `const` or a `&&` somewhere. This pretty much never happens in Rust, or, well, other languages.

This is HN so usual disclaimer, it's not always proselytism to find one language's way of doing things more well-thought than another when twenty years of programming language research separate them.

zdimension··on Decimal to fraction
There's a nice calculator app bundled with Windows 10, and I even have Mathematica installed, and of course Desmos is useable everywhere, but... when I need to compute anything that's more than simple elementary arithmetic, I just open a Python REPL. It's simple to type, it's readable, and way easier to use than a calculator for persistence (ever tried to use variables on a scientific calculator? It works, but it sucks)
zdimension··on Show HN: Hacker News home page spoof
> My Current Redis Fork of HTML

What a week

zdimension··on I'm betting on HTML
Funny, I grew up making GUI apps on VB (and then VB.NET) using Windows Forms and I've always found it really easy compared to the web stack. You're not fighting against a flow algorithm that was designed for documents, trying to position your widgets in ways NCSA Mosaic wouldn't ever had dreamt of, it just works.
zdimension··on Why I use the D programming language for scripting (2021)
Turing-complete languages have been around for the better part of a century now, had we stopped after the first one we'd still be writing some kind of Zuse machine language. There's purpose in trying to make better languages, the goal is not to be able to compute more things (since we're fundamentally more limited by the hardware than by the software), but to compute old things more efficiently and more easily. D, Go, and Rust may all be as Turing-complete as each other, they have good ideas.

That, and the fact that Turing-completeness isn't really a useful concept in real life since we don't have infinite tapes with writing heads taped on top of them. In real life, a program will be more efficient if the language it's written in (or, specifically, the implementation/compiler of that language) is smarter, even though pretty much all languages we use today are technically Turing-complete

zdimension··on GNU Boot sent a cease and desist to Libreboot
Most importantly, she disagreed with the FSF's policy of never using any binary blob anywhere for any reason, because that was incompatible with the goal of supporting as much hardware as possible. Hence, the GNU Boot fork. But then, those guys trying to reappropriate the Libreboot name...
zdimension··on Cargo-semver-checks: Scan your Rust crate for semver violations
About a year ago, I worked on a similar tool, using the same rustdoc-based idea, [cargo-breaking](https://github.com/iomentum/cargo-breaking/tree/zdimension/r...), but since cargo-semver-checks was released around the same time and used a better general approach to change detection, we never bothered actually releasing it and ended up just archiving the repo
zdimension··on Reddit crashed because of the growing subreddit blackout
The blackout is as much about a small number of users using third party clients for personal tastes as the American civil war was about states rights. The real issue, as can be read in the long PSAs pinned to some of the restricted but public subreddits, is the impact on moderation and accessibility that forbidding third party apps will incur. If moderators can't do their job, Reddit is worthless. Calling them tyrants is... a peculiar way to frame it
zdimension··on I Still Use Windows 95 (2008)
The average Linux desktop has never been fully standardized. The average Windows desktop today (let's say, W10/11) is descended from W7 which was arguably really consistent. Even if they took W7 and bastardized it by introducing 10 different design languages (Metro, Modern, Fluent, new Fluent, ...) there was something to build on top of. On Linux, there are some GNOME guidelines, there are some KDE guidelines, nothing really universal. As much as I dislike the general macOS experience, Apple got it right early on by simply forcing you to adhere to the general vibe of the OS
zdimension··on Updating our inactive account policies
> And as other reporting has noted, they're not deleting YouTube videos

I haven't seen anything mentioning that, do you have a source for it? Old YouTube videos disappearing are my main concern from this policy change

zdimension··on Unity builds lurked into the Firefox Build System
The post was renamed, the URL changed accordingly: https://serge-sans-paille.github.io/pythran-stories/how-unit...

(HTTP 301 on the old URL would have been appreciated)

zdimension··on Proposed Renewal of the Registry Agreement for .NET
You got any more info on that? I can't find anything online that talks about this trick
zdimension··on \Device\Afd, or, the Deal with the Devil that makes async Rust work on Windows
From a Windows development point of view, Linux is way behind. Async I/O has been at the core of the NT kernel since the very beginning (since VMS, even), whereas on Linux (and Unix) everything has been designed with blocking I/O in mind. IOCP match the way people usually think about asynchronous processing, but people have just become used to the weird way poll and epoll do things. It's like saying Windows is behind Linux because it doesn't support Unix permissions.
zdimension··on Zig as an alternative to writing unsafe Rust
This one runs the C code as a program, so the code doesn't really communicate. I made a proof of concept some time ago of a macro that really translates C to Rust at compile time: https://github.com/zdimension/embed-c
zdimension··on Zig as an alternative to writing unsafe Rust
Shameless self-plug: https://github.com/zdimension/embed-c

This transpiles C to Rust at compile time, though it requires a nightly compiler and hasn't been updated in some time. But it's exactly what you're looking for. C code in, unsafe Rust code out.

zdimension··on Sweet Home 3D is a free interior design application
You (like me) are looking for a parametric modeler. SolveSpace is pretty good for that
zdimension··on Ask HN: Best examples of software documentation that you've come across?
Unfortunately the quality of the docs varies a lot. Most COM APIs are empty (i.e. their doc page contain only the functions signatures, with no description or explanation), while .NET is really well documented
zdimension··on Stack Machines and Where to Find Them
Quick blogpost about recursion, stack machines, and macros.

As always, all feedback is welcome!

← PreviousPage 3 of 4Next →