Searching txt.sour.is

Twts matching #Ads
Sort by: Newest, Oldest, Most Relevant

For me, the two most “magical” things about np.arrays are:

  • Vectorized/broadcast operations, like multiplying a matrix and a scalar value & adding or subtracting two vectors or two matrices - but also any vectorized function;
  • Masking & array indexing, being able to use arrays to select positions on other arrays;
  • Bonus-third-thing: multi-dimensional arrays in general are quite magical too, if you add slicing to it, good lord, it can be quite daunting.

#Python #npArrays #NumPy

⤋ Read More
In-reply-to » (#v5c6qx66vmtl) Data protection, @dce! :-D

Finally, I added some tests and fixed this. After updating the feed metadata, I now just return early and do not attempt to build an SQL multi-value INSERT statement. Easy-peasy.

⤋ Read More
In-reply-to » Tell me which one of those “plus” icons on this screenshot you can click and which one is just decoration.

@lyse@lyse.isobeef.org Bingo!

Oh, yeah, newsboat is good. For this particular use case, I explicitly needed a graphical feed reader, though. 😅 I ended up using Thunderbird, which has its own interesting way of configuring/adding feeds:

https://movq.de/v/a3557e3dc9/vid-1784952576.mp4

Why are feeds categorized as “Mail”? What’s going on with that “Add” button on the left of the dialog? Why does the dialog indicate that there’s a folder called “list-files Recent Commits” which doesn’t really exist in the end? (Why does it take about 1-2 seconds to load 25 feed items?) And so on.

⤋ Read More

Dang it, @david@daiwei.me, you blew my cover!

I was raised without a TV, so I don’t miss it one bit. My parents just didn’t by a new one after their super old black and white device died. Looking after a baby was maybe spare time activity enough for them. :-P

When there was some super cool program I wanted to watch, like a James Bond movie, I visited my grandma. Sure, it sometimes was a pity that I could not join yesterday’s TV series discussions with my classmates, but oh well. I survived that. Building stuff with Lego or playing outside was all I really wanted.

Apart from a few really good programs, there’s sooooo much trash, non-stop ads and the like. Even as a kid, I was very disgusted by all that. But I have to admit that visting somebody with a TV and watching a good show was usually a highlight. These days, I can easily waste all my time and more on YouTube. :-/

⤋ Read More
In-reply-to » Advertise in ChatGPT | Hacker News Seriously?! 😳 wut da actual fuq?! 😱

@prologic@twtxt.net Our company is paying a shitload of money for all these (different) AI tools … I’m probably not allowed to tell you the exact number, but it is a lot. The only other way would be to lay off employees, so we can pay even more for AI. (Needless to say, that would be the worst possible move.)

For a private person, $20 a month is also pretty expensive, isn’t it? And then assume that you maybe need more than one AI tool. You’re quickly up to $50 a month or much more. This isn’t something that I, as a private person, will ever be willing to spend for this kind of stuff.

“AI” is just expensive as fuck. On every level. They will have to (ab)use every possible way to squeeze more money out of it, and that includes ads and what not.

⤋ Read More

Hmm …

My project pages have this “Downloads” section and I offer tarballs for each release:

https://movq.de/git/jenny/#downloads

I added this many years ago because an OpenBSD dev asked for it (but the project in question didn’t end up in their ports after all).

What are your thoughts on this? Is it necessary to offer tarballs?

I noticed that some distributions have already moved away from using tarballs and instead always clone from Git. 🤔

⤋ Read More
In-reply-to » @lyse Ahh yes, but tt has a "draft" mode right? You didn't publish, then edit over and over did you? 😅

@prologic@twtxt.net Not sure if this really counts as a draft mode or this is what you had in mind. I just was in the editor for ages and didn’t close it. tt provides an integrated preview for the rendered message in there. It automatically updates every second.

Here’s a screenshot of the compose view with the conversation context on the top to which to reply to, the editor in the middle and the almost-live preview at the bottom, I hope it’s big enough:

Image

But it’s not like I hit the “Add message” button in the compose view (the one currently selected on the screenshot), see the message in the conversation tree and then come back into the compose view to continue editing. There’s no edit functionality in tt. Once the message is appended to my twtxt.txt file on disk, all I can do is edit it with vim. The U+2028 line breaks are really annoying to deal with (I’m sure I could do something about that if I spent the time), so I try to avoid that at all costs.

Once new messages have been added to my local file, I then manually upload the file to my server in a separate terminal. There’s no upload command integrated into tt. Right from my very first message in the beginning, I’ve always done it exactly like that. I’m used to this and it really doesn’t bother me. But I can see that others might not be fans of that at all. I might add an upload mechanism to tt at some point in the future.

⤋ Read More

I really think I should go back to Java.

Writing programs in Python is so exhausting. I want a compiler and I want static typing. No, linters and type checkers and IDEs are not good enough. Compilers catch way more errors in advance.

Rust is also exhausting. They’re constantly adding language features and, at the same time, the runtime library remains tiny and you need 3rd party libraries for everything. Many of those are still at version 0.x (SemVer!) and you can’t rely on anything. Often times, you need the latest Rust nightly compiler.

Go is … I don’t like it. And huge binaries.

I like C as a language, but it’s too fragile. I want to have a proper HashMap every now and then.

None of the above have good GUI libraries, at least not on Linux.

And then there’s Java. This is my fractal renderer that I wrote over 17 years ago:

https://movq.de/v/fcd3c4e557/vid-1784121825.mp4

It’s fast. It has a GUI with custom widgets and those weren’t even hard to make. It still works without changing a single line of code. The source code files have timestamps from 2009 and I just noticed that the JAR file I’m using in the video was compiled in 2010.

Java as a language is relatively easy to learn and to master. There are few surprises. The source code organization with packages is good. Java API docs are clear and well written.

The JVM ramp-up times have improved considerably:

https://movq.de/v/e7314e521e/vid-1784121998.mp4

This isn’t like the Dark Ages anymore. Might even be usable for some CLI tools.

The only thing where Java really sucks is anything close-ish to the kernel. Try issuing an ioctl() … I couldn’t have made my TUI framework in Java, but then again, I wouldn’t have needed to because Swing already exists and it just works.

⤋ Read More
In-reply-to » Easy way to do digital detox: Use a Mastodon instance that someone else maintains. And when it’s down, there’s nothing you can do but wait. 😅

@david@daiwei.me That’s a good thing. I still use it heavily, but I also realize that it is addictive. This whole idea of getting likes and boosts is horrible. Seeing “number goes up” is inherently addictive design, if you ask me. This should never have been added to a Free Platform like Mastodon, and I’m glad that twtxt doesn’t have anything like it.

⤋ Read More
In-reply-to » Yeah, lol, fuck off. Tried to reproduce that hashing issue, thus playing around with Go a little bit. And what did I find?

@movq@www.uninformativ.de Yes, this is absolutely a no-go!

A long time ago when the first telemetry shitstorm happened, I added export GOTELEMETRY=off in my ~/.zshrc. But it doesn’t seem to be picked up at all (I actually call this sabotage!):

$ go env GOTELEMETRY
local

$ go env -w GOTELEMETRY=off
go: GOTELEMETRY cannot be modified

$ go telemetry off

$ go env GOTELEMETRY
off

⤋ Read More
In-reply-to » Every now and then, I think that I have carefully proof-read my message enough times and hit the "Add message" button in tt. But then, in the message tree, I spot another missed typo. My process is then to go to my twtxt.txt and fix it by hand. However, I still have to clean up tt's cache. This is rather tidious:

Fuck me! I tried to upgrade tview and the first thing I notice is a shitload of added dependency versions:

go.mod | 18 ++++-----
go.sum | 97 ++++++++++++++++++++++++++++++++++++++-----------

My code does not compile anymore as the view.FormItem interface was extended. Get/SetDisabled(…) are quickly implemented, no worries.

But the tview.Primitive (what makes a widget) interface has now a bunch of PRIVATE methods. For focus handling. Would you believe that!? Thanks, I cannot satisfy this interface in my very custom widgets anymore. Okay then, I just embed *tview.Box. tt now successfully compiles, but does not react anymore on key presses and the message tree is not focused either.

I’m not in the mood to debug this shit. :-( Lunch time.

⤋ Read More
In-reply-to » Oh boy, I absolutely hate this stupid trend of not writing changelogs anymore! Why the fuck would one seriously consider it to be a viable option to just let some shitty bot spew all merge requests on a goddamn GitHub release?! First of all, these merge request titles suck balls. The order of the changes in this "changelog" is completely random (well, probably merge time, which is as useless as the dick on the Pope). They are not grouped by anything at all. Additions, changes, removals, deprecations, etc. randomly mixed up in one giant list. And then "Add feature X", seventeen kilometers further down "Revert 'Add feature X'". Fuck you! Don't include this shit in the first place!

@lyse@lyse.isobeef.org … I am literally writing a blog post about changelogs at this very moment … 😂 I am certainly adding the “‘add X’ and then later ‘remove X’” to my list of DON’Ts. 😅

⤋ Read More

Signal Alums Reveal ‘Encrypted Spaces,’ a System for Making Private Collaboration Apps
The new open-source project could serve as the basis for a future of apps with features as complex as Slack, Discord, or Google Docs—but with added protection against surveillance. ⌘ Read more

⤋ Read More
In-reply-to » @lyse @tftp Someone has pointed out that there’s OpenRsync:

Actually, I’m stupid: I’m using the normal rsync on OpenBSD as well.

And regarding OpenRsync’s general usability:

https://marc.info/?l=openbsd-misc&m=178090751524547&w=2

Right now openrsync is limited in functionality and is primarily present
for rpki-client. The limited functionality makes it unusable for generic
use and so any diff or change like the above will not be considered since it
is simply not ready.

First problem to solve is to remove the mmap usage in openrsync. After
that modern protocol versions need to be added. Once that is in place one
can start a discussion about using openrsync as a default on OpenBSD.

⤋ Read More

Show HN: ABC Classic 100 Rankings visualised
This weekend is the ABC Classic FM countdown, which prompted me to dust off an old un-published data visualisation of rankings from previous years.

I’ve considered adding a search function, but I also kind of like that it requires a bit of exploration in the current form.

Some of the code is a bit clunky and I wouldn’t mind refactoring it. I’m also not sure about browser compatibility - I’ve only got access to a couple of devices to test it on.

Comments URL: [https://news.yc … ⌘ Read more

⤋ Read More

Ask HN: Is the web for machines (/llm.txt) the one we wished we had as humans?
I got really tired, as a human, of parsing the standard marketing heavy web we have today.
I’ve always loved the simplicity of gopher and gemini web.

Recently I found myself manually adding `/llm.txt` to most websites I visit because I find the content for LLMs strait to the point and clear.
The only annoyance is web browsers like chrome do not render the markdown.

So could the AI revolution actually fix the web for humans as a side effect? … ⌘ Read more

⤋ Read More

Meta Silently Added Face-Recognition Code for Its Smart Glasses to Millions of Phones
Code reviewed by WIRED uncovered an unreleased face-recognition system embedded in Meta’s smart glasses platform. It’s designed to identify people via biometric data stored on users’ phones. ⌘ Read more

⤋ Read More
In-reply-to » @movq Thanks. I noticed the <updated> of the feed, too. But for some reason, some articles were suddenly marked as new.

Aha, yesterday’s newly added support for LC_TIME to render localized timestamps also broke the feed parsing with my LANG=de_DE.UTF-8 and LC_CTYPE=de_DE.UTF-8 environment. :-)

Atom feeds make use of RFC 3339 timestamps. They are first converted into RFC 882 timestamp representation, which is the one that RSS feeds use. However, this conversion now results in localized RFC 882 timestamps, which cannot be parsed into Unix timestamp numbers via curl_getdate(…). I bet that it doesn’t know about the localization at all and expects English month and weekday names. Looking at its docs, I reckon that function was selected because of its myriad of supported timestamp formats: https://curl.se/libcurl/c/curl_getdate.html RFC 3339 is not included, though, hence the transformation up front.

The intermediate Item objects in the parser domain use std::string for the timestamp representation. This isn’t all that silly, because Newsboat supports all sorts of different feed formats with different timestamp formats. These RFC 883 timestamps are centrally parsed into time_t.

Speaking of time: It’s time to go to bed after this late bug hunting fun. :-)

⤋ Read More
In-reply-to » I’ve started collecting reasons against AI usage here, so I don’t have to repeat myself all the time:

Of course, @movq@www.uninformativ.de! Most of my points are also included in your list.

First of all, programming is what I really do enjoy the most. So, it doesn’t make any sense at all to not do this anymore. “But you could use your now free time to do something much cooler and more valuable!”, others might reply. Fuck no, I don’t want to waste my time with other shit that doesn’t fulfill me, why on earth would I want to do that?

All this hallucination reduces quality badly. In my experience, it’s also happening much more rapidly than I expected. Even though developers are still supposed to own and understand whatever has been generated under their name and even be responsible for that, the sad reality is that teammates often blindly trust the AI output. “But I asked the AI and it told me that $this was impossible”, “I’ve no idea either, but the AI just generated it” are responses I get more often. What really makes my angry is when I point out a flaw and suggest an alternative and this is the reaction. It happened several times that just trying it out and seeing it clearly work to proof my point only took me half a minute, but people still did something handwavy else instead.

The learning effect is drastically reduced. The more time I spend on a topic, the better the odds that whatever I learned actually makes it over into long-term memory. It’s like if a collegue just says “do it like that” or “this solves your problem”, but neither explains the why or how. Somehow, people are still convinced that it’s a completely different story when you replace the human counterpart with a computer program in this equation.

Skills are unlearned. It’s like with automation in general, just much worse. You end up in a state where you’ve no clue how anything works under the hood or how to actually find out important information that are needed to solve your problem. You’re screwed when a process breaks out of the blue. Even though it can become also rather terrible, with classical automation you’re typically still be able to decipher how exactly the thing was supposed to do something.

The energy consumption is sooo high, I absolutely do not want to be a part in burning down our planet. I’m sure I find (and probably have long found without knowing) other ways to contribute to worsen our climate crisis.

The scraper part is already covered in detail in your list. :-)

