HNHacker News
TopNewBestAskShowJobs

codewiz

1,767 karma · joined February 5, 2013

I hack, therefore I am. https://mstdn.io/@codewiz
submissionscomments
codewiz··on Hyperion, developer of AmigaOS, goes Bankrupt
The last update on the Hyperion Entertainment website dates back to April 2023: https://hyperion-entertainment.com/
codewiz··on Improving cursor rendering on Wayland
And Hyprland, where hyprcursor and the wp_cursor_shape protocol was developed.
codewiz··on The KDE desktop gets an overhaul with Plasma 6
Thank you for the tip, didn't know that!
codewiz··on Inside the proton, the ‘most complicated thing you could possibly imagine’
Dupe: https://news.ycombinator.com/item?id=33262637
codewiz··on City Street Orientations Around the World
Looking at downtown Charlotte in Google Maps, I see the typical grid pattern of other US cities, just tilted by 45 degrees.

The suburbs follow a similar pattern, but appear to be at slightly different angles. I'm not sure if this would explain the even distribution of road orientations.

codewiz··on Dieselgate, but for trains – some heavyweight hardware hacking
UPDATE: Polish train maker denies its software bricked trains maintained by competitor: https://news.ycombinator.com/item?id=38579098
codewiz··on Dieselgate, but for trains – some heavyweight hardware hacking
But why wasn't the new submission merged with the existing one? The urls are identical.
codewiz··on Dieselgate, but for trains – some heavyweight hardware hacking
Dupe: https://news.ycombinator.com/item?id=38558120
codewiz··on Mounting Git commits as folders with NFS
Several years ago, one of my customers deployed Rational ClearCase across the company. Every employee and consultant, me included, was signed up for a week-long course on how to use the "Rational Unified Process" and other nonsense like that.

By day 2, it was clear that they were selling us snake oil, but my customer was paying for my time, so I sit through it to the end. A few engineers in the room were genuinely hooked up by the promise of generating 90% of the code from UML, integration streams, automatic "un-branching" and all that.

I wonder what they spent overall in licensing fees, training and lost productivity? And that's probably a fraction of the long-term damage dealt by this absurd process to a large C++ codebase.

Somewhere, I should still have a "degree" issued by Rational University :-)

codewiz··on Bluetooth stack modifications to improve audio quality on headphones without AA (2019)
> I tried to contact many Bluetooth stack developers from Google, asking them to consider including my patches to the main Android branch—AOSP, but did not receive a single answer.

Very sad. Android is open source code with an closed development model. Most communication and design work happens behind closed doors, cutting off anyone who doesn't work at Google.

codewiz··on Reflecting on 18 Years at Google
> Much of these problems with Google today stem from a lack of visionary leadership from Sundar Pichai, and his clear lack of interest in maintaining the cultural norms of early Google.

I left 3 years ago for the same reason: I couldn't stand seeing Google continue to decline under Sundar's leadership.

codewiz··on TikTok says it's not the algorithm, teens are just pro-Palestine
Why was this flagged?
codewiz··on Are you using Encrypted Client Hello?
More info on ECH: https://blog.mozilla.org/en/products/firefox/encrypted-hello...

Chrome enables ECH in version 117: https://chromestatus.com/feature/6196703843581952

Firefox enables ECH since version 119: https://www.mozilla.org/en-US/firefox/119.0/releasenotes/

Both implementations require DNS-over-HTTPS to be enabled.

codewiz··on Nghttp3 1.0.0 – HTTP/3 library written in C
The title of this post puts emphasis on "written in C", making me wonder when this would ever be a desirable feature, given that more secure implementations are available, and can be integrated into old C projects just as easily.

No need to rewrite everything from the ground up: https://github.com/cloudflare/quiche#curl

codewiz··on Nghttp3 1.0.0 – HTTP/3 library written in C
C API: https://github.com/cloudflare/quiche/blob/master/quiche/incl...
codewiz··on Nghttp3 1.0.0 – HTTP/3 library written in C
How about using a memory-safe HTTP/3 implementation which is also callable from C or any other language? https://github.com/cloudflare/quiche
codewiz··on Linux on the Arm-Based ThinkPad X13S: Getting There
This is a 2022 laptop with a Snapdragon 8cx Gen 3, which doesn't compare too well with contemporary Intel and Apple processors for lightweight laptops: https://www.cpubenchmark.net/compare/4774vs5317vs4104/Snapdr...

So not very exciting, unless Qualcomm and Lenovo are planning to release refreshed hardware soon.

