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

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@txt.sour.is 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 » @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
In-reply-to » I have uploaded a new version of #twtxtel 🥳. It's now possible to view profiles, either your own or others. #twtxt #emacs Media @prologic @xuu

@aelaraji@aelaraji.com Sorry I’m late! I still have to work on the mention system, I don’t get some of the messages. I’ll look into your case and get back to you shortly 😄
If it’s a problem that ruins your experience, don’t hesitate to create an issue.

⤋ Read More
In-reply-to » I'm realizing that my performance bottleneck is @prologic ! It is actually calculating the hash to make the replicas, and specifically users with very long feeds 😂 . I'm seriously thinking about enabling replies via configuration.

You write too much for my client 😂

⤋ Read More

For many years I have found Flask to be too basic a tool for modern development. But since I create APIs using Flask with Pydantic to validate the input data, some middlewares for parsing and Blueprint to separate the code into modules… I must admit that I am super comfortable, fast and easy to test.
#flask #python #pydantic

⤋ Read More
In-reply-to » I have managed to make the fetching of feeds asynchronous. To do this I have set up a small system of task queue. All requests are executed at the same time! 🚀 https://codeberg.org/andros/twtxt-el/src/branch/develop #twtxtel #emacs

Yes! 😀 Emacs Lisp is a member of the Lisp family.

⤋ Read More
In-reply-to » I would like to make another proposal to the community, to discuss it calmly: https://git.mills.io/yarnsocial/twtxt.dev/issues/9 #twtxt

No no! I’m talking about twtxt’s own branding. It’s currently horizontal text. Is the image you’re sharing a logo that’s being used? 😯

⤋ Read More
In-reply-to » A random suggestion. You should add a password to your private ssh key. Why? If someone steals your key, they won't be able to do anything without the password. You should run: ssh-keygen -p And remember to make a backup copy of key file. As a developer, it is a one of the most valuable files on your computer.

Thanks @prologic@twtxt.net !

⤋ Read More
In-reply-to » I share a simple API template with Clean Architecture using #flask and #fastapi https://git.andros.dev/andros/api-template-with-clean-architecture #cleancode #cleanarchitecture

What is clean architecture? That’s a good question.

You think of a pattern for ordering code with good decisions isolating technologies (you can change the web framework or database without break the business logic), easy to test (you only test interfaces and use cases), sharing code between frameworks (entities and use cases), scalability, modulations and standardizing names. Clean architecture is not perfect, it has a learning curve and some abstraction in each technology. You can even find rejection with yours colleagues.
I have a good article on this topic.
https://programadorwebvalencia.com/implementando-arquitectura-limpia-en-python/
#python

⤋ Read More

A random suggestion. You should add a password to your private ssh key. Why? If someone steals your key, they won’t be able to do anything without the password.
You should run: ssh-keygen -p
And remember to make a backup copy of key file. As a developer, it is a one of the most valuable files on your computer.

⤋ 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

It is not possible to remove it, otherwise you do not know that the message is for you. With that information you can’t decrypt.

⤋ 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

@prologic@twtxt.net @lyse@lyse.isobeef.org First, please leave me your comments on the repository! Even if it’s just to give your opinion on what shouldn’t be included. The more variety, the better.

Second, I’m going to try to do tests with Elliptic keys and base64. Thanks for the advice @eapl@eapl.me

Finally, I’d like to give my opinion. Secure direct messages are a feature that ActivityPub and Mastodon don’t have, to give an example. By including it as an extension, we’re already taking a significant leap forward from the competition. Does it make sense to include it in a public feed? In fact, we’re already doing that. When we reply to a user, mentioning them at the beginning of the message, it’s already a direct message. The message is within a thread, perhaps breaking the conversation. Direct messages would help isolate conversations between 2 users, as well as keeping a thread cleaner and maintaining privacy. I insist, it’s optional, it doesn’t break compatibility with any client and implementing it isn’t complex. If you don’t like it, you’re free to not use it. If you don’t have a public key, no one can send you direct messages.

⤋ Read More
In-reply-to » I'm still making progress with the Emacs client. I'm proud to say that the code that is responsible for reading the feeds is almost finished, including: Twt Hash Extension, Twt Subject Extension, Multiline Extension and Metadata Extension. I'm fine-tuning some tests and will soon do the first buffer that displays the twts.

Thanks 😀! @aelaraji@aelaraji.com I am working on a fork now because the new version will break the current code. Therefore, I will upgrade the current repository (https://codeberg.org/deadblackclover/twtxt-el). The original author is helping me with reviews. I am sorry for my long development, I am working in my free time and it is scarce. I will report back to you all. 😋

⤋ Read More

I’m still making progress with the Emacs client. I’m proud to say that the code that is responsible for reading the feeds is almost finished, including: Twt Hash Extension, Twt Subject Extension, Multiline Extension and Metadata Extension. I’m fine-tuning some tests and will soon do the first buffer that displays the twts.

⤋ Read More