andros

twtxt.andros.dev

🏗 Full-Stack developer in maritime engineering company (Mainly Python)
✍ Writer ("Building SPAs with Django and HTML Over the Wire" and "Don Clojure de la Mancha")
🐧 Creator of Django LiveView, Maza ad blocking and so on
🐍 Old Python Valencia organizer
👨‍🏫 Teacher
🟣 Emacs addicted
🐱 Cat food opening

Recent twts from andros
In-reply-to » I have just received the royalties for the last book: 98 euros for the four-month period, about 24 euros a month on average. Not even enough for the gym membership. If you have to keep some knowledge: don't write for money, the paper (or ebook) industry is in a very bad way, the margins for the author are very small and piracy is devastating.

@prologic@twtxt.net @eapl.me@eapl.me I want to highlight another social problem: People don’t read. Paper industry is a bad moment because people don’t pay for books; it does not matter if it is a physical or digital platform. I have this information because I have a good friend who left the industry after publishing a magazine, books and working in an editorial. DRM is a try to give some more money.

⤋ Read More

I have just received the royalties for the last book: 98 euros for the four-month period, about 24 euros a month on average. Not even enough for the gym membership.
If you have to keep some knowledge: don’t write for money, the paper (or ebook) industry is in a very bad way, the margins for the author are very small and piracy is devastating.

⤋ Read More
In-reply-to » Hello, i want to present my new revolution twtxt v3 format - twjson That's why you should use it: 1. It's easy to to parse 2. It's easy to read (in formatted mode :D) 3. It used actually \n for newlines, you don't need unprintable symbols 4. Forget about hash collisions because using full hash Here is my twjson feed: https://doesnm.p.psf.lt/twjson.json And twtxt2json converter: https://doesnm.p.psf.lt/twjson.js

Amazing! It is a good tool for reading feeds. What you used to calculate the hash?

⤋ Read More
In-reply-to » Thank you @python_valencia for letting me show you the secrets of a decentralised plain text social network like twtxt. I hope you enjoyed the talk! ❤️🐍 Media Media #python #twtxt

@bender@twtxt.net I taught the whole ecosystem 😁
@prologic@twtxt.net @eapl.me@eapl.me The question I was asked the most was: How do I discover people?
Someone came up with a fantastic idea, instead of adding the new twt at the end of the feed, do it at the beginning. So you can paginate by cutting the request every few lines.

⤋ Read More
In-reply-to » I am working on this: https://dm-echo.andros.dev/ More news coming soon. #twtxt

@eapl.me@eapl.me I think the benefits do not outweigh the disadvantages. Clients would have to read and merge the information from 2 txt and a new metadata would have to be added with the address of this file.
Also, it is very easy to filter or ignore it.

⤋ Read More
In-reply-to » It's extremely surprising to me that younger non-technical people just type in their full name (properly cased first and last name with a space in between) for a technical username in account registration or login forms. I've seen that happening several times in the past few years. The field name is "Benutzername" in German, literally "username". Even adding a placeholder text to signal that they could simply use their nickname in lowercase did not change anything at all. Well, one person used at least an e-mail address.

yes @lyse@lyse.isobeef.org 😅

⤋ Read More
In-reply-to » It's extremely surprising to me that younger non-technical people just type in their full name (properly cased first and last name with a space in between) for a technical username in account registration or login forms. I've seen that happening several times in the past few years. The field name is "Benutzername" in German, literally "username". Even adding a placeholder text to signal that they could simply use their nickname in lowercase did not change anything at all. Well, one person used at least an e-mail address.

@lyse@lyse.isobeef.org I had no idea. However, I think we’re losing our sense of anonymity. I even started using my real name!

⤋ Read More

@movq@www.uninformativ.de I have no doubt that you’re not seeing the images correctly 😀. It’s just that it’s broken when viewing them, in my case, and analyzing the URLs, I’ve seen everything I mentioned.
Regarding the hash, you’re right. I’ll have to investigate what’s going on. I’m having a hard time getting the hash generation to work properly.

⤋ Read More
In-reply-to » Hi! For anyone following the Request for Comments on an improved syntax for replies and threads, I've made a comparative spreadsheet with the 4 proposals so far. It shows a syntax example, and top pros and cons I've found: https://docs.google.com/spreadsheets/d/1KOUqJ2rNl_jZ4KBVTsR-4QmG1zAdKNo7QXJS1uogQVo/edit?gid=0#gid=0

@eapl.me@eapl.me Good job! I have added these comments:

  1. It is only long for humans. Clients can only leave a hyperlink.
  2. The nickname is just a decoration, only the date that acts as the id and the URL matter. The nick is used for humans reading the feed.
  3. It can be migrated with a script, if the feed exists.

⤋ Read More

What is twtxt for me? It is a community of users sharing plain text following a specification that can be readable by both humans and machines.

For some it is a microblogging platform, for others it is a social network, others see it as an enhanced RSS feed and a few consider it a hacker’s toy. I use it as a learning platform. And as collateral damage, I’m meeting some very interesting people.

And for you?

⤋ 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.

@prologic@twtxt.net If it develops, and I’m not saying it will happen soon, perhaps Yarn could be connected as an additional node. Implementation would not be difficult for any client or software. It will not only be a backup of twtxt, but it will be the source for search, discovery and network health.

