frontpage.
newsnewestaskshowjobs

Open Source @Github

fp.

Show HN: Decomp Academy – Learn to decompile GameCube games into matching C

https://decomp-academy.dev
39•jackpriceburns•1h ago•10 comments

Show HN: Adrafinil – keep a lid-closed Mac awake only while agents work

https://github.com/kageroumado/adrafinil
93•kageroumado•6h ago•56 comments

Show HN: Starglyphs - A constellation puzzle game based on Euler paths

https://starglyphs.com
17•telman17•5h ago•4 comments

Show HN: Shopify UCP is insanely powerful

https://stack412.com/
2•westche2222•1h ago•3 comments

Show HN: Kiso, an open-source publishing engine for Open Knowledge Format

https://oak-invest.github.io/kiso/
11•straumat•5h ago•0 comments

Show HN: Engye – transfer files between any two devices by scanning a QR code

https://engye.fuzzyworld.net/
3•psafronov•2h ago•0 comments

Show HN: KV-psi, using Linux PSI to to trim an LLM KV cache

https://github.com/infiniteregrets/kv-psi
4•infiniteregrets•4h ago•0 comments

Show HN: Hacker News on a train station-style flip board

https://popflame.quickish.space/hn-flipboard/
101•PaybackTony•1d ago•20 comments

Show HN: DBOSify – Drop-in Temporal replacement built on Postgres

https://github.com/dbos-inc/dbosify-py
84•KraftyOne•3d ago•19 comments

Show HN: E3d-pod2vid – AI pipeline that turns podcasts into YouTube-ready videos

https://github.com/spacepacket1/e3d-pod2vid
2•spacepacket•4h ago•0 comments

Show HN: Smart model routing directly in Claude, Codex and Cursor

https://github.com/workweave/router
202•adchurch•1d ago•110 comments

Show HN: WebBase-III – dBASE III rebuilt in the browser with its own interpreter

https://github.com/DDecoene/WebBaseIII
94•ddecoene•3d ago•27 comments

Show HN: Autofit2 – End-to-end pipeline for multilingual text classification

https://github.com/neospe/autofit2
28•leschak•2d ago•2 comments

Show HN: Wind particles on Mapbox from a single EXIF JPEG

https://www.us-wind-particle-map-demo.mapbox-exif-layer.com
3•zifanw9•8h ago•0 comments

Show HN: I made Google Trends for Hacker News by indexing 18 years of comments

https://hackernewstrends.com
799•ytkimirti•2d ago•154 comments

Show HN: A Living Neural Web in HTML5 Canvas

https://techoreon.github.io/verpad/canvas-playground.html
6•guptalog•10h ago•3 comments

Show HN: Turn images into audio that can be decoded with a spectrogram

https://nsspot.herokuapp.com/imagetoaudio/
9•jupr•3d ago•4 comments

Show HN: Turn native language audio into flashcards and shadowing practice

https://lingochunk.com/try
91•alder•2d ago•37 comments

Show HN: Overfitted a 900KB Transformer to Compress a 100MB CSV into 7MB

110•spidy__•4d ago•66 comments

Show HN: OpenKnowledge – open source AI-first alternative to Obsidian/Notion

https://github.com/inkeep/open-knowledge
372•engomez•2d ago•170 comments

Show HN:I got tired of spending 3hrs daily on job applications,so I automated it

https://jobspire.co.in/
4•cbyteai•11h ago•2 comments

Show HN: The TypeScript Semantic Layer for ClickHouse

https://github.com/hypequery/hypequery
6•lureilly1•17h ago•4 comments

Show HN: Bible as RAG Database

https://www.crosscanon.com/
159•jacksonastone•3d ago•92 comments

Show HN: Aerial-autonomy-stack – open-source perception-based drone swarms

https://github.com/JacopoPan/aerial-autonomy-stack
4•SufficientFix42•13h ago•0 comments

Show HN: Answer questions and see which countries share your personal values

https://jaylol.com/values-survey/
4•marifjeren•6h ago•0 comments

Show HN: Open Tag, the open source Claude Tag

https://github.com/CopilotKit/OpenTag
4•nathan_tarbert•15h ago•0 comments

Show HN: Play puzzle games in a feed like TikTok

https://puzzle.express
6•trancence•17h ago•4 comments

Show HN: Nub – A Bun-like all-in-one toolkit for Node.js

https://github.com/nubjs/nub
275•colinmcd•3d ago•80 comments

Show HN: Wordit – Change One Letter, Keep the Chain Going

https://victorribeiro.com/wordit/
43•atum47•4d ago•30 comments

Show HN: LookAway, a Mac break reminder that knows when not to interrupt

https://lookaway.com
75•_kush•3d ago•25 comments
Open in hackernews

Show HN: Decomp Academy – Learn to decompile GameCube games into matching C

https://decomp-academy.dev
38•jackpriceburns•1h ago
Over the past few months I've been heavily involved in the decompilation community. I've been hands-on decompiling a beloved game from my childhood (Star Fox Adventures). I started this journey with zero prior decomp experience—and to make things worse I had never really touched C nor assembly either.

Learning how to decompile was challenging. It's difficult to find any good learning resources for it and any open-source projects for this are inactive and/or contain little actual learning material.

