I ran `apt install offpunk` on my Debian laptop.
Then, I ran "offpunk" and got a new terminal prefixed "ON>".
Curious, I entered "help" and got a list of topics. A few stood out as immediately interesting, so I tried "open https://benovermyer.com" to open my site. It said I needed to "go" somewhere first. So, I tried "go https://benovermyer.com" instead.
That showed me a text preview of my front page, interestingly with content between headers stripped out. OK, that's neat, but now what?
So I now tried "open", and this time it opened the page in my browser, Vivaldi. It was my site, sure enough, but cached locally and missing my main image. All the CSS was intact, though.
That's as far as I've gotten at this point, but it was an interesting enough experience that I thought I would share. It's a very different flow from what I was expecting.
So you go to a site. If the site is not complete, try "v full" (for "view full").
The reason is that there was no unmerdify rule for your site and that readability mistakenly assumes that lot of your site is spam/ads (readability doing that is the reason why we push for unmerdify)
I felt true dread reading a sentence like this. I had to reread to make sure the author means there are other trusted contributors now.
As it is often the case these days, some projects are quite proud of announcing that no human has written or reviewed their code.
But, trully, there’s no much to search. The beauty of Gemini is how small it is: all technical informations should be there : https://geminiprotocol.net/
It's not bad, but the (intentional) lack of user-input takes the whole experiment back. The only user input is a small search query. It's intentionally set up against building any kind of BBS/Forum. So you need a different way to write and upload, which - in my opinion - kills the whole project. YMMV.
Lagrange - the most used browser - used to have something called "Titan" as user upload but that was never specified and nobody used it and I think it's removed from Lagrange now.
edit: ah it still supports it (Titan). It just seems there is no server in the world that uses it.
The limited input support doesn't bother me. I don't see the need for social media through Gemini when there are loads of other protocols we can use for that. And even the limited form of input that is supported lets you do a lot if you get creative with it (in fact there are a few social media-like Gemini pages out there).
"Gemini protocol" with quotes should help.
+Gemini +protocol for more fuzzy, less accurate results
You can open several incignito browser tabs to try it out side by side. It's easy to compare!
Note: In the US, doing English searches, using a chrome-based browser. Coming in with Firefox WILL give you different search results. Sometimes I do that intentionally (can be useful).
cd .cache/offpunk/https/news.ycombinator.com/item cat "id=46943752"
So it could be trivially shared.
The "netcache" tool gives you the cached content or, with --path, returns the path were to find the contentd.
The only point is to preserve the file-modification attribute, which serves to know the age of a cached ressource.
I've looked at the Fediverse, objectively with little hope and many design issues, I'm watching Nostr with interest even though it seems more like a rough sketch lacking the ideas to move forward, but that concept of Gnus and Usenet, so simple in itself, still hasn't managed to resurface.
I get the idea behind "reinventing Emacs".
But there are main differences:
- offpunk is an offline content browser/reader. Main component is fetching/caching/displaying ressources
- offpunk is developed as a set of components that can be used separately (openk, ansicat, netcache)
- offpunk delegates as much as possible to other UNIX tools (less for browsing/reading, chafa for images, grep to find in a page, $EDITOR for editing needs )
- offpunk is pure CLI tool. You type commands, results is displayed in your terminal or in less. There’s no "keyboard shortcuts" or "environment". It is a prompt on which you type commands
- There’s no "configuration" in offpunk. The only (but powerful) way on configuring is having offpunk launch commands at starts (commands listed in offpunkrc). So no "configuration language" or syntax or plugins or whatever.
- last but not least: basic use of Offpunk is simple. You are not required to learn much and you use only what you want. Lot of Offpunks users don’t use the Web/HTTP part and use it as a straight Gemini browser (for the record, Offpunk is a fork of AV-98, the very first Gemini browser)
What I meant is that I wonder how long it will take nowadays to go back to creating a decentralized model or, since overhead allows for it today, a distributed one, that serves modern forms of human communication:
- blogs (e.g. Nostr's long-form notes in Habla, or WireFreely for the Fediverse)
- non-synchronous short messages (e.g. Twitter/X style)
- synchronous short messages, i.e. chat
With a decentralized/distributed network for distribution where everyone keeps what they want on their own hardware.
On the sidelines, it would be nice today to also see synchronous audio and audio+video, meaning calls and conferences, all in a single UI and with at most two or three protocols on the network side (one for asynchronous messages and media, one for chat if the asynchronous one doesn't cut it, and one for calls).
Without the end user having to make personal collages if they don't want to, using an app that is go-installable, pip-able, cargo-build-able, basically something that both those who want to try it and distro packagers can add quickly. This would help spread something among techies/nerds/geeks and also works for the end user, who would be introduced to this solution by the techies/nerds/geeks. To me, this is what's missing to see the big platforms currently in fashion get toppled.
Seeing projects like Offpunk inspired the thoughts above; that was the point :)
OTOH, Emacs it's the only libre Usenet reader for Android. Go figure, and that being a dead simple protocol. Despite of that, lots of Thunderbird forks in FDroid didn't adapt the Usenet part yet.
Offpunk it's slow but adding multiprocessing with flock (for python3 maybe) would be a piece of cake in order to allow parallel downloads while syncinc.
- loading modules at startup (will be solved in 3.1 with lazy loading, patch is pending)
- parsing HTML with lot of pictures (because we wait for chafa for each picture)
I’m not sure how multiprocessing could really help that much but I would be interested.
While online, sure, the blocking http calls are something that will be parallelized in the future
Harcoding it it's bad.
But there are currently some discussions about that on the mailing-list.
Every content you visit is cached and can be visited later while offline. If you try to visit a content not available in your cache, it will be marked to be downloaded later. Offpunk allows you to synchronise you computer once every hour, day or week and work offline without being interrupted.
(from: https://offpunk.net/whatisoffpunk.html)
So its kindof designed to be offline with occasional sync. Interesting.