Nice one, I remember writing a 2D graphics library in Turbo Pascal using embedded hand-optimised assembly for the actual drawing code when I was your age, but that was back before I discovered the internet so it ended up being something I'd enjoyed writing but never did anything with, so well done on taking the next step turning it from a personal project to one that other people can see and maybe use themselves - it…
Show HN: I spent 6 months building a C debugger as a 17-year-old
51–60 of 145 posts
Re: Show HN: I spent 6 months building a C debugger as a 17-year-old
#52Earlier quoted context omitted.
Thanks for pointing me to those projects! I didn't know about any of them.
We (Rizin and Cutter) usually participate in GSoC, so if we are accepted next year as an organization, you could apply. See our previous programs[1][2][3]. [1] http://rizin.re/gsoc/2023/ [2] https://rizin.re/posts/gsoc-2023-announcement/ [3] https://rizin.re/posts/gsoc-2023-dwarf/
Re: Show HN: I spent 6 months building a C debugger as a 17-year-old
#53Earlier quoted context omitted.
I'm impressed too, this is an excellent head start. Years later as a still-young technology enthusiast it would be likely that even more impressive projects will be accomplished. By then it may be largely unknown how advanced this was at this young of an age. Simply because there will be other sharp minds that do impressive stuff but only got started in their 20's, and reaching the same age they would be considered b…
Why is the advantage of early learning and understanding “unfair”?
Re: Show HN: I spent 6 months building a C debugger as a 17-year-old
#54Looks especially clean, consistent and well-modularised, tackling a problem that requires non-trivial knowledge about binary formats and kernel APIs. Many "senior" programmers would struggle to build something like this even at a conceptual level. The antithesis of "kids these days" :-) Out of curiosity, how does a 17-year-old attain that level of knowledge? Books, peers, programming clubs, parents who are programmer…
It's mostly books and blogs: I like to read a lot. Also, your guess is correct, my dad is a computer scientist.
Re: Show HN: I spent 6 months building a C debugger as a 17-year-old
#55Looks especially clean, consistent and well-modularised, tackling a problem that requires non-trivial knowledge about binary formats and kernel APIs. Many "senior" programmers would struggle to build something like this even at a conceptual level. The antithesis of "kids these days" :-) Out of curiosity, how does a 17-year-old attain that level of knowledge? Books, peers, programming clubs, parents who are programmer…
Re: Show HN: I spent 6 months building a C debugger as a 17-year-old
#56Now make it work for other common CPUs (aarch64, RISC-V).
Make it work for other OSes (FreeBSD has ptrace, for example).
Make sure it handles signal and thread trampolines, calls through the VDSO, and handwritten assembler that does not have function prologues. Handle C++ constructors and destructors of objects in static storage running before/after main().
Have it intercept signals. Have it follow the child or the parent after forking. Have it handle multiple threads.
Make it work with coredumps.
Make it work on core dumps from a foreign CPU architecture (big-endian PowerPC, for example).
Make it work with debug symbols in separate files from the executable.
Make it work with binaries compiled from languages other than C.
You're going to be busy for the next 20 years or so.
Re: Show HN: I spent 6 months building a C debugger as a 17-year-old
#57So, only self-hosted debugging on x86_64 Linux. A good start. Now make it work for other common CPUs (aarch64, RISC-V). Make it work for other OSes (FreeBSD has ptrace, for example). Make sure it handles signal and thread trampolines, calls through the VDSO, and handwritten assembler that does not have function prologues. Handle C++ constructors and destructors of objects in static storage running before/after main()…
Re: Show HN: I spent 6 months building a C debugger as a 17-year-old
#58So, only self-hosted debugging on x86_64 Linux. A good start. Now make it work for other common CPUs (aarch64, RISC-V). Make it work for other OSes (FreeBSD has ptrace, for example). Make sure it handles signal and thread trampolines, calls through the VDSO, and handwritten assembler that does not have function prologues. Handle C++ constructors and destructors of objects in static storage running before/after main()…
Re: Show HN: I spent 6 months building a C debugger as a 17-year-old
#59Cool project, but as other commenters have pointed out, the self-promotion of off-putting. Don't hold on to using your age as a qualifier to make you stand out in job applications or otherwise.
Re: Show HN: I spent 6 months building a C debugger as a 17-year-old
#60So, only self-hosted debugging on x86_64 Linux. A good start. Now make it work for other common CPUs (aarch64, RISC-V). Make it work for other OSes (FreeBSD has ptrace, for example). Make sure it handles signal and thread trampolines, calls through the VDSO, and handwritten assembler that does not have function prologues. Handle C++ constructors and destructors of objects in static storage running before/after main()…
Yeah, I don't think so. It's x86_64 only, and C only too. Some points from your list make sense now, but most of it is simply not part of Spray's scope, and never has been ...