skysight-inc/HackerNews huggingface dataset:
> However, there’s a hidden race condition involved: Imagine two threads in a scope, one gets KeyboardInterrupt and the other one raises an unrelated exception. If the latter exception bubbles up to the parent thread faster it will cancel the thread that’s processing KeyboardInterrupt and Ctrl+C would get lost.

I don't think there's a race condition in what you've described. Trio and that article is about single threaded async applications, but it's true that it could apply to threads in principle. But, in that case, I would expect cancellation to only be propagated at specific points, much like Trio's checkpoints [1]. You can see exactly that concept applied to threads in C#'s CancellationToken object [2]. You can only cancel a C# Task (which can be running in another thread or asynchronously in this thread) by using one of those, and the cancellation only takes effect when the Task checks it (e.g. by passing the token to a suitable async routine, or by explicitly calling CancellationToken.ThrowIfCancellationRequested()).

So, in the example you gave, there's two possibilities: (1) A race happens because an exception is thrown right after a checkpoint (i.e., cancellation check) and the cancel exception gets thrown at that checkpoint - but that's not really a race (except in your application logic) because that's what you asked for. Or, (2), you get to the point of throwing an exception in one thread after cancellation has been requested from another thread (but before you got a chance to check it) - but in that case the exception will propagate to the top of the thread's call stack (if not otherwise caught) and out of the thread into your nursery-like concept. So you'll end up with a multi-exception containing the KeyboardInterrupt and the other thread's exception.

In the second case, there's a "race" in that you requested cancellation of a task but it finished before it had a chance to be cancelled. But that's always a risk, even with single-threaded async applications. I think it's just fundamental to the concept of cooperative cancellation.

[1] https://trio.readthedocs.io/en/stable/reference-core.html#ch...

[2] https://learn.microsoft.com/en-us/dotnet/api/system.threadin...

(Aside: Personally, when using Trio in any application, I run it in a secondary thread, and I save the main thread for just waiting for KeyboardInterrupt (or for the secondary thread to finish naturally). That way, I can propagate the cancellation to the right bit of my application, which allows shutdown in an orderly fashion. I view Trio's default KeyboardInterrupt handling as just a decent attempt for those that aren't writing a serious enough application to need really reliable handling.)
The comment I’m replying to said ec2 instance and that’s what I’m responding to. I’m aware managed services exist for these things, but that’s not what the parent comment said.
UK's "Online Safety Act" Officially grants MSM permission to publish lies
I’d rather look at some ornate tag than a billboard. Extra points for actually bombing a billboard! I didn’t choose to decorate my neighborhood with either.

The real blemish on the cityscape is a half-finished luxury condo building, not the colorful paint job.
You are upgrading the number type to string when you are doing the eq operation and from string to number when doing ==.

https://perldoc.perl.org/perlnumber
If ever there was a case where a high price could be justified, surely this is it?
Did you hear about xbox potentially doing away with physical media?

https://www.forbes.com/sites/paultassi/2023/09/20/ten-years-...

https://comicbook.com/gaming/news/xbox-one-series-x-games-mi...
Anyone know why the referendum wasn't held BEFORE spending billions building a nuclear plant? Chernobyl hasn't happened at that point for the population to suddenly have a boogieman to fear.

Most theories point to Russia lobbying for Austria to stay hooked onto its gas exports, so they had to run a FUD propaganda campaign against nuclear before the referendum.

Especially that Austria isn't big on holding referendums to ask the population what it wants, like Switzerland does, and a few former Austrian ministers have worked or still do for Russian oil & gas companies.
You mean like cross compiling from Windows to Symbian, Windows CE/Pocket PC, Palm, Android, PlayStation, Nintendo, XBox?

It is not a walk in the park, but it hardly a task only worthy of Hercules.
That's what I thought at first, but the teardown revealed a lot of different parts internally, more than I've come to expect from Apple products. And the only absurdly breakable part seemed to be removing the glass.
> Until I started a family.

