Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I still have my day job (working from home), so I haven't had too much time to pursue side projects, but I've been doing a lot of reading lately on Nintendo 64 internals (esp. around the RCP and the microcode thereof) and homebrew, and it's got my head ticking. If all goes well I should be getting an EverDrive-64 X7¹ in the mail in a couple weeks, which will be a boon for (hopefully) eventually putting all that reading into practice. No practical benefit to this per se, but it does seem to be an interesting potential foray into embedded programming, which has always been a gap in my knowledge that I've wanted to fill.

I've also been on-and-off learning Zig, both in support of the above (Zig on the N64 seems to be uncharted territory that I'd love to help explore) and in support of development of a Tcl-like programming/scripting/config language (iterating on my learnings from an earlier project of mine² implementing such a language on top of Erlang/OTP); the latter's something that's been bouncing around in my head for a few years now, and I feel like I'm at the point where I'm ready to start bouncing those ideas into an Emacs buffer, lol (especially now that I've found what seems to be the right host language in which to implement it).

EDIT: oh, and early into quarantine I did submit my first ever patch to wine-staging³ (with quite a bit of help from a couple others, including one of the wine-staging maintainers) to fix a mouse cursor/movement bug in Mount & Blade II: Bannerlord under Wine/Proton. It's a small patch, but it's my patch nonetheless, and it's a surreal and proud feeling to see my name in the commits for software I use almost daily. It's also helped demystify Wine a bit for me, and I look forward to continuing to do my part to make it better.

----

¹: https://krikzz.com/store/home/55-everdrive-64-x7.html

²: https://otpcl.github.io

³: https://github.com/wine-staging/wine-staging/blob/master/pat...



As someone doing mostly C development at work I've really come to enjoy Zig in my side projects at home. At work we are moving a lot of newer development to Rust, which makes sense in terms of safety, the speed we want from C and "modernising"/becoming more attractive as an employer. However, when I'm doing projects for my own amusement at home I want something that doesn't feel like work, and getting into Zig and have something working took me no time. It's so easy to interface with C libraries that I can spin up most things with existing C libraries for the things Zig doesn't already provide itself.


Yep, exactly. I was originally pretty excited about Rust, but I feel like it biases toward large highly-structured projects like C++ does, making it a bit daunting for personal projects. Just a bit too professional for something I'm hacking together over a weekend, lol. Zig feels like it's easier to wrap my head around, and seems optimized for the "pet project" use case.

I also feel like learning Zig is helping me better understand C. I probably wouldn't have been able to contribute much to that Wine patch if Zig hadn't already gotten me more comfortable with pointers, statically-allocated variables, and such in a reasonably-safe way (having prior experience with Perl did help a little bit for pointers, since referencing and dereferencing variables is pretty common in Perl codebases, but it always felt a bit detached from what the machine was actually doing behind the scenes).


Hey! Someone else who likes zig and erlang/otp. Can you get in touch with me? I'd love to chat. Contact info in profile.


Email sent (expect one from northrup at (my HN username) dot us).

Reminds me that Zigler's yet another reason why I've been wanting to learn Zig; I usually go with ports over NIFs, but should that ever change I'd definitely rather be doing it in Zig than in C (or Rust, as similarly-neat as Rustler may be). So thanks, and keep up the good work!




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: