skysight-inc/HackerNews huggingface dataset:
You can call code compiled with one msvcrXX from code compiled with a different msvcrXX, provided that you don't try passing things from one to the other (that is, no passing a pointer to a FILE structure, or even a file descriptor since the file descriptor table is on the msvcrXX instead of the kernel), and always free or realocate memory using the same msvcrXX (that is, don't allocate memory and expect your caller to call free() on it, always provide a custom deallocation function for your objects).

This is possible because, unlike on Linux where function names are global, on Windows function names are scoped to the DLL, so you can have MSVCR71.DLL and MSVCR81.DLL loaded at the same time in the same process and they won't interfere with each other.
Many of us know this but since OP is junior, I'll just make it clear that severance is not normally guaranteed in the U.S. Maybe you have a contract or other paperwork that says otherwise but typically you can be walked out the door at noon and not even get the second half of that day's pay.
I think he means using @NonNull for compile time checking, not instrumenting it for runtime checking (though that doesn’t hurt either).
It isn't absolutely certain, but it is true that technology has a way of moving forward at a remarkably consistent rate. That is the ultimate driver of real growth.

That does seem like it should flatten eventually, and maybe that's now. But I can't anticipate a radical change and can only guess that tomorrow will be more or less like yesterday. That is potentially fraught but the best I can do.
Yes and not. Most of it is cultured salmon. Cultured and wild are linked so in part we could say that "there is less wild salmon because people eat more domestic salmon". Is complicated.
That was never the case, seems the article you linked is based on a misunderstanding. See https://www.omgubuntu.co.uk/2018/11/apple-t2-chip-cant-boot-...

Even with the T2 chip, it was possible to turn off Secure Boot 100% so you could boot whatever operating system you wanted.

Just as a disclaimer, I'm no Apple fanboy, I stopped using their software/OS even before I got rid of my last MacBook, and since 2018 or something haven't been using the hardware neither and only use a Mac for testing various software I develop. So I don't normally defend anything they are doing.

But right should be right; they have never previously tried to stop people from running whatever OS they want on their computer hardware so guessing they suddenly would start, feels like a pretty far-out guess.
@dang theleak.co has never appeared on HN before today. When searching for this news ("zuckerberg resign") on google, top hits are Daily Mail and The Sun.

Not worthy of the front page I think.
Why wouldn't it affect the money-burning pit that is Metaverse?
I'd also recommend The Dreamt Land: Chasing Water and Dust Across California by Mark Arax.
Over the last year FF has gotten a lot better about not keeping my MacBook awake because of content on some random background tab that the browser thinks is multimedia content.

Circa 2021 if I wanted my MacBook to go to sleep I had 5o shut down FF first.

FWIW wasn't any better on windows.
Only for integer ranges that are not concatenated.
But then you have to use Kotlin, which isn't just Java with nullability types, but a language with quite a different design philosophy, and a language that is increasingly at odds with the evolution of the JDK (partly but not solely because it also targets other platforms, such as Android and JS). It appeals to some but certainly not to all (interestingly, it hasn't significantly affected the portion of Java platform developers using alternative languages, which has remained pretty much constant at about 10% for the past 15 years).
yeah I think describing what you liked and why you liked it is probably the best way
This view is sufficient if you view corporations entirely as entities that serve to create profit. But this view ignores externalities which are not part of this mechanical description. Specifically, what perceived value the corporation provides that allows it to generate that profit. In Twitter's case its monetization has primarily been ads, so I'm referring to what makes people invested enough in the service to make it worth for advertisers to pay to show ads to these people.

But of course your view is what's reflected in law: the corporation exists to generate profit for its shareholders, so if killing and selling it for scrap (whether directly or by proxy in a leveraged buyout ending in a firesale) provides more benefit to its shareholders than keeping it operating at a small profit, that's the logical decision. The corporation is not really "a person", it's a vehicle for its stakeholders (or shareholders). A stable service puttering along without making big profits or losses is considered the bad ending.
Web3 – An Arrogant and Treacherous Successor Doomed to Fail
-1 hour -> "Somebody jumped the gun with the denial. There's some truth to this"