I'm 51 and I've got a family too (9 years old kid) and my love for coding and tinkering with computers never went away. For example yesterday evening when they were asleep I spent hours playing with a (used) NUC I just bought. I did hack on some scripts too.

My hobbies are my cars and computing and I love that, since forever. And I still love these even though I've got a family.

I'd argue that something that you love and that you suddenly don't love anymore once you have kids is something you didn't really love that much.

A family and a love for the craft are definitely not mutually exclusive things.
i use walmart+ for subscribe and save. it's a better experience since i have everything i need in lists and just hit the re-order button when the time comes. things take longer to arrive but that's fine.

for everything else, i shop directly at the vendor, if possible
If that is the only place Zig is ever going to be used, then no worries, I guess.

WebAssembly sandboxes apparently are going to sort out all security issues in modern computing.
Which Lisp book is that?
> putting propulsion jets over your bike

Well, that activity is not about bicycle sports, but obviously similar to the infamous Group B competition with a lot of victims especially among observers. But if the Government is holding a wrong opinion that taking a dope is unsafe - it has to get lost with their stupid regulations.
There’s no real evidence that that enforcement leads to lower accident rates. Most people simply drive at whatever speed they think is safe and the ones who think that’s a faster speed find the tickets worth it.

This happened at the same time screen's got distracting, so any correlation is likely coincidence.

Similarly the United States once introduced a maximum highway speed that lowered highway speeds everywhere. Fatality rates went down, but it turned out to be unrelated, Similarly the United States once introduced a maximum highway speed that lowered highway speeds everywhere. Accident rates went down, they just happened to do it at the same time legislators were responding to the unsafe at any speed era. They lifted the maximum speed, speeds went up, and rates of accidents and fatalities kept going down.
Yes, it's called Linux (with Steam).
I've never had to wait more than a month to see a specialist in the US
Do you… need a hug?
> Its a car. You turn the wheel and press the two buttons.

Given that summary, I'm not surprised that you cannot detect any degradation in your driving skill during a period of not practicing.
Isn't fixating on "privilege" a way of avoiding more troubling
thoughts far beyond guilt? As if God made some people rich and some
poor, and that's the way the world is. Let's all say a prayer for
them?

The Protestant work ethic once contained many good things like a sense
of duty, efficiency, self-discipline and so on. Emancipation of
others, and helping others out of poverty was always built into that!

But under late stage capitalism it becomes disfigured and twisted.

That guilt is used against us. We make "work" into something that must
be miserable by definition. And some of us even revel in that
self-flagellation. We stop distinguishing between laborious chores and
work as art and living. "Money and survival" eclipse all else. The
abject penury of that mind-set is a sort of work in itself.

It need not be. Ten thousand years of artisan labour, craftsmanship,
labours of love building cathedrals and monuments, cooking delicious
meals... Half of all the work done in the world is childcare and
caring for the old.

It's the power relations of capitalism that make work shitty, and we
all know it. There's nothing "fundamental" about it. We are at a very
unique and hopefully short moment in history where modern employers
will go out of their way to fit suffering, humiliation and
self-loathing into the job-description, maybe in order to feel
justified for what they pay - often cynically hiding behind false
notions of efficiency and necessity, security or whatever.

Some of the most miserable and fucked-up people I've ever met work in
banking, advertising. and other places of "privilege".
Had the same exact sentiment with the MH370 mishap - technology has made the planet seem so small that these type of events up being a good reality check:

A multi million dollar piece of equipment that continuously talks to space can go still go poof, with 200+ people onboard.
People still get alcoholism, yes. That doesn't mean that everyone is part of a bad drinking culture, that's just a non-sequitur.
Trash build times and slow iteration cycle as a result
$5K for one of those models!
Let's break down what "runtime" aka "VM" in this case means:

- Metadata representation: type system, reflection

- JIT compiler

- PAL: low-level platform-specific code and interaction with kernel APIs that are mostly consumed by the JIT and GC themselves

- Garbage Collector

