HNHacker News
TopNewBestAskShowJobs

badsectoracula

8,747 karma · joined August 13, 2009

Mail me at badsector@runtimeterror.com
submissionscomments
badsectoracula··on Malicious Rust crate Arrayref runs a build-time payload
> Nobody can agree on what those common things are in a general purpose langusge though.

Well, then take the Lazarus / Free Pascal's approach and just put everything :-P. It isn't like code takes THAT much space.

If you install Lazarus you get a ton of stuff out of the box, aside from the crossplatform WYSIWYG RAD IDE and desktop application framework you also get 2D graphics libraries (with a bunch of image i/o), networking libraries, (de)compression libraries, a webapp framework, database clients, parsers for json, xml, markdown, javascript and a bunch of other stuff (even a parser for the language itself), a TUI framework, bindings for a bunch of external libraries and other stuff.

And all that stuff (or at least most of it) work on all the platforms the compiler supports. Yes, using FPC you can probably (didn't try) make a pretty markdown viewer with inline JPG and PNG display support that runs on Windows 3.1 :-P.

Unfortunately some people are trying to break this and introduce online package management, but so far at least FPC and Lazarus comes out of the box with not just batteries included but an entire carton of batteries just in case :-P.

badsectoracula··on Stop Anthropomorphizing Intermediate Tokens as Reasoning/Thinking Traces (2025)
> Thinking traces should be treated as black boxes. There is no point in reading them.

Just a few minutes ago i was reading Qwen 3.8 27B's reasoning when i asked it to do something that was computationally intensive and it started going down the rabbit hole of doing it using some GPU acceleration approach - even after leaving it to "think" for a bit, it never realized there is another and simpler way. So i stopped the generation and added a "note" saying that as the problem is computationally intensive, it could become much faster if using an alternative approach.

At least in my experience (with local LLMs, i don't know how the cloud stuff behaves) what LLMs "do" tend to correlate with what they "think", so being able to read what they "think" is valuable.

badsectoracula··on Version Control for Everything
The issue you describe seems to be related to the tools you're using and how you use them, not to the core idea itself.

I've worked in several gamedev companies where everything was in a Perforce repository. In fact in one company EVERYTHING was in it, not just code and game data, but also documents, concept art, plans, everything. If it wasn't in P4, it didn't exist.

Yet nobody thought it was a pain (after learning to use P4V at least :-P but that's a different topic) because P4 a) can handle big files just fine and b) you don't really care about the history of the entire repository, but only about the part you're working on. For example personally i had my history tab display just the engine's code directory (and even then i rarely checked it since i don't really care what Joe working on the animation code did, my main interest was on the stuff i worked - and P4V showed me both if someone else is working on the same files i am and if my files have been modified, with easy GUI tools to see both diffs and the file's development history visually - the timeline feature is honestly great for that).

Perforce has some fundamental issues in how it works that creates problems, probably because of some deeply ingrained assumptions stemming from the 90s when it was first made that were never addressed, but it also has a lot of features (especially on the P4V GUI client) that makes working on a huge monolithic repository where everything goes in pretty much seamless.

badsectoracula··on Os8088.com: IBM XT OS now has a Browser, CP/M 2.2 with Z80 core and MS Word 1.1a
Since you're here let me ask a question i had the last time i saw this project: how does your AI handle the ginormous SPEC.md file?[0] (last time i saw it Github was still able to display it :-P).

Are you feeding the entirety of it to Claude (i guess)? Doesn't that eat pretty much all context - and considering that (AFAIK) the spec file has everything about the OS, doesn't available context space put some sort of "hard ceiling" to what you can add to the OS?

[0] https://github.com/jggonz/os8088/blob/main/SPEC.md

badsectoracula··on Os8088.com: IBM XT OS now has a Browser, CP/M 2.2 with Z80 core and MS Word 1.1a
FWIW "slop" seems to have become a more general slang nowadays, i see people use it on Discord and Twitch to describe all sorts of stuff often unrelated to AI.
badsectoracula··on Os8088.com: IBM XT OS now has a Browser, CP/M 2.2 with Z80 core and MS Word 1.1a
TBH Windows 1.0 (and to a lesser extent Windows 2.0) looked awful compared to Macintosh which is probably why the author decided to go with that. Digital Research agreed since they also made GEM at the time look very mac-like (and got sued by Apple for it :-P).
badsectoracula··on Xwayland 26.1.0 rc1
My main WM is Window Maker but i use KDE Plasma for secondary accounts when i want to try stuff without 'polluting' my main user account.

I can only use X11 with KDE Plasma because, for some unfathomable reason, if i launch `startplasma-wayland` pressing ANY key on my keyboard causes it to crash.

Like. How.

badsectoracula··on Solo – a .so loader for static Linux binaries
AFAIK glibc is backwards compatible as long as a) your program is running on a newer version (i.e. you're not trying to dynamically link against an older version) and b) you're not using hidden/undocumented symbols.

In which case as long as you're using the documented public API and compile your program with the oldest version of glibc you want to support (some Ubuntu from 4-5 years ago should cover pretty much every current desktop) you should be fine. And with something like Docker this is trivial to do.

Sure it is annoying that you cannot use your current distro (especially if you use some rolling distro) to make binaries for everyone, but it takes very little effort to work around that. The only issue i can think of is if you absolutely want to compile using the latest version of your compiler and you cannot build the compiler from source to work in the Docker (or whatever) contain to work against the older glibc.

badsectoracula··on Qwen3.8 27B scores 52 on Artificial Analysis
Supposedly Qwen 3.8 27B has less "world knowledge" (i.e. anything outside coding) than Qwen 3.6 27B or earlier so depending on what you do you may want to keep a copy.
badsectoracula··on AI;DR (AI; Didn't Read)
I find amusing that both Claude and ChatGPT realized the "hackers" in "a lot of people on hackers that like to complain about stuff" was about "Hacker News" :-P
badsectoracula··on Turbo Pascal on CP/M, MSX-DOS and MS-DOS
You don't need to wait for someone to use Claude Code for this as it already exists and existed for many years now:

https://www.lazarus-ide.org/

badsectoracula··on Qwen 3.8 27B
> I sure hope my boss doesn't think he built my work! He'd probably get fired pretty quickly during on call!

Your boss is a human.

This is a computer program running on your PC.

I hope you can see the difference.

badsectoracula··on Delphi 13 Community Edition Is Now Available
> they are the ones driving the language evolution, FreePascal follows

That is not the case, Free Pascal has improved the language before Delphi and Delphi followed, e.g. FPC added generics before Delphi and more recently it implemented management operators before Delphi.

One big annoyance though is that when Delphi does decide to implement some language feature introduced by Free Pascal they implement it using an incompatible syntax which is petty (at best). FPC then has to support both their own syntax (usually in OBJFPC mode) and Delphi's syntax (usually in DELPHI mode) to let people share code between FPC and Delphi.

badsectoracula··on Delphi 13 Community Edition Is Now Available
I'm not sure how you find Free Pascal "ugly" while Delphi not so considering that they're 99% the same language (up that to 99.9% when you compile Pascal code in "Delphi mode") :-P.

> Hi-DPI. Did not test, but questionable that Free Pascal got it right.

Free Pascal is the compiler and has nothing to do with Hi-DPI. Lazarus is what you probably have in mind and does Hi-DPI (in fact it can do Hi-DPI even with widgetsets like Gtk2 that themselves do not have support for it).

badsectoracula··on Os8088: A powerful Mac-like OS for the IBM XT, 286, 386
Nice, Solitaire in 7KB of RAM[0]. Sadly it only says "You win!" if you win, no bouncing cards animation :-P.

[0] http://runtimeterror.com/pages/iv/images/b869a0cf44a7e7cbc40...

badsectoracula··on Let's all meet up in the Y2K
> Diesel jeans and jumper, Deliverance food box on the partition (decades before Deliveroo, Just Eat, Uber Eats, etc).

Might be me being a millennial, but I love the 90s/early 2000s "edge", calling a delivery service "Deliverance" :-P

badsectoracula··on Qwen3.8-Max: A New Bar for Coding and Cowork
Your statement comes in extreme contrast with my experience using local LLMs for more than year now. Qwen 35B-A3B, even its Q4 quantization, is extremely capable. Hell, at this point i pretty much turn on my PC, then run llama-cpp just to have it in the background for when i need it to do stuff.
badsectoracula··on SwiftUI After 7 Years
This is an optimization that some GUI systems do but it is not inherent to "retained mode" GUIs, does not apply to all systems nor all systems use it. I remember GUI systems even from late 90s/early 2000s composing their widget trees afresh when needed (and in games it was pretty much always the norm for GUI systems to work like that after engine started taking GPUs for granted). Some would limit the refresh to widgets overlapping the damage region reported by the OS (if a compositor was not running, for OSes since Vista) but even that is just an optimization.

On the other hand immediate mode GUIs are inherently like that because that is their core premise.

badsectoracula··on Zed DeltaDB
You mean wasabi or whatever it was called?

It may seem weird nowadays but at the time it made sense since wasabi was "transpiling" VBScript (on which their existing codebase was written since they were all into Microsoft products at the time) to other languages in environments where VBScript didn't exist (e.g. IIRC they could transpile to PHP - and there isn't "one" PHP).

They were basically making shrink-wrap software running on an environment (the web) that wasn't made for shrink-wrap software (especially at the time) and came up with a technical solution to it.

FWIW they weren't the only to attempt something like that. HaXe is basically the same idea and was used to port a ton of games from Flash to all sorts of platforms and Monkey was another similar attempt (i think most people aren't aware of these two because they were gaming related and really limited to indie games).

badsectoracula··on SwiftUI After 7 Years
> The difference is that for most games, throwing away the complete rendered graphics and re-rendering from the world model is often the right approach.

Well, that is what "retained mode" GUIs (i.e. those using control/widget trees and such) do too.

The immediate mode GUI to me always felt like an approach came up by people who do not really want to bother doing GUIs. In terms of games it is like mixing logic and presentation in a game like, e.g.

    int x, y;
    while (game_running) {
        draw_sprite(player, x, y);
        if (key_down(LEFT)) x -= 1;
        // etc
    }
basically like in a game that doesn't have a world model with entities etc, just draws sprites directly, handles input directly, etc. Which is very simple for simple stuff but doesn't scale as complexity increases.

Same with immediate mode GUIs and i don't think it is a coincidence that the more complex an imgui gets, the more it starts looking like a "retained mode" GUI and the gnarlier the code becomes.

badsectoracula··on Qwen3.8-Max: A New Bar for Coding and Cowork
Kimi K3 is more like "weights available" in that you can download and use them but it is under a custom license that has a bunch of limitations where you have to pay Moonshot for doing some stuff. GLM 5.2 on the other hand is plain old MIT.

Not sure how Qwen3.8-Max is going to be licensed, hopefully it'll be Apache like the smaller ones.

badsectoracula··on Qwen3.8-Max: A New Bar for Coding and Cowork
A local model needs 0 investment and 0 commitment, takes literal minutes to get started (especially if you have someone who is into that stuff showing you the ropes) and if you end up disliking the experience of using AI you can just `rm -fr` it and forget the whole thing existed.
badsectoracula··on 2x, not 10x: coding with LLMs in 2026
People are still figuring out how to use LLMs/AI and considering how feelings based and hard is to reproduce many of the results people get, a lot of the improved approaches are basically at "trust me bro" reliability.

TBH i expect it'll take several years before people largely settle on what works good and what works bad (or doesn't work) and that's assuming things wont chance in a massive way during that time.

And this isn't really anything new, people rarely come up with some new way of programming and have everyone learn and understand best uses from the start - it takes years (and that is assuming everyone will agree that'd be something worth bothering about).

