rustfmt. I now use similar tools for Python (black and isort).
@movq@www.uninformativ.de @prologic@twtxt.net Thatās what I like about Go, too. However, every now and then I really dislike the result, e.g. when removing spaces from a column layout. Doesnāt happen often, but when it does, I hate it.
I think I should have a look at Python formatters, too. Pep8 is deprecated, I think, itās been some time that I looked at it.
@kiwu@twtxt.net whatās going on, Kiwu?
It drizzled all morning when we picked up the old christmas trees in town with the scouts. Right after lunch the snow storm suddenly hit and dumped three centimeters of snow in just 15 minutes. I cycled home in these crazy conditions, freezing rain hammered my face. As soon as I arrived, it stopped. Itās now down to drizzling again.
All my soaked gear is now hung up to dry. The next 11 months, Iām going to find needles over needles in all kind of impossible places.
itās going to be a cold day in Hell before Iāll ever get into ARM again
KDE Plasma 6.6 Adds oo7 Secret Service Provider Support, Save As New Global Theme
With new volunteers stepping up for This Week in Plasma, there is a new issue out this week to highlight more development activities going into the upcoming KDE Plasma 6.6 desktop release⦠ā Read more
Shin'ya M. > ./bin/mu
panic: native backend does not support syscall platform netbsd/amd64
goroutine 1 [running]:
git.mills.io/prologic/mu/internal/native/arm64.init.0()
/home/shinyoukai/mu/internal/native/arm64/emitter.go:45 +0x7bf
ā¦that was supposed to be the interpreter?
@lyse@lyse.isobeef.org Itās not super comfortable, thatās right.
But these mouse events come with a caveat anyway:
ncurses uses the XM terminfo entry to enable mouse events, but it looks like this entry does not enable motion events for most terminal emulators. Reporting motion events is supported by, say, XTerm, xiate, st, or urxvt, it just isnāt activated by XM. This makes all this dragging stuff useless.
For the moment, I edited the terminfo entry for my terminal to include motion events. That canāt be a proper solution. Iām not sure yet if Iām supposed to send the appropriate sequence manually ā¦
And the terminfo entries for tmux or screen donāt include XM at all. tmux itself supports the mouse, but Iām not sure yet how to make it pass on the events to the programs running inside of it (maybe thatās just not supported).
To make things worse, on the Linux VT (outside of X11 or Wayland), the whole thing works differently: You have to use good old gpm to get mouse events (gpm has been around forever, I already used this on SuSE Linux). ncurses does support this, but this is a build flag and Arch Linux doesnāt set this flag. So, at the moment, Iām running a custom build of ncurses as a quick hack. š And this doesnāt report motion events either! Just clicks. (I donāt know if gpm itself can report motion events, I never used the library directly.)
tl;dr: The whole thing will probably be ākeyboard firstā and then the mouse stuff is a gimmick on top. As much as Iād like to, this isnāt going to be like TUI applications on DOS. Iāll use āWindowsā for popups or a multi-window view (with the āWindowManagerā being a tiny little tiling WM).
@prologic@twtxt.net the bytecode shouldnāt be a problem beyond Mac though?
I mean, since the current implementation is in Go
Intel Is āGoing Big Time Into 14A,ā Says CEO Lip-Bu Tan
Intel CEO Lip-Bu Tan says the company is āgoing big timeā into its 14A (1.4nm-class) process, signaling confidence in yields and hinting at at least one external foundry customer. Tomās Hardware reports: Intelās 14A is expected to be production-ready in 2027, with early versions of process design kit (PDK) coming to external customers early this year. To that end ⦠ā Read more
Tailwind CSS Lets Go 75% Of Engineers After 40% Traffic Drop From Google
Adam Wathan, the creator of the popular CSS framework Tailwind CSS, has let go of 75% of his engineering team ā reducing it from four people to one ā because AI-generated search answers have decimated traffic to the projectās documentation pages.
Traffic to Tailwindās documentation has fallen roughly 40% since early 2023 despite th ⦠ā Read more
SteamOS Continues Its Slow Spread Across the PC Gaming Landscape
An anonymous reader quotes a report from Ars Technica: SteamOSās slow march across the Windows-dominated PC gaming landscape is continuing to creep along. At CES this week, Lenovo announced it will launch a version of last yearās high-priced, high-powered Legion Go 2 handheld with Valveās gaming-focused, Linux-based OS pre-installed starting in J ⦠ā Read more
@prologic@twtxt.net Yep! I like that this distillation metaphor makes it explicit: You have to go ahead and actually distill something. It doesnāt happen automatically. The metaphor acknowledges that this is work that needs to be done by someone.
Microsoft Office Is Now āMicrosoft 365 Copilot Appā
Longtime reader joshuark shares a report: As spotted by Bluesky user DodgerFanLA, going to Office.com now greets you with the following helpful explainer: āThe Microsoft 365 Copilot app (formerly Office) lets you create, share, and collaborate all in one place with your favorite apps now including Copilot.*ā
Never has an asterisk been more relevant to me than following the wor ⦠ā Read more
I came across this on āWhy Is SQLite Coded In Cā, which I found interesting:
āThere has lately been a lot of interest in āsafeā programming languages like Rust or Go in which it is impossible, or is at least difficult, to make common programming errors like memory leaks or array overruns.ā
If thatās true, then encountering those issues means the programmer is, simply, horrible?
AMD Releases GAIA 0.15 - Positioning It As A Framework/SDK For Building AI PC Agents
Last year AMD announced GAIA as short for āGenerative AI Is Awesomeā. It started off as a Windows-only AI demo but over time added Linux support along with introducing different AI agents. For going along with AMDās AI announcements at CES 2026, AMD released GAIA 0.15 where they are now positioning this software as a framework/SDK for building AI PC agents⦠ā Read more
UK Governmentās New Pension Portal Operator Tells Users To Wait for AI Before Complaining
Capita, the UK outsourcer that won a $323 million contract to administer the nationās Civil Service Pension Scheme for 1.7 million members, has responded to a disastrous portal launch by asking users to hold off on complaints until its new AI chatbots go live.
The service launched on December 1 and ⦠ā Read more
@movq@www.uninformativ.de I think they are Windows users, going by the lack of attention to detail, and the fact they love DFS. Ha!
httpd now sends the Last-Modified with UTC instead of GMT. Current example:
@shinyoukai@neko.laidback.moe Yeah, probably. Not going down the CURRENT route, thatās for sure. š
Interference With Americaās GPS System āHas Grown Dramaticallyā
86 aircraft were affected by an incident in Denver ,and 256 more in Dallas-Fort Worth, Americaās Federal Aviation Admistrationtold the Washington Post:
The pilots flying into Denver International Airport could tell something was wrong. In urgent calls to air traffic controllers, they reported that the Global Positioning System was going haywire, forc ⦠ā Read more
MTVās Music-Only Channels Go Off the Air
An anonymous reader shares a report: MTV shut down many of its last dedicated 24-hour music channels Dec. 31. The move, announced back in October, affected channels around the world, with the U.K. seeing five different MTV stations going dark. These include MTV Music, MTV 80s, MTV 90s, Club MTV, and MTV Live. As Consequence notes, MTV Music ā which launched in 2011 ā notably ended it ⦠ā Read more
fib(35) doesn't regress too badly as I continue to evolve the language.
@prologic@twtxt.net Not bad for a start, ey! Looking forward to see you going down these rabbit holes and opening one can of worms after the other. :ā-D Very, very impressive, hats off to you. :-)
Things Iāve learned along the way:
- Writing self-contained and barely tied up programs didnāt go as well as Iād have thought
- Reverse engineering (to put it that way) an open source library
- Acceptance of non-Make build systems
I can track usersā feeds now
@prologic@twtxt.net Iād happily write API documentation for go.yarn.social/client
It turns out doing such a thing all at once can obliterate oneās bandwidth if unchecked.
Also I was greeted with the most non-explanatory compiler error to date:
go build -v -o mikuru ./cmd
no errors
echo $?
1
Iām going to write the T.P.D.D. subcommand for Mikuru now
git add everything!? Is it not enough for the file(s) to be already checked in from the get go?
@shinyoukai@neko.laidback.moe Because you might not want to commit all changed files in a single commit. I very often make use of this and create several commits. In fact, I like to git add --patch to interactively select which parts of a file go in the next commit. This happens most likely when refactoring during a feature implementation or bug fix. I couldnāt live without that anymore. :-)
If you have a much more organized way of working where this does not come up, you can just git commit --all to include all changed files in the next commit without git adding them first. But new files still have to be git added manually once.
Why the hell do I have to git add everything!? Is it not enough for the file(s) to be already checked in from the get go?
Git = G(od damn)it
os.UserConfigDir() up until a few seconds ago! I always implemented that myself.
@shinyoukai@neko.laidback.moe Yeah, they donāt truly support XDG. In fact, I looked in the Go stdlib source code to notice all the differences and shortcomings.
os.UserCacheDir(), it seems that the Go devs hasn't acknowledged the $XDG_DATA_DIR yet
@lyse@lyse.isobeef.org You could always take a peek at the Go source
Posted from mikuru/0.0.3 @ NetBSD amd64
os.UserConfigDir() up until a few seconds ago! I always implemented that myself.
@lyse@lyse.isobeef.org the funny thing about it? Thereās os.UserCacheDir(), it seems that the Go devs hasnāt acknowledged the $XDG_DATA_DIR yet
$HOME is not specified it tries to resolve the user's home directory by user.Current().HomeDir. Maybe that's overkill, I have to check the XDG spec.
Ok, the standard library implementation is wonky at best, at least in regards to XDG, because it really doesnāt implement it properly. https://github.com/golang/go/issues/62382 I stick to my own code then. It doesnāt properly support anything else than Linux or Unixes that use XDG, but personally, I donāt care about them anyway. And the cross-platform situation is a giant mess. Unsurprisingly.
@movq@www.uninformativ.de Thanks! Iāll have a look at SnipMate. Currently, Iām (mis)using the abbreviation mechanism to expand a code snippet inplace, e.g.
autocmd FileType go inoreab <buffer> testfunc func Test(t *testing.T) {<CR>}<ESC>k0wwi
or this monstrosity:
autocmd FileType go inoreab <buffer> tabletest for _, tt := range []struct {<CR> name string<CR><CR><BS>}{<CR> {<CR> name: "",<CR><BS>},<CR><BS>} {<CR> t.Run(tt.name, func(t *testing.T) {<CR><CR>})<CR><BS>}<ESC>9ki<TAB>
But this of course has the disadvantage that I still have to remove the last space or tab to trigger the expansion by hand again. Itās a bit annoying, but better than typing it out by hand.
The tt URLs View now automatically selects the first URL that I probably are going to open. In decreasing order, the URL types are:
- markdown media URLs (images, videos, etc.)
- markdown or plaintext URLs
- subjects
- mentions
I might differentiate between mentions of subscribed and unsubscribed feeds in the future. The odds of opening a new feed over an already existing one are higher.
Updated Linux Drivers Posted For Legion Go & Legion Go S Configuration
Open-source developer Derek J. Clark continues leading the efforts on improving the Lenovo Legion Go series hardware support under Linux. Posted today was the second iteration of the HID driver work for the Legion Go and Legion Go S for configuration support with the built-in controller HID interfaces⦠ā Read more
@zvava@twtxt.net By hashing definition, if you edit your message, it simply becomes a new message. Itās just not the same message anymore. At least from a technical point of view. As a human, personally I disagree, but thatās what Iām stuck with. Thereās no reliable way to detect and ācorrectā for that.
Storing the hash in your database doesnāt prevent you from switching to another hashing implementation later on. As of now, message creation timestamps earlier than some magical point in time use twt hash v1, messages on or after that magical timestamp use twt hash v2. So, a message either has a v1 or a v2 hash, but not both. At least one of them is never meaningful.
Once you āupgradeā your database schema, you can check for stored messages from the future which should have been hashed using v2, but were actually v1-hashed and simply fix them.
If there will ever be another addressing scheme, you could reuse the existing hash column if it supersedes the v1/v2 hashes. Otherwise, a new column might be useful, or perhaps no column at all (looking at location-based addressing or how it was called). The old v1/v2 hashes are still needed for all past conversation trees.
In my opinion, always recalculating the hashes is a big waste of time and energy. But if it serves you well, then go for it.
so either I write a build script (quite convoluted, as pulling extra dependencies beyond what go.mod provides is hard) or something
KDEās āThis Week In Plasmaā Will Become Less Frequent Without New Volunteers
The This Week In Plasma series written by KDE developer Nate Graham has been a great way to keep-up with all of the interesting KDE Plasma desktop developments over the past eight years. This Week In Plasma is regularly featured on Phoronix and always provides an interesting weekend look at the very newest innovations to land in Plasma. Unfortunately, This Week In Plasma will become less frequent or even go on hiatus without new volu ⦠ā Read more
@shinyoukai@neko.laidback.moe Nah itās more like thereās a lot of repeated code, because when you go from source language to intermediate representation to machine code, well you just end up writing a lot of the same patterns over and over again. I need to dedupe this I think.
Intel Open-Source Software Setback: IWD Development Hiatus
Adding to the unfortunate engineering setbacks at Intel this year as part of cost-cutting measures, the Intel IWD software development has been on a hiatus for the past three months. Going from previously seeing monthly releases and almost constant activity to now development ceasing up with no activity in the past three months⦠ā Read more
In the NetBSD host, where http://status.chaotic.ninja is running (left out the TLS for now), I patched Gatus to use mattn/go-sqlite3
AMD RDNA3/RDNA4 Go Down Hard On Linux 6.19, But Hereās How The Older AMD GPUs End Out 2025
As part of the various end-of-year benchmarking comparisons on Phoronix and with Linux 6.19 switching older AMD GCN 1.0/1.1 graphics cards to the AMDGPU driver by default, I planned for a very large AMD Radeon graphics card comparison on the latest open-source Linux driver for ending out 2025. In the end though I was thwarted by newer AMD RDNA3 / RDNA4 graphics cards regressing hard on Linux 6.19 that led to ending this testing ⦠ā Read more
Nova Driver Progress & Other NVIDIA Linux News From 2025
This year there was a lot of going on in the NVIDIA Linux world from their official driver stack seeing better Wayland support to a lot on the open-source scene from NVIDIA engineers contributing a lot directly to the Rust-based Nova open-source driver that continues taking shape, the Mesa NVK Vulkan driver becoming more performant and capable, and a lot of other happenings. Here is a look back at the most popular NVIDIA content of 2025 on Phoronix⦠ā Read more
Russia Plans a Nuclear Power Plant on the Moon Within a Decade
Russia plans to put a nuclear power plant on the moon in the next decade to supply its lunar space programme and a joint Russian-Chinese research station, as major powers rush to explore the earthās only natural satellite. Reuters: Ever since Soviet cosmonaut Yuri Gagarin became the first human to go into space in 1961, Russia has prided itself as ⦠ā Read more
Judge Blocks Texas App Store Age Verification Law
A federal judge blocked Texasā app store age-verification law, ruling it likely violates the First Amendment by forcing platforms to gate speech and collect data in an overly broad way. The law was set to go into effect on January 1, 2026. The Verge reports: In an order granting a preliminary injunction on the Texas App Store Accountability Act (SB 2420), Judge Robert Pitman w ⦠ā Read more
Cyberattack Disrupts Franceās Postal Service, Banking During Christmas Rush
An anonymous reader quotes a report from the Associated Press: With just three days to go before Christmas, a cyberattack knocked Franceās national postal service offline Monday, blocking and delaying package deliveries and online payments. The timing was miserable for millions of people at the height of the Christmas season, as ⦠ā Read more
@prologic@twtxt.net the EU side of wherever my main server is located remained same as ever, but I did go through some kind of outage on the secondary server, itself located in the US (and it was a Linux problem, to boot)
@movq@www.uninformativ.de From 2:50 PM to 3:23 PM AEST (+10 UTC) there was an outage. Everything went āupā on Down Detector, my EU region went offline, numerous sites were unavailable, and so on. Basically everything to/from the EU appeared to basically go kaput.
@lyse@lyse.isobeef.org These tables get shuffled around every time your OS switches to another process. Itās crazy that so much is going on behind the scenes.
While Releasing āAvatar 3ā, James Cameron Questions the Future of Movies
āIf I get to do another Avatar film, itāll be because the business model still works,ā James Cameron tells CNN in a video interview ā adding āThat I canāt guarantee, as I sit here today. Thatāll play out over the next month, really.ā He says theatre is a āsacred space,ā and while it will never go away, āI think that it could ⦠ā Read more
@kiwu@twtxt.net Assembly is usually the most low-level programming language that you can get. Typical programming languages like Python or Go are a thick layer of abstraction over what the CPU actually does, but with Assembler you get to see it all and you get full control. (With lots of caveats and footnotes. š )
Iām interested in the boot process, i.e. what exactly happens when you turn on your computer. In that area, using Assembler is a must, because you really need that fine-grained control here.