- Special features: string interning, threadlocals, ThreadPool, assembly (un)loading and reflection emit, etc.

Only some of the above is written in C++, mostly JIT, GC, and parts of type system facilities.

This contrasted with CoreLib (like C stdlib) which includes code for everything else:

- Primitives (string, int, long, etc., they are partially or fully special-cased by compiler for layout purposes, good example to see how it works - ZeroSharp)

- What you usually see in standard library like APIs for working with strings, file and network IO, math, etc.

CoreLib is written in pure C#.

My issue is with "C++ making C# run fast" which is not the case - the compiler does, and the goal it achieves can be done in most other languages which would only impact the time to JIT the code which would only impact the startup time and not the performance of the compiled C# code.

To give a better example, some features have been historically written in C++ but later on were rewritten in C# for either NativeAOT, which does extra compilation work (also written in C#) or both NativeAOT and regular CLR (you could think of it as the vast majority of CLR being shared but JIT and AOT being two slightly non-overlapping spheres which implement certain runtime features differently, with NativeAOT using C# for what was in C++ previously).

Examples of these are threadlocals/threadstatics and string interning, where rewriting threadlocal storage in C# enabled further optimization in the compiler to fully elide any interop calls to C++ land and completely inline reading of these values, massively improving performance for this case, while rewriting string interning in C# too improved its performance and usability and allowed to remove the legacy cruft that existed to make it work on NativeAOT (still old C++ version for regular CLR but it's a rarely used feature anyway).

Another example is all string searching and manipulation code, all memcpy/memmove routines are too written in C# and always get optimal performance because C# has rich SIMD and intrinsics API which reach optimal HW utilization without ever having to touch C++ because it already gets compiled to comparable asm.

Or ThreadPool, it used to be written in C++ and then has received a rewrite in C# to enable further evolution and performance improvements (like blocked thread detection, or allowing for small methods to be inlined which is not an option with C++).

The overarching trend throughout all versions of .NET after going OSS has been moving more and more C++ code to C#.
Opposite of the crypto.com arena. Lol
We have different definitions of "real danger"
https://news.ycombinator.com/item?id=26673987 and https://news.ycombinator.com/item?id=26603464
Amazing productivity.
Only anywhere near other people.
Oh that paper is available in many cities but it looks to be disappearing one by one. Already dead in Montreal :

https://www.cbc.ca/news/canada/montreal/metro-media-bankrupt...
Yeah, I distinctly remember the exact issue of the magazine that previewed it. ACE Magazine issue 35, August 1990 [1]. It featured Wing Commander and several of the upcoming new VGA graphic adventures with scanned, painted artwork and quality art direction. It was like a new door had opened up to new experiences.

However I didn't get a PC until 1996 as they were so expensive. I grew up in rural working class England, and there were a whole bunch of us kids who got into computers and programming thanks to cheap home computers. Suddenly we couldn't afford to participate anymore, it was a really hard time to be a nerd.

[1] https://archive.org/details/ace-magazine-35
Some people have suggested fighting back against this with SOLAS tape. Does anyone know the legality of a measure like this?
A few months ago Wasmer tried add WASIX support to Zig so anything on Zig ecosystem could target the browser easily, which is quite relatable of what the TCC compiler is trying to achieve. I'm sure at some moment the community will pick it up.

I'll drop a link to WASIX in case is useful for the reader!

https://wasix.org
One problem that vector networks have is that you cannot set the node type (like "continous" or "corner"), because this would require information to which of the multiple curves that enter/leave a node that type should be applied to. That is probably the reason why, unlike in other vector editors, you cannot select the "node type" in Figma. This is a huge drawback and IMO offsets the minor benefit that vector networks provide.
Yeah the real problem with the city is all that city.
It seems fairly silly to think that Covid really changed how people drive. You didn’t drive for a month and you just forgot, and then in the intervening three years did not relearn it? That isn’t how humans work. I don’t doubt you that it is widely believed, it just doesn’t make sense.