badsectoracula··on 2x, not 10x: coding with LLMs in 2026
Personally i'm only using local LLMs that i can run on my 7 year old PC (that also has a GPU with 24GB VRAM because reasons :-P) so i'm not sure how much that experience matches what others are doing (though roughly speaking what i see people complain about Claude doing doesn't feel that different from what i see the local stuff doing, so i guess the drawbacks aren't scaled down as model sizes increase).

I'm not sure about 1x, 2x or 10x increase as these metrics are about code written but that isn't a productivity metric (something pretty much every half-decent programmer would agree with before LLMs - remember stories about Bill Gates saying that more LoCs being good for software is like more weight is good for airplanes or Bill Atkinson's story about adding -2000 LoCs to improve QuickDraw?).

But they can certainly help "get you going" faster in that if you're stuck on something (for whatever reason - including "that feels too much drudgery") or have issues starting something, you can have an LLM take a stab at it and it'll produce "something". Sometimes it is enough by itself, but more often than not it'll need tweaks (either directly or having the LLM do it). I got to make a bunch of things i couldn't convince myself to do - e.g. an image viewer that doesn't suck (based on my arbitrary judgement), a game database, a script to convert a git repository into static html pages that kinda look like GitHub, etc.

They can also help find (and sometimes fix) bugs or other "code smell" issues. They're not that great for exact results (without tool calling -and knowledge on how to use them effectively- at least) but when it comes to fuzzy / vague stuff like "check out this code <code dump here> can you spot any issues?" they always tend to find some stuff (even if it is hallucinations :-P but sometimes they find actual issues too or whatever hallucination they come up with reveals some actual issues with the code that you didn't spot by yourself). I've been dabbling with Rust recently and asked Qwen 3.6 35B-A3B to judge my code and it wrote "6.5/10, will compile but looks like C in Rust" :-P.

