eapl.me

eapl.me

Human Level 37, Engineer šŸ”§, scientist šŸ”¬ y co-creator of organizations šŸŒ±, living in Mexico šŸŒŽ, and working with people across the world šŸ—ŗļø y, learning to enjoy life! Texts and links on https://eapl.me

Recent twts from eapl.me
In-reply-to » I got a small desk calendar as advertising gift. It shows three months at once. I'm using this thing since the beginning of this year and I have to say that it turned out to be super useful. I'm happily surprised.

do you mind sharing a picture ?

I canā€™t find something similar here, but my wife gave this one last year, and Iā€™ve been using it a bit. Iā€™d say itā€™s useful as youā€™ve shared.

Image

We also have a shared calendar in the kitchen for family events, and itā€™s working great.

ā¤‹ Read More
In-reply-to » twtxt is a decentralised, minimalist microblogging service for hackers.

well (insert stubborn emoji here) šŸ˜›, word blog comes from weblog, and microblogging could derivate from ā€˜smaller weblogā€™. https://www.wikiwand.com/en/articles/Microblogging

Iā€™d differentiate it from sharing status updates as it was done with ā€˜fingerā€™ or even a BBS. For example, being able to reply; create new threads and sharing them on a URL is something we could expect from ā€˜Twitterā€™, the most popular microbloging model (citation needed)

I like to discuss it, since conversations usually are improved if we sync on what we understand for the same words.

ā¤‹ Read More
In-reply-to » What does the #twtxt community think about having a p2p database to store all history? This will be managed by Registries.

pls elaborate on a ā€˜p2p databaseā€™, ā€˜all storyā€™ and ā€˜Registriesā€™.

My first thought takes me to something like secure-scuttlebutt which itā€™s painful to sync data using clients, and too slow compared to downloading a text file.

Also Iā€™d like for twtxt to avoid becoming an ActivityPub. Works well but itā€™s uses too many resources IMO.
https://kingant.net/2025/02/mastodon-the-cost-of-running-my-own-server/

Iā€™m defending being able to self-host your Web client (like youā€™d do with a Wordpress, twtxt is a micrologging, at the end), instead of federated instances, so in a first thought Iā€™d say Registries have many disadvantages being the first one that someone has to maintain them active.

ā¤‹ Read More
In-reply-to » I watched two squirrels this morning for about half an hour: https://lyse.isobeef.org/eichhoernchen-2025-03-11/ They were super crazy fast. Also, they bit off plenty of twigs and carried them around, not sure where they put them. I've never seen them do that before. Once more I realized that I need a better zoom.

šŸæļø squirrels!

ā¤‹ Read More
In-reply-to » twtxt is a decentralised, minimalist microblogging service for hackers.

Iā€™d need to think about it deeply, but at a first sight, nanoblogging would be a simple text (like the original twtxt spec, aimed for TUIs), and microblogging (like Twitter was a few years ago), would be about sharing texts, images, videos, GIFs, links, and perhaps Markdown styling.

Why? You have shorter messages than in a blog, but you may add almost anything you could do in a blog.
Buuutā€¦ who knows?

ā¤‹ Read More
In-reply-to » @prologic We can't agree on this idea because that makes things even more complicated than it already is today. The beauty of twtxt is, you put one file on your server, done. One. Not five million. Granted, there might be archive feeds, so it might be already a bit more, but still faaaaaaar less than one file per message.

@prologic@twtxt.net oops, Iā€™m sorry to see disagreement leading to draining emotions.

It remind me a bit of the Conclave movie where every part wanted to defend their vision and there is only a winner. If one wins the other loses. Like the political side of many leaders and volunteers representing a broad community. I donā€™t think thatā€™s the case here. Most of us (in not all) should ā€˜winā€™.

I can only add that isnā€™t nice to listen that ā€˜my idea and effortā€™ is not what the rest of the people expect. I personally have a kind of issue with public rejection, but I also like to argue, discuss and even fight a bit. ā€œA gem cannot be polished without friction, nor a man perfected without trials,ā€ they say.
This exercise and belonging to this community also brings me good feelings of smart people trying to solve a human and technical problem, which is insanely difficult to get ā€˜rightā€™.