Not trying to make any kind of commentary, just saw the sequence and thought it would be fun to extend it a bit.
https://archive.ph/P0Isc
50 million users send a message

now you have to deliver them, exactly one time, to each recipient or groups of recipients, through different network topologies, with different challenges and vastly different bandwidth and latency guarantees, in exact order, while also keeping track of who is online e who's not, and distributing that information in real time, only to the edge nodes that should know about it, all of that fully E2E encrypted but stored (indefinitely?) in case the recipient is currently offline and unless that recipient blocked the sender.

let's agree that both companies solve hard problems and that it's not the technical difficulties that make the two companies sizes so different.
Should the circle be widened to include computers?
> On their computers they have never prevented it before

"What's a computer?"

https://www.youtube.com/watch?v=3S5BLs51yDQ

I really don't know what to call iOS devices other than computers. Unless one of your requirements for "computer" is "ability to boot third party OSs"; I don't entirely disagree with that but it's a bit circulatory in this context.
> the destructor is still called on the moved-from object

Wait, what? If I have a class with a pointer to some allocated memory, then the constructor should allocate the memory, the destructor should free it, copy should allocate an equal-sized amount of memory, and move should just give the destination the pointer (meaning that the destination now owns the allocated block, the original does not). Calling the destructor on the original means that the destination's block of memory is freed (unless you null the origin's pointer as part of the move).

I've never actually written a move that I recall, but this behavior is very surprising to me.
I don't work for Twitter.
Interesting analogy.

The NYT began publishing legitimately scathing articles about Enron and effectively accusing outright fraud in January 2002 [1].

Contrast to the kid-gloves puff-piece the NYT published about SBF recently.

If we take the NYT as a bellwether for what the "elite" and well-connected want known, it's quite clear that the treatment is very, very different between the two collapse stories.

My personal feeling is that SBF is not permanently safe. Like Epstein, occasionally you have to sacrifice one of your own to sate the appetite of the masses and to quell the tendency of conspiracy theories to be demonstrated correct. Depending on how uncontrollable narratives evolve on this story, it's possible they'll need to throw him under the bus.

For the moment, however, it's clear they're treating this as Not-Enron. He's safe for now. We'll see.

[1] https://www.nytimes.com/2002/01/28/us/enron-s-many-strands-e...
OP will probably feel a lot more insecure as the new person at a new company than they do at their existing company where they've already proven themselves and own multiple projects.
I've seen other replies highlighting Lisp in general and Racket in particular, but when it comes to a "little language" I think it's valuable to have a link to Paul Graham's article on The Roots of Lisp: http://www.paulgraham.com/rootsoflisp.html

It underlines all the points already made here about Lisp, and also includes a CL version of the original code. 67 lines including comments and empty lines. Endless possibilities.
Why Twitter didn’t go down, you're asking. Short answer? H1Bs: https://twitter.com/elonmusk/status/1593899029531803649/phot...
I use it constantly every single day to search for files on my local drives and my network shares on all of my computers. I have it index everything on my network and I also have every drive on every computer shared for this reason. I can immediately at any point during the day instantly find a file if I happen to know any part of the name or the extension or even the contents of the text on any computer that I have.

More people need to use this and to disable windows built-in search and also stop complaining about Windows search because this exists this is easy to use it's just horrible SEO and horrible for word of mouth. There have been so many times where I said to people that they need to get Everything. I even say that they need to get Everything and then link them to voidtools. And then later I'll hear back from them that they didn't quite understand what I was getting at even though we were talking about finding files and that this is a search utility called Everything.
This seems fake.

One, this website does not have a track record of accurate scoops. This isn’t Casey Newton or The Information (people with actual sources) it’s some no name.

They also claim a single unnamed source told them this - were there no other sources to corroborate? Seems like something important to check!