More likely is that due to distracted driver growth since the advent of smart phones, we’re all just getting a little worse every year, so every year is a new high watermark.
I absolutely hate talking to people who are wearing sunglasses. Not seeing peoples eyes is very offputting.
That is indeed the only reference I could find (and maybe Cue is inspired by this paper?), but they don't seem to explain why they use such language. They talk about "unjustified reasoning" and laws, but the connection to ethics seems questionable. But I've not read the whole paper.
Oh, dang, I can't believe I missed that. Would've loved to get a copy of it. It looks amazing.
I must have missed this honeymoon period with Quora, I only ever remember it being as “that shitty site that tries to make me log in to view answers”. I treated it like that old “Experts Exchange” site, and just visually moved past it every time I saw it in search results.

People in this thread speaking fondly of Quora has come to a complete shock to me to be honest. I thought everyone else also considered it just a spam site. Today I learned.
A Motorola 6809 Assembler
The multiplayer problem is that you're jumping in with 99% people that are extremely experienced, nobody else near your level. It's not a dealbreaker but it definitely changes things.

The discussion problem is that nobody you know is exploring the game. There's no collaborative learning and sharing and theorycrafting. Even if they played it they might not remember the story well after five years.
Affordable self healing power grids
1997 had:
Quake 2
Age of Empires
Jedi Knight
Total Annihilation
Diablo

All Windows. Granted there were still a few DOS games trickling out, but most of them also shipped with Windows versions (Carmageddon comes to mind).

I was still dropping to DOS when I absolutely had to but it was getting annoying fast thanks to the internet. I wasn't just using Netscape, I was downloading stuff. If I launch games under Windows then sure they might not run as good, but at least that download keeps crawling along.

Stability was also an annoyance admittedly, I was an early adopter of Windows 2000 because of that. That came with it's own caveats though.
> like the Fukushima situation that killed nobody

well, that's wrong.[0]

that disaster will continue killing people far into the future with the way it was handled at nearly every step of the recovery. Tepco was great at playing the victim and spinning every facet of PR at their disposal to avoid looking like jerks.

the 'Fukushima situation that killed nobody' comment is a direct reflection of how well Tepco played it reputationally, even if they did a piss-poor job of handling it practically.

Thankfully the whole thing wasn't entirely unjust[1].

I agree with your points w.r.t. Chernobyl.

[0]: https://en.wikipedia.org/wiki/Fukushima_Daiichi_nuclear_disa...
[1]: https://www.theguardian.com/world/2022/jul/13/fukushima-nucl...
Can you help me out with your last paragraph? My understanding was that the PDP-8 was squarely a mini, not a micro.
Location: Berlin, Germany

Remote: Indifferent

Willing to relocate: not at the moment, but open to discuss depending on the job

Technologies: backend/systems engineer generalist. At the moment I work with Go, Kubernetes and Linux. I’m interested in C, Rust and Python as well. Would work in any programming language.

CV: Upon request via LinkedIn or email. I have a outdated one here [1] without much information about my current employer.

Email: fred.rbittencourt [at] gmail [dot] com
I've done that it is amazingly effective. Also pretty weird to start on Monday at ground level and by Wednesday afternoon you realize you will need a longer ladder. Also interesting how quick you strike water but then you're not done yet so for a while you need to get rid of the water faster than it flows in.
For sure there are always exceptions to the rule but I've worked on many projects and I'm yet to encounter one which could not be made modular and loosely coupled.

For some projects, you need to think really hard to design it correctly. The most extreme experience that I've had of this was when I was working in the blockchain sector.

Initially, when I joined, the project was a tangled mess. Every module was connected to many other modules without clear separation of concerns and with tight coupling.

For the refactoring, we extracted the core crypographic logic and separated it from the network/P2P logic which we re-wrote from scratch. I designed it so that the P2P module would be fully data-agnostic; meaning that it would have no concept of what kind of data it would have to propagate through the network. It was a significant challenge to come up with such design while also supporting features like peer banning, peer selection, peer shuffling, preventing messages from rebounding back to the sender, preventing spam and duplicates... During the design phase, I was tempted many times to add some kind of business domain awareness to the P2P module but managed to resist until the project's completion.

