# I am the Watcher. I am your guide through this vast new twtiverse.
# 
# Usage:
#     https://watcher.sour.is/api/plain/users              View list of users and latest twt date.
#     https://watcher.sour.is/api/plain/twt                View all twts.
#     https://watcher.sour.is/api/plain/mentions?uri=:uri  View all mentions for uri.
#     https://watcher.sour.is/api/plain/conv/:hash         View all twts for a conversation subject.
# 
# Options:
#     uri     Filter to show a specific users twts.
#     offset  Start index for quey.
#     limit   Count of items to return (going back in time).
# 
# twt range = 1 493
# self = https://watcher.sour.is?uri=https://eapl.me/twtxt.txt&offset=493
# prev = https://watcher.sour.is?uri=https://eapl.me/twtxt.txt&offset=393
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.
with the quote?
among these options, 3

Although I like it more "twt", without the dot and with a t at the end
Something interesting to think about for twtxt, the microblogging for hackers and friends...

> The biggest challenge of ActivityPub is that it's too technical to easily explain to regular people. Nobody is interested in a jargon-laden diatribe about servers and federation. When simple questions have overly complex answers, people tend to switch off.
https://activitypub.ghost.org/your-thoughts-on-onboarding/
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.
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 ?
hey! It's looking nice
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.
1st thought... Run!

Well, I've heard you have plenty of experience with Unit Testing and TDD. Perhaps designing a few tests before refactoring?

I've heard of Snapshot testing, but have never tried it: https://github.com/spatie/phpunit-snapshot-assertions

Also, what kind of refactor are you trying to do?
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.
Linear feeds are a dark pattern - A proposal for Mastodon
https://tilde.town/~dzwdz/blog/feeds.html

I've polished the CSS style a bit, you can try it here: https://eapl.me/treed/
Hehe, this is amazing:

If OpenSSL were a GUI
A joke about a mock GUI dialog for OpenSSH
Hey, I like this simple Web game:
https://wordswithrobots.isotropic.us

2 players Codenames vs (or along) gpt-4o-mini
a year ago I had a struggle to find documentation about it and now it seems there are more examples, cool!
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 😊
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
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.
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
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
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
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)
word of the thay, prosoal
Is it a typo of Proposal right? =P (Genuinely asking)=
nice! would you mind elaborating a bit?
Is that the scientific method?
I couldn't find anything related when I searched for it.
> If you want a problem solved, you give it to someone as a project. If you don’t want a problem to be solved, you give it to someone as a job

Why you shouldn't build your career around existential risk
https://guzey.com/existential-risk/
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.
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 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/
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! :)
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.
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 ?
BTW I'm watching that darch has already worked on that, interesting https://github.com/sorenpeter/timeline/blob/main/_webfinger-endpoint/.well-known/webfinger/index.php
hey!
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/
after thinking and researching about it, yep, I agree that WebFinger is a good idea.

For example reading here: https://bsky.social/about/blog/4-28-2023-domain-handle-tutorial
I wasn't considering some scenarios, like multiple accounts for a single domain (See 'How can I set and manage multiple subdomain handles?' in the link above)
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
An inspiring book on making a life around IT security

Troy Hunt: "Pwned", The Book, Is Now Available for Free
https://www.troyhunt.com/pwned-the-book-is-now-available-for-free/
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!
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 !
@anth hehe, cool!

I'm changing mine to tw.txt -> https://eapl.me/tw.txt
And the older twtxt.txt will be redirecting for a while
well, the extension helps to know the file format as in .txt and .html, perhaps .twt, he!
Want to help improve the shoddy code?
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_
My bad! My editor was set to use 4 spaces instead of a tab... Making twts by hand is hard =P=
Also I'm thinking on adding support for If-Modified-Since since it'll improve the refreshing process 🤔
Hey! I tried running Timeline on my server with the default PHP version (8.3) and it's giving me a few errors https://eapl.me/timeline/ I should be sending a PR soon to fix it ;)
Thanks @lyse! I'm replying here https://text.eapl.mx/reply-to-lyse-about-twtxt
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 =/=
Hehe, thank you guys, I'm still alive :)
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
I’m not writing on 'twtxt' as much as I did in 2021-2022. While it has many advantages, I couldn't get my close circle to join.

As part of my focus on digital minimalism, I aim to only use services that bring joy, value, and spark interesting conversations within the community.
That’s why I’m considering suspending my twtxt, switching to microblog on other platforms.