I genuinely hope we can understand each other, and even with our different and respectful thoughts on the same thing, we might reach an agreement on whatā€™s the best for most people.

Good vibes to everyone!

ā¤‹ Read More
In-reply-to » Hacer software cĆ³digo opensource es desafiante y paulatinamente desgasta a su autor. Todo comienza con pasiĆ³n y entusiasmo, por supuesto. Si logras repercusiĆ³n, te enfrentas a una carrera de fondo que muchos terminan abandonando por las demandas constantes de usuarios que, a menudo, no valoran el trabajo ni contribuyen de manera significativa. Por mencionar un caso reciente: Hector Martin. LĆ­der del proyecto Asahi Linux, quien dedicĆ³ aƱos a adaptar Linux para los procesadores Apple Silicon, un logro tĆ©cnico impresionante. Sin embargo, terminĆ³ renunciando debido a la presiĆ³n de usuarios que exigĆ­an soporte y mejoras como si fueran clientes pagos.

[lang=es] definitivamente es una buena llamada de atenciĆ³n para promover mĆ”s donaciones a proyectos opensource. La verdad apoyo menos proyectos de los que ā€˜deberĆ­aā€™, por el valor que me ofrecen.

Una opiniĆ³n pragmĆ”tica es que hay la libertad de no pagar, pero tambiĆ©n esto nos deberĆ­a llevar a que tenemos la libertad de Sƍ reconocer los proyectos que nos dan valor, por medio de un donativo puntual o constante. Adaptarnos al contexto de lo que estamos ofreciendo.

Mi chava trabaja en Asociaciones Civiles (tipo OSALs/ONGs) y es un reto pedir donativos, por lo que es comĆŗn pedir ā€˜Cuotas de recuperaciĆ³nā€™ pues ayudan a valorar mĆ”s el servicio, y a que fluya el donativo. Creo que se puede hacer algo asĆ­ en el cĆ³digo libre, apelando a diferentes motivadores en los usuarios.

ā¤‹ Read More

lang=en @xuu gotcha!
From that PR #17 I think it was reverted? We could discuss about metadata later this month, as it seems that Iā€™m the only person using it.

Iā€™ve added a [lang=en] to this twt to see current yarn behaviour.

ā¤‹ Read More
In-reply-to » @eapl.me There are several points that I like, but I want to highlight number 7. https://text.eapl.mx/a-few-ideas-for-a-next-twtxt-version #twtxt

a few async ideas for later

The editing process needs a lot of consideration and compromises.

From one side, editing and deleting itā€™s necessary IMO. People will do it anyway, and personally I like to edit my texts, so Iā€™d put some effort on make it work.
Should we keep a history of edits? Should we hash every edit to avoid abuse? Should we mark internally a twt as deleted, but keeping the replies?

I think thatā€™s part of a more complete ā€˜threadā€™ extension, although Iā€™d say itā€™s worth to agree on something reflecting the real usage in the wild, along with what people usually do on other platforms.

ā¤‹ Read More
In-reply-to » @eapl.me There are several points that I like, but I want to highlight number 7. https://text.eapl.mx/a-few-ideas-for-a-next-twtxt-version #twtxt

looks good to me!

About aliceā€™s hash, using SHA256, I get 96473b4f or 96473B4F for the last 8 characters. Iā€™ll add it as an implementation example.
The idea of including it besides the follow URL is to avoid calculating it every time we load the file (assuming the client did that correctly), and helps to track replies across the file with a simple search.

Also, watching your example Iā€™m thinking now that instead of {url=96473B4F,id=1} which is ambiguous of which URL we are referring to, it could be something like:
{reply_to=[URL_HASH]_[TWT_ID]} / {reply_to=96473B4F_1}
That way, the ā€˜full twt IDā€™ could be 96473B4F_1.

ā¤‹ Read More

Hey everyone!

About the idea of improving the ā€œthreadā€ extension, what if we set aside March 2025 to gather proposals and thoughts from everyone? We could then vote on them at the end of the month to see if the change and migration are worth it.

The voting could include client maintainers (and maybe even users too). That way, we get a good mix of perspectives before taking a decision in a decent timelapse.

