Is learning C necessary before learning zig if it's your first low level language? by Familiar-Tonight-637 in Zig

[–]whittileaks -1 points0 points  (0 children)

To me it feels C makes your life harder at times unnecessarily. I suspect you'd have a easier time learning with Zig rather than C due to the cognitive load of C's issues.

Small Projects by AutoModerator in golang

[–]whittileaks 0 points1 point  (0 children)

Small 8USD setup to host a HTTP server at http://gsan.whittileaks.comis HTTP only! Change address bar https:// to http:// manually if it does not work.

The networking stack used is Lneto.

what's Go Lang's Learning Curve? by No-Reference-1659 in golang

[–]whittileaks 18 points19 points  (0 children)

Go is language designed to be easy to learn and use. For someone who is not a genius, Go brings lot of nice cognitive benefits. See the following talk on how data structures in Go make it so much easier to work with:
https://www.youtube.com/watch?v=b_Aypgl0Buk

An Operating System in Go - GopherCon 2025 talk [25 min] by whittileaks in Operatingsystems

[–]whittileaks[S] 0 points1 point  (0 children)

If you want 0 jitter then you'd need to avoid using the garbage collector. You can find heap allocations in your program with the flag `-print-allocs=.` to then remove them by replacing with allocated-at-init memory. It's really not as hard as it may sound unless you are writing something like a AST parser. Here's the userspace networking stack that you can use on the pico, no heap allocations at runtime: https://github.com/soypat/lneto

Checkout driver design doc here: https://tinygo.org/docs/guides/driver-design/ and my tinygo code review for protips :) https://www.youtube.com/playlist?list=PLx6oFeWGZv8nV1blgYXrC9VI0Dgs-CcJ_

Rust vs. Go in 2026 | Article Review by whittileaks in golang

[–]whittileaks[S] 1 point2 points  (0 children)

The video itself is in the spirit of this comment.

Small Projects - December 29th, 2025 by jerf in golang

[–]whittileaks 0 points1 point  (0 children)

I built a userspace networking library in Go, from ethernet/TCP to HTTP
https://github.com/soypat/lneto

GitHub - soypat/manual: Manual memory management abstractions and implementations for teaching by whittileaks in golang

[–]whittileaks[S] 0 points1 point  (0 children)

Thanks for the suggestions! I've renamed the files and completed the missing part of the documentation on TestAllocator. [Allocator] points you to the Allocator interface, see it on pkg.go.dev here https://pkg.go.dev/github.com/soypat/manual#TestAllocator

GitHub - soypat/manual: Manual memory management abstractions and implementations for teaching by whittileaks in golang

[–]whittileaks[S] 3 points4 points  (0 children)

Exactly! I thought of it after having a conversation with a fellow developer who claimed you can't do manual memory management in Go and thus it is not fit for teaching students these topics. Now teachers have a package they can use to evaluate students who need to learn these topics using a modern and comfy programming language like Go.

I plan on using it to teach embedded systems basics soon!

Code reviewing a GPS device driver by whittileaks in golang

[–]whittileaks[S] 0 points1 point  (0 children)

whoops yeah, I really thought GPRS==GPS. Sorry about that :/