I posted about GoToSocial, but another Mastodon-alternative and Fediverse software, Takahē, seems to make fast progress and has some unique features like support for multiple domains or multiple identities per user. I haven’t tried running it yet, but it looks promising! ⌘ Read more
Achtung! The Germans have invaded! At least they seem a bit nicer, even if they type like bots.
If you like to learn good german, read the Bible at gopher://sdf.org/1/users/scn/Bibel
i have one box with virmach that is something like 3 vcpu 5.88g ram and 15g disk. for $29/year.
i have one box with virmach that is something like 3 vcpu 5.88g ram and 15g disk. for $29/year.
@prologic@twtxt.net vultr pricing is low. But it can be lower if you shop the less fancy admin ui sites like virmarch or ovh. There are some bare metal that cost way less.. Though the experience is less than optimal.
@prologic@twtxt.net vultr pricing is low. But it can be lower if you shop the less fancy admin ui sites like virmarch or ovh. There are some bare metal that cost way less.. Though the experience is less than optimal.
PEP 704: Require virtual environments by default for package installers
This PEP recommends that package installers like pip require a virtual environment by default on Python 3.13+. ⌘ Read more
@prologic@twtxt.net I have updated to kinda follow this. It now redirects to other webfingers if the resource has a different hostname. I’m still not sure what I should put multiple services with the same domain name. Like if they were to have conflicting properties.
@prologic@twtxt.net I have updated to kinda follow this. It now redirects to other webfingers if the resource has a different hostname. I’m still not sure what I should put multiple services with the same domain name. Like if they were to have conflicting properties.
How Are Blue Pill Bugs Like Opal? ⌘ Read more
Finally back! My VPS’s main drive got toasted. I got a freshly installed VPS now, got yarn set up and working now, now I have to fix the rest of the stuff.
I’ve been using apache for many many years, but I had so many issues getting it set up today, so I switched to nginx, and that took me like 2 minutes.. So yeah - I’ll use nginx from now on.
so in effect it would look something like this:
---
subject: acct:me@sour.is
aliases:
- salty:me@sour.is
- yarn:xuu@ev.sour.is
- status:xuu@chaos.social
- mailto:me@sour.is
---
subject: salty:me@sour.is
aliases:
- acct:me@sour.is
links:
- rel: self
type: application/json+salty
href: https://ev.sour.is/inbox/01GAEMKXYJ4857JQP1MJGD61Z5
properties:
"http://salty.im/ns/nick": xuu
"http://salty.im/ns/display": Jon Lundy
"http://salty.im/ns/pubkey": kex140fwaena9t0mrgnjeare5zuknmmvl0vc7agqy5yr938vusxfh9ys34vd2p
---
subject: yarn:xuu@ev.sour.is
links:
- rel: https://txt.sour.is/user/xuu
properties:
"https://sour.is/rel/redirect": https://txt.sour.is/.well-known/webfinger?resource=acct%3Axuu%40txt.sour.is
---
subject: status:xuu@chaos.social
links:
- rel: http://joinmastodon.org#xuu%40chaos.social
properties:
"https://sour.is/rel/redirect": https://chaos.social/.well-known/webfinger?resource=acct%3Axuu%40chaos.social
---
subject: mailto:me@sour.is
...
so in effect it would look something like this:
---
subject: acct:me@sour.is
aliases:
- salty:me@sour.is
- yarn:xuu@ev.sour.is
- status:xuu@chaos.social
- mailto:me@sour.is
---
subject: salty:me@sour.is
aliases:
- acct:me@sour.is
links:
- rel: self
type: application/json+salty
href: https://ev.sour.is/inbox/01GAEMKXYJ4857JQP1MJGD61Z5
properties:
"http://salty.im/ns/nick": xuu
"http://salty.im/ns/display": Jon Lundy
"http://salty.im/ns/pubkey": kex140fwaena9t0mrgnjeare5zuknmmvl0vc7agqy5yr938vusxfh9ys34vd2p
---
subject: yarn:xuu@ev.sour.is
links:
- rel: https://txt.sour.is/user/xuu
properties:
"https://sour.is/rel/redirect": https://txt.sour.is/.well-known/webfinger?resource=acct%3Axuu%40txt.sour.is
---
subject: status:xuu@chaos.social
links:
- rel: http://joinmastodon.org#xuu%40chaos.social
properties:
"https://sour.is/rel/redirect": https://chaos.social/.well-known/webfinger?resource=acct%3Axuu%40chaos.social
---
subject: mailto:me@sour.is
...
@prologic@twtxt.net Unfortunately the RFC’s are a bit light in this regard. While it makes mention of different kinds of accounts like mailto: or status services.. it never combines them. It does make mention of using redirects to forward a request to other webfingers to provide additional detail.
I am kinda partial to using salty:acct:me@sour.is, yarn:acct:xuu@txt.sour.is, mailto:me@sour.is that could redirect to a specific service. and a parent account acct:me@sour.is that would reference them in some way. either in properties or aliases.
@prologic@twtxt.net Unfortunately the RFC’s are a bit light in this regard. While it makes mention of different kinds of accounts like mailto: or status services.. it never combines them. It does make mention of using redirects to forward a request to other webfingers to provide additional detail.
I am kinda partial to using salty:acct:me@sour.is, yarn:acct:xuu@txt.sour.is, mailto:me@sour.is that could redirect to a specific service. and a parent account acct:me@sour.is that would reference them in some way. either in properties or aliases.
It seems like https://proxy.vulpes.one/ runs a code that once was written by @prologic@twtxt.net. Its rendering looks quite nice. Sadly, I am unable to compile it (modified code at https://git.vulpes.one/gopherproxy/).
Biology vs Robotics
⌘ Read more
Did something chchange with how the discover feed is generated? My pods logout mode now only shows my twts. It used to be all twts from watcher observation like my logged on discover tab. @prologic@twtxt.net
Did something chchange with how the discover feed is generated? My pods logout mode now only shows my twts. It used to be all twts from watcher observation like my logged on discover tab. @prologic@twtxt.net
One of the frustrating parts of using twtxt for conversations is the URLs are, well… ugly. Anyone (like y’all yarn folks) looked at using webfinger for translating user@domain accounts to URLs?
More specifically: Will this be expanded into something like Gitea with the concept of users and organizations, or will it stay with a simple flat repository model like upstream legit or cgit?
Also, the shorthand mention syntax has struck again. Apologies, @justamoment@twtxt.net.
❤️ 🎶: What a Person Like You by Shim Soo Bong
I think boredom is a real force that pushes ourselves to the edge, to hopefully make a change in life, like going out to see real people. Social media creates this cozy, safe place to keep your mind occupied, letting life pass without realizing it. Social media may prevent users from reaping creative rewards of profound boredom | Hacker News
❤️ 🎶: Like a Star by MOON SUA(Billlie)
it’s really funny when people tag jimmy wales on twitter when they don’t like some of the content on wikipedia. it’s like someone would tag Nat Friedman when they find a bug in a program hosted there
@prologic@twtxt.net see where its used maybe that can help.
https://github.com/sour-is/ev/blob/main/app/peerfinder/http.go#L153
This is an upsert. So I pass a streamID which is like a globally unique id for the object. And then see how the type of the parameter in the function is used to infer the generic type. In the function it will create a new *Info and populate it from the datastore to pass to the function. The func will do its modifications and if it returns a nil error it will commit the changes.
The PA type contract ensures that the type fulfills the Aggregate interface and is a pointer to type at compile time.
@prologic@twtxt.net see where its used maybe that can help.
https://github.com/sour-is/ev/blob/main/app/peerfinder/http.go#L153
This is an upsert. So I pass a streamID which is like a globally unique id for the object. And then see how the type of the parameter in the function is used to infer the generic type. In the function it will create a new *Info and populate it from the datastore to pass to the function. The func will do its modifications and if it returns a nil error it will commit the changes.
The PA type contract ensures that the type fulfills the Aggregate interface and is a pointer to type at compile time.
tbh whenever someone is like “the existing arguments for agi xrisk were insufficient/unclear, here’s my better version” the arguments read exactly the same to me as the existing ones.
How To Argue Like A Scientist At Holiday Dinner: A Cosmic Perspective from Neil deGrasse Tyson ⌘ Read more
@prologic@twtxt.net I guess that refresh field could be easily replaced with Expires HTTP header (I realize that users on neocities.org cannot control this header, for example). And clients should also respect headers like Last-Modified/If-Modified-Since (304), you’re right about that. P.S. twtwt doens’t have a caching mechanism for now, but I plan to implement it in generic way using HTTP headers.
@prologic@twtxt.net: I understand the benefits of using hashes, it’s much easier to implement client applications (at the expense of ease of use without the proper client). I must say that I like the way the metadata extension is done. Simple and elegant! It’s hard to design simple things!
BREAKING: Red Hat CEO admits he “has no idea what Kubernetes is”
“Pretty sure it’s like, Rust, I think,” stated Canonical CEO. ⌘ Read more
I learned that Pleroma has a gopher front end. Pleroma is like Mastodon, but a lot lighter. So I set one up. It works!
Prediction: I will not like the Philosophy Tube Video about Effective Altruism
Unlikely events can be good, likely events can be bad.
Tutorial: Getting started with generics - The Go Programming Language – Okay @xuu@txt.sour.is I quite like Go’s generics now 🤣 After going through this myself I like the semantics and the syntax. I’m glad they did a lot of work on this to keep it simple to both understand and use (just like the rest of Go) 👌
#GoLang #Generics
critiques of effective altruism in the form “effective altruism isn’t blue/green enough” are really boring, and likely wrong
**RT by @mind_booster: 1.
‘equilibrium climate sensitivity is at least ~4°C with a likely range of 3.5-5.5°C.
global warming in the pipeline is greater than prior estimates.’
James Hansen and colleagues release new work for discussion.
This should be front page news.
https://arxiv.org/abs/2212.04474**
1.
‘equilibrium climate sensitivity is at least ~4°C with a likely range of 3.5-5.5°C.
global warming in the pipeline is greater than prior estimates.’
James Hansen and colleagues release new work for discus … ⌘ Read more
Snikket: F-Droid security update
Last week, Snikket Android users who installed the Snikket app via F-Droid
started receiving a warning that it contained a
security vulnerability. This wasn’t entirely accurate, as the problem wasn’t
with the Snikket app itself but specifically F-Droid’s own build of the app
that was using an outdated version of the WebRTC library.
Like many communication apps, Snikket uses WebRTC for audio and video calls.
We’ve been working on finding a … ⌘ Read more
I use Firefox as my preferred web browser both on PCs and my phone. One extension is always installed: uBlock Origin. The web is so much nicer with all the ads and tracking removed. But today I also retried an extension that will probably join the “must install” list: DarkReader. Especially when I’m browsing the web on my phone in the early morning, I don’t like to be blinded by white websites. Since March DarkReader has finally an option to detect if a website already has a dark theme and only apply it’s color chan … ⌘ Read more
I’m listening. Is there an IRC? The announcer seems like he’s interacting.
I started reading the proposal to introduce operator overloading in Go version 2 that I like to see: https://github.com/golang/go/issues/27605 Now a few hours later I ended up at this gem. Write a program that makes 2+2=5: https://codegolf.stackexchange.com/questions/28786/write-a-program-that-makes-2-2-5 There are some awesone solutions. :-)
Will A.I. like ChatGPT or GitHub Copilot replace human programmers?
An in-depth analysis. ⌘ Read more
The XMPP Standards Foundation: The XMPP Newsletter November 2022
Welcome to the XMPP Newsletter, great to have you here again! This issue covers the month of November 2022. This is the final release for this year and we will have a well-deserved winter break until the 5th of February 2023! Many thanks to all readers and all contributors!
Like this newsletter, many projects and their efforts in the XMPP community are a result of people’s voluntary work. If you are happy with the services and software you may … ⌘ Read more
@lyse@lyse.isobeef.org im talking like some JS projects i have seen with 1-2G node_modules dirs. though yarn is quite vast in its modules because it does a LOOOOOOT of stuff in the background.
@lyse@lyse.isobeef.org im talking like some JS projects i have seen with 1-2G node_modules dirs. though yarn is quite vast in its modules because it does a LOOOOOOT of stuff in the background.
Well, people should be able to talk, even if it’s the ‘wrong’ topic.
I think the whole ‘covid disinformation’ policy at twitter and others (spotify) is ridiculous.
A banner that pops up telling you to go ‘here’ for latest info is crazy.
People die from all kinds of things, covid is no exception from that, but no other virus has been put on display like this one. And also not even being able to discuss things around it (except for the cemented truth) is not something I like. I’m not a conspiracy theorist or anything like that - but I love discussing things, and when you cannot even do that - then I have a issue with it. So many people got banned for simply discussing or trying to discuss issues around it.
Sorry, not a big conspiracy fan. I don’t like conspiracy theories.
A Smalltalk SmartPhone: The “SqueakPhone”
Watch now (18 min) | An alternate universe of what a smartphone OS could be like. ⌘ Read more
ahh this is useful https://go.dev/doc/modules/managing-dependencies. the go culture doesn’t typically have large dependency graphs like Ruby or JS.
ahh this is useful https://go.dev/doc/modules/managing-dependencies. the go culture doesn’t typically have large dependency graphs like Ruby or JS.
Ah git-bug! Ive chatted with the creator when he was working on the graphql parts. Its working with git objects directly sorta like how git-repo does code reviews. Its a pretty neat idea for storing data along side the branches. I believe they don’t add a disconnected branch to avoid data getting corrupted by merging branches or something like that.
Ah git-bug! Ive chatted with the creator when he was working on the graphql parts. Its working with git objects directly sorta like how git-repo does code reviews. Its a pretty neat idea for storing data along side the branches. I believe they don’t add a disconnected branch to avoid data getting corrupted by merging branches or something like that.
@lyse@lyse.isobeef.org thank you :) I like it a lot too. kinda want to put this one up on our wall.
What The 2030s Will Look Like With Ray Kurzweil ⌘ Read more
@lyse@lyse.isobeef.org very nice! never get tired of seeing the sky like that
@justamoment@twtxt.net flightgear is great! I like the fact that it works on linux, same goes for xplane, that alone is the reason why I do not buy MS flightsim.
@lyse@lyse.isobeef.org home made pizza :) we saw a move with a ghost, a bit like casper.
Also I need to set up a new website with a static site generator. Ill most likely give hugo a try again.
@prologic@twtxt.net Most likely, ancient debian on that webserver - I’ll assume the problem is on my end and see if I can get it sorted.
@prologic@twtxt.net I’m sure Monroe would like to know about them.
@prologic@twtxt.net I’m sure Monroe would like to know about them.
@eaplmx@twtxt.net I didn’t like the original click wheel. I think the first mini wheel was the better of them
@eaplmx@twtxt.net I didn’t like the original click wheel. I think the first mini wheel was the better of them
This looks like an interesting audio player, a bit expensive but a good replacement for the phone
https://www.hidizs.net/products/ap80-high-resolution-portable-music-player
Tell me you write go like javascript without telling me you write go like javascript:
import "runtime/debug"
var Commit = func() string {
if info, ok := debug.ReadBuildInfo(); ok {
for _, setting := range info.Settings {
if setting.Key == "vcs.revision" {
return setting.Value
}
}
}
return ""
}()
Tell me you write go like javascript without telling me you write go like javascript:
import "runtime/debug"
var Commit = func() string {
if info, ok := debug.ReadBuildInfo(); ok {
for _, setting := range info.Settings {
if setting.Key == "vcs.revision" {
return setting.Value
}
}
}
return ""
}()
In reply to: Oatmeal - My programming language odyssey
A while ago someone asked what I liked about the programming languages I like — forth and lisp specifically.
I’ve noodled on it for a bit now, and I think the reason I like forth and scheme and other languages with something like a repl is because when I start a new project I’m dropped right into the entire language and t … ⌘ Read more
Oh wow! 😳 Looks like Mastodon are planning to add support for Twtxt in Add support for Twtxt protocol 😅
How to Build a Restreaming Server with a Raspberry Pi
First of all, what is a restreaming server? Sometimes you want to livestream video from a device like an ATEM Mini or OBS to multiple destinations. Many devices and software like this will let you push video to just one RTMP destination at a time. ⌘ Read more
Although there are definitely reasons to hate Windows, there are also reasons to like Windows 11: Linux GUI apps, Android apps, winget package manager and improved window tiling. It would be even better, when one wouldn’t need to toogle all the privacy and telemety settings first… ⌘ Read more
@mckinley@twtxt.net Thank you! I didn’t even know about signing and encrypting XML documents. Right, RSS is a little bit messy.
Unfortunately, the autodiscovery document in one of your linked resources does not exist anymore. What annoys me in Atom is the distinction between <id> and <link>. I always want my URL also to be my ID, so I have to duplicate that – unnecessarily in my opinion.
Also, never found a good explanation why I should add <link rel="self" … /> to my feeds. I just do, but I don’t understand why. The W3C Feed Validation Service says:
[…] This value is important in a number of subscription scenarios where often times the feed aggregator only has access to the content of the feed and not the location from which the feed was fetched.
This just sounds like a very questionable bandaid to bad software architecture. Why would the feed parser need access to the feed URL at this stage? And if so, why not just pass down the input source? Just doesn’t make sense to me.
Also, I just noticed that I reference the http://purl.org/rss/1.0/modules/syndication/ namespace, but don’t use it in most of my feeds. Gotta fix that. Must have copied that from my yfav feed without paying attention what I’m doing.
Your article made me reread the Atom spec and I found out, that I can omit the <author> in the <entry> when I specify a global <author> at <feed> level. Awesome! Will do that as well and thus reduce the feed size.
would it be possible to have some indication if you already follow a person? like where the profile pic is - some indication if you are already following or not? I often have to click in to know.
Precision vs Accuracy
⌘ Read more
The XMPP Standards Foundation: The XMPP Newsletter October 2022
Welcome to the XMPP Newsletter, great to have you here again! This issue covers the month of October 2022.
Like this newsletter, many projects and their efforts in the XMPP community are a result of people’s voluntary work. If you are happy with the services and software you may be using, especially throughout the current situation, please consider saying thanks or help these projects! Interested in supporting the Newsletter team? Read more at t … ⌘ Read more
@prologic@twtxt.net
Just something to hide the ip when you ping like cloudflare does but not cloudflare. if there even is something like that
@prologic@twtxt.net
If there was something that could hide the ip from pings and searches like cloudflare but without cloudlfare that would be great.
it uses the queries you define for add/del/set/keys. which corrispond to something like INSERT INTO <table> (key, value) VALUES ($key, $value), DELETE ..., or UPDATE ...
the commands are issued by using the maddycli but not the running maddy daemon.
see https://maddy.email/reference/table/sql_query/
the best way to locate in source is anything that implements the MutableTable interface… https://github.com/foxcpp/maddy/blob/master/framework/module/table.go#L38
it uses the queries you define for add/del/set/keys. which corrispond to something like INSERT INTO <table> (key, value) VALUES ($key, $value), DELETE ..., or UPDATE ...
the commands are issued by using the maddycli but not the running maddy daemon.
see https://maddy.email/reference/table/sql_query/
the best way to locate in source is anything that implements the MutableTable interface… https://github.com/foxcpp/maddy/blob/master/framework/module/table.go#L38
I was inclined to let this go so as not to stir anything up, but after some additional thought I’ve decided to call it out. This twt:
is exactly the kind of ad hominem garbage I came to expect from Twitter™, and I’m disappointed to see it replicated here. Rummaging through someone’s background trying to find a “gotcha” argument to take credibility away from what a person is saying, instead of engaging the ideas directly, is what trolls and bad faith actors do. That’s what the twt above does (falsely, I might add–what’s being claimed is untrue).
If you take issue with something I’ve said, you can mute me, unfollow me, ignore me, use TamperMonkey to turn all my twts into gibberish, engage the ideas directly, etc etc etc. There are plenty of options to make what I said go away. Reading through my links, reading about my organization’s CEO’s background, and trying to use that against me somehow (after misinterpreting it no less)? Besides being unacceptable in a rational discussion, and besides being completely ineffective in stopping me from expressing whatever it is you didn’t like, it’s creepy. Don’t do that.
@prologic@twtxt.net It’s called “cgod” and it isn’t written in C or Go? I want my money back…
I also like Gopher more than Gemini. The problem Gemini is trying to solve is better solved by just writing static HTML 4.01 pages.
98.css (again)
I already shared “98.css” on my blog in 2020. It’s a CSS framework that styles semantic HTML to look like Windows 98. ⌘ Read more
I was just reminded of this interpreter for an APL/J-like language by Arthur Whitney, the absolute weirdest bit of C code I’ve actually gotten something out of, and thought I’d share: https://code.jsoftware.com/wiki/Essays/Incunabulum
How to Fix and Debug Docker Containers Like a Superhero
While containers help developers rapidly build and run cross-platform applications, creating error-free apps remains a constant challenge. And while it’s not always obvious how container errors occur, this mystery is even harder for newer developers to unravel. Figuring out how to debug Docker containers can seem daunting. In this Community All-Hands session, Ákos Takács demonstrated how […] ⌘ Read more
Erlang Solutions: Learning functional and concurrent programming concepts with Elixir
If you are early in the process of learning Elixir or considering learning it in the future, you may have wondered a few things. What is the experience like? How easy is it to pick up functional and concurrent programming concepts when coming from a background in languages which lack those features? Which aspects of the … ⌘ Read more
Division Notation
⌘ Read more
This Bacteria Smells Like Bananas And Attracts Angry Bees href=”https://txt.sour.is/search?q=%23shorts”>#shorts** ⌘ Read more
After all, debugging is still fun!
One reason I use an Android smartphone is that there are apps like Indigenous (a MicroPub-compatible app for posting from your phone to a MicroPub-compatible blog). And even if the app ever disappears from the store, there’s still the option to manually install the app. And if you need to, you can also develop your own apps without having to invest nearly $100 a year. ⌘ Read more
for service registration like nickserv. really its only for password recovery so a trow away is fine.
for service registration like nickserv. really its only for password recovery so a trow away is fine.
❤️ 🎶: Like a Bird by MeloMance
The XMPP Standards Foundation: The XMPP Newsletter September 2022
Welcome to the XMPP Newsletter, great to have you here again! This issue covers the month of September 2022.
Like this newsletter, many projects and their efforts in the XMPP community are a result of people’s voluntary work. If you are happy with the services and software you may be using, especially throughout the current situation, please consider saying thanks or help these projects! Interested in supporting the Newsletter team? Read mor … ⌘ Read more
Best practices on rolling out code scanning at enterprise scale
Learn best practices on how to roll out centrally managed, developer-centric application security with a third party CI/CD system like Jenkins or ADO. ⌘ Read more
Why we signed the Copenhagen Pledge on Tech for Democracy
As the home for developers, we understand the key role our communities play in steering digital transformation and maintaining societal infrastructure. That’s why we choose to drive and support policies and initiatives like the Copenhagen Pledge on Tech for Democracy. We’re committed to working with like-minded organizations, governments, and civil society to make digital technologies work for democracy and human rights, … ⌘ Read more
Pilot Priority List
⌘ Read more
Multitasking, Desktop PalmOS? Yes. It’s real.
It’s like a desktop operating system made up of a dozen Palm Pilots. Wild. ⌘ Read more
GoToSocial seems like a promising alternative to Mastodon. It’s written in Go (👍 in my opinion), lightweight and pretty good documented so far. It’s still “alpha software” but seems to make great progress. In the past, I self hosted a microblog.pub instance and then after some time without any Fediverse profile other than my blog, which has ActivityPub support as well, signed up at Fosstodon to be able to reply to blog comments from the Fediverse. I already set up an instace of GTS, but will probably wait to use it … ⌘ Read more
@akoizumi@social.kyoko-project.wer.ee What I don’t like is that openbsd is secure and then that means some things are different from like debian. Sometimes the security maens some change or whatever has to be done when on debian nothing additional has to be done.
@akoizumi@social.kyoko-project.wer.ee I don’t really like the way openbsd does things and use Debian on all my servers. But on the desktop side I like it but don’t use it