My open letter, to the European Commission digital markets act team:
Hello,
I am joining other developers, concerned about Googles new plan, to approve every app and effectively destroy most of the competing 3rd party stores this way. The biggest one of these alternative stores, most known for their focus on user and developer privacy, already states, this would make it impossible for them to operate: https://f-droid.org/cs/2025/09/29/google-developer-registration-decree.html
Even communities like the XDA forum, where new developers are often introduced to the world of Android development, would likely be strongly impacted, as making, publishing and installing Android apps is made less accessible.
I am not just writing on their behalf, I run a small website myself (https://thecanine.ueuo.com/), that both provides legal modifications, for some android apps - for example adding an amoled dark theme, to the most popular XMPP chat client for Android, or increasing one of Androids keyboard apps height. This all comes after Googles previous changes to the Android operating system, that prevent users from installing old apps (old to Google, can mean only a couple of months, without an update - https://developer.android.com/google/play/requirements/target-sdk and the target version gets increased every year). I rely on apps developed by a single developer, even for things like making the pixel art presented on my website and sideloading as a way to make these apps work, before developers can catch up to Googleās new requirements - if Google is allowed to slowly kill these options, us digital artists will soon lose the tools we need to create digital art.
Hello again everyone! A little update on my twtxt client.
I think itās finally shaping a bit better now, but⦠āļø
As Iām trying to put all the parts together, I decided to build multiple parallel UIs, to ensure I donāt accidentally create a structure that is more rigid than planned.
I already decided on a UI that I would want to use for myself, it would be inspired by moshidon, misskey and some other āsocial feedsā mock-ups I found on dribbble.
I also plan on building a raw HTML version (for anyone wanting to do a full DIY client).
I would love to get any suggestions of what you would like to see (and possibly use) as a client, by sharing a link, app/website name or even a sketch made by you on paper.
I think Iāll pick a third and maybe a fourth design to build together with the two already mentioned.
For reference, the screens I think of providing are (some might be optional or conditionally/manually hidable):
- Global / personal timeline screen
- Profile screen (with timeline)
- Thread screen
- Notifications screen or popup (both valid)
- DM list & chat screens (still planning, might come later)
- Settings screen (itāll probably be a hard coded form, but better mention it)
- Publish / edit post screen or popup (still analysing some use cases, as some āenginesā might not have direct publishing support)
I also plan on adding two optional metadata fields:
display_name
: To show a human readable alternative for a nick, it fallback tonick
if not defined
banner
: Using the same format asavatar
but the image expected is wider, inspired by other socials around
I also plan on supporting any metadata provided, including a dynamically parsable regex rule format for those extra fields, this should allow anyone to build new clients that donāt limit themselves to just the social aspect of twtxt, hoping to see unique ways of using twtxt! š¤
Okay, I give up. The āshopping listā app⢠on my phone broke for no reason whatsoever, there wasnāt even an update. Iām going back to pen and paper.
is the first url
metadata field unequivocally treated as the canon feed url when calculating hashes, or are they ignored if theyāre not at least proper urls? do you just tolerate it if theyāre impersonating someone elseās feed, or pointing to something that isnāt even a feed at all?
and if the first url
metadata field changes, should it be logged with a time so we can still calculate hashes for old posts? or should it never be updated? (in the case of a pod, where the end user has no choice in how such events are treated) or do we redirect all the old hashes to the new ones (probably this, since it would be helpful for edits too)
@zvava@twtxt.net CORS is our worst enemy. š„·
I too had the same issue being a browser-based request, so the only solution is using a proxy.
For testing (and real personal use) I rely on this one https://corsproxy.io/.
In my client, I first check if the source allows me to fetch it without issues first and fallback to prefixing with a proxy if it gives an error.
For security reasons the client donāt give you a readable error for CORS, so you must use a catch-all for that, if it fails again with the proxy you can deal with any other errors it throws as you normally would (preferably outside of the fetch function).
After the fetching responded, I store the response.url
value to fetch it again for updates without having to do extra calls (you can store it verbatim or as a flag to be able to change the proxy later).
Here an extract of my code:
export async function fetchWithProxy(url, proxy=null) {
return await fetch(url).catch(err => {
if (!proxy) throw err;
return fetch(`${proxy}${encodeURIComponent(url)}`);
});
}
// Using it with
const res = await fetchWithProxy('https://twtxt.net/user/zvava/twtxt.txt', 'https://corsproxy.io/?');
// Get the working url (direct or through proxy)
const fetchingURL = res.url;
// Get the twtxt feed content (or handle errors)
const text = await res.text();
I also plan to allow the user to define a custom proxy field, I like the solution used by Delta.chat in their android app, where you can define the URL format with a variable https://my-proxy?$TWTXT_URL
since it allows you to define with more freedom any proxy without a prefix format.
If the idea of using a third-party proxy is not to the user liking they can use a self-hosted solution like cors-anywhere
or build their own (with twtxt it should just be a GET).
@zvava@twtxt.net It is just completely impossible to make v2 backwards-compatible with v1.
Well, breaking threads on edits is considered a feature by some people. I reckon the only approach to reasonably deal with that property is to carefully review messages before publishing them, thus delaying feed updates. Any typos etc., that have been discovered afterwards, are just left alone. Thatās what I and some others do. I only risk editing if the feed has been published very few seconds earlier. More than 20 seconds and I just ignore it. Works alright for the most part.
[2025/09/11 12:56:01.816] ā please set config.host
when trying to run "bbycll". How to bypass that tiny hurdle?
@bender@twtxt.net i also recently discovered there was a bug causing new users to initialize wrong leading to their posts not being saved :p ..and made breaking changes to how the config and database files are stored so um, make sure to clear your local tree before updating!
Yesterday, I published my first package on JSR: https://jsr.io/@itsericwoodward/fluent-dom-esm.
Then today, I pushed an update to my site to show my twts (including a schnazzy little animation to add them): https://itsericwoodward.com/
Overall, a most productive weekend.
Yesterday, I published my first package on JSR: https://jsr.io/@itsericwoodward/fluent-dom-esm.
Then today, I pushed an update to my site to show my twts (including a schnazzy little animation to add them): https://itsericwoodward.com/
Overall, a most productive weekend.
@movq@www.uninformativ.de this seems like a bit of an overkill, that would also harm modding and power users - who often need to see the exact implementation of new features and benefit from the ability to pull up the history of code changes, in their browser. Sure they could clone the repo and do that locally, but if it has dependencies, theyād also have to clone those, to see how those get updated and itād soon be a mess.
@bender@twtxt.net thank youuuu bender i missed your fun posts!!!! yeah i have been INSANELY BUSY with fujocoded work (see those newsletter posts!) itās been tough but iāve been making my way through it š«”š«”š«”
Since Fastly acquired and recently shut down glitch.com, some of my ancient webapps are no longer available, nor do I have any plans to make them available again - all had either zero, or very few monthly visits, used outdated libraries and would be a waste of money, to continue hosting and updating elsewhere.
All art archives remain unaffected and all projects shut down before 2025, were already permanently deleted, but if thereās someone out there, still relying on the recently discontinued projects, somehow - you can reach out and request their source code.
These requests will only be honoured, until the end of this year, when we plan to permanently delete, all of this data (both webapps and files only hosted on Amazons CDN).
Canine out °_°
Global update: Trump in Scotland says EU trade deal has 50-50 chance as tariff row grows. Gaza sees 9 more starvation deaths (122 total); UN says famine is deliberate. Thai-Cambodia clashes kill 16, displace 135k. US raid in Syria kills top ISIS leader & sons.
I have a Python script that transforms the original YouTube channel Atom feed into a more useful Atom feed by removing the spam description and replacing it with the video duration, filtering out videos by title, duration, etc. I just updated it to exclude the damn Shorts garbage more efficiently. Finally, YouTube updated their Atom feed generation, so that the video URL contains /short/
if itās of this useless kind. Never thought that they ever actually will improve their Atom feeds. Thank you, much appreciated!
In all fairness, GOG says that Forsaken is only supported on Ubuntu 16.04 ā not current Arch Linux. If you ask me, this just goes to show that Linux is not a good platform for proprietary binary software.
Is it free software, do you have the source code? Then youāre good to go, things can be patched/updated (that can still be a lot of work). But proprietary binary blobs? Very bad idea.
Speaking of Wine, Arch Linux completely fucked up Wine for me with the latest update.
- 16-bit support is gone.
- Performance of 3D games is horrible and unplayable.
Arch is shipping a WoW64 build now, which is not yet ready for prime time.
And then I realized that thereās actually only one stable Wine release per year but Arch has been shipping development releases all the time. Thatās quite unusual. Iām used to Arch only shipping stable packages ⦠huh.
Hopefully things will improve again. Iām not eager to build Wine from source. Iād rather ditch it and resort to my real Windows XP box for the little (retro)gaming that I do ⦠š«¤
@kat@yarn.girlonthemoon.xyz UPDATE: getting it to run natively through a VM and other means all failed! so i did the cursed thing and tried the windows installer in wineā¦..
update on tux racer: ofc it doesnāt run on modern linux LMFAOOOOOOO iām installing red hat in a VM right now
Unless your Terms of use update email looks and reads the same as the one I got yesterday from mastodon.social
, I donāt wanna know about it, nor do I agree to it.
Hmmm š§ Not what I thought was going on⦠No bugā¦
time="2025-06-14T15:24:25Z" level=info msg="updating feeds for 8 users"
time="2025-06-14T15:24:25Z" level=info msg="skipping 0 inactive users"
time="2025-06-14T15:24:25Z" level=info msg="skipping 0 subscribed feeds"
time="2025-06-14T15:24:25Z" level=info msg="updating 80 sources (stale feeds)"
Buying a TV these days, means trying to avoid endless enshitification:
-Spyware and adware
-Shitty AI upscaling/ frame interpolation
-HW that breaks after 2 - 3 years
-One off OS, dead on arrival
-Android OS, that starts lagging after the third update
-8 buttons worth of ads, on your remote
You probably have to make some kind of a compromise. I thought that was buying from some other brand like Hyundai, but that one also felt into some of those categories and just broke, after less than 3 years of use. At this point Iāll probably go back to LG and hope their HW is still reliable and the rest manageable⦠It has AI bullshit and knowing LG, probably some spyware you have to try your best to get rid of, can buy a remote with āonlyā 2 ads on it, some web-based OS shared between all their TVs, that usually gets 4 - 5 years worth of updates and works decently enough afterwards.
At this point, Iāll probably settle for anything that doesnāt literally fall apart, not even 3 years in, like the Hyundai did.
RIP GitHub https://github.blog/changelog/2025-05-08-updated-rate-limits-for-unauthenticated-requests/
Good thing I left long ago.
@anth@a.9srv.net happy birthday, āyoungster!ā
Domain Name: NETBROS.COM
Registry Domain ID: 1193243_DOMAIN_COM-VRSN
Registrar WHOIS Server: whois.cloudflare.com
Registrar URL: https://www.cloudflare.com
Updated Date: 2025-03-29T04:08:33Z
Creation Date: 1998-04-29T04:00:00Z
git checkout main && git pull && make build
. Few bug fixes š
@prologic@twtxt.net done! hey i got a question, you got any clue why my feeds arenāt updating? maybe it has to do with the new cache flag but i messed with that a bit and didnāt notice a difference. basically itās like i have to manually restart yarnd
to see new posts itās really weird lol
After yarnd
v0.16 is released and the next round of specification updates are done and dusted, who wants me to have another crack at building Twtxt and activity pub integration support?
7
to 12
and use the first 12
characters of the base32 encoded blake2b hash. This will solve two problems, the fact that all hashes today either end in q
or a
(oops) š
And increasing the Twt Hash size will ensure that we never run into the chance of collision for ions to come. Chances of a 50% collision with 64 bits / 12 characters is roughly ~12.44B Twts. That ought to be enough! -- I also propose that we modify all our clients and make this change from the 1st July 2025, which will be Yarn.social's 5th birthday and 5 years since I started this whole project and endeavour! š± #Twtxt #Update
just for the record I didnāt say I was leaving the twtxt ācommunityā (did I?) but than I have other priorities to focus on in the following months. Please donāt be condescending, is not cool.
Development of Timeline (PHP client) has been stale for some reasons, a few of them in my side, so I think it wonāt be updated to the new thread model, at least pretty soon.
So is not that Iāll stop using twtxt, just the client I use wonāt be compatible with the new model in July.
gah iāve been so busy working on love4eva! TL;DR i switched image backends from the test/dev only module i was using to the S3 one, but with a catch - iām not using S3 or cloud shit!!! i instead got it to work with minio, so itās a middle ground between self hosting the image uploads & being compatible with the highly efficient S3 module. iām super happy with it :)
i posted a patreon update that details the changes more: https://www.patreon.com/posts/i-am-now-working-127687614
that post says i didnāt update my guide yet but i actually did like right after i made that post lol so you can CTRL+F
for minio stuff there!
I figure Eris is getting and update. A real certificate this time? Time will tell!
Finally I propose that we increase the Twt Hash length from 7
to 12
and use the first 12
characters of the base32 encoded blake2b hash. This will solve two problems, the fact that all hashes today either end in q
or a
(oops) š
And increasing the Twt Hash size will ensure that we never run into the chance of collision for ions to come. Chances of a 50% collision with 64 bits / 12 characters is roughly ~12.44B Twts. That ought to be enough! ā I also propose that we modify all our clients and make this change from the 1st July 2025, which will be Yarn.socialās 5th birthday and 5 years since I started this whole project and endeavour! š± #Twtxt #Update
Just like we donāt write emails by hand anymore (See: #a3adoka), we donāt manually write Twts or update our twtxt.txt
feeds. Instead, we use modern Twtxt clients that conform to the specifications at Twtxt.dev for a seamless, automated experience. #Twtxt #Twt #UserExperience
Today I added support for Letās Encrypt to eris via DNS-01 challenge. Updated the gcore libdns package I wrote for Caddy, Maddy and now Eris. Add support for yarnās cache to support # type = bot
and optionally # retention = N
so that feeds like @tiktok@feeds.twtxt.net work like they did before, and⦠Updated some internal metrics in yarnd
to be IMO ābetterā, with queue depth, queue time and last processing time for feeds.
The mysterious inetpub folder is actually a crucial part of a Windows security fix
Remember the odd inetpub folder that seemingly randomly appeared on peopleās root drives after installing a Windows 11 update? Everybody assumed it was something left over from an update script, and that the folder was safe to remove. Well, it turns out thatās not the case, as the empty folder is actually a crucial part of a security fix for a serious vulnerability. I ⦠ā Read more
@bender@twtxt.net Time to update my machines! š
@bender@twtxt.net The DM specification has been updated from time to time in response to advice from the community. For me, It is a successful!
The adoption is another topic š
(I am working on my side)
Synology confirms that higher-end NAS products will require its branded drives
āSynology-branded drives will be needed for use in the newly announced Plus series, with plans to update the Product Compatibility List as additional drives can be thoroughly vetted in Synology systems,ā a Synology representative told Ars by email. āExtensive internal testing has shown that drives that follow a rigorous validation process when paired with Synology systems are ⦠ā Read more
@prologic@twtxt.net @bmallred@staystrong.run Ah, I just found this, didnāt see it before:
https://restic.net/#compatibility
So, yeah, they do use semver and, yes, theyāre not at 1.0.0 yet, so things might break on the next restic update ⦠but they āpromiseā to not break things too lightheartedly. Hm, well. š Probably doesnāt make a big difference (they donāt say ādonāt use this software until we reach 1.0.0ā).
LXQt 2.2.0 released
LXQt, the Qt-based alternative to KDE as Xfce is the GTK-based alternative to GNOME, has released version 2.2.0. LXQt is in the middle of its transition to Wayland, and as such, this release brings a number of fixes and improvements for Wayland, like improved multi-display support and updated compatibility with Wayland compositors. Beyond all the Wayland work, LXQt Power Management now supports power profiles, text rendering in QTerminal and QTermWidget has been improved, the file manager PC ⦠ā Read more
@movq@www.uninformativ.de That is a good question, Iāve been on v0.17.3 for some time. In the past there has been one scheme update that I remember and the there was no issue. Maybe this next week I will try out v0.18 and post back.
I really donāt mess with it being on a cron so tend to forget until I need it :-)
Even though I really do like the shell, I always use Dolphin to mount my digicam SD card and copy the photos onto my computer. I finally added a context menu item in Dolphin to create a forest stroll directory with the current date in order to save some typing:
The following goes in ~/.local/share/kservices5/ServiceMenus/galmkdir.desktop:
[Desktop Entry]
Type=Service
X-KDE-ServiceTypes=KonqPopupMenu/Plugin,inode/directory
Actions=Waldspaziergang;
[Desktop Action Waldspaziergang]
Name=Heutigen Waldspaziergang anlegenā¦
Icon=folder-green
Exec=~/src/gelbariab/galmkdir "%f"
In order to update the KDE desktop cache and make this action menu item available in Dolphin, I ran:
kbuildsycoca5
The referenced galmkdir
script looks like that:
#!/bin/sh
set -e
current_dir="$1"
if [ -z "$current_dir" ]; then
echo "Usage: $0 DIRECTORY" >&2
exit 1
fi
dir="$(kdialog \
--geometry 350x50 \
--title "Heutigen Waldspaziergang anlegen" \
--inputbox "Neues Verzeichnis in ā$current_dirā anlegen:" \
"waldspaziergang-$(date +%Y-%m-%d)")"
mkdir "$current_dir/$dir"
dolphin "$current_dir/$dir"
This solution is far from perfect, though. Ideally, Iād love to have it in the āCreate Newā menu instead of the āActionsā menu. But that doesnāt really work. I cannot define a default directory name, not to mention even a dynamic one with the current date. (I would have to update the .desktop file every day or so.) I also failed to create an empty directory. I somehow managed to create a directory with some other templates in it for some reason I do not really understand.
Letās see how that works out in the next days. If I like it, I might define a few more default directory names.
New version release of twtxt-el!
- Fixed many bugs.
- New back buttons.
- Updated documentation.
I am currently fixing an important bug that break the timeline in some cases and I am working around direct messages.
@lyse@lyse.isobeef.org Just needed to update the version of the tool I packaged as an OCI image š¤£
Amiga OS 3.2 Update 3 released
Iāve long lost the ability to keep track of whateverās happening in the Amiga community, and personally I tend to just focus on tracking MorphOS and AROS as best I can. The remnants of the real AmigaOS, and especially who owns, maintains, and develops which version, are mired in legal battles and ownership limbo, and since I can think of about a trillion things Iād rather do than keep track of the interpersonal drama by reading various Amiga forums, I honestly didnāt ev ⦠ā Read more
I updated wordwrap.[ch] to more closely match the interface for string(2); itās now just that plus a margin. I also updated litclock and marquee to match. http://a.9srv.net/src/index.html
Not updated in 7 years, IIS is still a default part of Windows, apparently
This monthās security updates for Windows 11 create a new empty folder on drive C. It is called āinetpub,ā and it does not contain any extra folders or files. Its properties window shows 0 bytes in size and that it was created by the system itself. Neowin checked a bunch of Windows 11 PCs with the April 2025 security updates installed, and all of them had inetpub on drive C. ā« Taras Bu ⦠ā Read more
FreeDOS 1.4 released
With FreeDOS being, well, DOS, youād think there wasnāt much point in putting out major releases and making big changes, and youād mostly be right. However, being a DOS clone doesnāt mean there isnāt room for improvement within the confines of the various parts and tools that make up DOS, and thatās exactly where FreeDOS focuses its attention. FreeDOS 1.4 comes about three years after 1.2. This version includes an updated FreeCOM, Install program, and HTML Help system. This also includes i ⦠ā Read more
Whatās up with Linux support for Qualcomm X Elite chips?
Remember when Qualcomm promised Linux would be a first-tier platform alongside Windows for its Snapdragon X Elite, almost a year ago now? Well, the Snapdragon X laptop have been out in the market for a while running Windows, but Linux support is still a complete crapshoot, despite the lofty promises by Qualcomm. Tuxedo, a European Linux OEM who promised to ship a Snapdragon X laptop running Linux, has posted an update on ⦠ā Read more
@lyse@lyse.isobeef.org I do agree āthe rules of the webā, are far too loose - at least the syntax ones. I do think backwards compatibility is necessary.
As for my website, it might be visually very similar, to how it looked since its creation, many years ago, but it is frequently improved. Features that originally used JavaScript, changed to HTML and CSS components, code simplified, optimised to withstand browser updates and new screen resolutions,⦠Even a good chunk of the errors on your list, were already addressed and I plan to address the rest soon.
Just find it a bit depressing, that my attempt to bring back some of the old Internet spirit, by making a hidden easteregg page page for this years April 1st, was met with people complaining about April fools day jokes and you insinuating my website sucks.