I’m convinced that license and copyright violations are only played down or even refused entirely because companies want to make big money quickly. With the work of others of course. Their double standards are obvious, they still try to actively keep their own stuff secret and out of any training sets. At most for internal use only. Virtually noone in charge is interested in good long-term solutions. Short-term for the win, when disaster eventually strikes, the causers are long gone, the responsibilities in other hands.

Vendor lock-in is something that lots of folks are only realizing very slowly. It’s completely crazy to me. This drug dealer routine should be well-known by now. It’s fucking everywhere. Yet, people are always surprised when they found themselves caught in it.

Adding new AI stuff only increases complexity. But complexity is the enemy that everybody should fear and reduce as much as possible. Of course, this is not limited to AI at all. And everywhere I look around, people in charge looooove to make things way more complicated than they ever need to be. Yet, simplicity is the real art and much harder to achieve.

I don’t understand why we have to go back full force to the ambiguity of natural languages. This alone should be more than enough to realize what a stupid idea all that is. Linked to that is that the “instruction set” is interpreted differently with newer model versions. I mean, is has to be. Why else would somebody want to upgrade in the first place than to get more Powerful™ Features™?

Some people argue that with AI the democratization is empowered. However, in my view, the exact opposite is the case. Models are getting so large that you can basically not run them locally or even train them. So, you have to rely on whatever the vendor offers you and runs for you. In the end, this only gives the owners more power, the multi billionaires. Not exactly what I understand by democratization.