The article says:

> Never write READMEs, docstrings, or comments. I will write those myself later. And yes, I really mean this.

And sure, LLMs aren't that great about those (i do let them leave whatever comments they want though and remove them later myself - i think those comments help during the generation/prediction - basically how they "think", kinda like the reasoning phase), but they can be very good at things like "here is the code, here is the documentation for it, spot discrepancies" (i had Devstral Small 2 do this and it hallucinated a few discrepancies but also found real stuff i missed in the docs).

I've tried to use Devstral Small 2 for some API docs but found it'd sometimes make assumptions about what function do or how. One approach that might work, but i haven't tried yet, is to write the "guide" myself, then have the LLM write the function docs using both the guide and the code as reference. The reason i think this will work is because it got things 95% correct just having access to the function code alone (and without the rest of the codebase), so the "guide" would help it reach 99%. I do not expect it to get to 100% so a manual edit pass will need to be done anyway (and i have an idea for a tool to assist in the manual edit pass for that - a tool that i'll probably get an LLM to write - BTW good luck coming up if all that stuff would increase or decrease productivity for an actual product and not some random stuff i'm toying with :-P).

One other thing i've also found LLMs useful recently is to have them use the stuff you make and see how they try to use it. I have an old project, a GUI toolkit i've been hacking on every now and then since 2011 or so, though it was never a priority. Yesterday i decided to dump all the header files to Qwen 35B-A3B (i use 4bit quantization that gives me a 256k context - it isn't particularly smart but it is neat to not have to micromanage context size like i have to do with Devstral Small 2 or Qwen 27B where both of them aren't very usable speedwise at anything above 32k context sizes).

