People say http is an outdated protocol from 1992, a bad copy of Gopher. I want to try it sometime.
Coming from https://gopher.floodgap.com/gopher
Read Mark 10,11.12 in gopher://rbfh.de and turn to Jesus, if you are a sinner!
Hello from PANDA TOPS-20, using gopher client written in C,
Where all Gophers folks
Very glad for Pocket Gopher app. keeping me connected to gopher space!
@eapl.me@eapl.me here are my replies (somewhat similar to Lyse’s and James’)
Metadata in twts: Key=value is too complicated for non-hackers and hard to write by hand. So if there is a need then we should just use #NSFS or the alt-text file in markdown image syntax
if something is NSFWIDs besides datetime. When you edit a twt then you should preserve the datetime if location-based addressing should have any advantages over content-based addressing. If you change the timestamp the its a new post. Just like any other blog cms.
Caching, Yes all good ideas, but that is more a task for the clients not the serving of the twtxt.txt files.
Discovery: User-agent for discovery can become better. I’m working on a wrapper script in PHP, so you don’t need to go to Apaches log-files to see who fetches your feed. But for other Gemini and gopher you need to relay on something else. That could be using my webmentions for twtxt suggestion, or simply defining an email metadata field for letting a person know you follow their feed. Interesting read about why WebMetions might be a bad idea. Twtxt being much simple that a full featured IndieWeb sites, then a lot of the concerns does not apply here. But that’s the issue with any open inbox. This is hard to solve without some form of (centralized or community) spam moderation.
Support more protocols besides http/s. Yes why not, if we can make clients that merge or diffident between the same feed server by multiples URLs
Languages: If the need is big then make a separate feed. I don’t mind seeing stuff in other langues as it is low. You got translating tool if you need to know whats going on. And again when there is a need for easier switching between posting to several feeds, then it’s about building clients with a UI that makes it easy. No something that should takes up space in the format/protocol.
Emojis: I’m not sure what this is about. Do you want to use emojis as avatar in CLI clients or it just about rendering emojis?
Coffee and Gopher with Windows 95, what could be better?
For .onion gophersites you can install Orbot App on android for VPN, than go by lynx or overbite app to gopher://magical.fish, then you can open the .onion site of magical.fish.
I can open any Gopher except Onion from Windows95. What am I doing wrong?
Lynx can’t do gophers and bitreich has no fallback. Great…
Simplified twtxt - I want to suggest some dogmas or commandments for twtxt, from where we can work our way back to how to implement different feature like replies/treads:
It’s a text file, so you must be able to write it by hand (ie. no app logic) and read by eye. If you edit a post you change the content not the timestamp. Otherwise it will be considered a new post.
The order of lines in a twtxt.txt must not hold any significant. The file is a container and each line an atomic piece of information. You should be able to run
sorton a twtxt.txt and it should still work.Transport protocol should not matter, as long as the file served is the same. Http and https are preferred, so it is suggested that feed served via Gopher or Gemini also provide http(s).
Do we need more commandments?
How’s everyone? I go on Gemini/gopher for a hobby. Still learning.
Solution found for viewing TLS 1.3 sites in Win95, more details gopher://shibboleths.org/1/browsers98
Read the Bible in English. gopher.rbfh.de
iirc in twtxt v2 it starts prohibited
This is not true. There are no issues supporting fetching feeds via Gemini/Gopher. This is totally fine. What will likely happen is “recommendations” and “drawbacks of using Gemini/Gopher”
Happy Gopher, fridayspace :)
“Fu*** IRC maaan, all the cool kids are on Discord! IRC sucks”
LOL, Now substitute IRC and Discord with Gopher/Gemini and Web.
I hope you get the joke 😅
(#bqor23a). Its the same one. My pod doesn't have the Root Twt: https://twtxt.net/twt/bqor23a => 404 Not Found.
Oh, and I think I said this before, but just in case, fuck Gemini. Hell, fuck Gopher too. Bring on telnet, and UCCP. 😈
I’ll write a complaint to the main Gopher server and the hurricane will pass you by.
I like Gopher!
@quark@ferengi.one Mine is a little overkill 😂 but I need to do something for practice:
#!/bin/bash
set -e
trap 'echo "!! Something went wrong...!!"' ERR
#============= Variables ==========#
# Source files
LOCAL_DIR=$HOME/twtxt
TWTXT=$LOCAL_DIR/twtxt.txt
HTML=$LOCAL_DIR/log.html
TEMPLATE=$LOCAL_DIR/template.tmpl
# Destination
REMOTE_HOST=remotHostName # Host already setup in ~/.ssh/config
WEB_DIR="path/to/html/content"
GOPHER_DIR="path/to/phlog/content"
GEMINI_DIR="path/to/gemini-capsule/content"
DIST_DIRS=("$WEB_DIR" "$GOPHER_DIR" "$GEMINI_DIR")
#============ Functions ===========#
# Building log.html:
build_page() {
twtxt2html -T $TEMPLATE $TWTXT > $HTML
}
# Bulk Copy files to their destinations:
copy_files() {
for DIR in "${DIST_DIRS[@]}"; do
# Copy both `txt` and `html` files to the Web server and only `txt`
# to gemini and gopher server content folders
if [ "$DIR" == "$WEB_DIR" ]; then
scp -C "$TWTXT" "$HTML" "$REMOTE_HOST:$DIR/"
else
scp -C "$TWTXT" "$REMOTE_HOST:$DIR/"
fi
done
}
#========== Call to functions ===========$
build_page && copy_files
url field in the feed to define the URL for hashing. It should have been the last encountered one. Then, assuming append-style feeds, you could override the old URL with a new one from a certain point on:
I was not suggesting to that everyone need to setup a working webfinger endpoint, but that we take the format of nick+(sub)domain as base for generating the hashed together with the message date and content.
If we omit the protocol prefix from the way we do things now will that not solve most of the problems? In the case of gemini://gemini.ctrl-c.club/~nristen/twtxt.txt they also have a working twtxt.txt at https://ctrl-c.club/~nristen/twtxt.txt … damn I just notice the gemini. subdomain.
Okay what about defining a prefers protocol as part of the hash schema? so 1: https , 2: http 3: gemini 4: gopher ?
New mega corporate system of automatic driver update via Gopher ONLINE gopher://shibboleths.org/1/pages/drv
I wish I could upload photos here. dang, why didn’t Gopher+ catch on.
Floodgap has a list of new Gopher holes. The thing about Gopher is you explore and find things more “naturally.”
Hello Minnesota gophers
â» I NEED MORE GOPHERs Ideas?
Genkit:新一代基於 Go 的 AI 應用開發框架
Google 推出了 Genkit for Go,這是一個開源框架,用來以 Go 語言原生構建 AI 應用與雲服務。該項目是 Google Firebase 和 Go 團隊聯手合作的最新成果。Genkit for Go 於 7 月 17 日正式推出,目前版本處於 alpha 階段。Gophers 能夠通過它將 Go 的性能和併發優勢與 Genkit 的庫和工具相結合,從而來構建生成式 AI 應用程 ⌘ Read more
通過實例理解 Go 訪問和操作數據庫的幾種方式
關係數據庫操作是 Go 應用開發中的重要一環,尤其是 Go Web 應用、微服務等。作爲 Gopher,我們需要了解幾種主流的數據庫訪問和操作方法,以便在項目中做出適當的選擇。我個人在日常開發中較少涉及 CRUD 類應用,因此使用 Go 訪問和操作數據庫的機會並不多,在這方面也算是有一些 “短板”。通過在這篇文章中對數據庫訪問方式進行全面的梳理,我也算是補全一下技能樹,同時也能爲讀者小夥伴提供一些 ⌘ Read more
Whant’s up here, Gopher?
more gopher holes should use Finger
gopher://infinitelyremote.com Another Gopher fell down dead….
My opinion is that we need more Gophers, good, bad, or otherwise. Let there be thousands, millions of different gophers. Now there are no more than 400 servers left online. I’ll have a panic attack and cry again (
What’s happening gopher://gopherddit.com is no longer working What happened? The third big Gopher in a month is not working.
AI has been writing articles for news sites since 2018. Massively since 2020… For Gopher to exist, holes must be opened, not closed (
Now that world wide web is fucked with AI content, Gopher is our last hope!
I wrote a letter to the owner asking him to restore the guest book so that I could continue read the gossip. But instead, Gopher disconnected. Bad…
Watch the subcreatures meddle with the primeval forces of nature: gopher://gopher.viste.fr/1/ogup/down
Aliens have always abducted gopher server administrators. It’s tradition. They’ll be back … probably.
Aliens seem to be abducting the owners of Gopher servers. Now hngopher.com not works. What the hell is going on?
I find good alternative for gopherspace.de - gopher://kamalatta.ddnss.de/1/links This is good servers alive serivce for me i think
if not then try searching gopher://me0w.net:70/1/searx.dcgi
or search gopher://forthworks.com/1/contrition
maybe try searching gopher://gopher.icu/1/quarry
search gopher://gopher.floodgap.com/1/v2/vs
My Name isn’t 5bd84! I won’t tell you what it is, though. Browsing from my homemade gopher client!
More specifically a gopher based zine www.mmn.ca/malware
I like gophers…
Diggie dog can’t download archives from gopher, he writes: “It’s too long link.”
Well, that’s good. Now I know 3 Android clients for gophers.
I use Pocket Gopher. Its in fDroid app store.
I need gopher browser for Android? Where i can download it?
Hi Gopher!
gopher://gopherspace.de still don’t works…..
golang 開發: goroutine 在項目中的使用姿勢
很多初級的 Gopher 在學習了 goroutine 之後,在項目中其實使用率不高,尤其一些跨語言過來的人,對併發編程理解不深入,可能很多人只知道 go func(), 或者掌控不夠,謹慎一些,儘量少使用或者不使用,用的話就是 go func(),主要列一下我們這邊的主要使用方法。goroutine 在項目中的使用方法看一下樣例代碼,實際上,我們生產環境中就是這麼使用的。package lo ⌘ Read more
Gift for you gopher://shibboleths.org/1/pages/gift
What happened with gophernews.net gopher?
gopher://gopherspace.de/gb.php
Antidepressive page gopher://shibboleths.org/1/pages/dp
Whats going on in your corner of gopher space?
Sensory Safari at Central Florida Zoo: A sneak peek
The Central Florida Zoo & Botanical Gardens joins Good Day Orlando Xtra to introduce us to Willy, a gopher tortoise, as well as talk about their upcoming Sensory Safari event, which is geared towards children, ages 5-12. It features hands-on learning and interactive experiences. ⌘ Read more
Congrats man, way to innovate with Gopher!!
Just programmed my own Gopher Browser. It works :D
I would love to see a world where ones twtxt feed is defined by webfinger. So @xuu@txt.sour.is => https://text.sour.is/user/xuu/twtxt.txt
Then my identity can exist independent of the feed location. And I can host multiple protocol types for my feed. Ie. http/gopher/Gemini/irc DCC/etc
I would love to see a world where ones twtxt feed is defined by webfinger. So @xuu@txt.sour.is => https://text.sour.is/user/xuu/twtxt.txt
Then my identity can exist independent of the feed location. And I can host multiple protocol types for my feed. Ie. http/gopher/Gemini/irc DCC/etc
Minnesota Gophers in Quick Lane Bowl today at 1pm Minnesota time.
What’s up Gopher Space? What u into today?
I declare today a day - visits the gophers.
All power to the gophers! (raised fist)
I think, you need to expand work on this chat so that it can be installed on other Gopher:// as a service. I think your server can handle this…
This is gopher chat on gopher://magical.fish .
Welcome, all ye who still gopher!
Hello Gopher land
Just found: gopher://tilde.pink/1/~bencollver/dir Nice app for directions on gopher.
7b7c7 here, gotta love CGNAT and ISP-level DHCP. Testing IE6’s gopher implementation on a vintage machine.
Itâs excruciatingly painful that I canât run Python on Windows on the Gopher server to make a chat room (
The Golden Gophers win 12-10 against Iowa! Go Gophers! What a game!
Glad to see activities still 9n #Gopher.
Music gopher://maistre.uni.cx/1/~guest
Good german news: gopher://taz. de
How about those Golden Gophers? Great win tonight over Nebraska with 10 points in the last few minutes. Go Gophers!
Check out the Nex Protocol. It’s designed to be even simpler than Gemini and Gopher. What do you think? Could be great to host a twtxt feed on.
Lots of Gopher servers experience outages. I’m just glad the Gopher-Searx CGI is back.
Glad to see people still using this gopher hole.
Question to all you Gophers out there: How do you deal with custom errors that include more information and different kinds of matching them?
I started with a simple var ErrPermissionNotAllowed = errors.New("permission not allowed"). In my function I then wrap that using fmt.Errorf("%w: %v", ErrPermissionNotAllowed, failedPermissions). I can match this error using errors.Is(err, ErrPermissionNotAllowed). So far so good.
Now for display purposes I’d also like to access the individual permissions that could not be assigned. Parsing the error message is obviously not an option. So I thought, I create a custom error type, e.g. type PermissionNotAllowedError []Permission and give it some func (e PermissionNotAllowedError) Error() string { return fmt.Sprintf("permission not allowed: %v", e) }. My function would then return this error instead: PermissionNotAllowedError{failedPermissions}
At some layers I don’t care about the exact permissions that failed, but at others I do, at least when accessing them. A custom func (e PermissionNotAllowedError) Is(target err) bool could match both the general ErrPermissionNotAllowed as well as the PermissionNotAllowedError. Same with As(…). For testing purposes the PermissionNotAllowedError would then also try to match the included permissions, so assertions in tests would work nicely. But having two different errors for different matching seems not very elegant at all.
Did you ever encounter this scenario before? How did you address this? Is my thinking flawed?
Europas neue Asylpolitik: Flüchtlinge werden an den AuÃengrenzen inhaftiert und in Lager gesteckt. gopher://gopherspace.de/0/journalist/magazin.php
Meduza is on gopher. magical.fish/1/feeds/news/meduza/2023/06/menu
Long live gopher! We need to develop more gopher pages like this ones, this protocol is amazing
Long live gopher!
Thanks to everyone who doesn’t let gopher die.
The last time I connect to gopher was 30 years ago. Nice to see he’s alive.
What’s up gopher space
bd1c8: This is what I used for my torified lynx, I’ve setup an alias like so alias gopher=‘lynx -socks5_proxy=localhost:9050 “
If you like Wikipedia.org, you can retrieve articles by gopher://gopherpedia.com or by telnet: telnet gopherpedia.com 70
I’m in Minnesota, US, where this gopher hole is located.
The most secure way to access this site is to torify a gopher client and go to the onion address.
Port 71 belongs to Magical.gopher. You need to be using OpenNic dns for it to work.
Or if you are a rightist at gopher://gopherspace.de/1/journalist