GNOME Mutter 51 Beta Released With Wayland Background Blur, Improved Frame Scheduling
Released overnight on Sunday were the beta versions of Mutter 51 and GNOME Shell 51. This follows GNOME 51 embarking on itsAPI/ABI freeze, feature freeze, and UI freeze a day earlier… ⌘ Read more
Ubuntu Touch Making Progress Toward Ubuntu 26.04, Vulkan & App Updates
Following last week’s release of Ubuntu Touch 24.04-2.0 for this community-maintained, mobile flavor of Ubuntu Linux, more details are now available on their upcoming development efforts and eventual transition to an Ubuntu 26.04 base… ⌘ Read more
MPEG-4 Patent Expiration, RADV On Windows, Open-Source AI & Other July Highlights
Last month on Phoronix there were 257 original Linux/open-source related news articles and another 20 featured Linux hardware reviews / multi-page benchmark articles. Following the recent 22nd birthday of Phoronix.com, this puts the overall tally at nearly 51k original news articles and more than 5,600 Linux hardware reviews. Here is a look back at what readers found most exciting during the course of July… ⌘ Read more
AMD Publishes CDNA5 ISA Documentation For Instinct MI455X
Following last week’s launch of the AMD Instinct MI455X, AMD has now kept with tradition and provided ISA documentation concerning this latest CDNA5 architecture… ⌘ Read more
Microsoft’s $450 Billion Jump Is Biggest In Stock Market History
Microsoft shares surged as much as 17% after reporting 43% growth in Azure revenue, putting the company on track to add a record $490 billion in market value in a single day. Bloomberg notes that it “would eclipse Nvidia’s $440 billion addition, following President Donald Trump’s announcement of a 90-day tariff pause last year, as the biggest ever. … ⌘ Read more
AMD Posts Linux Patches For HDMI 2.1 Auto Low-Latency Mode “ALLM” & VRR
Following AMD posting AMDGPU patches for HDMI 2.1 FRL support after the HDMI 2.1 open-source support was long blocked by the HDMI Forum, as part of working toward a complete HDMI 2.1 implementation in this AMD Linux driver it was followed by HDMI 2.1 Display Stream Compression (DSC) support. Now the latest on the AMDGPU HDMI 2.1 enabling path is enabling Auto Low-Latency Mode (ALLM) as well as HDMI Variable Rate Refresh!.. ⌘ Read more
Bwahahaha, these security folks have a great sense of humor! :-D Got a phishing test e-mail disguised as an overdue anti-phishing training e-mail: 
We receive these test phishing e-mails every now and then at work. When you follow the links and log in at the fake login, you probably get assigned another (real) training.
When I got this e-mail, I immediately thought of such a test. Since I actually do have some stupid training deadlines coming up soon, I wasn’t 100% sure, but still doubted that this was one of them. To make the timing even better, in the team meeting last week, our bosses reminded us to complete outstanding trainings before the deadlines. Ideally well in advance. Notifications about deadlines coming closer are sometimes not only sent to the individuals but also to the bosses and their bosses. And then things can get out of hands when somebody doesn’t read the e-mails properly and mistakes them for deadline exceeded reports.
Anyway, the URL also looked kinda legit. It really doesn’t help a single bit that domain names change all the fucking time. So, still with the test program in mind, I thought, I just give it a quick shot out of curiosity. Since I just had logged in before, the empty SSO username field was totally obvious then. Looking at the e-mail headers confirmed that this was indeed one of security’s field checks. :-)
Arizona State Launches Influencer Degree Where Students Must Gain Real Followers
Arizona State University has launched a 120-credit bachelor’s degree in content creation that teaches video, podcasting, branding, analytics, media law, and social strategy. For their capstone, students are “expected to build a real social media account and demonstrate audience growth during the program,” reports De … ⌘ Read more
Codeberg Bans Cryptocurrency and LLM-Generated Code Projects
Longtime Slashdot reader AmiMoJo shares a report from Hackaday: Community-led open source project hosting site Codeberg has formally announced that projects whose code is largely or fully machine-generated through LLMs and other ‘AI’ tools will no longer be welcome. This follows on the heels of a similar ban on cryptocurrency-related projects. The … ⌘ Read more
Apple’s Smart Glasses Delayed, As Engineers Consider Privacy Concerns
Digital Trends reports:
Apple could unveil its first smart glasses at WWDC in June 2027, followed by a consumer release toward the end of the year, according to Bloomberg… Part of the delay reportedly stems from Apple’s engineering and marketing teams spending more time refining the product and deciding how to address the privacy conc … ⌘ Read more
@GabesArcade@gabesarcade.com twtd landed too 🥳 Hosted feeds (twtpub.com) and self-hosted twtd can publish # follow = now — the operator offers it with --allow-follows, then it’s the same toggle in Settings. Off by default at both ends 👌
Also a “Publish who I follow” toggle: writes # follow = + # following = N into your feed like yarnd does. Off by default (it is your social graph 🤔), and only on the GitHub/Gitea backends for now where the app owns the feed file. twtd next 🤞
@GabesArcade@gabesarcade.com Both 😅 Just shipped: Settings → Backup & restore. Export everything (or follows only) as a JSON file and import it back — or feed it any twtxt.txt and it’ll harvest the # follow = lines. There’s a copy-paste # follow = block in there too if you’d rather hand-edit 👌
@GabesArcade@gabesarcade.com So we going with an Import/Export feature? Or would you also like optionally to write # follow = into the feed too? 🤔 Can do either/or or both.
Ubuntu Touch 24.04-2.0 Released With Support For Notches & Rounded Corners
Following last month’s beta release, Ubuntu Touch 24.04-2.0 is now available as the latest feature release for this Ubuntu 24.04 LTS derived mobile operating system for select smartphones and tablets… ⌘ Read more
Fedora 45 Looks To Begin Phasing Out In-Kernel Crypto Userspace API
Going along with the upstream Linux 7.2 kernel deprecation of AF_ALG and Linux 7.3 to further restrict this interface for letting user-space programs interact directly with the Linux kernel crypto API, Fedora 45 is looking to follow and help support this transition… ⌘ Read more
LLVM 23.1-rc1 Released With AMD Zen 6 & AVX-512 BMM Support, Other Compiler Enhancements
Following the recent code branching for the LLVM 23 series, LLVM 23.1-rc1 was released today in working toward the next stable release of this open-source compiler stack… ⌘ Read more
Raspberry Pi Touch Display 2 10-Inch Model Launches
Following the launch of the 7-inch Raspberry Pi Touch Display 2 and the 5-inch display variant, Raspberry Pi announced today the addition of a 10-inch model… ⌘ Read more
Qualcomm Posts Linux Patches For X2 Elite Extreme Powered ASUS Zenbook A16
Following recent Linux kernel patches enabling the Snapdragon X2 Elite powered Lenovo Yoga Slim 7x Gen11 and HP EliteBook X G2q X2 Elite laptops to boot outside of Windows 11 on ARM, Qualcomm engineers have now posted a new patch series for getting the X2 Elite Extreme powered ASUS Zenbook A16 working on Linux… ⌘ Read more
Harebrained Schemes’ new survival horror RPG ‘GRAFT’ gets a story trailer
Harebrained Schemes are working towards release on their next game following their split from Paradox Interactive, with the survival horror RPG ‘GRAFT’.
Read the full article on [GamingOnLinux](https://www.gamingonlinux.com/2026/07/harebrained-schemes-new-survival-horror-rpg-graft-gets-a-story … ⌘ Read more
📣 ACTION REQUIRED: Hey folks 👋 For those of you whom are using the Twtxt App either via the Hosted option or on your own twtd instnace or via Github/Gitea or any other publishing backend (doesn’t amtter). Please read.
Please open the app and you should be prompted to save your recovery code for your device. This basically is all of your settings, follows, etc in the app itself. This is synced to the Origin everytime you make a change, and also stored on-device. This is what makes it possible to sync your setting across services, move to another device, etc.
Please save a copy of the recovery code somewhere. This is only your only way to recover your settings.
Thank you 🙏
the only reason twtd has and records a followers.json is because that’s where your feed is hosted from and where the UA discover occurs
You may have noticed I am not as active as I used to be here. Old @bender@twtxt.net isn’t going anywhere, though! But… I am Hyde, and my Jekyll resides at @david@daiwei.me. Jekyll is having his turn more often now, so if you follow my pure, unrestrained evil, you may as well follow my dark desires, hypocrite counterpart. 😈🤣
Follow @david@daiwei.me, or I will bend you!
@david@daiwei.me agreed on those. I have also noticed that the buttons are the top (Timeline, Mentions, Follows, Settings) shift a bit when clicked. I am not sure what’s causing that.
@prologic@twtxt.net @david@daiwei.me I just want to bring up the following: From a data protection point of view, edits and deletions are important. But that’s about it, I will not join discussions on that topic. :-)
@itsericwoodward@itsericwoodward.com Wrote it up 👌 Single-user twtd API is now documented (plain JSON, one bearer token) — posting, uploads, profile, followers + WebFinger: https://git.mills.io/yarnsocial/twtd/src/branch/main/API.md 🎉 Shout if anything’s unclear for TwtKpr 🙏
Some further ideas/enhancements for Twtxt App …
- On the “Followers” tab, new followers should appear at the top I thnik.
- On the Following/Followers, each feed should be clickable/tappable.
- Maybe also tidy it up a bit, displaying the full raw Feed URI is messy.
Hurray, I can now press gg instead of g to go to the top in tt. Much better! :-) Other multi-key combinations are also easily possible now.
I should probably write a real article about this at some point, but here we go. The only downside with my new key binding system is that it breaks tview’s established pattern. You’ve got an InputHandler(), that is implemented using WrapInputHandler(…). It typically then directly implements the switching logic depending on the key press. Something like this:
func (w *Widget) InputHandler() func(event *tcell.EventKey, setFocus func(p tview.Primitive)) {
// WrapInputHandler allows for intercepting key events with SetInputCapture(…)
// from the outside for customization. This handles the default key bindings.
return t.WrapInputHandler(func(event *tcell.EventKey, setFocus func(p tview.Primitive)) {
switch event.Key() {
case tcell.KeyRune:
if event.Modifiers() == tcell.ModNone {
switch event.Rune() {
case 'k':
w.scrollUp()
return // we already handled the event, stop processing
case 'j':
w.scrollDown()
return
}
}
}
// We didn't handle the key event. Maybe the parent
// widget knows what to do with it.
if handler := w.parent.InputHandler(); handler != nil {
handler(event, setFocus)
}
})
}
From the outside, you can intercept and either stop or continue the widget’s original key handling with a potentially rewritten key event using SetInputCapture(…):
w := NewWidget()
// customized or additional key bindings
w.SetInputCapture(func(event *tcell.EventKey) *tcell.EventKey {
switch event.Key() {
case tcell.KeyUp:
// Rewrite the event, so the "cursor up" key is an alias
// for the vim key binding "k", that is handled by the
// wrapped input handler above. (I know, I know, this is a
// completely unrealistic example, why would anyone use
// cursor keys when there are vim key bindings available?!)
return tcell.NewEventKey(tcell.KeyRune, 'k', tcell.ModNone)
case tcell.KeyRune:
if event.Modifiers() == tcell.ModNone {
switch event.Rune() {
case 'q':
app.Stop()
// we already handled the event, do not pass it
// to the wrapped input handler above
return nil
case 'r':
toggleMessageReadStatus()
return nil
}
}
}
// we didn't handle the event, pass it to the wrapped
// input handler above
return event
}
Since they all expect a single key, I’ve noticed that using multiple dedicated KeyBindings of mine on these different levels kinda breaks multi-key handling with common prefixes. The outer-most KeyBinding captures the prefix, but it can’t transfer it to the inner one if not handled by the outer one. At least not without some more (potentially ugly) changes. So, I now have to work with just a single KeyBindings object for the entire widget chain (if it consists of multiple other widgets or the regular input handler and input capture are in the game). The outside needs to register all its key bind customizations or extensions at the same level that the original widget handles its default ones. Doable by exposing the widget’s KeyBindings instance, but not pretty. You always have to keep this in mind.
With the KeyBindings, it will look like that:
type Widget struct {
parent tview.Primitive
// make it available to children or the outside either by
// direct field access or by providing a getter method
KeyBindings *bind.KeyBindings
}
func NewWidget() *Widget {
w := &Widget{KeyBindings: &bind.KeyBindings{}}
w.KeyBindings. // default key bindings
Bind0(bind.KeySequence('k', w.scrollUp).
Bind0(bind.KeySequence('j', w.scrollDown)
return w
}
func (w *Widget) InputHandler() InputHandler() func(event *tcell.EventKey, setFocus func(p tview.Primitive)) {
return t.WrapInputHandler(func(event *tcell.EventKey, setFocus func(p tview.Primitive)) {
// also note the missing support for focus transfer at the moment
event = w.KeyBindings.Capture(event)
if event == nil {
return
}
if handler := w.parent.InputHandler(); handler != nil {
handler(event, setFocus)
}
}
}
And then from the outside, or in a child widget:
w := NewWidget()
w.KeyBindings. // additional or customized key bindings
Bind1(bind.KeySequence(tcell.KeyUp), func(*tcell.EventKey) *tcell.EventKey {
return tcell.NewEventKey(tcell.KeyRune, 'k', tcell.ModNone)
}).
Bind0(bind.KeySequence('q'), app.Stop).
Bind0(bind.KeySequence('r'), toggleMessageReadStatus)
When directly working with tview primitives that are not part of custom widget implementations, the following works well so far:
textView := tview.NewTextView().
SetWordWrap(true).
SetText("…")
SetScrollable(true)
textView.SetInputCapture((&bind.KeyBindings{}).
Bind0(bind.KeySequence('q'), app.Stop).
Bind1(bind.KeySequence('g', 'g'), func(*tcell.EventKey) *tcell.EventKey {
return tcell.NewEventKey(tcell.KeyHome, 0, tcell.ModNone)
}).
Capture)
I need to sleep on this some more.
Also, writing very long messages like this one is really not all that fun in tt’s editor. I should absolutely provide a way to shell out to vim.
(Took me about one and a half hours to compose, holy crap. But not only because of not using vim. Although, that might have saved me a quarter hour or so for sure. Proof-reading this message also uncovered quite a few bugs in my real documentation. So, that’s a big win!) Good night!
Shipped a bunch of Twtxt App fixes & polish today 🥳 One-tap Refresh that actually refreshes, duplicate follows fixed, Reply/Fork buttons (with proper @-mentions), unread dots, Back keeps your spot, and it’ll now guide you to install it as a proper app 📱 Reload https://twtxt.app and have a play! Thanks @quark@ferengi.one and @balloon-fu-sen@tw.fus.f5.si for all the reports 🙏
<tab> (white space) between the timestamps and posts look a bit shorter than the ones from jenny? just noticed that and thought maybe it's someting you'd want to know.
@aelaraji@aelaraji.com @david@daiwei.me @prologic@twtxt.net It depends on the tab size, but often, a tab aligns the following character to next column that is a multiple of eight.
1 8 |16 |24 |32
2026-07-12T08:11:34+02:00 Here goes the text
2026-07-12T06:11:34Z Here goes the text
@movq@www.uninformativ.de this one:
2026-07-11T17:28:31Z () No yet. Let’s keep it rolling a little bit longer. I am reply to “[..] I don’t see any broken threads here. 🤔“. I can’t tag followings while on mobile. <-- THIS BROKE
Was a reply to:
2026-07-11T16:39:22+00:00 (#iqqsqst5vokf) @<david https://daiwei.me/twtxt.txt> Well, I don’t see any broken threads here. 🤔
Fixed! Had to unfollow, follow back.
I think Yarn has Gabes nick cached, and mentioning is broken because of that. Let me check my followings, to be sure.
Also, if bots/spsiders hit your feed, they are showing as followers. Certainly not true. Right now I am blocking all bots, but that’s not the proper approach, I think.
@david@daiwei.me as you alter ego, I seriously recommend you stop creating feeds left and right. But whom am I kidding, right?! 😅
I wonder how long will it take to show a follower on twtd. It only shows the feed’s owner, so far.
For game 2, everyone else brought out bigger guns - tribal dragons, tribal giants, tribal spiders (led by the completely broken Cosmic Spider-Man), and Atraxa (equipped with Captain America’s shield, no less), while I ran my new (also unlisted) 5-color tribal Super Villains deck (fronted by the Super Skrull). Although I got off to a slow start, it kept me mostly under the radar, allowing me to ultimately win with the Villains by goading everyone else’s creatures into attacking each other on one turn (via Maximum Carnage), and then killing off the remaining players over 3 combat phases on the follow-up turn (Full Throttle).
Boo-yah!
EchoStar’s US Satellite Pay-TV Provider Dish DBS Files for Bankruptcy
EchoStar’s satellite pay-TV unit Dish DBS has filed for Chapter 11 bankruptcy
protection, reports Reuters. The move also applies to its wireless subsidiaries, according to the article, and “facilitates the wind-down of Dish Wireless’s 5G network operations following an unexpected delay in a spectrum license sale to AT&T… unde … ⌘ Read more
Linux 7.2 On Threadripper Shows Some Nice I/O Improvements & Faster Poll, Some Regressions
I have begun testing out Linux 7.2 on more hardware following the winding down of the merge window and culminating with yesterday’s Linux 7.2-rc1 release. Today’s tests are looking at how Linux 7.2 in its early development state is comparing to Linux 7.1 stable on AMD Ryzen Threadripper. ⌘ Read more
KDE Plasma 6.7.2 To Fix KWin’s Most Common Crash, Plasma 6.8 To Not Crash When Ejecting CDs
While Plasma 6.7.1 was just released this week following the recent stable debut of Plasma 6.7, there are already a number of fixes piling up for Plasma 6.7.2 due out in July. Plus more feature work and fixes for Plasma 6.8 as the next desktop version going Wayland-only… ⌘ Read more
Astronomers Find Biggest Super-Puff Planets Yet That Are Lighter Than Cotton Candy
Astronomers have discovered two Jupiter-sized exoplanets with densities lower than cotton candy, making them the lightest known worlds of their size. The rare “super-puffs,” located about 1,110 light-years away, are likely composed mostly of hydrogen and helium, with follow-up observations by the James Webb … ⌘ Read more
How NVIDIA GB10 CPU Performance Compares To Vera
Since delivering NVIDIA Vera CPU benchmarks one month ago and follow-ups like how the ARM Linux server performance has evolved in 8 years or how Vera compares to Ampere Altra that is still quite common in the marketplace, another frequent discussion point and inquiry is about the performance of NVIDIA Vera relative to NVIDIA’s GB10 chip. For those curious about the per-core performance and the like, here are some benchmarks of the GB10 up against those initial Vera resul … ⌘ Read more
Anthropic Says Alibaba Must Be Punished For Largest Claude Cloning Attack
An anonymous reader quotes a report from Ars Technica: Anthropic has accused the Chinese firm Alibaba of launching the largest attack yet attempting to clone Claude, as China races to match the capabilities of Anthropic’s leading model following Mythos’ release and subsequent restriction from foreign markets. Ars obtained a June … ⌘ Read more
Meta Pauses Employee-Tracking Program Following Internal Data Leak
Meta has paused its Model Compatibility Initiative that tracked employee mouse movements, clicks, keystrokes, and screen content to train AI agents, after some of its collected data became accessible to more employees than intended. Meta says it has no evidence the information was improperly accessed and will not restart the program until it is … ⌘ Read more
A deer, multiple frogs, several thousand fireflies and something else. It was already very dark when I was silently drifting along on a nice soft mossy path, enjoying the firefly show left and right and in front of me. I then heard some rustling about 30 meters in the distance in the shrubs. I thought that I must have scared up a deer. But it kept on rustling without any worries. And I closed in without seeing anything.
Only when I heard the quick oink from just 10 meters away, I froze. Shit, no deer, but a boar! Suddenly, I was the one who was scared. It probably hadn’t noticed me before. But did it notice me now? Was that grunt a warning or just completely unrelated? The rustling appeared to slowly come closer. What if there were also piglets around? I couldn’t figure out how many boars there were. Maybe just one, possibly more. A wild boar easily rips a hunting dog apart, so I didn’t want to take any chances and decided I will not wait for them to eventually pass me behind the brush in just a hand full of meters, so I can keep on going. While I was just turning around, I heard another oink and was frighened to death. I ran 20 meters, before calming down a little bit. I listened for half a second and nobody was following me. Phew. I then walked back the path.
What an adventure, I tell you. That was my second (or maybe third?) wild boar encounter in the woods ever. A hell lot more scary at night than during daylight when you can actually see something.
“Disgusting” Linux sched_ext Source Code Restructured Following Complaint By Linus Torvalds
Last week the main set of sched_ext changes were merged for Linux 7.2 that included continued work on sub-scheduler support. While Linus Torvalds didn’t object to any of the features being worked on for this extensible scheduler framework that relies on user-space BPF programs, he was frustrated by the layout of the new C source files and remarked, “please don’t do this disgusting thing…proper hierarchical filesyste … ⌘ Read more
Wikipedia Cofounder Larry Sanger Banned From Site for ‘Canvassing’
Wikipedia cofounder Larry Sanger has been indefinitely banned from editing the site after editors concluded that he violated its canvassing rules, “or in other words, calling on his followers off platform in order to influence Wikipedia’s content,” reports 404 Media. Sanger says the ban proves Wikipedia suppresses ideological diversity, while e … ⌘ Read more
KDE Plasma 6.7.1 Released With Initial Batch Of Bug Fixes
Following last week’s major Plasma 6.7 release, Plasma 6.7.1 is now available today with an initial assortment of bug fixes… ⌘ Read more
GM Installs Robots At Flagship EV Factory After Laying Off 1,300 Workers
An anonymous reader quotes a report from Ars Technica: Dozens of new robot arms have been installed at General Motors’ flagship electric vehicle factory in Detroit – even as 1,300 workers remain out of work following what was supposed to be a temporary layoff. The latest automation push has spurred union pushback over a potent … ⌘ Read more
Microsoft Accidentally Breaks Replying To an Email On Outlook
Microsoft has accidentally introduced a bug in Outlook for Mac that omits the original message from email replies, making it difficult for recipients to follow conversation history. Until Microsoft releases a fix, its suggested workaround is to roll back from version 16.110 and disable automatic updates, which is “great for users in full control of their … ⌘ Read more
Following User Outcry, AMD Reinstates Memory Encryption In Consumer CPUs
Last week, AMD was found to have stripped memory encryption from its consumer CPUs without any warning or notice. Now, following a wave of backlash on social media, the chipmaker has now reinstated the protection, though it still hasn’t explained why the safeguard was disabled in the first place. Ars Technica reports: Following the r … ⌘ Read more