If anything of what I've written is interesting for you, or want to chat, you can find me on various platforms here:
https://text.eapl.mx/microblogging
I’m not writing on 'twtxt' as much as I did in 2021-2022. While it has many advantages, I couldn't get my close circle to join.
Ha, I love this game. It's a right mix of puzzle, guessing and poker 🃁
Ha, I love this game. It's a right mix of puzzle, guessing and poker 🃁

#Pokle #762
⬜️🟨🟨🟨🟨
⬜️⬜️⬜️⬜️⬜️
⬜️🟩🟨🟨🟨
🟨🟩🟩🟩🟩
⬜️🟩🟩🟩🟩
🟩🟩🟩🟩🟩
poklegame.com
Wordle DS SLOTH 5/6 02:08
⬜️🟨⬜️⬜️🟨
🟨⬜️⬜️⬜️🟨
🟩🟨⬜️⬜️⬜️
🟩⬜️⬜️🟩🟩
🟩🟩🟩🟩🟩
Wordle DS SLOTH 5/6 02:08

> how can we concretely think about "Complexity Budget" and define it in terms that can be leveraged and used to control the complexity of software dns ystems?

Not exactly on "Complexity", more on UX, although I use this book as a reading material for design courses, on how finally the user receives all that complexity with tragic consecuences:
https://www.tragicdesign.com

And on that "complexity" that the user doesn't see, usually I go with "Software Architecture: The Hard Parts"
https://www.oreilly.com/library/view/software-architecture-the/9781492086888/
This README.md is looking good!
https://github.com/sorenpeter/timeline
This README.md is looking good!
you got me 😉
I don't use my account on twtxt.net although I like the content that is found there.

Yeah, Yarn as a piece of software is really nice, I've said that a few times before.

Although technology is only a piece of the puzzle.
As a community/ecosystem is perhaps too niche. I agree that 'social platforms' don't need to be meaningful, perhaps they don't even need to be useful.
We are sharing time and words here, so that's good by itself.
you got me 😉
Well, I don't use Yarn/Twtxt.net anymore, although I read the homepage a few times a week to catchup on anything interesting.

Nowadays I barely twt from my PHP instance. I got to say that is more "convenient" reading from twtxt.net that on my instance.

My current feeling is that is too niche to find something interesting, being about personal growth, professional or even entertaining. There is not enough people and/or interesting topics to be engaged on. The network effect of people making content is missing IMO. Although I have a similar feeling of any other microblogging, it's too superficial to have a meaningful conversation.
Sadly in this ecosystem I've found no one twting on Spanish, and having conversations in English is not so easy to me.

And about local communities, I tried to invite friends and colleagues, but no one created their instance or joined to Yarn. Even the local Mastodon instance has 3 members (myself included), so I think creating a hipster microblogging is not as easy as looked at the start.

It's again a decision between the involved time and the 'reward' at the end. If we are not getting good emotions or something bigger that ourselves, feels like 'not worthy' to belong.
Well, I don't use Yarn/Twtxt.net anymore, although I read the homepage a few times a week to catchup on anything interesting.
A quiet Sunday, with family, my dog 🐶, house cleaning, preparing for a travel tomorrow...

That's all the twt
A quiet Sunday, with family, my dog 🐶, house cleaning, preparing for a travel tomorrow...
Indeed, BitWarden works nice as a credentials manager, and I'm quite happy with the implementation of Passkeys.

Sadly my old Android 9 is not compatible with the mobile app, although I use the web for that case.
That said, that's what I've been using for years and I can't find a reason to try another (as usually happens with these tools)

I'd suggest of self-host or trying a public instance of Vaultwarden like https://passwd.hostux.net
(donation supported)
Indeed, BitWarden works nice as a credentials manager, and I'm quite happy with the implementation of Passkeys.
Why do clickers are named like that?
Why do clickers are named like that?

The buttons on Zenith’s original ‘clicker’ TV remote were a mechanical marvel
https://www.theverge.com/23810061/zenith-space-command-remote-control-button-of-the-month
“A master in the art of living draws no sharp distinction between his work and his play; his labor and his leisure; his mind and his body; his education and his recreation. He hardly knows which is which. He simply pursues his vision of excellence through whatever he is doing, and leaves others to determine whether he is working or playing. To himself, he always appears to be doing both.” ― L.P. Jacks
I added an Atom feed to '7 links of the day'. Find some curated links (a few in spanish and french) every morning.
I added an Atom feed to '7 links of the day'. Find some curated links (a few in spanish and french) every morning.
https://eapl.me/links/feed.php
and about players, well:
and about players, well:
VLC (Win/Mac/UX), Musikcube (Win), Music Player (Android), Revanced (Android)
Formerly
Evil Player, Small player
Nothing fancy, although it has changed along the years.
Nothing fancy, although it has changed along the years.