Finally, technology assessments are missing completely. Or they are faked such that mostly only the (questionable) benefits are listed. But all the negative impact is just ignored.

Let’s keep some popcorn around for when this all explodes. :-)

⤋ Read More

‘Creepy’ Listening Tool for Targeted Ads Didn’t Actually Work, FTC Says
Three firms will pay nearly $1 million for selling “Active Listening” technology that they claimed tapped people’s phones for advertising. The FTC alleges the “tech” was just pricey email lists. ⌘ Read more

⤋ Read More

I’m still having some fundamental design issues with my TUI widget system, so I’m still not comfortable making this code public.

But after a day of work (and discussing AI ad nauseam at work), I just don’t have any energy left. 😑

⤋ Read More

PEP 829: Structured Startup Configuration via .site.toml Files
This PEP proposes a TOML-based configuration file format to replace the .pth file mechanism used by site.py during interpreter startup. The new format, using files named .site.toml, provides structured configuration for extending sys.path and executing package initialization code, replacing the current ad-hoc .pth format that conflates path configuration with arbitrary code execution. ⌘ Read more

⤋ Read More

@kiwu@twtxt.net Sorry, I have two functional brain cells left in my brain, and I’m not sure if you’re asking What am I putting in it, as in a) when making some? Or as in b) when consuming/serving it?