Then i asked it to just make a few small programs and it did[0] (the shot shows a paint app, a calendar, a todo list and a unit converter). Pretty much every program found bugs in the library :-P and gave me ideas on how to improve things.

In general i get the impression that LLMs aren't great at architecting things but if you do the architecture yourself and write them a framework to use, they should do a fine job at it.

[0] http://runtimeterror.com/pages/iv/images/d50c436990db203a07f...

badsectoracula··on Claude: Elevated errors across all models
Well, they could use GLM or K3... :-P
badsectoracula··on So, you want to make a game engine (2023)
> I'm watching a friend, claiming he wants to make a game company, burn through all of this money instead making a game engine. If he succeeds, great! But I suspect he'll just run out of money before he's even started working on a game. If it was fun to make, great too. But I think he'll look back on it as throwing away an oppotunity.

Been there, done that, didn't regret a thing since i'm certain i'd have given up way earlier (assuming i'd ever bother starting) if i had to use an existing engine :-P.

(ok, i never had money to "make a game company", the most money i ever had was to be able to spend ~2 years living frugally while making my own stuff, but it is close enough since i think someone could say i should have used some existing engine instead - which is true, except i'd hate doing that)

There are people who want to make games, people who want to make engines and, perhaps a minority, people who want to make games and engines :-P.

(though FWIW in my case i never felt the tech side was much of a limitation, it is art/content that ends up being the bottleneck and makes everything crawl down and the stuff i like to do aren't the kind of stuff you could do with procgen, minimalistic styles or other similar approaches for saving on the art/content side)

badsectoracula··on So, you want to make a game engine (2023)
The first time i tried to make a game engine i didn't knew how to make a game engine and failed. The second time, same thing. But eventually i did manage to make a game engine. I even got to work professionally into making game engines for years. Nowadays i can make a game engine just fine.

Sure, trying to make a thing you don't know how to make will most likely end up with you not making it, but that is the case for pretty much everything.

badsectoracula··on So, you want to make a game engine (2023)
(Considering the linked section) that is more or less how Petra Engine[0] came to be - making a gamejam game[1] for MSDOS over a few weeks. Though while i did make it for that specific game, i always had in mind that i may want to use it for other games in the future too so i tried to make it more "generic" and keep the engine and game bits separate while avoiding too many game-specific stuff (didn't fully manage it though - in the end i've been removing PAP-specific things and a bunch of hardcoded stuff over the years whenever i feel like using it).

That said, despite making a bunch of demos[2][3][4][5] since 2021 when i made the game, i never made any game using it after that as i always lose interest - perhaps i do need to be making an engine from scratch to keep myself interested :-P.

[0] http://runtimeterror.com/tech/petra/ (note the version is very old and i've made a lot of improvements since then - this includes the Codeberg repository which i'll move somewhere else at some point)

[1] https://bad-sector.itch.io/post-apocalyptic-petra

[2] http://runtimeterror.com/pages/iv/images/44d7537fb719e00fdcd...

[3] http://runtimeterror.com/pages/iv/images/d22ff83dd5e5109e02e...

[4] http://runtimeterror.com/pages/iv/images/1da6a4bce430a8d8507...

[5] https://www.youtube.com/watch?v=zx9KmkTLcB0

badsectoracula··on Kimi K3 built a Windows XP in browser
Looks neat (and despite trying to simulate a WinXP-like UI it relies enough on the native web stuff that Firefox can translate the Chinese to English without breaking much) but some more information would be great: how was it made? E.g. was it just some one-shot "make me a website that looks and functions like WinXP?" or was there more to it?

The link at the bottom right does mention that it was "user edited" but that could be some generic message and clicking on the "Kimi Agent" seems to just put me in an empty chatbot.

badsectoracula··on Codeberg bans vibe coded projects
Can't you respond to a message without barely relevant comparisons? :-P

> If you are worried it's too much, "the wrong kind", whatever, you simply ask them.

If you have to ask them, then having terms of use is pointless. The entire point of ToU is to explain how one can use the service, if you have to "ask" then the terms are not doing their job properly.

Of course people aren't perfect and can write vague or misleading ToU - and considering i've seen the same questions about that "mostly" part here, on Reddit, on Mastodon, on Twitter, on Discord, on blogposts and even their bugtracker[0] where they claimed their blog post on the matter will clarify things, which it didn't, there is no question that the terms are inadequate here - but the response to that isn't to try and guess what they possibly could mean, the response is for the terms to be clarified.

If Codeberg wanted to tell people who use LLMs in their projects that those projects are not welcome there, then they should have put that in their terms of use in clear and unambiguous wording.

[0] https://codeberg.org/Codeberg/org/pulls/1253

← PreviousPage 2 of 34Next →