Page 1 of 1

Rodent: A Gopher client for new and old computers

Posted: Thu Aug 01, 2024 1:09 pm
by nathanpc
I've been meaning to post more things on the forum, and since the only thing I've been working on as of late is this project I figured it would be nice to catalog its development history here.

As part of OCC 2024 I've been writing a native Gopher client (you can read more about it's OCC origin here), something other users are also doing (unsigned/sizeof(cat)). It seemed like quite a simple task, although I'm making it quite complex for no reason other than fun! So I'll be posting updates about its progress here.

Here's how it currently looks as of today:

Image

I'm planning on making a formal release soon, although I have made a deal with unsigned on IRC to release it as soon as possible:
IRC log (cleaned up to only show the important bits) wrote:[11:28] <unsigned> nathanpc, when will you release that baby into the wild?
[11:29] <nathanpc> unsigned: soon, I just want to make sure it's in a usable state
[11:30] <unsigned> nathanpc, usable is relative, if it doesn't kill birds in the surrounding area i'd say release it
[11:32] <nathanpc> unsigned: let's make a deal, I'll put icons in it, move the network fetching to a separate thread, and make a download dialog, after all that I'll release it
[11:32] <unsigned> nathanpc, deal!
So I guess now I'm contractually obliged to release it.

Re: Rodent: A Gopher client for new and old computers

Posted: Thu Aug 01, 2024 2:33 pm
by oracle
Beautiful. :arrow: :arrow: :arrow: :arrow: :arrow: :arrow: :arrow: :arrow: :arrow:


lucky number 3

Re: Rodent: A Gopher client for new and old computers

Posted: Thu Aug 01, 2024 3:13 pm
by claudiom
Oh wow, this is really nice! Have you thought about also adding Gemini support sometime in the future?

Re: Rodent: A Gopher client for new and old computers

Posted: Thu Aug 01, 2024 5:23 pm
by headcrash
Damn dude, that's really nice! Well done! :D

Re: Rodent: A Gopher client for new and old computers

Posted: Thu Aug 01, 2024 10:40 pm
by nathanpc
claudiom wrote: Thu Aug 01, 2024 3:13 pm Oh wow, this is really nice! Have you thought about also adding Gemini support sometime in the future?
Thanks! I would like to also build something for Gemini, although that would force me to write a rendering engine, something I'm not very fond of trying right now haha.

This client is using a ListView as the "rendering engine" so it's a lot easier to program.
headcrash wrote: Thu Aug 01, 2024 5:23 pm Damn dude, that's really nice! Well done! :D
Thanks! I'm putting a lot of work into this so I highly appreciate compliments haha

Re: Rodent: A Gopher client for new and old computers

Posted: Thu Aug 01, 2024 10:45 pm
by nathanpc
By the way today I also added colored links and proper icons for items:

Image

This is how far I'm willing to work on it for today. Tomorrow I'll try to get it to the state promised to unsigned so that I can finally release binaries into the wild.

Re: Rodent: A Gopher client for new and old computers

Posted: Fri Aug 02, 2024 1:16 pm
by nathanpc
With the last commit I've finished implementing the directory fetching on a separate thread, which means all I need to do now is create a download dialog, move the downloading routines to a separate thread, and I'm ready to fulfill my contractual obligation with unsigned and release a binary.

Although I'll probably make my life difficult by implementing some sort of feedback mechanism between the backend library and the download dialog to properly update a progress bar, so it might take a while for me to implement this properly...

Re: Rodent: A Gopher client for new and old computers

Posted: Sat Aug 03, 2024 12:06 am
by nathanpc
It's currently exactly 1AM here in Portugal, and I'm glad to report that I'm ready to fulfill my contractual obligations. Here's the binary of a very early release of the client. A lot of polishing is still needed, specially the URL parsing algorithm (don't try funny things, it will break badly).

It's too late for me to drag out one of my Windows XP machines to compile the project on Visual C++ 6.0, so the binary released here will require the Visual C++ 2010 Redistributable to run, when I get a bit of time I'll make sure to provide a copy that should work on Windows 95 and NT4, for now this is what you get.

I've kindly provided full debug symbols with the release, so if you encounter any problems you can send me detailed crash dumps. ;)

Re: Rodent: A Gopher client for new and old computers

Posted: Sat Aug 03, 2024 4:28 pm
by sizeofcat
nathanpc wrote: Sat Aug 03, 2024 12:06 am It's currently exactly 1AM here in Portugal, and I'm glad to report that I'm ready to fulfill my contractual obligations. Here's the binary of a very early release of the client. A lot of polishing is still needed, specially the URL parsing algorithm (don't try funny things, it will break badly).

It's too late for me to drag out one of my Windows XP machines to compile the project on Visual C++ 6.0, so the binary released here will require the Visual C++ 2010 Redistributable to run, when I get a bit of time I'll make sure to provide a copy that should work on Windows 95 and NT4, for now this is what you get.

I've kindly provided full debug symbols with the release, so if you encounter any problems you can send me detailed crash dumps. ;)
I downloaded this and I heard Steve Ballmer's voice yelling DEVELOPERS DEVELOPERS DEVELOPERS at me. Would no recommend, 1 star.

Just kidding, awesome job Nathan!

Re: Rodent: A Gopher client for new and old computers

Posted: Wed Aug 28, 2024 8:21 am
by nathanpc
Thanks sizeofcat! After 3 weeks of being away due to work and a much needed vacation, I'll resume working on it. I already have the code compiling under VC++ 6, so it should work on Windows 95 all the way up to Windows 11.