#gemini #programming #C
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 :)
@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 congrats! keep up the good work!
@crusom Absolutely beautiful UI!
@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:1965/~stack/gemlog/2022-02-16.tls.gmi
@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 I'll check it out when I get the chance!