I payed for Spotify Premium for many years, but since 2020 I think it lost its value for me, so I switched to YT, or a local company is offering Deezer free for a year.

I've been playing with the idea of storing most of my music in SD cards or internal memory from an old android.

Currently in my car I listen to music in a SD card with 'everything' I've been getting in the last 10+ years. I'm lazy to switch on the Bluetooth on my phone.

At home, I have a few different speakers, with line input and bluetooth. My wife has an Alexa near the dining room, so we often listen to music or the radio there.

Also, very often I play Youtube playlists on the TV (I'm looking for some way to listen to Youtube on a speaker, but haven't found any. Or with the phone with Revanced (which stopped working last week)

Since I have diverse players I try to stick to MP3 VBR, although I try to download or convert tracks to 'more recent' formats. Weirdly my car allows WMA, and more weirdly I have some tracks which came to that SD card mysteriously.
I haven't found FLAC interesting as when I was in college, I can't notice a difference between lossy and loseless formats. Perhaps my environment is too noisy or I'm getting older 😅

That said, I'd really want to isolate my home-office, I have too much reverb when recording, and also external noise, which sometimes affect when listening to music.
✌️😀
Interesting analysis on how we face stress based on our personality and preferences… Checked a few of those 5 types.

https://stack.betwixt.life/p/the-five-faces-of-stress
Interesting analysis on how we face stress based on our personality and preferences… Checked a few of those 5 types.
This is interesting allowing to access a Web with SSH, although a bit complicated for the 'regular' user
This is interesting allowing to access a Web with SSH, although a bit complicated for the 'regular' user
https://pico.sh/tunnels

I'd expect some one-time password, or some challenge to copy and paste. Anyway, it always makes mi think of alternatives to passwords.
interesting, how does it work?
Ha! I had one of these in college (Win XP), and my father had a slightly newer model (Win Vista).
Ha! I had one of these in college (Win XP), and my father had a slightly newer model (Win Vista).

It was great to play FIFA 08, and the keyboard was amazing, although I agree it was really heavy and thick, but was affordable and powerful for that age.

Now I had a Dell Inspiron 2014 with Xubuntu, and works pretty well. I changed from HDD to SSD and it's now a pretty decent laptop to type notes and hacking a bit.
well, at work we use JSONC which basically is JSON + // and /* */
Its syntax is supported by vs code, and we wrote a few scripts to remove the comments so it's practically compatible with anything
It's day and night not only for configuration but for testing and development.*
well, at work we use JSONC which basically is JSON + // and /* */*

Organization eligibility
- Must run an active open source or free software project.
- Must have produced and released software under an OSI approved license.
- Must not be based in a country currently embargoed by the United States.

Sadly the application period is over, but we could register the project for next year.
https://summerofcode.withgoogle.com/how-it-works
https://www.youtube.com/watch?v=L4JNz6zWzLs
For Python, env files with dotenv.
For JS, usually JSONP or a config.js
For PHP a config.php with an array usually works
For C#, I try to avoid the ugly native XML, but it's what most of the team use...

For most I have a .env.sample in the repo, and we ignore .env or config* to avoid storing credentials.*
For Python, env files with dotenv.
I came across Google Summer of Code
I came across Google Summer of Code

This one looks interesting, I'll apply soon, and perhaps is interesting for you as well
https://kiwix.org/en/google-summer-of-code/

Would 'twtxt' be a good project for the next one? 🤔
for video-game courses... All the university uses it 😬
daaaamn...
daaaamn...

I haven't used Matrix in ages, just Telegram, WA, Discord and Teams... I think I got used to those. Perhaps that's because none of my acquaintances is in Matrix or XMPP, what am I missing?
I had forgotten a bit this twtxt...
I had forgotten a bit this twtxt...
How are you doing these days ?
"We need our sensitivity to be hurt in order to grow. If we protect our feelings, we become cyclical, remain impoverished, frustrated, stagnant. You need a love, a coach, a boss, an influencer, a stranger who emotionally wounds your worldview so you can then redirect that anger/pain it causes you towards an analysis that helps you eliminate/optimize much of what you're doing."
—A.
"We need our sensitivity to be hurt in order to grow. If we protect our feelings, we become cyclical, remain impoverished, frustrated, stagnant. You need a love, a coach, a boss, an influencer, a stranger who emotionally wounds your worldview so you can then redirect that anger/pain it causes you towards an analysis that helps you eliminate/optimize much of what you're doing."
Concept of the day:
Concept of the day:
https://en.wikipedia.org/wiki/Choropleth_map