What do you think? If this sounds good, we can start agreeing on this. Let me know your thoughts!

ā¤‹ Read More
In-reply-to » (#oknfufq) @lyse What do you think about this? https://git.mills.io/yarnsocial/twtxt.dev/issues/14

I like this syntax, you have my vote, although Iā€™d change it a bit like
#<Alice https://example.com/twtxt.com#2024-12-18T14:18:26+01:00>

Hashes are not a problem on PHP, I dont know why itā€™s slow to calculate them from your side, but I agree with your points.

BTW, did you have the chance to read my proposal on twtxt 2.0? I shared a few ideas about possible improvements to discuss:
https://text.eapl.mx/a-few-ideas-for-a-next-twtxt-version
https://text.eapl.mx/reply-to-lyse-about-twtxt

ā¤‹ Read More
In-reply-to » @andros, I am getting:

also @Andros, I see that if I open that URL on my browser, I see weird characters in the .txt file:
description = Ć°ÅøĀā€”
Perhaps your nginx server is missing a Content-Type: text/html; charset=utf-8 header?
https://serverfault.com/a/975289

In timeline it looks OK however, I think itā€™s relying on

The file must be encoded with UTF-8
of the original spec:
https://twtxt.readthedocs.io/en/latest/user/twtxtfile.html

ā¤‹ Read More
In-reply-to » @eapl.me Here is what I've got so far: https://github.com/upputter/testing-twtxt-dm

here is my progress so far: https://github.com/eapl-gemugami/twtxt-direct-message-php
The encryption part seems to work, if I decrypt it the message with OpenSSL.
I think it can help you for some key parts not well explained in OpenSSL documentation.

@andros@twtxt.andros.dev reading your spec I wrote a few notes here: https://github.com/eapl-gemugami/twtxt-direct-message-php/blob/main/direct_message_spec.md

@arne@uplegger.eu I havenā€™t check your repo yet, although you are using sodium, right?

ā¤‹ Read More
In-reply-to » Today is an important day. We have a new extension: Direct message šŸŖ‡šŸ—ØļøšŸš€šŸ„³ā¤ļø https://twtxt.dev/exts/direct-message.html #twtxt

@andros@twtxt.andros.dev Could you share (perhaps in the extension document) the private key for alice?

I want to compare that I can read the encrypted message both from OpenSSL CLI and from the PHP OpenSSL library, following the spec.

ā¤‹ Read More
In-reply-to » @arne Well, just for my understanding. The command: echo "Lorem ipsum" | openssl enc -aes-256-cbc -pbkdf2 -iter 100000 -out message.enc -pass file:shared_key.bin will take the input string from echo to openssl. It then will

trying to implement it quickly, I get the same questions than you

# https://www.php.net/manual/en/function.openssl-pbkdf2.php
    $password = $sharedKey;
    $salt = openssl_random_pseudo_bytes(16);  # What's the salt length ?
    $keyLength = 20;  # What's the key length here ?
    $iterations = 100000;
    $generatedKey = openssl_pbkdf2($password, $salt, $keyLength, $iterations, 'sha256');
    echo bin2hex($generatedKey)."\n";
    echo base64_encode($generatedKey)."\n";

    $iv = openssl_random_pseudo_bytes(16); // AES-256-CBC requires 16-byte IV
    $cipherText = openssl_encrypt($message, 'aes-256-cbc', $generatedKey, OPENSSL_RAW_DATA, $iv);
    return base64_encode($iv . $cipherText);

ā¤‹ Read More
In-reply-to » You have a microwave oven at home, right?

Iā€™m surprised, here you canā€™t find dial controls anymore. How old are your ovens? The last one my parents had was from the 90s.

I was amazed experimenting with different combinations, for instance instead of 100, using 60 for a minute, 90 for 1:30, and stupid stuff like heating with 11, 22, 55 seconds and so, to make it quicker to type any time.

ā¤‹ Read More
In-reply-to » What would you like the new twtxt logo to be? Comments: https://git.mills.io/yarnsocial/twtxt.dev/issues/9#issuecomment-18960 Media

among these options, 3

Although I like it more ā€œtwtā€, without the dot and with a t at the end

ā¤‹ Read More
In-reply-to » (#4fmwoaq) (I keep thinking that going back go Gopher or Gemini might be a good idea at this point. They donā€™t care about that, probably. šŸ«£)

well, Gemini clients like Lagrange allow to show inline images when you click on an image link. Text based clients, like Amfora, usually allow to watch the image in another ā€˜windowā€™.

For example here: gemini://text.eapl.mx/en-making-a-tic-tac-toe-variant and there https://text.eapl.mx/en-making-a-tic-tac-toe-variant

I agree that some topics require images to make it easier to explain.

ā¤‹ Read More

You have a microwave oven at home, right?

You can type 3 and 0 for 30 seconds, 100 for a minute (shown as 1:00), or 200 for two minutes (2:00).

What would happen if you type 777 and Start?
A) Nothing
B) Self-destruction
C) Will run for 7 minutes and 77 seconds (boring!)

