I'm creating a new Gemini browser in C with Ncurses, named (very creatively) Gemcurses.

It's actually my first project in C, so my code is messy and I'm sure it has a ton of bugs, but it somewhat works!

It requires only Ncurses and OpenSSL libraries.

Feel free to check it out, and tell me what you think and what i need to fix/change/add :)

github.com/crusom/Gemcurses

@crusom It could be the first Polish browser in Geminispace. It should have better name, maybe Twardowski. :-)

@szczezuja good idea!
I will definitely consider it :p

@crusom a Gemini browser makes for a great first project. Hope you have fun and learn a ton.

@jeang3nie yes, I have fun and learn a lot!
Besides OpenSSL library that's badly documented, has no examples or reliable tutorials.

It's kinda weird that such a popular library is so bad.

And I'm not the first person that complains about it:
gemini://gemini.ctrl-c.club:19

@crusom I feel like that's a common problem with C libraries in general. Not that every C project is like that, but if you are coming from a more modern language you've likely had standard documentation practices, whereas with C it's very much on a per-project basis. Sounds like you managed all right anyway.

@crusom also, per the link you posted, the world would probably have been a better place if either everyone got on board with the LibreSSL fork when it happened, or else it just never happened at all.

@crusom Oooh, C... Memory bugs incoming!

Little tip: Use the tool valgrind. It checks for leaked memory, use after free, invalid access (although you'll notice that yourself) and more.

@tobtobxx yes, I use it extensively, it's definitely must-have!
In normal use, I haven't encountered leaks, but it's C, and I know that my code isn't safe at all :p

I know it might not be the best tool for the job (C++ and Rust are much safer, and strings operations are MUCH easier), but I want to learn C and I'm also interested in binary exploitation so yeah :D

@crusom No, definitely go forward. C can do much (I don't need to prove that). And if you put thought into it (and don't have to worry about other people's code), then C is absolutely suited.

For simple projects that need to interface with C libs, I think C is sometimes easier and faster than Rust and friends.

@crusom Interesting... a good ncurses browser for Gemini is what I've been missing.

Sign in to participate in the conversation
101010.pl

The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!