a) 1L milk (0.5L cold + 0.5L warm @ ~45 °C), a bit of store bought yogourt for the bacteria, sugar and vanilla extract.
b) Most of the time, as is. But I’ve tried once: adding in a couple of diced strawberries that have been sitting in granulated sugar for a couple of minutes, until they’d released enough syrup, and I think I might’ve caught a new addiction on top of the original one.

What do you put in yours?

⤋ Read More
In-reply-to » @lyse Nice talk indeed.

@movq@www.uninformativ.de Our ads are one of these rubbish ones, unfortunately. They just speak about “an attractive salary”. I reckon I will tell my boss about this talk tomorrow (even though I doubt that any of them are from our department).

I’ve got the impression that salary is amongst the most top secret topics in Germany in general. My conspiracy theory is that companies don’t put any numbers in job ads because that would just reveal that most employees are underpaid.

⤋ Read More
In-reply-to » A mate just recommended this German talk why people don't wanna work at your company: https://media.ccc.de/v/froscon2025-3321-eseskaemwarumguteleutenichtbeieucharbeiten_wollen It's really good. I fully agree with most parts.

@lyse@lyse.isobeef.org Nice talk indeed.

Interesting to see that his ideal job ad talks more about the company than the required qualifications of the candidates. That alone is what 99% of companies get wrong. They just have a long list of “you must know these 500 things”, yeah, great, goodbye then. 🤷‍♀️

