@prologic@twtxt.net How could I forget? :)
CNN as 19, vou estar a dizer cenas
It is just an acronym that means little. You know, like most German Chocolate cakes: not German, not real chocolate. LOL.
QOTD: What are some (GNU/|)Linux distributions that think outside the box? Iâll start.
- Bedrock Linux - A âmeta distributionâ that uses black magic to install packages from any distribution you can think of
- GoboLinux - A distribution that uses black magic to eradicate the standard filesystem hierarchy and give each package its own directory tree, e.g.
/Programs/GCC/9.2.0
. Itâs been around for a whopping 21 years.
There are also the well-known ones like NixOS, Qubes, and even Gentoo but I donât see those two mentioned very often.
@movq@www.uninformativ.de Agreed.
My email is such a cluster of noise. The only time i actually use it is to find out I have to do my security training or something. All communication is slack now days.
Whoops, I started a thread when I meant to reply to the other one. I donât think Iâve ever done that before.
How does Gitea store repositories? Are they just bare Git repositories on the filesystem that can be cloned separately? Also, how does it handle the upstream force-pushing an empty repository? Will that destroy your archive?
@prologic@twtxt.net Iâve thought about that, but it seems awfully inefficient to host a full code forge with a Web interface just to mirror some Git repositories.
QOTD: Do you keep a personal archive of Git repositories? If so, how? My backup system is a poorly written, inefficient shell script that I run manually when I think about it and Iâd like to do something about that. The Yuzu and Citra emulators were taken down recently and I have a ~3 day old backup of Yuzuâs repository but nothing for Citra.
So where do we start wring down the specs/protocol for twtxt2/yarn?
How is everyone?
@prologic@twtxt.net Cool! Now what might be useful is to take all the cool things Yarn does and spec them out into a full protocol. This is also where we might get into extending beyond what Twtxt can offer and into a yarn-specific spec.
The show âOne Dayâ is well worth the watch.
@prologic@twtxt.net So, youâre automatically downloading videos by a select few YouTube channels and putting them into Plex? Interesting. When do you think your kids will figure out how to get around your block? :)
@prologic@twtxt.net I know yarn is culturally a slower place than most mainstream social, but I would like to enable servers to somewhat âbroadcastâ new events on some subscribable endpoint. Since much of the network relies on indexers, this would help the indexers get new posts more immediately, rather than having to schedule their crawls. Thatâs just one idea to start with
@prologic@twtxt.net Lots of content is crap tbh!
well @username@username ratherâŠ
yarnd does not do auto discovery via webfinger though.. i cant put @username and have it fetch the feed url from webfinger. to fully make feeds portable. would also need to be able to use that for hashing.
In their defense, they donât have a web site up at that domain address.
I just figured out, their domain was just one letter different from another EV charging company domain.
@prologic@we.loveprivacy.club They were doing embedded development just like you would JavaScript development, using only âthe frameworkâ, as I said: https://github.com/espressif/esp-idf, compile times were super long (20s), the boss asked âHow many times do I compile per day?â I said: âconstantlyâŠ.â. Just couldnât work with the framework, was super slow. Had to develop the driver bare metal and after that integrate it!
The owner/boss was a Python progammer, never heard of Go!
@prologic@we.loveprivacy.club They knew about microPython
, but the boss never heard about Go, the other guy may have heard of it tho,⊠I think!
@prologic@twtxt.net Yeah! They called themselves embedded C programmers, pretty sure they couldnât write a Makefile
. I called them scammers tbh!
I agree with @sorenpeter@darch.dk. WebFinger and WebMentions are very much in the spirit of Twtxt and both of them are already in use. If weâre going to do much more than that, we should probably just use Nostr instead.
Beijoquinha
Oh, btw, previous guys I worked with never heard of Go!
@shreyan@twtxt.net What do you mean when you say federation protocol?
Either use webfinger for identity like mastodon etc. or use ATproto from Bluesky (or both?)
We can use webmentions or create our own twt-mentions for notifying someones feed (WIP code at: https://github.com/sorenpeter/timeline/tree/webmention/views)
Iâm not sure we need much else. I would not even bother with encryption since other platforms does that better, and for me twtxt/yarn/timeline is for making things public
cu
for https://github.com/espressif/esp-idf?tab=readme-ov-file#viewing-serial-output
@lyse@lyse.isobeef.org That was for an energy metering driver I made (EV charging stations).
Iâm currently working on a VCS for small projects. Single file, plain text repository made entirely of just patches. Iâm currently porting to 9Front and all I have is to do add suport for 3 way merging (I think Iâll just use diff3
on Linux and merge3
on OpenBSD for that. Currently it only supports plain text and no binaries.
This an example repo for my dotfiles https://0x0.st/HRnc.diff, view log implementation in awk
: https://0x0.st/HRnT.sh
@everybody
If interested, some đ” would be great as Iâve been out of job for a few months now and they payed like shit when I was working with them.
https://www.paypal.com/donate/?hosted_button_id=7QXC2F3ANCDC2
You could clone that repo with only:
curl https://0x0.st/HRnc.diff | tee v | patch -p0
However, patch
would leave some extra files in the directory.
yarn should define its own federation protocol that extends the basic twtxt in ways that twtxt doesnât allow. itâs time. and iâve got ideas!
@lyse@lyse.isobeef.org The thing that really unlocked jq for me was learning how to get a TSV output. That was a complete game changer, because it meant I could easily use it in a shell pipeline. I found it to be better than gron for that purpose. Just make an array for each item containing all the values you need and pipe it to the filter @tsv
.
$ # Search YouTube using the Invidious API for "never gonna give you up" and write the results to out.json
$ curl -sGL -A 'Mozilla/5.0 (Linux; x86_64) Ladybird/1.0' -o out.json --data-urlencode 'q=never gonna give you up' 'https://farside.link/invidious/api/v1/search'
$ jq -r '.[] | select(.type == "video") | [ .title, .author, .authorVerified, .videoId ] | @tsv' out.json
Rick Astley - Never Gonna Give You Up (Official Music Video) Rick Astley true dQw4w9WgXcQ
Rick Astley - Never Gonna Give You Up [Lyrics] GlyphoricVibes true QdezFxHfatw
InsurAAAnce & Rick Astley Never Gonna Give You Up CSAA Insurance Group, a AAA Insurer true GtL1huin9EE
[...]
-
for list items constantly when reading YAML files. I'll get confused because I think I'm not in a list or I'm in the previous list item, then I have to go back. List items are all on the same indentation column and one tiny character is the only thing defining a new one. I don't know if others have this problem.
@lyse@lyse.isobeef.org Blank lines help a lot.
grep
-able version, that's very neat. Interesting choice of aligning the colons at the values and not the keys, I think I never came across this.
@lyse@lyse.isobeef.org gron does something very similar with JSON. I used to use it more, but these days I just reach for jq instead.
@movq@www.uninformativ.de completely agree. Also, love the ability Thunderbird used to have (donât know if still does, donât use it) to allow searching for message-id, which we could use to edit emails to fix threats. I used to do it in Mutt too.
Iâm in need of some nineties rage against the machine right now - sleep now in the fire
and then i have a compact version that makes things more grepâable in scripts.
You canât catch the kill signal. Should this be syscall.SIGTERM instead of os.Kill, xuu? https://git.sour.is/sour-is/go-paste/src/branch/main/main.go#L21
You are totally right.. i think i was going for SIGTERM and SIGQUIT
HĂĄ poucos problemas da alma que nĂŁo possam ser resolvidos com um megacombo fdp :fire_yolo:â
@lyse@lyse.isobeef.org This is what I was using cu
for https://github.com/espressif/esp-idf?tab=readme-ov-file#viewing-serial-output
I can query the configurations a few different ways. i can request the specific name foo.bar
or a glob like foo.*
or trace the hierarchy trace:some.deep.name.space
which will give me the namespaces some
, some.deep
, some.deep.name
, and some.deep.name.space
. These can be combined.
@lyse@lyse.isobeef.org its a hierarchy key value format. I designed it for the network peering tools i use.. I can grant access to different parts of the tree to other users.. kinda like directory permissions. a basic example of the format is:
@namespace
# multi
# line
# comment
root :value
# example space comment
@namespace.name space-tag
# attribute comments
attribute attr-tag :value for attribute
# attribute with multiple
# lines of values
foo :bar
:bin
:baz
repeated :value1
repeated :value2
each @
starts the definition of a namespace kinda like [name]
in ini format. It can have comments that show up before. then each attribute is key :value
and can have their own #
comment lines.
Values can be multi line.. and also repeated..
the namespaces and values can also have little meta data tags added to them.
the service can define webhooks/mqtt topics to be notified when the configs are updated. That way it can deploy the changes out when they are updated.
[foo] [foo.bar] [foo.baz]
) and it just feels confusing to me, even with indentation. Simple INI files are okay.
@mckinley@twtxt.net Donât forget the syntax for arrays of sets [[foo.bars]] [[foo.bars]] [[foo.bars]]
@lyse@lyse.isobeef.org Regarding YAMLâs readability, I miss the -
for list items constantly when reading YAML files. Iâll get confused because I think Iâm not in a list or Iâm in the previous list item, then I have to go back. List items are all on the same indentation column and one tiny character is the only thing defining a new one. I donât know if others have this problem.
[foo] [foo.bar] [foo.baz]
) and it just feels confusing to me, even with indentation. Simple INI files are okay.
I spent hours creating a perfect Prosody config for my most recent XMPP server attempt (about 2-3 years ago now) and I lost that file because I deleted the VPS. That was the only important file on there and I just didnât think of it when I deleted it. I didnât have a single backup, not even an old copy I scp
ed back to my PC for editing.
I hope I wonât make that mistake again but I wouldnât be surprised if I did.
@lyse@lyse.isobeef.org Lack of comments are definitely a shortcoming of JSON. I donât like TOML because it lets you have nested categories ([foo] [foo.bar] [foo.baz]
) and it just feels confusing to me, even with indentation. Simple INI files are okay.
The Prosody XMPP serverâs configuration file is just a Lua script because Prosody is written in Lua, and thatâs excellent.
yeah, where and how can we sign up?
Asked an âAI Assistantâ (Perplexity) to summarize my introduction of my homepage and then I asked it to give me some book recommendations I might like, and the thing actually nailed it.
juntando âPenny Travitzâ Ă lista de possĂveis nomes drag
@lyse@lyse.isobeef.org i made my own :D
I do prefer toml for the old school ini style with added support for object lists.
my second would be hjson or any other json with comments style.
@lyse@lyse.isobeef.org key=value\n
or JSON. YAML is the worst and I donât understand why itâs so popular.
Decididamente uma das minhas piores decisÔes de 2024 foi começar a jogar Balatro :mild_panic:
@prologic@twtxt.net Nothing that cool, just happen to be working on it and itâs an Elixir-based Personal Data Server for Bluesky/AT Protocol
Wanna see something interesting?
@reddit_world_news@feeds.twtxt.net and here in Norway they want to punish people more and more.
But the cost of alcohol on society is fine it seems.
The way things are going, weâre never going to make it to Alpha Centauri.
@xuu You are absolutely right, that would be terrible. The whole point of Nostr is to own your identity. I donât know what I was thinking.
I arrived at a phase of life where waking up after 6:30 feels late.
how would that work with your encryption keys? you send them to a server that hopefully you control?
Okay, is there at least a JavaScript-free Web client?
@prologic@twtxt.net has there been any development on cas.run?
8km walk - and now heâs satisfied.
Time to relax, and start a nice weekend after a hectic week, hope you all get to have a great one!
@johanbove@johanbove.info dear lord! Can you still sleep at night?!
@movq@www.uninformativ.de Haha! yeah sounds about like my HS CS program. A math teacher taught visual basic and pascal. and over on the other end of the school we had âelectronicsâ which was a room next to the auto body class where they had a bunch of random computer parts scavenged from the district decommissioned surplus storage.
The advanced class would piece together training kits for the basic class to put together.
Today in NW Minnesota, its 52 degrees. In February. We are on track for the warmest winter on record. Its been disappointing not to be able to avail ourselves of all the winter activities and outdoor sports we typically enjoy. Instead, I am worrying about deer ticks in February. Wtf.
Next week with temps that could reach the 60s, I will probably get a jump on spring cleanup (which usually happens here in May), with the lawn tractor.
@lyse@lyse.isobeef.org not frozen, we have abou 5-6 degrees now. So snow is mostly gone etc :) today felt like spring, but tonight and throughout the weekend we will have rain..
While talking about features, I am sure âSearchâ remains an unused feature mostly because of its lacklustre.
It would be nice to be able to mute/block entire domains, at the user level. Say, I donât want to see any âcyberlandia.ptâ related twtxts while peeking at âDiscoverâ or anywhere else, then I simply add that domain to my âBlock listâ.
@sorenpeter@darch.dk still, I fail to understand why a âprivacyâ app is asking for a phone number in the first place.
@dfaria@dfaria.eu Honest philosophy would say you donât need help!
What the heck is a Devilâs Haircut anyway Beck?
âThe only thing necessary for the triumph of evil is for good people to do nothing.â RIP Alexei Navalny (1976-2024). https://youtu.be/AHDueubF0QY
So I had three espressos before 11:00 - todayâs going swell.
@xuu I would say yes. Maybe caching related?
Cool news from: https://signal.org/blog/phone-number-privacy-usernames/
I keep muting accounts here (twtxt.net), and they keep popping back on after some time. It is nuts. :-(
imagina o âHey Boy Hey Girlâ dos Chemical Brothers, mas com o âhere we goâ do Super Mario
@quark@ferengi.one pascal was high school for me 10th grade. I remember making an over the top Yahtzee game with text windows and everything. My instructor got mad at me because it was a ton of pages printed out to review.
@xuu@txt.sour.is wow, I can tell I am older than you (I already knew this, but still). It was nothing but Pascal for me.
I finished my data structures classes with C++ and the next year they changed it out with Java. When i transferred up after my assoc degree it was C++ using the counter-strike source game engine.
Seriously, where is the suckless-style Nostr client?
Descobri uma data de erros passados nos logs do @PureDeNoticias e ao tratar deles, lembrei-me de juntar as minhas manchetes preferidas sobre os Bombeiros de Valença
Por alguma razão hå feeds que não atualizam regularmente e por isso começam a aparecer memes espontùneos à volta do mesmo tema, daà que não hå grande pressa em tentar rectificar o que quer que seja
@movq@www.uninformativ.de before this century. Back when colleges taught C++ instead of Java for CS degrees.
@xuu@txt.sour.is
=> https://text.sour.is/user/xuu/twtxt.txt
@prologic@twtxt.net Yes please, my default way of storing Twtxt usernames right now is as a URL, but I think Webfinger would be nice as well
@lyse@lyse.isobeef.org Yeah the func in func threw me off.. The generic type iter.Seq[V]
does make things a bit more clear though.
Things can get very interesting when we add the iter.Pull function in the mix. It works like pythons yield from.
@xuu@txt.sour.is
=> https://text.sour.is/user/xuu/twtxt.txt
It already works: https://webfinger.net/lookup/?resource=xuu%40txt.sour.is
but it not very well described afak
@xuu@txt.sour.is
=> https://text.sour.is/user/xuu/twtxt.txt
@xuu Thatâs an interesting idea. Twt hashes still need a canonical URL to work, though.
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
(3) Does Nostr require clients to download much more data than, say, Twitter? I can see it being a little more because of signatures, etc. However, text compresses well and clients should cache previous posts, anyway.
(4) NIP-96 does HTTP file upload, XMPP style. There are some other advanced features like tipping on posts, custom emojis, and at least three conventions for selling goods and services.
Of course, not everything is available with every client and some of the specs are still being worked out. It looks promising to me, though. I like its distributed model with dumb servers and smart clients. The software will get better over time.
All three of your points on usability are definitely true, especially #3. I havenât been able to find a good TUI client.
Regarding the technical points, it seems like there are mechanisms to address each of them. Please tell me if Iâm wrong on any one of these. I have only been learning about Nostr for a short time.
Relays arenât a single point of failure because a user can (and should) post to many of them. The attacker in a censorship or sabotage scenario would have to take down every one of your relays at once. If they were taken down gradually, you could replace the bad relay with a new one and advertise that one on all the other relays your followers already use. Itâs much more resilient compared to twtxt.
Every event contains a signature from your private key, so itâs hard to spoof. NIP-10 provides a method for marking a note as a reply to another note.
the function can yield two values to include an index.
The range function can signal when to stop running by returning false from the yield function.
@mckinley@twtxt.net a few points:
Technical:
- Single point of failure: Relays, though decentralised, could be targeted for censorship or sabotage.
- Message integrity: Messages are not inherently linked, raising concerns about spoofing and manipulation.
- Data storage: Clients may need to download large amounts of data, especially historical messages, impacting performance.
- Limited functionality: Currently focuses on text-based communication, lacking media sharing or advanced features.
Usability:
- Steep learning curve: It is still young and requires technical knowledge for setup and use.
- Limited user base: Finding an active community and familiar faces can be challenging.
- Unintuitive interfaces: Client applications may not be as user-friendly as established platforms.
Also, full of crypto bros, crypto bros wanna be, and, well, worthless crypto (mixed with some porn, nazi crap, etc.). But go ahead, go through the same phases I went (I even ran my own relay), and see it for yourself. :-)
Go 1.22.0 introduces a new experiment for range functions. Have you tried them out? What do you think it can make easier to accomplish?
@movq@www.uninformativ.de NASM is great. I remember playing with it back in my HS days. It has lots of little helps to make assembly more approachable.
Something Iâve noticed about the Nostr people is that they arenât the same as the software minimalism people. It seems like itâs all JavaScript, Go, and Rust with dependency counts in the hundreds.
I fear itâs a rather complicated protocol.
The core protocol looks very simple but Iâm sure you can get in the weeds with extensions.
you canât really change your keys without losing your identity
I think youâre right but that seems reasonable to me. Your public key is your identity, similar to certain cryptocurrencies or Tor hidden services. Why would you want to change your key without changing your identity?