Call for Zig projects to review on Stream

Hey everyone!

I was thinking it could be fun to review people’s Zig projects over stream. If anyone wants a review and/or potential Pull Request with suggestions drop a comment with a link to your project.

19 Likes

You can look through this code if you’d like. It’s my first real zig project, so would love the feedback.

3 Likes

I recently starting using my own little time tracking tool. It’s very simple and tailored to my needs, but it’s a Zig project and I’m always open for helpful feedback :slight_smile:

2 Likes

Let me know if you do review some as I’d love to see it.

Heyo!

I wrote my first Zig project maybe a week ago if I remember, it’s a leftmost-longest ahocorasick implementation.

I posted it here to get some feedback on the Zig itself (not so much the algorithm implementation, I know that can take a while to look over) but didn’t get much attention. So I’ll throw it in!

Scout

2 Likes

I would love to watch you make a simple GUI using DVUI to help me understand what trips up people new to it.

Not sure this is what you had in mind, but any review (including any of code, api design, and docs) would be very useful.

6 Likes

Will do, might be looking at doing a stream for these suggestions sometime next week

1 Like

Stream idea: you implement Build Runner: Implement File System Watching on Windows · Issue #20598 · ziglang/zig · GitHub while I be your pair programming partner, either as a commenter on stream, or via a conference call.

12 Likes

Alright everyone I’m back from vacation this week and plan on doing a stream to look at these projects 2 days from now on July 20 at 9 AM MDT (UTC-06:00). I think I’ll just start on this thread go from top to bottom. Hope to see you there to hang and chat about Zig!

2 Likes

First project, a light CLI screensaver using native termbox GitHub - charlesrocket/xtxf: Binary matrix

This was very helpful and fun to me! I can only encourage others to “sign up” next time :smiley:
By the way, I think we even discovered a compiler bug in my project: Looping over global undefined var slice is no error on debug · Issue #20703 · ziglang/zig · GitHub

Haha, loved the shoutout at 7:38:51 for starting to port AFL++ to the Zig build system!

I’ve actually updated it even more.

Here’s what’s still needed to achieve comparably performant builds:

LLVM instrumentation. I guess it could be added by using system-wide llvm and clang.

EDIT: LLVM instrumentation was added and works better than the original build: several times faster and with LTO enabled by default, even on macOS.

There’s also optional support for different modes, but these basically just enable a special use-case of instrumenting black-box, closed-source binaries in some emulator:

Btw, a 9-hour “Zig projects review” stream, what a legend! I’d actually heard you mention porting AFL at the beginning, so I decided to look into it while listening, but then went to bed at the halfway mark. Hope y’all had fun, and a good night’s sleep afterwards!

3 Likes

Thanks for taking a look at my repo, making the constants an enum is an obvious little change that I didn’t think about. I’ve learned a lot more about Zig since I wrote that and I do think it should be an enum.

I think we can calculate the size and make it zero allocation, I’ll probably try that later down the road.

1 Like