codewiz··on The missing C++ smart pointer
Transparently copyable heap-allocated object would are a recipe for introducing invisible performance issues, especially in generic code.

Rust requires types to explicitly opt-in to being implicitly copied, while C++ requires you to opt-out by deleting the copy-constructor.

Accidentally copying small structs on the stack is a minor performance problem. Copying an std::box<int> in a hot loop could cause heap fragmentation, lock contention and huge amounts of wasted memory due to heap alignment requirements (32 bytes on 64-bit arches).

codewiz··on Got called to a professor’s office after a complaint his SPARC4 was running slow
No Wayland version yet?
codewiz··on Shortening the Let's Encrypt chain of trust
Wouldn't the operators of all apt mirrors be renewing their LE certificates with certbot every month or so? Then, after June 6th, 2024, they will get a new certificate signed by the new LE root, which isn't cross-signed and isn't expired.

Or am I missing something?

codewiz··on TypeScript 5.2's new keyword: 'Using'
The last example is surprising:

  {
    await using { connection } = getConnection();
    // Do stuff with connection
  }   // Automatically closed!
The object returned by getConnection() is destructured to extract the field named connection and assign it to a local variable with the same name. The containing object presumably continues to exist anonymously so its Symbol.asyncDispose function will still be called when it goes out of scope.

Can anyone explain which language rule guarantees this behavior in C# and in TypeScript?

codewiz··on Tell HN: "I don't care about cookies” extension bought by Avast, users jump ship
That feature slipped to Firefox 115: https://9to5linux.com/firefox-115-beta-brings-cookie-banner-...
codewiz··on Tell HN: "I don't care about cookies” extension bought by Avast, users jump ship
Very odd, uBlock Origin for Chrome has "EasyList Cookies Notices", but "AdGuard – Cookie Notices" is missing. The Firefox extension has both lists. The version is the same: uBlock Origin 1.49.2.

Does this have anything to do with Chrome's new extension API nerfing ad blockers?

codewiz··on Curl 8 Is Faster
That's true for many DBs, but how much maintenance did you have to perform on the dozens of SQLite databases living in your phone and your $HOME?
codewiz··on C++: The Obvious Final Step
> Since C++11 destructors are implicitly declared noexcept. Because of this change, libraries that used to employ destructors for the obvious final step suddenly broke in C++11.

[...]

> This is why std::uncaught_exception() has been removed from C++20 and instead, since C++17, we have std::uncaught_exceptions() (plural form) which gives you the number of uncaught exceptions in a given thread.

[...]

> And this solution works in C++17. But it no longer works in C++20, because now we have coroutines.

But I'm sure C++23 will fix exceptions for good. No? Wait, maybe C++26 will...

codewiz··on The colorful charm of Amiga utility disks
Turbo Imploder 4.0, with its new-style UI and a new Save File soundtrack: https://youtu.be/okJHO-176fg?t=245

The composer is Paul Van Der Valk, also known for Hybris.

codewiz··on The colorful charm of Amiga utility disks
This reminded me of Turbo Imploder, an Amiga file compression utility with a synth soundtrack and scopes: https://youtu.be/vFbrYsXDM4w?t=189

The Save File dialog had a second soundtrack (played briefly at 3:45).

codewiz··on MRI brain images become 64M times sharper
Back when I lived in Japan, my employer-sponsored yearly health screening had an optional head MRI exam. I could book it a few days before, and would take 15 minutes with a single technician.

Now it costs around $300: https://www.tokyomidtown-mc.jp/en/pdf/optional_menu.pdf

codewiz··on Neovim 0.9
Perhaps by "frameworks" you meant plugin managers.

On vim, I was using vim-plug, which works fine with neovim too.

At some point I switched to Packer, which is written in Lua and is definitely more powerful. Now I would recommend Lazy instead: https://github.com/folke/lazy.nvim

Yes, it's silly that neovim still doesn't come with built-in plugin management. Installing a plugin should require 0 lines of config.

codewiz··on Neovim 0.9
I decided not to give in to any configuration frameworks and I see them as unnecessary complexity.

Initially, I just symlinked my old .vimrc to ~/.config/nvim/init.vim and started adding if sections to configure neovim features while keeping the config backwards-compatible.

Eventually I started rewriting small chunks of it in Lua, and now I'm 100% migrated to init.lua. I think it's a little cleaner this way, but not a life changer. The real power of Lua is for plugin authors.

← PreviousPage 2 of 9Next →