Just checked our job ads, some of them actually do list the salary. I’m surprised. 🤔

⤋ Read More
In-reply-to » @lyse I don’t know a number (wait, why can’t I google a Wetterbericht but only a Wettervorhersage?!), but it was enough for public transportation to shut down. 😅 I think I saw around five trucks on the side of the road who couldn’t continue, too icy. Some cars stranded.

@lyse@lyse.isobeef.org Found some numbers now, they’re saying it was around 10cm in 3-4 hours. I don’t know, felt like more. 😂 The forecast wasn’t really good either, now that I think about it. They said there’s going to be some snow, okay, fine, but then, boom.

Haha, that old ad is lovely. Those days are over. 🤣

⤋ Read More
In-reply-to » @lyse All that short brown grass, almost looks like Scotland. 🤔 (I’ve never been there. 😅)

@movq@www.uninformativ.de Hehe. :-) This steep footpath connects a hiking parking lot outside the village and the edge of the village in a fairly straight line. Garden owners are allowed to drive their vehicles down from the village to their lots on this pathway and up again. These two poles are placed about a third up from the botton on a short, comparatively flat section to stop people from taking this shortcut to get down to the country road. Said road goes through the village but there are hairpins getting up and down. The road markings have been added recentlyish. I suspect to warn shooting down cyclists of the danger ahead. I haven’t seen something like this anywhere else either. :-)

⤋ Read More

Lychee growers’ creative desserts and drinks offset a dismal harvest
Freeze-dried desserts, lychee ice cream, sorbets, and frozen juice are keeping family owned farms open to the public longer, despite a dramatic drop in the Sunshine Coast lychee harvest. ⌘ Read more

⤋ Read More
⤋ Read More

https://li-ma.nl/

«Our online catalogue comprises the largest media art collection in the Netherlands. Search through more than 3,500 works of art, from video-art pioneers from the 1960s to up-and-coming talents and well-known contemporary artists working with the latest technologies. New works are continuously added. The works are available for screenings, exhibitions and research.»

Via @ranoya@ranoya

#NewMediaArt #CreativeCoding #DigitalPreservation

⤋ Read More

When I try to login to PayPal I now see:

Please enable JS and disable any ad blocker

Here’s the thing. PayPal takes fees from transactions and payments received and sent.