What about 7777 ?

ā¤‹ Read More
In-reply-to » Have you ever had to refactor a project that was not documented? Any suggestions?

ok, sounds like a ā€˜largeā€™ project to me.
Is it more an API (more oriented to developers), more oriented to UI/UX/Frontend? Perhaps both?

Iā€™d go with prologicā€™s advice of measuring and prioritizing. Perhaps you have a budget or at least something like ā€œletā€™s see how far can we reach in 6 monthsā€, and possibly you wonā€™t finish in the time you have (just guessing).

Something that has helped me was defining ā€œWhy do you we want to refactor this project?ā€.
Could it be to make it compile on newer versions, or making it easier to grow and scale, or perhaps they are trying to sell that product to another company. Every reason has a different path, IMO.

ā¤‹ Read More
In-reply-to » @eapl.me Read flags are so simple, yet powerful in my opinion. I really don't understand why this is not a thing in most twtxt clients. It's completely natural in e-mail programs and feed readers, but it hasn't made the jump over to this domain.

thatā€™s a fair point.

Perhaps, since Twitter in 2006 never implemented read flags, every derivative microblogging system never saw that as an expected feature. This is curious because Twitter started with SMS, where on our phones we can mark messages as read or unread.
I think it all comes from the difference between reading an email (directed to you) vs. reading public posts (like a blog or a ā€˜wall,ā€™ where you donā€™t mark posts as read). Itā€™s not necessary to mark it as ā€˜readā€™, you just jump over it.

Reading microblogging posts in an email program is not common, I think, and I havenā€™t really used it, so I cannot say how it works, and whether it would be better for me or not.
However, Iā€™ve used Thunderbird as a feed reader, and I understand the advantages when reading blog posts.

About read flags being simple, wellā€¦ we just had a discussion this morning about how tracking read messages would require a lot of rethinking for clients such as timeline where no state is stored. Even considering some kind of ā€˜notification of unread messages or mentionsā€™ is not expected for those minimalist client, so itā€™s an interesting compromise to think about.

ā¤‹ Read More
In-reply-to » my first thought is that encrypting messages with Elliptic keys is not as easy as with RSA, although I tried doing something similar a few months ago with ECIES https://github.com/eapl-gemugami/owl/blob/main/src/app/controller/ecies_demo.php

a year ago I had a struggle to find documentation about it and now it seems there are more examples, cool!

ā¤‹ Read More
In-reply-to » interesting idea. I'm not personally interested on having DM conversations on twtxt (for now), although I see the community could be interested in.

I agree šŸ™‚, although itā€™s easy to lose comments over time and are not so grouped by topic, itā€™s not so easy to vote or make a survey about itā€¦

I prefer a forum for that šŸ˜Š

ā¤‹ Read More
In-reply-to » It's ok for most encrypted protocols (In salty you can fetch other messages but can't decrypt). Btw i think recipient can be removed so if someone seen message they tried to decypt, if can't - its not message to you

here are a few ideas you might take into consideration when designing a secure IM https://developer.virgilsecurity.com/docs/e3kit/fundamentals/secure-instant-messaging/

Obviously if youā€™ve worked on something similar, you already know it, he