The result was that the P2P module ended up with a very simple interface and was very versatile. Because it wasn't tied to any specific business domain, it could be used for a broad range of different blockchain consensus mechanisms and didn't require any code updates when business requirements changed. This was useful to us at the time since we had not settled on most details of our consensus mechanism. Also, it could be used for a wide range of other P2P use cases beyond blockchains; later, I was able to use that exact same module (without any changes) to build a DEX (decentralized exchange) with only about 4000 lines of additional custom code.

More interestingly, there was another blockchain project which was similar to the one I was working on and they also decided to have a P2P module but their module had awareness of business domain concepts such as 'transactions' and 'blocks' and their code was much messier, much longer and not reusable at all. They had to update it almost every time their business domain requirements changed and it wasn't as reliable.

It was the exact same problem, but the second project gave in to the temptation of sharing business domain responsibilities across multiple modules (low cohesion) and this led to tight coupling.
The article is from 2010. C++20 solved the include file issue with modules. The ecosystem is almost there with CMake 3.28 (released) and GCC 14 (some time in H1 this year) providing out of the box support.

For most practical purposes, modern c++ should be seen as a modern language. You need to make some effort to understand what language features not to use, but in my experience that effort is not too bad in the context of the overall development process.

There are also some initiatives (cppfront is my favorite) to create an updated syntax where certain unsafe historic behaviors are not allowed.
That's the nihilistic future. The optimistic future sees the human raise up further and further and beyond the solar system. Not as humans anymore, but evolved. There is no limit.
Strong recommend for Branko Milanovic's substack. He is a very unusual combination of (1) a serious economist who does highly respected work on global inequality and (2) a real, old-school, Proust-reading European intellectual. (He's the guy, IIRC, who first drew the famous "elephant graph" of global inequality.)
Would be interesting to see the distribution of how long it took till each was found.
Breaking the Curse of Cardinality on Bitmap Indexes (2008)
Apropos. I repaired the micropython "urequests". So it now works both ways. Somebody was not happy with this fix, but did not suggest better solution. https://github.com/timonoko/t-watch-2020-micropython-hacks/b...
Russians have a significant presence on the ZX Spectrum game and demo scene. There may be something to this.
That was exactly the association I had when I read it!
On a sidenote the (quantity of ephedrine) doping [1] that condemned Diego Maradona in the 1994 World Cup [2] is not illegal now [3].

[1] https://en.wikipedia.org/wiki/Ephedrine

[2] https://en.wikipedia.org/wiki/Diego_Maradona#1994_World_Cup

[3] https://en.wikipedia.org/wiki/Ephedrine#Detection_of_use
> The shift seemed to happen after there was that "Defund the Police" call and the BLM protests.

No surprise there, it's not the first time police unions have decided to just not enforce any laws at all to get politicians to do what they want.
Just like the lazy humans in Wall-E.
You'd be surprised how much private conversations are had on a work chat. And even if some conversations don't discuss anything critical, it could still be used against you somehow.
The LAPD have said the graffiti will eventually be removed which seems rather pointless for a building that is probably eventually going to be torn down before it's finished.

https://twitter.com/LAPDCentral/status/1752850179680768313
In practice, the front-facing eyes are barely visible to those looking at your face.
So you want all of NYC to have harvest festivals?

Those traditions and rituals are alive and well in small communities. Modern agriculture is based on the need to feed millions and millions of people. That’s why it is the way it is.
Is there anything special why 8-bit won, or is it just a compromise between 6,8,10,12,etc.
Hey Siri, how many days in February this year?
I believe it's more the processing that would be needed to send the data over the larger distance in fewer wires which would add latency.

You can't just take the absurd number of traces off a PCB and shove them into a wire without hitting issues like voltage drop, crosstalk, interference, or having a cable as thick as your finger.