Two, it makes no sense for Zuck to step down. He just started the metaverse project. He’s the one who believes in it most. If he leaves, it’ll likely be canned.
>Rustaceans at the back of the auditorium slowly lower their hands ...

And start a rewrite themselves afterwards.
For systems programming, C89 is definitely a "sweet spot". It's relatively easy to write a compiler for and was dominant when system variety was at its highest, so it is best supported across the widest variety of platforms. Later C standards are harder to write compilers for and have questionable features like VLAs and more complicated macro syntax. C++ is a hideous mess. Rust is promising, and would probably be my choice personally, but it's also still fairly new and will limit your deployment platform options.

C89 is still a reasonable choice today. I don't think it's depressing. It's a good language, and hitting the sweet spot of both language design and implementation is really hard, so you'd expect to have very few options.
you mean for this sort of stunt?

https://www.youtube.com/watch?v=K3yNc5EasW8
Git has problems: stipulated. Improvements in design are possible: also stipulated.

But, your reply is annoying in opining about my mental state and preferences. How am I confused by the SHA-1 commits, exactly? And how am I unclear that I’m looking at commits when I issue a “git log”?
> 5 outdated documents describing the decision making process

Would that place be the U.S. Department of Defense by chance?
I promise I’m not trolling.

>have so many second and third order effects you have no idea about

So has raising the Earth’s temperature, in addition to all the severe effects we know about.

I don’t know how to compare those risks.
I don't see it, perhaps a different font loaded for me, but maybe you mean a ligature?

https://en.wikipedia.org/wiki/Ligature_(writing)
Also, most "great" software available in 2002 can still be accessed today.

You wouldn't want to run it though.

Which OS to start with?

- Windows? Unpatched Windows XP gets compromised within minutes on the internet. Microsoft spent years trying to fix all sorts of trivial security holes.

- Linux? Have fun with Mozilla 0.9 (pretty much the only browser choice)

- MacOSX? Only just recently released, not quite featureful as subsequent releases, and required you to buy expensive Mac hardware.

Why don't people run these systems on VMs on their browsers (it's quite feasible these days)? Because they aren't actually as good as the stuff we have today.
Near zero interest is completely unsustainable and clear evidence of problems in the market. They have lead to unimaginable asset bubbles that we still haven't seen pop.

There's been some research [0] that the last decade has seen the lowest interest rates in 5,000 years.

We have been continually increasing solving market problems by just creating more credit but eventually you have to pay your debts.

We're headed for trouble potentially bigger than anything we've seen before if we continue on this path.

0. https://www.wiley.com/en-us/A+History+of+Interest+Rates%2C+4...
For long-lived feature branches that are the target of multiple smaller PRs, history should never be rewritten. I call these branches integration branches. I agree with you wholeheartedly that master should be merged into the branch. It's also so much easier to resolve merge conflicts all at once in the merge commit rather than iteratively for each commit. Also, the information on how merge conflicts are resolved is then preserved in the merge commit. It's critical however that when you merge the branch back into master, you use --no-ff. It gets really confusing when you fast forward master to the feature branch.

The solution for it being ugly is to look at main/master's history with the --first-parent option. This lets you cut through the noise and just see the true history of the main branch. Without --first-parent, you see a bunch of commits in the log that master was never actually pointing at. This is why it's critical that you use --no-ff when merging these 'integration' branches as I call them. It's important that the integration branch is the second parent of master.
> Apple spent significant engineering effort modifying their iOS bootloader to support for third-party OSs—then neglected to tell anyone how to actually make a third-party OS. Whoops! Have fun!

This tend to be the usual practice for much of what Apple does, release things with minimal documentation and let others figure out how it works.

Maybe it's just a sadist corporation who wants to see how far people are willing to go in order to get stuff working with their own hardware/software? Sometimes it certainly seems that way.
I tried to do this myself, I was greeted with a fan that was on 100%, a non-functioning keyboard and trackpad and USB ports that were roughly half functional.