ā¤‹ Read More
In-reply-to » It's ok for most encrypted protocols (In salty you can fetch other messages but can't decrypt). Btw i think recipient can be removed so if someone seen message they tried to decypt, if can't - its not message to you

I made a draft of an ā€œencrypted public messengerā€, which was basically a Feed for an address derivate from the public ket, letā€™s say ā€˜abcd..eaeaā€™

Anyone could check, ā€œare there any messages for my address?ā€ and you get a whole list of timestamps and encrypted stuff.

Inside the encrypted message is a signature from the sender. That way you ā€˜couldā€™ block spam.

Only the owner of the private key could see who sent what, and soā€¦

And even with that my concussion was that users expectations for a private IM might be far away from my experiment.

ā¤‹ Read More
In-reply-to » I want to share a little idea for a new extension with the goal of adding direct messages in #twtxt https://github.com/tanrax/twtxt-direct-message-extension

another one would be to allow changing public keys over time (as it may be a good practice [0]). A syntax like the following could help to know what public key you used to encrypt the message, and which private key the client should use to decrypt it:

!<nick url> <encrypted_message> <public_key_hash_7_chars>

Also Iā€™d remove support for storing the message as hex, only allowing base64 (more compact, aiming for a minimalistic spec, etc.)

[0] https://www.brandonchecketts.com/archives/its-2023-you-should-be-using-an-ed25519-ssh-key-and-other-current-best-practices

ā¤‹ Read More
In-reply-to » I want to share a little idea for a new extension with the goal of adding direct messages in #twtxt https://github.com/tanrax/twtxt-direct-message-extension

interesting idea. Iā€™m not personally interested on having DM conversations on twtxt (for now), although I see the community could be interested in.

Iā€™d suggest to enable the Discussion section in your Github repo to receive comments, as we did for timeline https://github.com/sorenpeter/timeline/discussions

ā¤‹ Read More
In-reply-to » What say you @movq @lyse @eapl.mx / @darch @andros (new client author)? šŸ¤” Shall I PR this up?

although I agree that it helps, I donā€™t see completely correct to leave the nick definition to the source .txt. It could be wrong from the start or outdated with the time.

Iā€™d rather prefer to get it from the mentioned .txt nick metadata (could be cached for performance).
So my vote would to make it mandatory to follow @<name url> but only using that name/nick if the URL doesnā€™t contain another nick.
A main advantage is that when the destination URL changes the nick, itā€™ll be automagically updated in the thread view (as happens with some other microblogging platforms, following the Jakobā€™s Law)

ā¤‹ Read More
In-reply-to » šŸ¤” Prosoal: Disallowed the @<url> form of mentions. Strictly require that all mentions include a nickname/name; i.e: @<name url>.

word of the thay, prosoal
Is it a typo of Proposal right? =P (Genuinely asking)

ā¤‹ Read More
In-reply-to » My side project explains very well https://django-liveview.andros.dev/ šŸ˜

Django channels are cool! I had the chance to make a online gaming framework with Channels and Django Rest and was a great experience.

Iā€™m looking forward to doing something in Django LiveView soon.

ā¤‹ Read More
In-reply-to » For Example:

and going back to a handle you could input in your client to look for the user/file, like @nick@domain.tls I think Webfinger is the way to go. It has enough information to know where to find that nickā€™s URL.

@prologic@twtxt.net does that webfinger fork made by darch work OK with yarn as it is now? (Iā€™ve never used it, so Iā€™m researching about it)
https://darch.dk/.well-known/webfinger/

ā¤‹ Read More
In-reply-to » Grocery shopping in the day of Christmas Eve is nuts, and wife is dragging me through it. šŸ˜©

Oh no!
Wife and I agreed on hibernate until January, just visiting relatives but avoiding any kind of shopping. I tried buying something like 2 or 3 days ago and itā€™s insane :o

Good luck! :)

ā¤‹ Read More
In-reply-to » @eapl.me A way to have a more bluesky'ish handles in twtxt could be to take inspiration from Bridgy Fed and say: If NICK = DOMAIN then only show @DOMAIN So instead of @eapl.me@eapl.me it will just be @eapl.me

