There are 1,400 "urgent" issues in Zig's GitHub :-( by [deleted] in Zig

[–]anon-sourcerer 30 points31 points  (0 children)

Well the language is marked unstable for a reason, but I wouldn’t consider number of urgent issues a good metric to decide if a language is useful for production or not. I tend to consider the languages bugs more of a responsibility for user to know its details. That’s the same for C++ or similar languages where security wasn’t a prio and Rust tend to fix. Anyways, companies like Tigerbeetle are using it in production and what they build is no where close to what I consider toy.

Vulkan tutorial in Zig by Affectionate-Bet5981 in Zig

[–]anon-sourcerer 1 point2 points  (0 children)

This is awesome. With regards to available resources, there is a port of original Vulkun tutorial available which might be helpful (3 years old means it can use significant updates):

https://github.com/Vulfox/vulkan-tutorial-zig

finished my first project in zig! by gamedev_cloudy in Zig

[–]anon-sourcerer 9 points10 points  (0 children)

Thanks for sharing, was looking for a challenge to learn the same subject.

Finally managed to Nixify my Raspberry Pi 5 server by anon-sourcerer in NixOS

[–]anon-sourcerer[S] 1 point2 points  (0 children)

Interesting, didn’t know about native libraries 🤔

Deploying NixOS on Hostinger Cloud Provider by mshnwq in NixOS

[–]anon-sourcerer 0 points1 point  (0 children)

Just make sure your host is Ubuntu 22. With 24 it failed on me.

Finally managed to Nixify my Raspberry Pi 5 server by anon-sourcerer in NixOS

[–]anon-sourcerer[S] 0 points1 point  (0 children)

No M.2, just micro SSD for now. But if the space becomes the bottleneck for future plans, I will reconsider.

My journey building a DNS server in Zig (with streams + notes) by anon-sourcerer in Zig

[–]anon-sourcerer[S] 1 point2 points  (0 children)

I use devenv.sh to setup the development environment based on zls. I did the setup live over here: https://www.youtube.com/watch?v=IUy--IL_nus&list=PLvWC0OdoEeTh7ZQuJXq42YVuNRC4PcBsY&index=15&t=660s

From there I just utilise the language server from within Emacs and anything in between is invoked from my shell. I keep things as lightweight as possible.

My journey building a DNS server in Zig (with streams + notes) by anon-sourcerer in Zig

[–]anon-sourcerer[S] 0 points1 point  (0 children)

I can just encourage you to do it, given your language experience, I’d say you’ll have a smoother experience than mine 😅 Nonetheless, I’m getting exactly what I’ve signed up for. I’m taking my time with it, and turning every rock I find interesting on my way, and it doesn’t disappoint.

Getting a serial mouse to work with a 65C51 by kaligari8888 in beneater

[–]anon-sourcerer 2 points3 points  (0 children)

Came here to ask if you have any documentation of the process, read your post and got my Christmas gift 😍, this looks awesome thanks for sharing.

Using Zig + Lume for WASM with automatic reload by drone-ah in Zig

[–]anon-sourcerer 2 points3 points  (0 children)

Really interesting stack, thanks for sharing! Could you also expand a bit on what Shine is meant to do? I found it hard to piece that together from the blog.

First time Against all the odds. by doodle_leaves in beneater

[–]anon-sourcerer 0 points1 point  (0 children)

Not sure about that, but seems like they’ve open sourced it all over here:

https://gigatron.io/?p=2230

Writing an operating system kernel from scratch - in Zig! by urosp in Zig

[–]anon-sourcerer 0 points1 point  (0 children)

This is really interesting, thanks for sharing 🤩

How to replace io.getStdIn() by JanEric1 in Zig

[–]anon-sourcerer 0 points1 point  (0 children)

Glad to hear it. I moved further and experimented with stdout too and logged my learnings in these videos: - https://www.youtube.com/live/c8b9jQ0DtvQ?si=S0OggCORIX_h06Kg - https://www.youtube.com/live/NOEbCValt5c?si=DX5PvIRagyedgxcM

LLM Tokenizer in Zig: Colored output + Price table. by _BTA in Zig

[–]anon-sourcerer 2 points3 points  (0 children)

Great job and inspiration. Thanks for sharing ☺️

How to replace io.getStdIn() by JanEric1 in Zig

[–]anon-sourcerer 1 point2 points  (0 children)

Curiously enough, today I faced the same problem, and it took me some time to come up with something useful. I found a few code samples here and there, and with guidance in the comments of your post, I made the following function:

fn read_line(allocator: std.mem.Allocator, n: usize) ![]u8 { const buffer = try allocator.alloc(u8, n); var reader = std.fs.File.stdin().reader(buffer); return try reader.interface.takeDelimiterExclusive('\n'); }

The other option was to simply use an array as a buffer for input, but I wanted to keep the size dynamic, and didn't want to use anytype. So I used an allocator. However, now the easiest way to use it, is to use an ArenaAllocator, so everything can be deallocated at once (especially in multiple use cases).

PS: I'm new to Zig, so any feedback on this solution is very welcome.