It's a falsehood to say it was allowed.

It was possible but very much not how you seem to imply.
Closed-cycle gas turbine for power generation: A state-of-the-art review
My lamentation goes well beyond Apple's business practices and I agree with you wholeheartedly.
I am hoping Framework + AMD might get close sometime in the next couple of years.
Java has so many deficiencies in its design that so many frameworks are invented to cover its flaws.

Just give a real Optional type at a language level. It’s clearly possible in other JVM languages.
I made the mistake of opening a startup with two small kids, another on the way, and a hefty mortgage. I left my well paying job to do so.

It was a nightmare. I living hell that eventually broke me and almost ended my marriage.

Don't do it.
Good luck with the C++/STL standards committee.
Just like JavaScript!
You made the mistake of doing things the Bad Way(tm) even though it was the Same Way. I wish there weren't many cases like this daily.
I've tried to make general porn AI
I've created dataset for network using networks and it sometimes generates nice. I wonder what could be done to make it better.
Ps. It's run on my pc, please be gentle
https://docs.djinn-ci.com/admin/configuration/

> Each configuration file for Djinn CI uses its own structured configuration language.

I sure do hope that adds as much value to your life as it causes pain for people trying to learn Yet Another Vanity DSL Because Reasons&trade;

You will want to invest a lot more energy in the one point of documentation anyone new to this cares about: https://docs.djinn-ci.com/user/manifest/ Compare how short and ill specified that is versus https://docs.gitlab.com/ee/ci/yaml/

As a concrete example, in GLCI I have

variables:
thing: |
#!/usr/bin/env bash
echo "hello from $CI_PIPELINE_ID"

so in dijinn, is it this?

env:
- thing=#!/usr/bin/env bash
echo "hello from $CI_PIPELINE_ID_IN_DIJINN"
# or this?
- thing=#!/usr/bin/env bash\necho "hello..."

and I know I'm not supposed to complain about website styling, but stop being cute with that width:40% -- I have a 4K monitor for a reason
While I believe that this is actually a simmering threat to society, I have a lot of trust that the current slew of devices are not eavesdropping on you. I believe smartphones to be a much bigger threat.

I’m more worried about smart phones acclimating people go carrying tracking and microphones. But, we find those tools indispensable now, so instead, we seem to want to focus on smart speakers
Is the lack of "meetings" offset by pair-coding, dragging out synchronous conversations in Slack, or otherwise controlling engineering time and schedule?
Well-written, thanks!
Well, statistically most of people don't live "out there". To live out there is a choice... like, I know people who live in a mountain town because hiking/climbing is walking distance, or people who live in the country cause they want to keep a horse for regular riding (I think that was the primary reason?). Sure, their commute sucks, but for most people the only reason I can think of for living that far out is not being able to afford housing, and that is not typical for people who can WFH full time.

So, most people don't mind their commute. Also if I was hypothetically an employer, all other things being equal, wouldn't I rather hire people who don't have hobbies/things they are so committed to that they justify living "out there"? ;)
The enumerated listicle, you mean? Those seem so oldie oughties! Surprising they still work.