Iā€™m just having a similar issue with a podcast I just uploaded on Castopod (which supports ActivityPub).

My first thought was creating a subdomain with the name of the podcast mordiscos.eapl.me

Then I watched that the software allows many podcasts in the same domain, so I had to pick a handle:
https://mordiscos.eapl.me/@podcast

So now I have @podcast@mordiscos.eapl.me when this one is ā€˜more correctā€™ @mordiscos@podcast.eapl.me or it could even be @mordiscos.eapl.me
I wasnā€™t aware of all that when I setup Castopod (documentation might improve a lot, IMO)

My point here is that itā€™s something important to think from the start, otherwise is painful to change if itā€™s already being used like that.

ā¤‹ Read More
In-reply-to » For Example:

my 2 cents hereā€¦
I agree on displaying a short @nick.

We could hover on the nick to see the full detail which could be @nick@domain.tls or the full URL
Also it could be a display option in Preferences in case your account starts showing many collisions.

The disambiguation for collisions is the .txt URL and the nick inside it, right ?

ā¤‹ Read More
In-reply-to » For Example:

I think we could discuss on implementation details like URLs and Handles.

@nick@nick (Masto/Yarn style)
vs
@nick.eapl.me and @eapl.me (Bsky style)

I see, for example, that yarn shows my account as @eapl.me@eapl.me which looks ā€˜weirdā€™ although itā€™s not wrong since my domain and my nick are the same. Honestly I like more the Bsky approach as in https://bsky.app/profile/eapl.me for @eapl.me, as when you look for https://eapl.me, itā€™s my home page.

Also, I didnā€™t get it completely if you are also proposing a URL standard using subdomains, like https://nick.domain.tls. I only want to point out that these are more difficult to handle from shared hostings, so Iā€™d prefer to also allow https://domain.tls/nick/

ā¤‹ Read More
In-reply-to » One benefit with bluesky is your username is also a website. And not a clunky URL with slashes and such. I wish twtxt adopted that. I have advocated for webfinger to for twtxt to let us do something like it with usernames. Nostr has something like it

since twtxt is based on text files, I think you can consider @domain.tld as an alias of http://domain.com/twtxt.txt (or https://domain.com/tw.txt, among other combinations in the wild).

Or perhaps you can use DNS TXT records?
Although I think thatā€™s a bit more complicated for some environments and users, Iā€™d go with looking for a default /tw*.txt

ā¤‹ Read More
In-reply-to » Yeah, @eapl.me, I kinda like file extensions in some situations. What do you think of twtxt.exe, @bender? ]:->

haha, thatā€™s gold xD.

#randomMemory I remember when I was starting to code, like 30 years ago, not understanding why my Basic file didnā€™t run when I renamed it to .exe

And nowadays, Iā€™ve seen a few Go apps in a single executable, so twtxt.exe could be a thing, he!

ā¤‹ Read More

Iā€™ll be using another URL for this twtxt.

The older one will redirect to the new for a while (Iā€™m not sure what would happen if you follow both URLs, I assume itā€™s better to add the new one and remove the older)

Please update your following list to https://eapl.me/tw.txt !

ā¤‹ Read More
In-reply-to » @aelaraji icons at the top are badly organised while on mobile. About the speed, thatā€™s using a shoddy PHP code, it would be slow even when running in a quantum computer. :ā€™-D

Hehe, although it isnā€™t a fancy language PHP has improved a lot since the old PHP 5 days ĀÆ_(惄)_/ĀÆ Itā€™s 3 to 5 times slower than Go, so I think thatā€™s not too bad

ā¤‹ Read More
In-reply-to » Hey @eapl.me, your feed is broken. All U+2028 got transformed into newlines.

Damn, itā€™s certainly broken. Thank you for letting me know! Iā€™m editing my .txt file by hand, and it seems WinSCP editor doesnā€™t support that character and replaced them all =/

ā¤‹ Read More
In-reply-to » I've been thinking of a few improvements for the next generation of twtxt spec, let me know if these are useful or interesting :) https://text.eapl.mx/a-few-ideas-for-a-next-twtxt-version

Hehe, thank you guys, Iā€™m still alive :)

ā¤‹ Read More