I have very right not have ads shoved in my face for something that isn’t actually free in the first place and costs money to use. If PayPal would like to continue to piss off folks me like, then I’ll happily close my PayPal account and go somewhere else that doesn’t shove ads in my face and consume 30-40% of my Internet bandwidth on useless garbage/crap.

#PayPal #Ads

⤋ Read More

The last few days I’ve been converting some charts to grayscale and adding letters to them in order to improve accessibility. Inskscape’s “Replace Colour” extension made things much easier.

I wonder if I could one day try my hand at making an improved variation of that extension that could save and reload a dictionary of replacements to help apply them to multiple files…
Another idea would be to allow replacement color fills with patterns and vice versa!

Let me save this on vault of ideas for the future :)

#a11y #Inkscape #FLOSS

⤋ Read More

All my newly added test cases failed, that movq thankfully provided in https://git.mills.io/yarnsocial/twtxt.dev/pulls/28#issuecomment-20801 for the draft of the twt hash v2 extension. The first error was easy to see in the diff. The hashes were way too long. You’ve already guessed it, I had cut the hash from the twelfth character towards the end instead of taking the first twelve characters: hash[12:] instead of hash[:12].

After fixing this rookie mistake, the tests still all failed. Hmmm. Did I still cut the wrong twelve characters? :-? I even checked the Go reference implementation in the document itself. But it read basically the same as mine. Strange, what the heck is going on here?

Turns out that my vim replacements to transform the Python code into Go code butchered all the URLs. ;-) The order of operations matters. I first replaced the equals with colons for the subtest struct fields and then wanted to transform the RFC 3339 timestamp strings to time.Date(…) calls. So, I replaced the colons in the time with commas and spaces. Hence, my URLs then also all read https, //example.com/twtxt.txt.

But that was it. All test green. \o/

⤋ Read More

I should work on my client again and add some new features. Like adding a new feed directly in the client and not having to go to the config first. And showing a preview of a feed before actually adding it. Also, a search would be something to add. And finally combining my User-Agent analyzer with my subscription list to spot new feeds automatically.

⤋ Read More
In-reply-to » Scheduling the next Yarn.social Call for next month, a month in advance. Hope y'all can make the next one 🤞

It is always awesome to have a few minutes to converse, at least once I month. I will not miss one, adding it to my calendar. I mean, if we were neighbours you (or wife) would probably have to kick me out of your house, so it’s good I am really far, and a once a month call suffices. 🤣

⤋ Read More
In-reply-to » Wow! 🤩 Are folks actually using Gatherly already? 🤔 Media

I had a looksie (just to be sure) at the database, and they were thankfully legit test events. But this did spark/trigger me to make sure I have some form of anti-spam measures in place. So I added some per-event / per-rsvp rate-limiting and honeypot(s).

⤋ Read More

Triad Prague, is perhaps the only mainstream “Contemporary advertising” company, who fucking AI generates “pixelart” and everyone there is either too blind, dumb, or lazy, to at the very least, align the pixels, to a grid (or even check they’re square, the same size,…anything really).

I guess they must have some remains of shame and self preservation instinct, that made them sweep these off their portfolio website and set the video ads with them, to “Private” on YouTube.
https://youtu.be/s7GZK8FGRvA
But sadly not enough shame, to stop putting these on billboards, I have to see on daily basis and making new versions of them, with different inconsistent styles, of badly AI generated “pixelart”!

I checked their website, this is their footer, with the text that always overlaps - maybe they also never heard about CSS, can’t blame them, it’s only been a thing, since 1996.

⤋ Read More

[$] Enhancing FineIBT
At the Linux\
Security Summit Europe (LSS EU), Scott Constable and Sebastian
Österlund gave a talk on an enhancement to a control-flow integrity (CFI)
protection that was added to the kernel several years ago. The “ FineIBT: Fine-grain Control-flow\
Enforcement with Indirect Branch Tracking” mechanism was merged for
Linux 6.2 in early 2023 to harden the kernel against CFI attacks of various
sorts, but needed [ … ⌘ Read more

⤋ Read More

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.

⤋ Read More

Not shown here but, this Shape class used on the linked sketch helps eliminate (by adding them to a set) not only Polygons that are visually the same but also shape rotations using a custom .hash() method :)

(A caveat to the reader: The code can be is messy because it sometimes retains remnants of abandoned ideas and lateral explorations. This is creative coding not software engineering)