⤋ 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.

Good shot!

⤋ Read More
In-reply-to » The other day, after a discussion online, we came to the conclusion that using awk+sed+tr could replace much of the development that requires a database. However, using SQLite to have a SQL syntax isn't a bad idea either. What do you think?

@prologic@twtxt.net We often turn to a database when we can use a plain text file, such as a CSV. With sed or awk, you can run simple queries without using a database.
Did I get the context right? 😀

⤋ Read More

Today I learned how to use TestCafé. It is a E2E framework.
I needed it because I wanted to write a script that would launch a browser in the background, log me in with a username and password, and return the cookie value with the token ID. The goal is to perform tests with the token.
https://testcafe.io/

⤋ Read More

The other day, after a discussion online, we came to the conclusion that using awk+sed+tr could replace much of the development that requires a database. However, using SQLite to have a SQL syntax isn’t a bad idea either. What do you think?

⤋ Read More

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.

La mayoría de los mantenedores no reciben ningún soporte económico. Solo unos pocos proyectos logran sostenibilidad financiera a través de patrocinios, mientras que la mayoría de los desarrolladores terminan con un segundo empleo no remunerado.

Sin un cambio en la forma en que se valora y apoya los proyectos Opensource, y no solo hablo de las grandes empresas multimillonarias. Sería una perdida para todos si acabaremos con un ecosistema de software archivado y abandonado.

Ahora te paso la pelota a ti, ¿cuando fue la última vez que apoyaste a un mantenedor de software opensource?

#opensource #software #sostenibilidad

⤋ Read More
In-reply-to » I read a lot about Clean Code, SOLID, TDD, DDD... now I'm discovering «A Philosophy of Software Design»... but nobody talks about the importance of the project architecture. Do we depend on the framework to do the work for us? You know I'm a big fan of Clean Architecture, but I feel alone when I share my thoughts on social media or at work. You have to think outside the framework.

@xuu What books do you have?

⤋ Read More
In-reply-to » I have the feeling, that I have come to a dead end with my first version of the TwtxtReader. That's why I'm stopping the project and starting again. But of course, everyone is welcome to take a look at https://github.com/upputter/TwtxtReaderMK1

I have the same feeling at my job. Every time I return to old projects, it’s like my first time.

⤋ Read More

I read a lot about Clean Code, SOLID, TDD, DDD… now I’m discovering «A Philosophy of Software Design»… but nobody talks about the importance of the project architecture. Do we depend on the framework to do the work for us?
You know I’m a big fan of Clean Architecture, but I feel alone when I share my thoughts on social media or at work.
You have to think outside the framework.

⤋ Read More
In-reply-to » ! U2FsdGVkX1/RU/NkTLRBrZGuZMaeIOoVkh7mBigVC/58DW80tKrwx1L3UCj0qWj8dvRU5/uwVh32ujJUr+O8ug==

Oh my god! How cool 😍! When I have my implementation, you and I will talk 🤫
This message has made me very excited 😋

⤋ Read More
In-reply-to » @andros is it me or twtxt-el generates a wrong twt hash when I use the [ ↳ Reply to twt ] button?

I don’t think so, at least the tests I did passed. If you’re pretty sure it’s a bug, please create an issue in the repository with the specific case and I’ll investigate it.
There are 2 buttons to make replicas, one makes a replica in the thread where the twt is located (this is the one that should be used the most, as it serves a thread), the other creates a replica to a specific twt.
I’ll let you know a bit about the status: I’m just now implementing the thread screen. There you can be sure where you are. It’s a bit confusing right now, sorry. I think the client is still in alpha. When I’ve finished what I’m doing, and the direct message system, I’ll freeze development and focus on creating more tests, looking for bugs and making small visual adjustments.

⤋ 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

@arne@uplegger.eu Hi! I love that you’re implementing it! Maybe, when we’re both done, we could test the clients by communicating both.
I don’t think I’m going to be able to help you much, my knowledge of OpenSSL and PHP is not as high as I’d like it to be.
Maybe the OpenSSL version uses SHA-1 by default in PHP. Or that the IV is derived together with the key (not generated separately). But I’m not able to answer your questions, sorry.
I’m invoking the commands directly, without any libraries in between. Maybe that would help you?

⤋ Read More

Yesterday I was doing a lot of research on how #hyperdrive and the #holepunch project work. Would it be possible to use it to make #twtxt an easier gateway for new users? Could we stop using web servers?
My conclusion: We would end up being a #nostr. On the one hand it would become more complex to use, it would force the user to have software installed, and on the other hand the community would need a central proxy to make the routes accessible via HTTP. In other words, it’s not a good idea.
However, it’s an AMAZING technology. I want to start playing with it.

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

The project is a POC (Proof of Concept) that went into production and the company has customers who are using it. The developers had been working for several years, without testing, structure, isolation and so on. The company hired me to transform the project into a real product. There are in my hands 422 python files to transform that they beg me a refactore, architecture and testing. Every developer’s bad dream.
My first step is to read and understand the tree because there are apps inside other apps call each other. I am very determined to work on a new repository.

⤋ Read More