Profile for andros
About andros
Fields
- Website
- https://andros.dev
- Meshtastic Node Name
- V - LinceTango 🗼☀️
- Gemini capsule
- gemini://andros.dev
- Finger
- me@andros.dev
Bio
🏗️ Full-Stack developer (Mainly Python)
✍️ Writer (3 books)
🐧 Creator of Org Social, Django LiveView, Maza ad blocking and so on
👨🏫 Teacher
🟣 Emacs addicted
🗼 Amateur radio
🐱 Cat food opening
I write in 🇬🇧 English and 🇪🇸 Spanish
- Joined
- Posts
- 1582
- Followed by
- 639
- Following
- 90
Stats
Pinned public posts
jump to recentJust shipped Org Social for iOS.
A decentralized microblog where your whole timeline lives in a plain-text Org Mode file you host yourself.
No central server, no algorithm, no ads.
Free, iPhone, also runs on Apple Silicon Macs.
App Store: https://apps.apple.com/us/app/org-social/id6764415116
Spec: https://org-social.org
What you can write:
- Posts, replies, threads, reactions, boosts, quote-boosts
- Polls
- Groups (like a forum or a subreddit)
- Scheduled posts
- Mentions with inline autocomplete
- Profile-migration announcements when you move host
- Muting and blocking other users
- Feed export to Files, AirDrop or email
What is NOT in the app:
- No analytics, no tracking, no telemetry
- No account on a server we control
- No third-party SDKs
- The PrivacyInfo manifest declares only UserDefaults
Your social.org file lives on the host you choose.
#emacs #orgmode #orgsocial #fediverse #indieweb #iOS
«How I built a WhatsApp client for Emacs without an API»
The big question: can I chat on WhatsApp from Emacs? Spoiler: I made it, with some limitations.
https://en.andros.dev/blog/782e8f3b/how-i-built-a-whatsapp-client-for-emacs-without-an-api/
#Emacs #Elisp #WhatsApp #macOS
Experiment: termweb.el
An EWW (the Emacs browser) adapter that reformats web pages so they browse and read comfortably using EWW's own native scraping; no external service, just Emacs' built-in url-retrieve and DOM tools, reordered into the TermWeb layout.
Currently supports Wikipedia, EmacsWiki, Planet Emacslife and DuckDuckGo, with more adapters easy to add.
https://git.andros.dev/andros/termweb.el
#Emacs #EWW #TermWeb #OpenSource
«Websites that read in the terminal: the TermWeb standard»
A design and development pattern that gives every terminal browser a consistent, tab-friendly layout; no CSS, JavaScript or images required, just clear, verifiable rules.
https://en.andros.dev/blog/dcf8f636/websites-that-read-in-the-terminal-the-termweb-standard/
#Web #NavegadorWeb #HTML #Terminal #Smallweb
presence.el is now in beta: a small Emacs package to see your friends' online status and chat with them, right from Emacs.
https://git.andros.dev/andros/presence.el
#emacs
Since this month's Carnival topic is 'Games', I'd like to share my latest game for Emacs:
https://git.andros.dev/andros/nonogram.el
Play nonogram puzzles (also known as picross, griddlers or hanjie) in Emacs.
#EmacsCarnival #Emacs
«Justifying text by hand, now at 35 columns»
Inspired by Marcin Wichary's piece on hand-justifying text to fit a 79-character terminal: if we read on phones today, what's the modern equivalent width? Turns out it's about 35 to 40 characters, and that lands almost exactly on the readable range.
https://en.andros.dev/blog/079a7eaa/justifying-text-by-hand-now-at-35-columns/
#Web #HTML5 #CSS3 #Terminal
«There is no such thing as full decentralization»
There's always an axis that centralizes: identity, connectivity, discovery, or cost. The useful question isn't "is it decentralized?", it's which of these it sacrificed, and what that costs you the day that point breaks.
https://en.andros.dev/blog/603e4e90/there-is-no-such-thing-as-full-decentralization/
#Web #Fediverso #ActivityPub #XMPP #OrgSocial #IndieWeb #Nostr
«Building a decentralized bulletin board (and accidentally reinventing Nostr)»
Let's build a bulletin board with no account, no sign-up, and no single server behind it. By the time we finish, we'll have accidentally reinvented two technologies that already existed: FidoNet (1984) and Nostr.
https://en.andros.dev/blog/4c4e1b40/building-a-decentralized-bulletin-board-and-accidentally-reinventing-nostr/
#Web #Fediverso #ActivityPub #Algoritmo #IndieWeb #Nostr
Search Kagi from inside Emacs, in a clean buffer, no browser and no JavaScript. It reuses your web session (no paid Search API needed) by reading the JSON from Kagi's internal endpoint.
Move with n/p, open in EWW with RET, and optionally route your eww searches through Kagi.
https://git.andros.dev/andros/kagi-search.el
#emacs #kagi
«htmx and Django LiveView, side by side»
If you use htmx and are considering migrating to Django LiveView, this is for you: not an exhaustive comparison, but a run-through of the most common cases and how each one solves them.
https://en.andros.dev/blog/94d14a9e/htmx-and-django-liveview-side-by-side/
#Web #Python #Django #Htmx #DjangoChannels #DjangoLiveView
«How I organize my Emacs configuration»
I'm not sharing my Emacs configuration, just the way I keep it organized: vanilla Emacs, no framework, no literate Org approach, one file per area of responsibility.
https://en.andros.dev/blog/dc7db35a/how-i-organize-my-emacs-configuration/
#Emacs
What's new on Org Social?
- Org Social Mirror: a read-only REST API that mirrors the profiles and posts published on the Org Social relay. It is useful for developers who want to create their own clients or applications that interact with Org Social data. The API is available at https://mirror.org-social.org/ and the documentation can be found at https://git.andros.dev/org-social/mirror
- Mastodon/ActivityPub Integration: Now you can follow Mastodon users from Org Social.
```
#+FOLLOW: https://relay.org-social.org/bridge/activitypub/@Mastodon@mastodon.social/
```
- Website updated with documentation and tutorials for developers and users. Check it out at https://org-social.org/
- iOS app has been updated with bug fixes and performance improvements: It is now in maintenance mode.
- The code was migrated from GitHub to Forgejo (self-hosted Git service) to ensure the long-term availability of the project: https://git.andros.dev/org-social/
#emacs #orgmode #orgsocial
I redesigned the Django LiveView website. I hope you like it!
https://django-liveview.andros.dev
#python #django #djangoliveview #liveview
«A year of Org Social, my social network»
https://en.andros.dev/blog/5fcf45a2/a-year-of-org-social-my-social-network/
#Emacs #OrgMode #OrgSocial
I'm sharing an Elfeed-inspired reader for the Finger protocol, right inside Emacs.
- Browse a list of finger accounts
- Preview each .plan asynchronously
- Follow user@host links from one profile to the next without leaving the buffer
https://git.andros.dev/andros/efinger.el
#Emacs #OpenSource #Finger
I decided to release my personal #finger server: little-finger
https://git.andros.dev/andros/little-finger
«I turned Unix talk from 1983 into the interface for my AI»
talk transmits character by character, and an LLM streams token by token; turns out they were made for each other.
https://en.andros.dev/blog/09a21bdd/i-turned-unix-talk-from-1983-into-the-interface-for-my-ai/
#Linux #Terminal #AI
«talk: the P2P chat from 1983 that a VPN brought back to life»
Before the internet, people could already chat; talk is not dead, it just runs quietly through a VPN now.
https://en.andros.dev/blog/03a4ffb9/talk-the-p2p-chat-from-1983-that-a-vpn-brought-back-to-life/
#Linux #SmallWeb
One comma-separated list is enough for someone to conclude the article was written by a LLM. The list of tells grows every month, and the torches come out at the first sign of careful prose. And if the author stays quiet, silence means guilt. I keep seeing "AI slop" in the comments on my articles. I'm tempted to slap a "100% AI" label on every post just for the peace of mind, because this is wearing me down.
Finger never had a search engine, so I made one: crossed-fingers
An aggregator that collects .plan files and indexes them for text searching.
$ finger help@crossed-fingers.andros.dev
#finger #smallnet #tildeverse