So I put together Decomp Academy! Decomp Academy is an interactive way to learn how to decompile PowerPC assembly back into C. The site runs a live Metrowerks CodeWarrior GC/2.0 compiler, converts your C into assembly, and then checks how close your assembly matches the target. If even 1 instruction or bit is off, that's a fail. This is the gold standard for video game decompilation and this is much stricter than a normal decompile.

As of writing there are 250+ lessons on the site and the lessons start at the very basics so anyone with a little programming experience should be able to jump straight in, even if you're not a C expert. Some lessons also have real functions taken from live open source decomp projects (Star Fox Adventures, Mario Party 4, Pikmin, Metroid Prime). The idea being you learn everything you need to know to be able to jump in and contribute to a real decompilation project when done.

The site is completely free, open source and you have access to all lessons without having to sign up. All lessons are stored in markdown in the repo (src/curriculum), it's trivial to add or modify lessons. The site is very new and the lessons are rapidly changing every day with a whole C++ section on the way. The site has already been well received by the decomp community and I'm happy to share it with HN. I'm very keen on others to contribute to this project and I hope this becomes the best resource on the internet for learning the art of decompilation. Please let me know what you think!

Source: https://github.com/JackPriceBurns/decomp-academy-fe

Comments

jackpriceburns•1h ago
The backend is closed source, but it runs all on AWS Lambda/DynamoDB/APIGateway and is written in Rust. Getting the compiler running in a Lambda was an adventure of it's own
rybosome•25m ago
I’d be interested in hearing more detail on that. I’m actually surprised you were able to get the compiler, I assumed it would be expensive and proprietary.
Retr0id•1h ago
I'd love it if there was some way to contribute to ongoing game decompilation projects, with a similarly streamlined web interface - it's something I'd be willing to dedicate some brain time to every so often, but setting up the toolchain etc. feels too much like work.

By the way, I was able to "cheat" on the second lesson with

    void identity(void) { return; }
I gave up at https://decomp-academy.dev/lesson/workflow-what-matching-mea... when I was presented with a wall of LLM-flavoured text
someone2639•1h ago
That's what decomp.me is for, when I'm stuck on a function in my own projects I usually set it up on there and link it in the codebase so anyone can pick it up. Sometimes I like to browse the front page and hope I know enough to silently match somebody else's function (usually stays as a hope though...)
jackpriceburns•1h ago
decomp.me is also a great tool! The playground section of the site allows you to turn the code into a decomp.me scratch. I also use the objdiff wasm on the frontend for the assembly diffing. I don't see much point in reinventing the wheel and these tools are already great, so I'll deffo be leaning on them when I can
jackpriceburns•1h ago
I was thinking of something similar as well, perhaps a section of this site after you've completed the course where we show functions from popular decomp projects that aren't 100% matched, and you can match it. Doing so will magic up a PR or something.. It's a great idea!

As for cheating, the community calls this a fake match. I don't check that the code you submit conforms to what I expect, I only check if the assembly matches. You can do interesting things where you do a series of bit shifts and bit masks, and you can replicate an equality operator `a == b` or a low clamp `x < 0 ? 0 : x`. I'm not sure if I'll lock this down or not, for people who have accounts, I can see their submissions so I think I'll play it by ear and see what happens. If it looks like people are constantly fake matching, I can look at tweaking the lessons or locking it down more

saturn8601•1h ago
Damn this is next level. Congratulations on your achievements!

When Fable was around I thought i'd test it by taking an old piece of Windows software from the late 90s/2000s(ModPlug Player) and seeing how well it could convert it to being a native Mac application.

I was blown away at how it got 85% of the way there in one prompt. Things such as writing a PE extractor, recovering the complete skin, menu tree, full accelerator table, all dialogs, and then it delved into the registry value names as well. Some more prompts got it to 99%(I was happy with that and stopped)

I then took an old 1999 DOS demoscene and yet again it did wonderful magic and got me a native mac build.

I dropped everything I was doing and just started going through all these old apps that I couldn't easily enjoy since im on a Mac. It got to the point where I was losing sleep over it(was just so excited).

The fun ended when I was stopped mid-project with the Fable ban. Opus just does not compare and essentially killed all the enthusiasm after the nth failure of it to complete the task.

It made me realize that among the efforts of the RE community, and the emerging capabilities of these frontier models, in the future we could have the possibility living in a renaissance of open computing if we want any software we see on the market to be forever remixed and tailored to our uses and completely open.

I don't know how the business and legal side will deal with this. There needs to be new frameworks and ways of thinking about this stuff.

I'm just happy that hopefully no code will ever be lost to the sands of time ever again.

jackpriceburns•57m ago
AI is being used in many retro game decomp projects!

One of the reasons I went down the path of learning decomp myself was because AI had hit a wall. Matching decomp is quite a bit harder than just normal decomp as even simple things like using an if/else instead of a terney actually change the assembly. AI did an amazing job of getting to 95% matches on nearly all functions, but once it got to that tail end, it started to struggle quite a lot and would often just claim "it's impossible". So that's when I pivoted and started learning actual decomp myself so that I could prompt AI better and finish off the star fox adventures decomp!

nosioptar•40m ago
This is cool as hell.

On the first lesson, it tells me there's a target on "the right". There isn't anything to the right, I've in clue where to look.

jackpriceburns•38m ago
Are you on mobile? You'll need to switch to the code/review tab to see. I think mobile support is a bit funky, I'll look at fixing that as soon as I can!