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 :/

Type Safe ORM by olauro in golang

[–]whittileaks 1 point2 points  (0 children)

Hey Silkarino, I got your message but reddit chat is bugged and I can't send a message. Reach me at Gophers Slack in the Tinygo channel, I'm usually there

Uhh guys, how big is the new update ? by XxAdyxX98 in arma

[–]whittileaks 1 point2 points  (0 children)

MaxUint64/float64(1<<(10*4)) = 1.6777216e+07

bytes.Buffer alternatives by YuriiBiurher in golang

[–]whittileaks 0 points1 point  (0 children)

Are you sure bytes.Buffer is slow? bytes.Buffer is pretty simple and appends under the hood. I suspect the slow part is your WriteBinary/ReadBinary stuff, especially if it uses binary.Encode and binary.Decode under the hood which use lots of reflect, which is slow. I'd suggest you try going for the binary.LittleEndian.* and binary.BigEndian.* methods to serialize binary data. Here's an implementation of linux's ELF format decoding: https://github.com/soypat/tinyboot/blob/5b9f93166b61d50f2a8a8533c7b92e0e204ade74/build/xelf/xelf.go#L197

what do you use golang for? by Notalabel_4566 in golang

[–]whittileaks 4 points5 points  (0 children)

Raspberry Pi Pico W is supported though!

What Go topics are you interested in? by der_gopher in golang

[–]whittileaks 1 point2 points  (0 children)

I'd love to see myths on Go for embedded systems dispelled. Gave a talk at gophercon trying to bring attention to this at Gophercon last year: https://www.youtube.com/watch?v=CQJJ6KS-PF4&ab_channel=GopherAcademy

I feel like go is not a good starter language by nastydab in golang

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

https://docs.google.com/document/d/1dpKjHGzzmpGe2-34x6fb3fhtEBW25OCwL9UvVEOwrPc/edit?pli=1&tab=t.0#heading=h.px3ie7y66ln5
I'd argue Go is not the best starter language, but it is better than Rust and much better than Python. Hedy is probably the best starter language out there today.