25th September In working on my Gopher client for Haiku, not only have I realised how bad my C++ has gotten over the years (having not really used it much for 20 years at this point) but also that I also should have planned ahead more. I've been working on certain types of systems for so long that I don't need to work out a plan in advance, I tend to know the patterns that'll work, but here, I do not. Back in the late 90s and early 2000s I did play with programming a little under BeOS, but never to a huge extent, and never built anything that actually served a useful purpose. The upshot of all this being my current code is a bit of a mess, but hey it works. I mean there's bugs, and it almost definitely leaks memory right now, but those things can be fixed. What this project has reminded me of, is how enjoyable the BeAPI documentation was to read. The OS itself had plenty of whimsy, and of course Haiku's name is a remnant of that, but I'd forgotten the the API documentation is written in a far less serious tone compared to typical technical documentation, doubly so when compared to it's contemporaries. I was reading some of the BeBook last night to get a handle on some of the details of a Socket, and was greeted by this nugget: "To receive data, you create a socket, tell it which computer to listen to (in some cases), and then wait for data to come pouring in." - The BeBook page on Network Sockets As is often the case with the BeOS, this put a smile on my face and left me pondering what could have been had certain business deals played out.