HNHacker News
TopNewBestAskShowJobs

mappu

5,913 karma · joined September 10, 2011

Software engineer, Christchurch, New Zealand.

Spare-time projects wind up here: https://code.ivysaur.me/

submissionscomments
mappu··on Not paying with cash
I think a lot of the motivations are AML. Suica has a low maximum balance, that probably restricts the nefarious use cases.
mappu··on How to run latest Vegas Pro 22 in Windows 7 x64
Or they might not - this is two blog posts back: https://trackerninja.codeberg.page/post/a-couple-of-days-ago...
mappu··on About Containers and VMs
VMs also don't always require hardware virtualization - Alibaba's PVM https://lkml.org/lkml/2024/2/26/1263 didn't get upstreamed, but, theoretically the MMU is all you need for complete isolation. This kind of idea is also how VM software worked before VT-x was introduced. And of course QEMU has the TCG which works with no kernel support at all.
mappu··on From M1 MacBook to Arch Linux: A month-long experiment that became permanenent
Trixie now has go1.24 - including the upstream default GOTOOLCHAIN value to automatically download new compiler versions straight from go.dev if the go.mod wants them.

I was a bit surprised this is not a Debian Policy violation (and any Debian patches for security support may no longer apply), but at least the user experience will "just work". Cross-reference https://bugs.debian.org/1040507 .

mappu··on FFmpeg 8.0
Kostya did a lot of the RV60/RMHD reverse engineering work for NihAV back in 2018! His blog also talks about the GPL violations from Real.

The old RV40 had some small advantages over H264. At low bitrates, RV40 always seemed to blur instead of block, so it got used a lot for anime content. CPU-only decoding was also more lightweight than even the most optimized H264 decoder (CoreAVC with the inloop deblocking disabled to save even more CPU).

mappu··on FFmpeg 8.0
NVENC/NVDEC could do part of the processing on the shader cores instead of the fixed-function hardware.
mappu··on AWS in 2025: Stuff you think you know that's now wrong
My understanding is some AWS products (e.g. RDS) need very fast disks with lots of IOPS. To get the IOPS, though, you have to buy +++X TB sized SSDs, far more storage space than RDS actually needs. This doesn't fully utilize the underlying hardware, you are left with lots of remaining storage space but no IOPS. It's perfect for Glacier.

The disks for Glacier cost $0 because you already have them.

mappu··on FFmpeg moves to Forgejo
A more charitable framing of the situation is: the for-profit company is because people always complained about Gitea "why is it developed on GitHub, not your own hosting" but that means money has to be involved in the cloud hosting project; it is just the same Gitea core developers it has always been, not a takeover.

The "open core" (Gitea Enterprise) is not Gitea, it is a downstream fork by CommitGo, who you can pay for contract development for custom features. The features are expected to be upstreamed, there are open PRs, they just don't yet meet Gitea's code review standards. You can run them from the PRs if you like.

mappu··on PuTTY has a new website
One assumes PuTTY uses Courier as the default font because it was the default monospace font on Windows at the time of release (1999). But Consolas has been the replacement default since Vista (2006).

It is a reasonable change to make. Do the rest of their native Win32 UI controls still use MS Sans Serif (Windows 98) or Tahoma (XP) instead of Segoe UI (Vista)?

mappu··on RISC-V single-board computer for less than 40 euros
Performance aside, is it feasible for those extensions to trap and emulate in the kernel? Like old ARM Softfloat or linux/arch/x86/math-emu ?
mappu··on Show HN: Play Pokémon to unlock your Wayland session
He said (2023) it needs an extension protocol or per-compositor work - so screensaver support is available in KDE using the Screen Locker integration, just no port was done AFAICS.

A general "wayland" protocol for it didn't exist back then, but in this thread we see ext-session-lock exists now, and jwz was recently trying to use it where available: https://www.jwz.org/blog/2025/07/xscreensaver-wayland-and-lo... so you might see an xscreensaver port soon.

mappu··on Show HN: Play Pokémon to unlock your Wayland session
What modern display manager doesn't let you? In KDE the screensaver is merged into the screen locker settings, you can pick any "wallpaper plugin" which includes slideshows, video, or animation if you plug in e.g. https://store.kde.org/p/2143912 or https://store.kde.org/p/2194089
mappu··on PHP 8.5 adds pipe operator
Every single one of those steps buffers into a temporary variable - this isn't efficient like a bash pipe.
mappu··on Show HN: I spent 6 years building a ridiculous wooden pixel display
There's a full colour one of these in the entrance hallway inside the Berlin Technikmuseum, near the Zuse exhibit - there are 12800 cubes, each with 4 colours: https://www.youtube.com/watch?v=BfWFLnsy6QA
mappu··on Samsung Removes Bootloader Unlocking with One UI 8
The main reason IMO to block rooting is to stop resellers selling phones with preinstalled malware. If the phone has two Amazon/Aliexpress sellers, you're going to pick the cheaper one right? With who-knows-what alterations? It's a really prevalent problem and most people are not going to notice the "insecure" warning at bootup.
mappu··on Gitea Private, Fast, Reliable DevOps Platform
> What is the scoop on the schism leading to forgejo? Like, the actual reason

My 2c as an outside observer - It is all about sponsored work.

Gitea long wanted a CI feature but from the outside, all anyone could see, was a Drone/Woodpecker integration. Codeberg started to spend a lot of time investing in this.

