Popular Steam Deck accessory brand JSAUX announced controller-focused brand Voidjoy
Voidjoy is a new spin-off brand from JSAUX, that plan to bring various types of controllers and addons for existing controllers.
Read the full article on [GamingOnLinux](https://www.gamingonlinux.com/2026/08/popular-steam-deck-accessory-brand-jsaux-announced-controller-fo … ⌘ Read more
Google’s Gemini Can Now Stomp Around as a Humanoid Robot
Google DeepMind’s Gemini Robotics 2 combines vision, language, and action models to control multiple types of robots, including humanoids performing tasks such as organizing shelves, tying bags, and replacing lightbulbs. “It’s another milestone in our path towards really getting towards what we call like physical AGI, which means we get a robot to do anything tha … ⌘ Read more
@david@daiwei.me if you have some weekend home type place, with no Internet, getting TV through an antenna and a DVBT box, my recommendation is to just buy some old Dell monitor with HDMI to 3.5mm audio output built in, so you can connect speakers to it.
Doesn’t have to be Dell, but you can often just buy one of those from your employer, for under $25 here.
Were this sadly makes much less sense, in with Internet TV services. Those usually need a dedicated TV app to function and while that can be replaced with a $200 TV box, that some providers force you to rent, thus making you pay more for your Internet TV forever - this also means giving up the “archive app”, that gives you access to all the on demand content, included in the price of your mandatory TV license. None of these overpriced boxes come with it, as they’d mauch rather make you pay, for yet another subscription service instead.
So yes, you can kinda do it with an Internet TV too, assuming you trust the expensive box to not spy on you, but in that case you’re mostly just paying a whole lot more, for a lot less, than you would be, with the LG TV.
AMD “Low Power” CPU Core Type Patches Queued Ahead Of Linux 7.3
Last month I wrote bout new AMD Linux patches introducing a new “low power” CPU core type as an alternative to their standard performance cores and dense efficiency cores. That work now is poised to land with the upcoming Linux 7.3 kernel… ⌘ Read more
@movq@www.uninformativ.de Type hints are just… so weird.
Why.
Python’s numeric types complex, float and int are not subtypes of each other, but to support common use cases, the type system contains a straightforward shortcut: when an argument is annotated as having type float, an argument of type int is acceptable; similar, for an argument annotated as having type complex, arguments of type float or int are acceptable.
https://typing.python.org/en/latest/spec/special-types.html#special-cases-for-float-and-complex
@david@daiwei.me Oh, really? I thought I’ve posted compose view screenshots before. Anyway. Glad you like it as much as I do. :-)
The update interval has always been one second. I just didn’t remember and thus tried to time it by watching the preview update while typing. It felt like roughly under two seconds, but apparently my inner clock was off. After taking the screenshot and then examining it more closely, I noticed that the interval is stated right in the UI. :-D So, I just amended my message and didn’t bother taking a new screenshot. I figured I just leave it alone and see who spots the change, if at all. And, of course, you found the easter egg. Congrats, mate! 8-)
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.
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!
@GabesArcade@gabesarcade.com The no-JS part is one thing, but you also have to disable the (nowadays common) forced-HTTP-to-HTTPS-redirect, because those old browsers can’t do modern crypto. And make sure that your webserver serves the correct page even if no Host header is sent by the client. And don’t even think about serving UTF-8 or even just putting utf-8 in the content type. 😅 And for the JPEG thumbnails I pass a special flag to ImageMagick so that IBM Web Explorer from OS/2 won’t trip. 🤣 And always use link rel="stylesheet" for CSS, because some browsers render inlined CSS as literal text. And … probably more that I forgot by now. 😂
@david@daiwei.me Not sure, actually. Let’s see. Those are the ones where I still have the original disks (or have bought them on eBay again):
- SuSE Linux 6.4 (it’s a massive 7 CD distro with a huge manual, best thing ever)
- OS/2 2.1
- OS/2 Warp 3 (red and blue spine because
$reasons)
- OS/2 Warp 4
- PC DOS 7
- MS-DOS 6.22
- Windows 3.1
- Windows for Workgroups 3.11
- Windows 95 C
- Windows 98
- Windows NT 4 Workstation (still in the mail, though 😅)
- Windows 2000
- Windows XP Professional (last Windows I ever used on my private PCs)
(Plus a few “classic” office products as can be seen here: https://movq.de/blog/postings/2024-05-23/0/POSTING-en.html )
Vulkan Adds Extension For OCP’s Microscaling MX Formats To Help Machine Learning
Vulkan 1.4.356 is out today and it’s interesting for the lone new extension debuting: VK_EXT_shader_ocp_microscaling_types. The VK_EXT_shader_ocp_microscaling_types is for enabling the Open Compute Project’s Microscaling MX data types to help with machine learning workloads with Vulkan… ⌘ Read more
@movq@www.uninformativ.de Yeah. The thunderstorm was supposed to hit us, sneak north and south around us, directly pay us a vistit again, miss us to the north, directly hit us, and now it’s back to a northern diversion. The thunder heavily roars in the distance at the moment. It’s down to just 10 liters. A mate just got a wet laundry, though, and had to mob up a – luckily – just tiny flood.
As I type, the first drops begin to fall.
Linux 8250/16550 UART Serial Driver Seeing Some Modernization Work In 2026
The Linux 8250 serial driver as the universal/legacy driver for 8250 and 16550 type serial ports has been seeing some modernization work recently with a number of 8250 serial patches having now been merged for the Linux 7.2 kernel… ⌘ Read more
Canonical’s Upcoming AI Tool: Talk to Ubuntu Instead of Typing
This week the Ubuntu desktop’s director of engineering announced they’re bringing speech-to-text dictation to Ubuntu Desktop, aiming for an experience “that feels like a natural part of the desktop while respecting user privacy and running entirely on local hardware.”
“Speech recognition has become a common feature on modern platforms, and we think it … ⌘ Read more
Users Cry Foul After AMD Stripped Memory Crypto From Its Consumer CPUs
An anonymous reader quotes a report from Ars Technica: A decade ago, AMD added a protection to its high-end CPUs to protect them against cold boot attacks and other types of physical exploits that siphon sensitive data out of the connected memory chips. Short for Transparent Secure Memory Encryption, TSME encrypts the entire conten … ⌘ Read more
Jennifer Lopez Reveals the Oscar-Winning Movie Type She Can’t Stand
Jennifer Lopez was asked to name the worst movie she has watched, and her answer was an Oscar-winning film. She then spoke about the genre she prefers. She added that the slow-moving movies aren’t her type. While she enjoys some films in that style, the movie she stated remains on her dislike list. Jennifer Lopez […]
The post [Jennifer Lopez Reveals the Oscar-Winning Movie Type She Can’t Stand] … ⌘ Read more
The trendy underwear women should avoid. And the type they should try
Here are the best fabrics to look out for when buying your next pair of undies. ⌘ Read more
QuiznessDesk, Tuesday, June 09
Is the Tropic of Cancer north or south of the equator?
What type of dogs are commonly kept by Inuit communities?
Which cartoon character lives at 1313 Webfoot Walk?
Perhaps it was a case of shocking luck that Anthony Starr was cast as both Jethro West and Van West in what classic New Zealand TV series?
Which band released the 1999 comeback single `Maria`?
Which historical figure opened the 1936 Olympic Games?
Niue is a self-governing coral island in free associat … ⌘ Read more
Meurtre de Lyhanna: les violences faites aux enfants, «priorité» en trompe-l’oeil de Darmanin
S’il présente ses «excuses» pour les dysfonctionnements de la justice dans cette affaire, le garde des Sceaux évoque surtout des sanctions à venir contre des magistrats. Il refuse d’examiner sa responsabilité politique. Et balaye la question des moyens alloués à ce type d’enquête, pourtant cruciale. ⌘ Read more
QuiznessDesk, Friday, June 05
Which of the following large lakes is not in North America? Michigan, Huron or Victoria?
What type of animal is a Bombay Duck?
New Zealander Wendy Jarnet holds the title of having the world’s largest collection of paraphernalia related to what back-of-the-alphabet safari mammal?
Which `P` is the book of the Bible that comes after Job and before Proverbs?
Which of the following is not one of the standard playing pieces in the game of Monopoly? Ship, Hat or Bike?
By … ⌘ Read more
The untapped potential of New Zealand’s $1b fibre sector
The almost billion-dollar New Zealand fibre industry has “untapped potential”, according to new research.
The Future of Fibre Aotearoa research maps NZ’s diverse fibre types together as a connected sector for the first time. ⌘ Read more
Elixir v1.20 released: now a gradually typed language
Article URL: https://elixir-lang.org/blog/2026/06/03/elixir-v1-20-0-released/
Comments URL: https://news.ycombinator.com/item?id=48388324
Points: 79
# Comments: 14 ⌘ Read more
不知道手里的 Type-C 数据线是什么线?用 WhatCable 一查便知[macOS]
你的抽屉里塞满了看起来一模一样的 Type-C 数据线,有的充电速度飞快,有的却慢得像蜗牛爬。有的可以接 8K 显示器,有的只能 1080。有的传输数据飞快…接口上的标识根本说明不了什么,每一条 Type-C 数据线都不一样。@Appinn WhatCable 是一款可以帮助你识别 Ty ⌘ Read more
@movq@www.uninformativ.de It’s the “Lyse types the entire HTML by hand” generator. Yes, no kidding. I write articles so rarely, that I can do that once in a while. It’s fun to some degree, but also not.
After some time, I finally recorded some Vim macros to insert <b>…</b>, <var>…</var>, <span class=s>…</span> etc. around the tokens. This helped a little bit. But I was still questioning my mental state doing it like that. I also had to fix a bunch of the end tags by hand, because the word movement wasn’t enough or the end movement went too far. Quite the annoying process for sure.
But I think the HTML looks a wee bit nicer and is maybe even semantically a little bit better than having only <span>s everywhere. I find the <span class="whatever"> just soo awfully long. Of course, I never look at the code again, but knowing, that e.g. there is a <b> and it saves so many bytes in comparison, makes me happy. It is a more elegant solution in my opinion. Not by much, but better nonetheless. It’s a matter of simplicity. Admittedly, even I can’t avoid the <span>s alltogether. Oh well. On the other hand, I’m sure that this does not make any difference whatsoever. I bet, nobody and nothing, like a screenreader, analyzes the HTML for that, where this would be truly useful.
Oh! Maybe text browsers, though. It just occurred to me while composing this reply. :-) Haha, I lost my bet quickly. w3m picks up at least the <b> for keywords and builtin types, <u> for filenames and <i> for comments. Yey. No different styles for <var> and <mark>, unfortunately. elinks only renders the bold. It’s cool that I had the right intuition right from the beginning, despite being unable to pinpoint it. :-)
All the <span> hell with common syntax highlighters is a downer for me that keeps me from looking more into them. If I wrote more articles, I might rig something up with Pygments. At least that’s somehow positively connotated in my brain. Not sure if it actually deserves it, but I dealt with that in some loose form (can’t even remember) years and years ago. Apparently, it wasn’t too terrible.
To prepare the table of contents, I used grep and sed with some manual intervention in the end. The entire process can be improved. Absolutely.
You wrote your own site generator, didn’t you?
Best Sleep Trackers of 2026: Oura, Whoop, and Eight Sleep
I tested the top sleep wearables for every type of sleeper, including devices from Oura, Whoop, and Eight Sleep. ⌘ Read more
Keychron K2 HE Concrete Edition Review: Rock-Solid Typing
Keychron’s K2 HE Concrete Edition sounds like a cute gimmick, but as I discovered, there’s a really solid keyboard beyond the absurd choice of materials. ⌘ Read more
Which it does so in seconds, faster than I can type. The code is correct, it compiles and does exactly what I wanted. And the code looks pretty reasonable. It handles flotas, has error handling and handles space or line separated numbers on stdin.
Rust 1.96.0 released
Version\
1.96.0 of the Rust programming language has been released. Changes
include a new set of Copy-implementing Range types,
assertions with pattern matching, a number of stabilized APIs, and two
Cargo vulnerability fixes. ⌘ Read more
QuiznessDesk, Thursday, May 28
In which Australian State or Territory would you find the Adelaide River?
During the Great Plague, what was painted on the front doors of plague-ridden houses?
According to the Bible, on what day did God create the beasts of the Earth?
What type of animals are portrayed in the book Watership Down?
In the Star Wars films, which two actors played Obi-Wan Kenobi?
How many US presidents’ heads are sculpted on Mount Rushmore?
Who had a number one hit in 1980 called Cryi … ⌘ Read more
The two types of Miku (dotthebot) [vocaloid] ⌘ Read more
Show HN: Posthorn, self-hosted mail without the mail server
Introducing Posthorn, a self hosted email gateway. One docker container (or Go binary) between every self hosted app on your VPS and your transactional email provider. Set up Posthorn once, point your apps to it, done.
I was trying to deploy Ghost on a DigitalOcean droplet and found that DO and many different VPS services have started to block the default SMTP ports to try to combat the various types of abuse they get. To actually configure my app, I had to hack to … ⌘ Read more
QuiznessDesk, Tuesday, May 26
Which of the following elements has the atomic number 2? Carbon, Lithium or Helium?
What type of animal is a mandrill?
What do edentulous mammals not have?
In which year did the Japanese bomb Pearl Harbour?
Which king was killed by an arrow to the eye?
In which country does the story “The Pied Piper of Hamelin” take place?
What colour spots does a common ladybird have?
Who directed the 1974 film Blazing Saddles?
In what sport is the “Fosbury flop” technique used?
Whi … ⌘ Read more
Launch HN: Chert (YC P26) – Twilio for iMessage
Hey HN! We’re Gary and Ian, and we’re building Chert ( https://www.trychert.com/), an API for businesses to send, receive, and automate iMessage conversations at scale. Check out our demo: https://www.youtube.com/watch?v=SRdwvVxMMoI.
We originally started by building products on top of iMessage because the blue bubble interface, typing indicators, and reactions made agentic conversations feel more human than ones on SMS … ⌘ Read more
QuiznessDesk, Monday, May 25
What is the only country that Denmark borders?
What type of animal is a sidewinder?
Chemically pure gold contains how many carats?
Which Charles Dickens novel featured the character of Tiny Tim?
What is the longest river in France?
Which Lion King character did Jeremy Irons provide the voice for?
Who had a hit in 1982 with Maneater?
In mythology, which of the following did Pegasus have that a normal horse wouldn`t? Wings, a crown, or three eyes?
In a deck of cards, wh … ⌘ Read more`
NTSB Wants PDF Removed After It Exposed Final Cockpit Audio From UPS Crash
The NTSB temporarily closed public access to nearly all investigation dockets after people used a spectrogram image from a PDF in the UPS flight 2976 crash file to reconstruct approximate cockpit voice recorder audio and post it online. “We show our work and we’ve been doing this type of thing for years. Nobody was aware that … ⌘ Read more
@tftp@tilde.town mentioning in here requires he whole shebang. With jenny, if using vim, there is a key combination:
Nick name completions: Allows you to use ^X ^U to turn verbatim nick names into full twtxt mentions. For example, typing “cath” and then pressing ^X ^U will turn “cath” into a full mention, like “@”. (This function will read the contents of your “~/.config/jenny/follow” file.)
QuiznessDesk, Monday, May 18
The Hoover Dam in America was built on which river?
Little, Eurasian Eagle and Burrowing are all types of which species of bird?
Carbon, Oxygen and which other element make up carbohydrates?
Who created havoc in 1938, when his radio broadcast of The War Of The Worlds was believed to be true?
By what nickname, meaning little barrel, is the artist born Alessandro di Mariano Filipepi better known?
According to Oscar Wilde, what is `the name everyone gives to his mistakes … ⌘ Read more`
Yet another Dirty Frag type vulnerability: Fragnesia
Sam James has sent an announcement
to the OSS Security mailing list about another
local-privilege-escalation (LPE) exploit in the same class as Dirty Frag, called
“Fragnesia”. From the disclosure:
This is a separate bug in the ESP/XFRM from dirtyfrag which has received its own patch. However, it is in the same surface … ⌘ Read more
Challenging UPS and FedEx, Amazon Opens Its Shipping Network to All Businesses
This week Amazon opened up its parcel shipping, fulfillment, and distribution “to businesses of all types and sizes.” Any business can now ship, store, and deliver “using the same supply chain that supports Amazon,” according to Monday’s announcement of “Amazon Supply Chain Services.”
The move sent shares of UPS and FedEx “ … ⌘ Read more
@movq@www.uninformativ.de Oh, nice! I never was brave enough to try to move the OS to a different machine, always reinstalled from scratch. :-S
A mate also had this or a very similar white Samsung netbook. I remember typing on that thing was no fun at all for me, never hit the single right key. :-D
I’m not a fan of netbooks, there’s not remotely enough screen space for my taste. I always had 15 inch notebook. Sure, they are way heavier, but I can actually get work with them done. And yes, glared screens are an invention right from the devil himself. Completely stupid.
Security review of Plasma Login Manager (SUSE Security Team Blog)
SUSE’s Security Team has published a detailed\
blog post on their recent review of the Plasma\
Login Manager version 6.6.2,
which was forked from the SDDM display\
manager.
While most of the code [remains t … ⌘ Read more
What Type of Mattress Is Right for You? (2026)
Here’s how to pick the best mattress for your sleep needs, straight from a professional mattress tester. ⌘ Read more
Just saw the video. Can’t believe that ladder is that expensive. Even in AUD, it is almost $100. It is also 2.5 stars, with 13 reviews. Gulp. Engineering aside (and you are right, it is pretty interesting, and some, if not most of it went over my head), the ladder is rubbish. This is the one I have. Not super, but have been with me for a while, and used quite a bit, still as good as new.
[$] One Sized trait does not fit all
In Rust, types either possess a constant size known at compile time, or a
dynamically calculated size known at
run time. That is fine for most purposes, but recent proposals for the language
have shown the need for a more fine-grained hierarchy.
RFC 3729 from David Wood and Rémy Rakic would add a hierarchy of
traits to describe types with sizes known under different circumstances. While
the idea has been subject … ⌘ Read more
AMD Ryzen 9 9950X3D2 Benchmarks: The Best Desktop Performance For Linux Developers, Creators
Today we can finally share performance benchmarks of the long-rumored AMD Ryzen 9 9950X3D2 Dual Edition processor. This new halo product for the Ryzen 9000 series desktop line-up offers captivating performance for developers frequently compiling code, creators, technical computing workloads for students or hobbyists or those not able to afford a Threadripper / EPYC type workstation, or similar heavy computing use. With … ⌘ Read more
Linux 7.1 Adds New AMD SMCA Bank Types, Presumably For Upcoming EPYC Venice
The AMD Machine Check Exception “mce_amd” driver as part of the Error Detection And Correction (EDAC) subsystem is introducing support for new SMCA bank types on AMD platforms. Given the timing these new bank types are presumably for AMD’s upcoming Zen 6 / EPYC Venice hardware… ⌘ Read more
@lyse@lyse.isobeef.org AI result ahead, feel free to ignore.
I “asked” the AI at work the same question out of morbid curiousity. It “said” that SQLite converts that integer to floating point internally on overflows and then, when converting back, the x86 instruction cvttsd2si will turn it into 0x8000000000000000, even if the actual floating point value is outside of that range. So, yes, it allegedly actually saturates, as a side effect of the type conversion.
I couldn’t find anything about that automatic conversion in SQLite’s manual, yet, but an experiment looks like it might be true:
sqlite> select typeof(1 << 63);
╭─────────────────╮
│ typeof(1 << 63) │
╞═════════════════╡
│ integer │
╰─────────────────╯
sqlite> select typeof((1 << 63) - 1);
╭──────────────────────╮
│ typeof((1 << 63) ... │
╞══════════════════════╡
│ real │
╰──────────────────────╯
As for cvttsd2si, this source confirms the handling of 0x8000000000000000 on range errors: https://www.felixcloutier.com/x86/cvttsd2si
The following C program also confirms it (run through gdb to see cvttsd2si in action):
<a href="https://we.loveprivacy.club/search?q=%23include">#include</a> <stdint.h>
<a href="https://we.loveprivacy.club/search?q=%23include">#include</a> <stdio.h>
int
main()
{
int64_t i;
double d;
/* -3000 instead of -1, because `double` can’t represent a
* difference of -1 at this scale. */
d = -9223372036854775808.0 - 3000;
i = d;
printf("%lf, 0x%lx, %ld\n", d, i, i);
return 0;
}
(Remark about AI usage: Fine, I got an answer and maybe it’s even correct. But doing this completely ruined it for me. It would have been much more satisfying to figure this out myself. I actually suspected some floating point stuff going on here, but instead of verifying this myself I reached for the unethical tool and denied myself a little bit of fun at the weekend. Won’t do that again.)
Claude Code’s Source Code Leaks Via npm Source Maps
Grady Martin writes: A security researcher has leaked a complete repository of source code for Anthropic’s flagship command-line tool. The file listing was exposed via a Node Package Manager (npm) mapping, with every target publicly accessible on a Cloudflare R2 storage bucket. $ du -hs .35M .$ find -type f | sed ’s/^.*\.//’ | sort | uniq -c | sort -bVr 1332 ts … ⌘ Read more
Bills Would Ban Liability Lawsuits For Climate Change
An anonymous reader quotes a report from Inside Climate News: Republican lawmakers in multiple states and Congress are advancing proposals to shield polluters from climate accountability and prevent any type of liability for climate change harms – even as these harms and their associated costs continue to mount. It’s the latest in a counter-offensive that has unfolded … ⌘ Read more
Sodium-Ion Battery Tested for Grid-Scale Storage in Wisconsin
“A new type of battery storage is about to be deployed on the Midwestern grid for the first time,” reports Electrek:
Sodium-ion battery storage manufacturer Peak Energy and global energy company RWE Americas will pilot a passively cooled sodium-ion battery system in eastern Wisconsin on the Midcontinent Independent System Operator network — the fi … ⌘ Read more