Projects Jams Discord News
Resources
Unwind Fishbowls Forums
About
Manifesto Our values About
Log In

Day 6: A Concession To Hubris

tekni September 28, 2025

Yes.

Well.

I must admit trying to make something with a feature superset to discord in a week, while having a level of implementation knowledge that led to me struggling to create an echo server in 4 days, while most importantly not grasping the core concept of the jam, was perhaps a result of my hubris getting the better of me. I concede knowing it was a fool's errand anyway. Making an everything app, frontend, backend, protocols and all from scratch is lunacy given the circumstances. My second choice, IRC, although easy to extend, also probably shouldn't be used for it. Due to being a lightweight text messaging solution and little else.

Although...

If one did want to create a forum like experience using a modern ircv3 protocol, the capabilities already exist in the BATCH extension. Using basic tagging to separate threads and forums from each other, as well as potentially attachment links, and all you need is some client-side niceties to have the beginnings of a fo

Read more

Day 1: Struggling to make an echo server

tekni September 23, 2025

Day one was a few hours trying to set the groundwork for what the application will be (a server client thing with a lot of bells and whistles) and about 2 and a half hours trying (and failing) to make an echo server in Odin.

"But wait!" you interject, That's preposterous! An echo server is like 10-30 lines of code! The hello world of network connectivity functions!" And you would be right, if not for the fact that I am really bent on using nonblocking IO. Due to the way that io works in Odin (to my understanding), the default networking library (that is otherwise perfect for this) can't be used. Similarly the Linux server connections don't work. So I spent a lot of time just implementing a version of the example echo server with linux syscalls.

The problem with that is that I didn't understand how to return elements from the syscalls for a while, and just assumed that it returned what I wanted. In reality, intrinsics.syscall(syscode, args .. ) actually returns a POINTER to the

Read more