commit cd30203418480dcc3074dc4aef54d5b0e23b236c from: Omar Polo date: Mon Mar 15 08:43:48 2021 UTC improved readme commit - 166712b48fda2e0971a5317f5bb90a694d155f65 commit + cd30203418480dcc3074dc4aef54d5b0e23b236c blob - 488ef3eabb5b2f635c03c2d2744b2ad495f2547c blob + cc3089db523fc28ec2f3b558072fe7f61ae9d4a8 --- README.md +++ README.md @@ -6,14 +6,11 @@ |__| ``` -Telescope is a w3m-like browser for Gemini. It was written on a whim, -just to play with ncurses, libtls, libevent and the macros from -`sys/queue.h`, but I'd like to finish it into a featureful Gemini -browser. +Telescope is a w3m-like browser for Gemini. -At the moment, telescope is something **a bit more than a working -demo**. However, it has already some interesting features, like -streaming pages, tabs, privsep, input from the minibuffer etc... +At the moment, it's something **a bit more than a working demo**. +However, it has already some interesting features, like streaming +pages, tabs, privsep, input from the minibuffer etc... There are still various things missing or, if you prefer, various things that you can help develop :) @@ -33,6 +30,34 @@ things that you can help develop :) ![Telescope new tab](images/about-new.png) +## Why yet another browser? + +One of the great virtues of Gemini is its simplicity. It means that +writing browsers or server is easy and thus a plethora of those +exists. I myself routinely switch between a couple of them, depending +on my mood. + +More browsers brings more stability as it became more difficult to +change the protocol, too. + +However, Telescope was ultimately written for fun, on a whim, just to +play with ncurses, libtls, libevent and the macros from `sys/queue.h`, +but I'd like to finish it into a complete Gemini browser. + + +## Goals + + - Fun: hacking on Telescope should be fun. + - Clean: write readable and clean code mostly following the style(9) + guideline. Don't become a kitchen sink. + - Secure: write secure code with privilege separation to mitigate the + security risks of possible bugs. + - Fast: it features a modern, fast, event-based asynchronous I/O + model, it shouldn't never lags behind the user input. + - Inter-operable: re-use existing conventions to allow + inter-operations and easy migrations from/to other clients. + + ## Building Telescope depends on ncursesw, libtls (from either LibreSSL or @@ -45,7 +70,7 @@ To build from a release tarball just execute: sudo make install If you want to build from the git checkout, something that's -discouraged for users who don't intend to hack on telescope +discouraged for users that don't intend to hack on telescope ./autogen.sh ./configure