Jan Ringoš

Jan Ringoš

@janringos.bsky.social

TRIM CORE SOFTWARE s.r.o. Systems engineer and C++ programmer.

36 followers48 following346 posts

Some NTDLL.DLL message table strings contain C formatting sequences like "%08lx" I wonder what to use to load these. Win32 FormatMessage sees %0 and replaces it with NUL terminator. Or is it a bug? There's just a few of those: 0xC000007B, 0xC0000144, 0xC000021A and 0xC000070A to 0xC000070E.

I'm quite looking forward to playing CONTROL Resonant, but I'm REALLY not a fan of there already being full playthroughs and a spoiler/twist videos on YouTube three fucking days before the release.

I'm not a fan of skiplists in std::hive. They advance to the next item via SHL, MUL + ADD (FMA or LEA if lucky). But it's wasteful to store an integer. The item's presence can be a single bit. The skipcount could be then calculated by SHR + LZCNT, which should be faster or equal in performance.

Jan Ringoš reposted

[back in the day] Low level programmers: "It's all about optimizing every byte and every cycle, use as little RAM as you can" Other devs: "Nonsense. We have plenty of RAM" [today] Low level programmers: "Well well well"

Anyone here knows what might've gone wrong and how to fix this? Starting cmd.exe elevated takes up to 3 minutes for consent.exe to launch, but after that succeeds any .msc will launch immediately without further issue. Also something seems to be oplocking files at random.

So, hypothetically, how likely it is for some next version of Windows to increase the number of kernel handles a single process can create (16M currently), and if, then when will that happen?

In the latest version I added entries from SYSTEM_HYPERVISOR_USER_SHARED_DATA and SILO_USER_SHARED_DATA. And now I realized GUI apps can't display GUI from a silo yet.

Jan Ringoš@janringos.bsky.social

If anyone wants a quick and dirty KUSER_SHARED_DATA viewer: 👉 github.com/tringi/KUSER...

I've listened to both sets of arguments, carefully reviewed all the footage and angles, read the summary on the applicable laws, and have concluded that both sides are fucking retarded.

At some point, before Server 2026, Microsoft changed it from black to gray. And they did it in a true current-day Microsoft fashion: Instead of simply changing the "HKCU\Control Panel\Colors\Background" which worked since NT3, they overrode it somehow somewhere else. And I can't figure out where.

I'm thinking... with just two detours to RtlInitUnicodeString and RtlDosPathNameToNtPathName_U ...the whole Windows API could basically support non-NUL-terminated wstring_views. That could be interesting PoC to pursue.

Another fun troubleshooting. dism /online /Cleanup-Image /StartComponentCleanup ...will fail and completely roll back all attempts at cleanup, if the oldest CbsPersist_XXX.log somehow reached near 4 GB and thus can't be compressed into an existing .cab archive. Something totally courtesy.

I'm going to be adding XP and Server 2003 support to an app of mine in 2026, won't I? This is what third glass of whisky in the middle of the day compels me to do.

So it appears, that for such EXE to launch, it MUST be built with CFG. The /guard:cf option by itself won't do anything though. It will be silently ignored. The libcmt.lib must be linked in!

I think APIs like SetLastError/GetLastError should be finally replaced with inline code in the SDK. It's not like TEB is going to change. Everyone's accessing it directly anyway.

I'm kind of wary of the real world benefits of APX. All those very common instructions getting additional byte(s) of prefix will greatly increase L1 instruction cache pressure.

InstLatX64@instlatx64.bsky.social

#Intel refreshed the Advanced Performance Extensions (#Intel #APX) Architecture Specification to 8.0: cdrdv2-public.intel.com/913917/35582...

Also, why it's just doubling registers? Why not 64 or 128 even? Then most functions would fit their entire working set into registers, completely rid of movs for stack/register swapping, relieving I$ pressure, register renaming, and even allow for some way better __fastcall2 calling convention.

So let me get this straight... a person with Tourette's, who inspired a movie about people with Tourette's being misunderstood, has an involuntary fit of Tourette's ...and gets misunderstood. ...by the very same audience who highly acclaimed the movie itself.

If I set DWMWA_SYSTEMBACKDROP_TYPE, then DWMWA_CAPTION_COLOR must be either set manually, or to DWMWA_COLOR_NONE. Because DWMWA_COLOR_DEFAULT swaps red and blue component of the default/system caption color. Was that always a thing? Or am I breaking something again somehow?

Did you know that the old deprecated GetTickCount actually returns 64-bit (not-overflowing) value, same as GetTickCount64, but computes the result differently?

Alright, now I'm fully on board of the #Microslop train.

Tom Warren@tomwarren.co.uk

scoop: Microsoft is closing its employee library and cutting back on subscriptions. The physical and digital Microsoft Library is transitioning to an AI-powered "learning experience." All of this in my Notepad newsletter, live now for subscribers 👇 www.theverge.com/tech/862531/...

IDK, I still want ADL for scoped enums in C++, i.e.: enum class color {  red,  green,  blue, }; int function (color c); int main () {  function (red); // color::red  color green = blue; // color::blue  function (green); // locals have priority } Using-enum-declaration doesn't quite cut it.

The "backward compatibility" lying of Windows 11 is getting truly ridiculous. GetThemeSysFont (TMT_CAPTIONFONT) now returns "Segoe UI" no matter how hard the app is manifested, despite it actually using "Segoe UI Variable" and both fonts having different symbols and fallbacks.