Then one day, Lunny(? i think) appeared suddenly with a fully compliant and working Github Actions CI implementation. The development had been done under a private sponsored contract.

It's great that Actions was managed to be open sourced. It's significantly better. But Codeberg really took it the wrong way and started agitating and sponsoring a fork. Nobody wants to be left in the dark.

There is a huge amount of interest in Gitea (and its forks). Everyone wants this to remain MIT, and it obviously will since there's no CLA. IMO all the "gitea company" stuff is about having a better legal structure for contract work on big features like that. That contracting is happening anyway so it may as well have a good legal structure.

Forgejo PR managed to twist that good announcement into seeming as a conflict of interest, because the "Gitea" name was reused for two different concepts. Now that it's CommitGo as the (legally independent) contract development agency, it's much clearer. There is a Gitea company as well but it just needs to hold trademarks and domain names and cloud stuff.

It's really a story of some great developers maturing into a more sophisticated legal and contractual level. The model is quite good, similar to e.g. Debian being the community project and Freexian being one of many commercial contractors for it.

Anyways, compared to Forgejo today, Gitea has the most development activity, all of the core developers, and Forgejo have given up tracking Gitea's main branch and are now adrift. Best of luck to them.

> Secondly, how do get in contact with contributors for sponsored work?

CommitGo is the legal vehicle for contracting the core developers. For other contributors, bounties are managed via https://algora.io/go-gitea/home

mappu··on Gitea Private, Fast, Reliable DevOps Platform
The SAML support in https://github.com/go-gitea/gitea/pull/29403 seems like it will get merged once the MR is a little bit higher quality.

EDIT (bit better source):

> Gitea Enterprise is an offering of CommitGo, not the Technical Oversight Committee of Gitea or the Gitea project itself. CommitGo remains committed to contributing back functionality to Gitea under the MIT license.

Via https://blog.gitea.com/gitea-enterprise/#faq

mappu··on Gitea Private, Fast, Reliable DevOps Platform
My personal VPS was recently inundated with 800GB/month of traffic from AI scraper bots. Upon a bit of investigation they were getting stuck in some deep git history pages. I looked into Anubis and the like, but making carveouts for API endpoints seemed complicated.

Luckily the Gitea devs had recently implemented `REQUIRE_SIGNIN_VIEW = expensive` as a fix. It was minimally invasive for regular users, most pages can still be accessed without login, and it completely solved the AI bot problem, my traffic and load averages are back to normal.

Thank you Gitea devs for a great product, happy user for over a decade both personally and professionally.

mappu··on KiCad and Wayland Support
The first google result for 'autokey wayland' is someone recommending https://espanso.org/ , that looks like it has good Wayland support. And you only need look at OBS to see screen video capture is perfectly possible on Wayland.

Who is saying those are impossible use cases? I think your two apps have just not updated, that happens often with software.

mappu··on HeidiSQL Available Also for Linux
Heidi is the best, this is really wonderful. I had been using MeowSQL as an imitation client which was fine, but having the real HeidiSQL again is such a nice feeling.

The deb package here didn't run for me on Debian 12 nor under distrobox Ubuntu, i think the dependency list needs a little attention, but that can be easily solved.

mappu··on Codex CLI is going native
Looks open-source to me - https://github.com/openai/codex/tree/main/codex-rs
mappu··on My five-year experiment with UTC
I've only heard "metric time" refer to strictly powers-of-ten seconds (kiloseconds / megaseconds / ...), not your fractions of a day.

Have you seen the French revolutionary decimal time? It's closer to your proposal but with 10 hours/day instead of 25, for more consistency.

mappu··on Reverse engineering of Linear's sync engine
If you're using AI to write all those em-dashes, please add a disclaimer.

For humans i would say a shorter summary is Linear.app syncs a client IndexedDB with the server using naive last-write-wins, no conflict detection, no OT, no CRDT. There's a global sync ID that the server is in control of. Most of the article describes minutae of the json schema.

mappu··on U.S. sanctions cloud provider 'Funnull' as top source of 'pig butchering' scams
I'm interested in that band if you have recommendations, though!
mappu··on Rocky Linux 10 Will Support RISC-V
The DT should really be put in the firmware (e.g u-boot), same as ACPI on x86 is in the firmware (the bios/efi).

Then you wouldn't need a unique kernel/OS image. For devices that have u-boot in ROM the DT is usually there (fdt).

mappu··on Understanding the Go Scheduler
GOMEMLIMIT is not as easy, you may have other processes in the same container/cgroup also using memory.
mappu··on Show HN: I vibe coded an open-source Go app to back up DBs using Docker labels
> This project is open-source and available under the MIT License. (Assumed, please add a LICENSE file).

Did AI write the README.md as well?

I love what you've made, docker label orchestration is really convenient, but I would be extremely uncomfortable relying on a vibe-coded backup system.

mappu··on Updated rate limits for unauthenticated requests
The development energy has not really moved, Gitea is moving much faster. Forgejo is stuck two versions behind and with their license change they're struggling to keep up.
mappu··on I ruined my vacation by reverse engineering WSC
> It is annoying that there isn't a switch that says "I know how to operate a computer".

I found one such switch: Install Linux

mappu··on Lazarus Release 4.0
In Qt you should use the model/view framework if possible. It gives a virtualized list with a render callback. https://doc.qt.io/qtforpython-6/overviews/qtwidgets-model-vi...
← PreviousPage 3 of 34Next →