I skipped the article and came here for the comments in case there was anything useful to learn.
We've been using `@Nullable` as Meta does in our code base for many years now (everything else is assumed to be non-null). Initially, we had CheckerFramework actually doing the checks at compile time... but eventually had to remove it because it's unstable, slow, has not kept up with Java evolution (we're on JDK 17, I think Checker still barely works on JDK 11) and also, because our IDE can be configured to flag errors on `probable nullability issue`! That was really a boon for us... it costs nothing at compile time and it's pretty easy to not mess up as the IDE keeps us in check whenever we make any change.

At the same time, we have adopted Kotlin as well. Interestingly, most of our developers prefer to stay on Java... not because they love Java, but because of familiarity and that they seem to think it's "good enough".

Anyway, we haven't had a large rate of NPEs for a very long time and when one actually happens in the wild we're extremely surprised!

That said: looking forward to the specification[1] that's being cooked up as Java absolutely should have had this a long time ago (as mentioned in the post).

[1] https://jspecify.dev/docs/start-here
I'm glad you noticed! We did indeed roll an improvement on Linux too, see: https://bugzilla.mozilla.org/show_bug.cgi?id=1771712

In a nutshell we're directing the OOM killer towards less interesting processes within Firefox so that when the system is low on memory they'll get killed first. This not only makes it more stable overall but it plays nicer with other applications too. Web pages that leak memory in the background are particularly likely to be killed by this mechanism and that alone is a huge improvement in overall stability.
how about `start` and `stop`?
In order for this to work, you also need a high-reading work culture, which is distinct from a high-writing (documentation) work culture.
Migrating from Java to Kotlin looks nice and easy on the surface (optionals!), but the lack of checked exceptions will absolutely bite you sooner or later if you are consuming Java code. Better carefully read the docs and source of all your transitive Java dependencies.
Well, that’s just the rub: It’s up to the implementor of a given type to decide what happens to an object that’s been moved-from. They could do something silly like make a `print(std::string&&)` function which doesn’t actually do anything to the passed-in string, just prints it, but requires callers to `std::move` the arguments, even if it’s not actually moving anything.

To C++, there’s no such thing as “moving” per se, there’s just “rvalue references”, and a standard library macro called “std::move” which is really just a static_cast to an rvalue reference. The compiler doesn’t mind if you continue to use something after casting it via std::move. It’s all rather disappointing, really (although I can understand why they did it… backwards compatibility is important in the C++ world.)
Yes, this is relevant for discrete distributions.

Why is X<0 impossible to represent? If the support is {0, 1, …, k}, then Pr(X < 0) = 1 – Pr(X >= 0) = 1 – Pr(–X <= 0) = 0.
Amazon is high documentation, high meetings culture. The documentation is reviewed by peers, bar raisers, and leaders in a process called document read before being official.

Edit: Someone asked for more detail on high meeting culture. There are constant meetings between cross-functional teams, various leadership stakeholders, and ongoing operational planning. That is not including your day to day meetings within your sub team or the follow up meetings from doc reads or the new team launch meetings, etc. Amazon tech is a high meeting culture.
So if she was poor you'd prefer she got a more lenient sentence?
Do we work for the same company? :P

Confluence has been the bane of my attempts in finding any relevant docs. Which one is the source of truth? Which one was a draft written by an overly eager to make a first impression, new employee (who is no longer with the company)? Don't even get me started on saving meeting notes to confluence.

These days, I maintain my own knowledge base on Obsidian. If there's ever any confusion or request for more information within the company, I copy-pasta the relevant note from my obsidian bank to whomever person or whichever confluence page they deem the source of truth.
Agree that hiring is sure important, but I think as long as hiring is competitive, and most candidates are bad at writing, then compromises are almost inevitable?
Training AI specifically to be good at manipulating humans into putting it in a position to conquer the world. What could go wrong.
I would suggest introducing two things.

First, introduce The Diataxis framework ( https://diataxis.fr/ ) for documentation. It makes people think about documentation in a more structured way, and allows you to be more specific in the types of missing documentation. (High documentation cultures are often good with explanation but not tutorials, for example.)

Second, I would introduct the idea of a Documentation Portfolio. I have a review of Agile Documentation at https://www.ebiester.com/documentation/2020/06/02/agile-docu... and it speaks to another structure for how to build the documentation in a more reliable form and thinking more carefully about your audience for a particular type of documentation.
Not familiar enough with the C64 to know what this means, but I'm assuming it means it "needs a little something extra" than a stock C64?

> The C64 version has been in development for 16 years. The primary developer is Andreas Larsson along with a handful of other developers and people from the demo scene.

Wow, the stamina here is amazing... 16 years? I have a hard time keeping side projects going for 1-2 years.
so the worst of both worlds
Vulnerable SDK components lead to supply chain risks in IoT and OT environments