Possibly controversial opinion, but radio stopped being relevant to me personally when congress removed the ownership restrictions for a single market. It's only gotten worse from there IMO. Radio is about catering to a very specific, and generally older, market at least where I am.
HN user
leeter
Hug of death by all appearances, here's an archive link https://web.archive.org/web/20260710102120/https://www.loicm...
Gor Nishanov, driver behind C++ coroutines has died
Windows 3.1 had no memory protection at all
All of the below is... IIRC
Win16, even in protected mode, in general didn't unless you opted out of the shared VDM. This was to preserve compatibility with how non-protected mode code worked. That said 32bit code or code that specifically marked itself as protected mode got it's own memory space.
I just couldn't wrap my head around the idea that I'm multitasking operating system could exist without memory protection
NGL... I was shocked when I found out that MacOS before 10... really didn't have much protections at all.
Did you enjoy your last meal and funeral? Either way glad you got better!
Maybe? It's a 400V architecture, and honestly that's my criticism... 400V seems low at this point. Particularly for something requiring an "Authorized Installer" I'd have expected 800V architecture, if not pushing higher. Minimum 600V though... so IMO huge miss on GMs part. I do think GM does have an opportunity if they really wanted to do what you're suggesting and just make drop on chassis for square bodies etc.
This is why I've said for years: If you want to drive best practices and policy with companies you can only do it with liability. Particularly non-insurable and non-tax deductible liability. If a company can't offload civil or criminal penalties to their insurance company and take the tax write down, they suddenly start caring about it.
That said, this should be used sparingly; as it embeds a behavior deep. If that behavior later no longer makes sense it can be extremely costly to change it later.
When MS removed Solitaire and made it an app, that should have been the sign to move.
When they introduced a mobile first UI onto a desktop OS...
When they forced mandatory Microsoft accounts...
When they started saving files that had no place being in one drive to the cloud by default and charging people for it...
When they announced the worst AI privacy disaster in computing OS history...
When their updates refused to install cleanly and bricked people's computer to the point of hardware damage...
Seriously thinking I might have Stockholm syndrome at this point. To me the best windows would be Windows 11's kernel and libraries with Windows 7's UI and apps. Because it's been all down hill (generally) since there.
Based on the info if you click into them, likely no. I would have expected them to be incidental materials from tunneling, but reading the description that's not the case.
[removed]
I believe you're thinking of the x86 Hotpatching hook[1], which doesn't exist on x86-64[2] (in the same form, it uses a x86-64 safe one).
[1] https://devblogs.microsoft.com/oldnewthing/20110921-00/?p=95...
[2] https://devblogs.microsoft.com/oldnewthing/20221109-00/?p=10...
Almost assuredly, given that 10.0 was released on 32bit PPC... and was built around Carbon, not Cocoa... yeah it's changed just a wee bit.
I think I said something about the stack efficiency. I was a kid that barely understood out of order execution. Register renaming and the rest was well beyond me. It was also a long time ago, so recollections are fuzzy. But, I do recall is they didn't prompt anything. I suspect the only reason I got the interview is I had done some SSE programming (AVX didn't exist yet, and to give timing context AltiVec was discussed), and they figured if I was curious enough to do that I might not be garbage.
Edit: Jogging my memory I believe they were explicit at the end of the interview they were looking for a Masters candidate. They did say I was on a good path IIRC. It wasn't a bad interview, but I was very clearly not what they were looking for.
I remember failing an interview with the optimization team of a large fruit trademarked computer maker because I couldn't explain why the x87 stack was a bad design. TBF they were looking for someone with a masters, not someone just graduating with a BS. But, now I know... honestly, I'm still not 100% sure what they were looking for in an answer. I assume something about register renaming. memory, and cycle efficiency.
I believe the Academy Awards and a few other things too also influence this. The rules to be eligible still very much favor legacy studios IIRC. But, with this that may change? Hard to say. I know that quite a few Netflix movies have had theatrical runs at random mom and pop theaters in Cali so they could meet eligibility requirements for the various awards.
Honestly? I expected this to be talking about the MiSTer project FPGA core[1]. That has been tuned so it's capable of running the AREA5150 demo[2] which is an insane challenge (AFAIK the timings of the v20 break that demo). Not saying this isn't cool, but it's definitely not what I was expecting.
I've said for years that any smart thermostat should have a bimetallic backup that controls maximum ranges and acts in the dumbest way possible. Just max temp and min temp for AC and heat. Nothing that should ever be hit... but there nonetheless.
So there is a reason that in the C++ spec if a std::thread is still joinable when the destructor is called it calls std::terminate[1]. That reason being exactly this case. If the house is being torn down it's not safe to try to save the curtains[2]. Just let the house get torn down as quickly as possible. If you wanted to save the curtains (e.g. do things on the threads before they exit) you need to do it before the end of main and thus global destructors start getting called.
[1] https://en.cppreference.com/w/cpp/thread/thread/~thread.html
[2] https://devblogs.microsoft.com/oldnewthing/20120105-00/?p=86...
I'm reminded of Raymond Chen's many many blogs[1][2][3](there are a lot more) on why TerminateThread is a bad idea. Not surprised at all the same is true elsewhere. I will say in my own code this is why I tend to prefer cancellable system calls that are alertable. That way the thread can wake up, check if it needs to die and then GTFO.
[1] https://devblogs.microsoft.com/oldnewthing/20150814-00/?p=91...
[2] https://devblogs.microsoft.com/oldnewthing/20191101-00/?p=10...
[3] https://devblogs.microsoft.com/oldnewthing/20140808-00/?p=29...
there are a lot more, I'm not linking them all here.
Why github didn't is beyond me. Even if something isn't merge clean doesn't mean linters shouldn't be run. I get not running deployments etc. but not even having the option is pain.
I don't disagree... but, there is a use case for orgs that don't allow forks. Some tools do their merging outside of github and thus allow for PRs that cannot be clean from a merge perspective. This won't trigger workflows that are pull_request. Because pull_request requires a clean merge. In those cases pull_request_target is literally the only option.
The best move would be for github to have a setting for allowing the automation to run on PRs that don't have clean merges, off by default and intended for use with linters only really. Until that happens though pull_request_target is the only game in town to get around that limitation. Much to my and other SecDevOps engineers sadness.
NOTE: with these external tools you absolutely cannot do the merge manually in github unless you want to break the entire thing. It's a whole heap of not fun.
You are correct, I need to edit my post because they both boot up in unreal mode. The 32bit Segment limit is an unreal mode thing.
it was only very recently that your 64 core CPU stopped pretending to be an 8086 during initial boot
Still Does[1]:
> After a RESET or INIT, the processor is operating in 16-bit real mode. Normally within real mode, the code-segment base-address is formed by shifting the CS-selector value left four bits. The base address is then added to the value in EIP to form the physical address into memory. As a result, the processor can only address the first 1 Mbyte of memory when in real mode.
The UEFI hands off the boot CPU to the OS loader (GRUB/NTLoader etc) in long mode. But when the OS brings up any CPU that is not the initial bootstrap CPU via the interprocessor interrupt... that CPU comes up in 16bit* real mode.
[1] https://docs.amd.com/v/u/en-US/40332-PUB_4.08 (the intel one says the same thing last I checked, Intel has discussed changing this... but AFAIK has not yet)
* This is a lie... note how the quote references EIP and not IP? That's because it's actually booting up in Unreal mode. Hence the initial instruction run is actually at 0xFFFF_FFF0 IIRC
They would not, the term you're looking for is "Loading Gauge"[1]. The US freight loading gauge is one of the larger ones.
That said there are other reasons a subway could end up being subject to Federal Railroad Administration[2] rules. I will note that I'm not an expert on those rules. But, generally passenger rail systems in the US are subject to Positive Train Control[3] or equivalent. It appears BART is actually one of the earliest adopters of Automatic Train Control[4], which appears to be a PTC equivalent. If not more automated.
[1] https://en.wikipedia.org/wiki/Loading_gauge
[2] https://en.wikipedia.org/wiki/Federal_Railroad_Administratio...
[3] https://en.wikipedia.org/wiki/Positive_train_control
[4] https://en.wikipedia.org/wiki/Bay_Area_Rapid_Transit#Automat...
I remember having a prior boss of mine asked if the application the company I was working for made could use PDF as an input. His response was to laugh then say "No, there is no coming back from chaos." The article has only reinforced that he was right.
There are tricks. I've been through such an acquisition. The purchaser sets up a new "Philz Coffee Co LLC" then purchases assets and operations for the exact amount the preferred stock holders want. They then liquidate the old company. Because the old company was never legally "bought" the common stock holders are SOL because they now own stock in a fictional company. That's not to say they don't have options... but I am not a lawyer and that definitely involves lawyers.
There is already a project to handle this because this has already happened to so much hardware https://theretroweb.com/
but practically useable operating systems in the traditional sense of abstracting away real hardware can still be counted on one hand.
I think this is telling. There are plenty of 'standards' for interfaces in the hardware world. Some (mostly USB) are even 'followed', but the realities of hardware are that it never behaves nominally. So without someone willing to spend the time writing code to handle the quirks that can't be patched out and the errata it's very hard to run on physical hardware with any performance or support.
I did see that and for people that need that specific functionality it seemed like a good solution.
My goal was more "What if DOS hadn't ended and but kept up support for modern hardware" along with emulation of common things in DOS gaming. So for example you would be able to set up a PIV that mapped certain resources directly or emulated them depending on the need.
Could I use DOSBox for this... yes, but this is a "why not" sort of thing. I figured it would be a good excuse to learn OS dev. But life has kept me busy for now.
Correct, there is a difference between MS-DOS and IBM-PC compatible and a DOS (ex: all the DOSes that existed for Amiga/Apple II/Commodore etc). There are many DOSes (and even MSDOSes, because yay early PC era incompatibilities!), but there is a very dubious list of things needed to be MS-DOS and IBM-PC compatible. You can probably do it if you're willing to setup a hypervisor and emulate some hardware.
NGL one of my long term projects was/is something exactly like this but UEFI and secure boot. The idea being to use the VM extensions to create IBM-PC and DOS compatible environments. For anything using DPMI[1] I'd probably do the same trick as Win95 did and just replace it with my own implementation so it's not too overburdened with layers.
[1] https://en.wikipedia.org/wiki/DOS_Protected_Mode_Interface