Image

⤋ Read More

Not shown here but, this Shape class used on the linked sketch helps eliminate (by adding them to a set) not only Polygons that are visually the same but also shape rotations using a custom .__hash__() method :)

(A caveat to the reader: The code is messy because it sometimes retains remnants of abandoned ideas and lateral explorations, also, this is creative coding not software engineering)

Image

⤋ Read More

The wealth of the top 1% reaches a record $52 trillion
Robert Frank,  Wealth Editor  -  CNBC

Stephan: When I tell you the United States has become a neo-medieval authoritarian oligarchy society, this is what I mean.

Image

Robert Frank, CNBC Wealth Editor. Credit: CNBC

  • The top 10% of Americans added $5 trillion to their wealth in the second quarter as the stock market ra … ⌘ Read more

⤋ Read More

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 to nick if not defined
  • banner: Using the same format as avatar 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! 🤞

⤋ Read More
In-reply-to » @bender Really? 🤔

@prologic@twtxt.net considering other alternatives we have seeing (of which I have lost track already), yes. Why don’t you guys (client makers) take a step at a time and, for now, increase the hash length to deal with the collisions. Then location-based addressing can be added… or not, you know. 😅

⤋ Read More

Raspberry Pi Updates Keyboard PC with New 500+ Model
Raspberry Pi 500+ is the newest all-in-one personal computer in the Raspberry Pi family. It combines the Raspberry Pi 5 platform with a mechanical keyboard, upgraded memory, and integrated storage. The design builds on the earlier Raspberry Pi 400 and 500 models while adding higher specifications and new input features. The Raspberry Pi 500+ is […] ⌘ Read more

⤋ Read More
In-reply-to » The driver’s license documents in Germany now have an expiration date. You have to renew them every 15 years. (Not the license itself, just the documents.)

@movq@www.uninformativ.de better than in the US. Our lasts only 10 years, and you need to go through the vision test, and, of course, pay). Recently they added a little gold star denoting “real ID” compliance, and we had to pay $10 to get the old one replaced—out of the regular renew “schedule”.

In here it is all about control, and money.

⤋ Read More
In-reply-to » @prologic im unsure how i feel about the hash v2 proposal, given it is completely backward incompatible with hash v1 it doesn't really solve any of the problems with it. it only delays collisions, and still fragments threads on post edits

@lyse@lyse.isobeef.org i dont mind if the hash is not backward compatible but im not sure if this is the right way to proceed because the added complexity dealing with two hash versions isnt justified

regular end users wont care to understand how twt hashes are formed, they just want to use twtxt! so i guess i could work in protecting users from themselves by disallowing post edits on old posts or posts with replies, but i’m not fond of this either really. if they want to break a thread, they can just delete the post (though i’ve noticed yarn handling post deletes dubiously…)

on activitypub i do genuinely find myself looking through several month or even year old posts sometimes and deciding to edit/reword them a little to be slightly less confusing, this should be trivial to handle on twtxt which is an infinitely simpler specification

⤋ Read More
In-reply-to » @zvava I am getting [2025/09/11 12:56:01.816] ⇒ please set config.host when trying to run "bbycll". How to bypass that tiny hurdle?

Adding too this. The configuration example at the repository reads:

{
	"nick": "Example",
	"description": "alice's twtxt instance!",
	"host": "twtxt.example.com",
	"admin": "alice"
}

Would it make more sense changing nick to instance_name or similar? Usually nick is reserved for users, like here, quark. Right? Also, is host the same FQDN to be used while proxying traffic to the application? That is, using the above configuration, it’s Caddy configuration would be:

twtxt.example.com {
	encode
	reverse_proxy :31212
}

Is that correct?

⤋ Read More

XMPP Interop Testing: Lots More Options
Since the last update, we’ve added a lot more options on how to run your tests. We’ve added a slew of new CI systems, this time focussing on freedom-respecting, open source CI systems for your open source projects.

Recent additions include Jenkins, Drone, Harness and Woodpecker.

This brings our total number of CI systems in which you can run XMPP interop tests up to a whopping ELEVEN, plus anywhere else you can run containers!

Whether you’re building … ⌘ Read more

⤋ Read More