HackerTrans
TopNewTrendsCommentsPastAskShowJobs

hexer303

no profile record

Submissions

Show HN: Agent that refuses to run commands without human approval

github.com
12 points·by hexer303·3 miesiące temu·5 comments

Show HN: A collaborative SSH copilot for on-calls/DevOps/MLOps

github.com
8 points·by hexer303·3 miesiące temu·2 comments

comments

hexer303
·28 dni temu·discuss
I just finished a similar project for fun and education.

It was a 20-year-old codebase from my old game in win32 and DirectX 9.

I first ported it to native and also switched to bgfx for rendering. This was the bulk of the work - converting all of the old DirectX fixed function pipeline code to shaders. Luckily all modern shaders can simulate all of the old fixed-function DX pipeline features with little effort. Including the coordinate system. Loading DDS textures didn't present a major challenge either.

Had similar native asset loading as yours - no deserializer. It loaded an entire asset file into a preallocated memory block, used packed structures and converted file offsets to pointers after loading. I had to convert it to 64bit for native first.

The most surprising thing: I had no idea WASM is 32bit until I read your article! Once I ported to 64bit, I then ported to WASM and I didn't even encounter any arch related bugs. In hindsight I guess it's because most of the original code was 32bit and the asset file format is still 32bit format. When I ported to 64bit I used a deserializer, so I guess that's why it all worked out in the end.

For native audio I ended up using SoLoud library, but for emscripten I #ifdef'd it out to use inline JS instead. I figured there is no point in having all that extra audio library code compiling to WASM when modern browsers natively support playing audio, oggvorbis, etc. It worked out ok, but there's still a minor bug where the music doesn't loop perfectly. You can hear a split second gap between end/start. I haven't looked deeply into it yet.

Originally when we wrote the game we had banned ourselves from using C++ Exception handling and RTTI. The decision likely paid off as it makes the generated binary smaller and faster. Although I haven't had time to measure. Supposedly C++ exceptions introduce a much heavier overhead in Emscripten.

You can see the port in action at https://scorchedplanets.com
hexer303
·3 miesiące temu·discuss
Thank you. Not many. I just use the Github copilot $40/month plan and it suffices.

I run it in manual approve mode and review/adjust every edit. Mostly auto-select model at 10% discount, or Claude frontier for more complicated tasks.

My dev process follows the same philosophy as the app itself: AI can suggest, but Human must steer and approve.
hexer303
·4 miesiące temu·discuss
I find that the arguments of whether or not AI boosts productivity is not very productive.

The more grounded reality is that AI coding can be a productivity multiplier in the right hands, and a significant hindrance in the wrong hands.

Somewhere there exists a happy medium between vibe coding without ever looking at the code, and hand-writing every single line.
hexer303
·4 miesiące temu·discuss
Unix shells are conceptually simple but hide a surprising amount of complexity under the hood that we take for granted. I recently had build my own PTY controller. There were so many edge-cases to deal with. It took weeks of stress testing and writing many tests to get it right.