skysight-inc/HackerNews huggingface dataset:
But that is hard.

I think you (and many software developers) are using the word "hard" to mean "intellectually challenging", as in "Leetcode Hard". But things that require a lot of effort, time, and coordination of people are also hard, just in a different way.

Imagine a codebase with a wart. And yes, without enough tests. Let's say the wart annoys you and you want to fix it. But first you have to convince your employer to let you spend 6 months backfilling missing tests. In the meantime they will pay your salary but you will not work on the features they want. You will be working on fixing that wart. Convincing management: easy or hard?

OK, so you got them convinced! Now you can't just fix the wart. First you have to slog through a big refactor and write a bunch of tests. Staying positive while doing this for 6 months: easy or hard?

Do you stop other teams from writing more code in the meantime? No, so does the new code come with tests? How do you make sure it doesn't depend on the old "warty" interface? You need a compatibility layer. You need to convince other managers to spend their teams' cycles on this. Easy or hard?

OK, the refactoring is done. You release the new software. But, despite all your efforts you overlooked something. There's a bug in production, and when a post mortem is done - fingers point at you. The bug wasn't introduced in pursuit of a new feature. It was part of an effort to solve an obscure problem most people at the company don't even understand. To them, the software worked before, and it doesn't work now, and it's always those nerds tinkering with stuff and breaking things. Convincing these people to let you keep your job: easy or hard?

Perf review time. Your colleague shipped a new feature. You shipped... that thing that broke prod and nobody understands. Getting a raise: easy or hard?

And that is why these warts fester. The end.
> I'm pretty sure windows uses "long" for 64 bit but linux uses "long long" for 64 bit

Windows long is 32bit even on 64bit CPUs.

Linux long is arch dependent and is 64bit on x64, 32bit on x86.

long long is always 64bit on both platforms.
About 137km diameter, so really big, but albedo (surface brightness, basically) still similar to other comets.
I’m not really beating around the bush. A university cannot normalize the prices of all of their majors around outlier majors that have more market demand. They cannot also bundle a “premium” package of the college experience (which evidently now involves indentured servitude, which I’m guessing comes after premium room and board pricing?). Check the whole bill, everything is out of whack.

Drop the prices of 90% of majors, that one should be obvious.

Sharing the wealth should be obvious too, but that one isn’t either apparently. So they overcharge, and then don’t pay their own.

It’s massive pricing issue mired in severe levels of piety and self importance. No one wants to replace universities, they want them to stop scamming.
Yea, I noted that too.

As a gamer & dev running Linux, I pass-through bluetooth hardware into a gaming VM for controllers and don't even have bluetooth stack on host.
If that is what you think they are want, you are seriously confused.
>There is actually a theory that black holes create universes inside them

Calling it a "theory" is kind of wrong, it's not a "theory" according to the classical definition of the word. The word has been diluted over time to mean any thought anyone has about anything, but it used to mean something that has been proven by observation and empirical evidence. Yes, I'm being pedantic.

>A "classical" definition of a theory refers to a well-established, comprehensive explanation of a phenomenon, based on a body of evidence and often including clearly defined principles or laws, signifying a robust and widely accepted understanding of a subject, as opposed to a mere hypothesis or speculation; essentially, a "theory" in the true scientific sense

>Granted, this is in the realm of science where we have no idea if this is remotely true, but that's part for the course when black holes are involved.

I'm not sure this qualifies as "science". It's more like stoner speculation.

Science is defined as:

>"The systematic study of the structure and behavior of the physical and natural world through observation, experimentation, and the testing of theories against the evidence obtained."

There is no observation, experimentation, or testing of theories that could ever happen for these notions about black holes and the universe(s).

It could be that the universe is a giant egg laid by a giant chicken, and that is just as plausible as "black holes create universes inside them" as far as we know.
You can, somehow, view this # in the magnetic field map picture too. First I thought this was an artifact, but I highly doubt that they would leave such an amateur thing behind (and even amateurs don't get tricked into this). Besides from the visible picture and magnetic map, I don't seem to find any correlation with the other pictures.
I like Linux a lot but personally I am starting to get frustrated with rootless containers. It is frustrating one has to have higher privileges running the container to make it have its own IP address inside the container. It's frustrating you cannot have the container read and write on the filesystem as the UID running the container unless the process inside is root.

I might have a better experience with VMs but every system seems like a lot of effort to just get something running. And after that the object is not as disposable as I'd like. My favorite tool for VMs so far is Incus. I'm planning on looking into Firecracker this weekend for fun.

Unrelated, but regarding:

> I understand it can make some people angry as they have to learn how to use it.

I don't think that's a significant part of what is upsetting anyone.
Beautifully written! Are you still running it on Craft CMS, or has the tech stack changed?
There was one ruling that was a lot more harsh but wound up getting overturned on appeal.

On June 7, 2000, the District Court ordered a breakup of Microsoft as its remedy. According to that judgment, Microsoft would have to be split into two separate units, one to produce the operating system and one to produce other software components. Microsoft immediately appealed the judgment to the D.C. Circuit Court of Appeals. [1]

[1] https://en.m.wikipedia.org/wiki/United_States_v._Microsoft_C....
I know I made a bunch of terrible barely functioning Winamp skins as a kid. I could not remember for the life of me if I had ever submitted any of them to Winamp.com

This inspired me to do a little research. Sure enough, this unusable piece of garbage is made entirely from my like 16 year old baby face from 20+ years ago. Why I thought that was the one to submit is beyond me.

https://skins.webamp.org/skin/7c0eec4cef92c0c801f4218cee83ca...
It seems her biggest issue by far is bad VM hosting, followed by the filesystem (the latter being possibly an hardware compat issue). Everything else seems tertiary or downstream from the big one.

Better VM hosting would enable a big usecase directly, enable the software separation she likes, ameliorate a good part of the battery issues (as that's what she often uses the OS for), and with passthrough maybe even help work around the other hw support issues.

Given how critical virtualization is to security anyway, it sounds like a topical thing for OpenBSD folks to put directly into the OS (a la bhyve).
Not really related, but the way you chose to indicate a comment here immediately made me think you had merge conflicts.
How is the following risk mitigated: a Directory operator selectively lies about a record being erased?

Maybe the act of erasure should also be publicly recorded?
I’ve been in this game for 30 and I agree with GP. “I won’t build that simple thing from scratch, I’ll just import this thing that does approximately what I want.”

We should banish the word “import” in favor of “take a dependency on someone else’s code, including the stability of the API, the support model, willingness to take patches, testing philosophy…”

Reputation is a rough proxy; inspecting the code can help. But when the thing you built your house of cards on falls over, you often can’t fix your house, and have to build a new house.

Obviously this applies more to utility code than it does to entire languages. But even there, Apple has broken their Swift syntax enough to release tools that upgrade your code for you…and that’s the best case scenario.
The infamous thump-sensitive keyboard
Also, programs that are easy to extend will be extended until they are not.
I don't remember the name of this Law.
> This isn't actually about removing the promise (completion) listener, but the fact that promises are not cancelable in JS.

You've made an interesting point about promise cancellation but it's ultimately orthogonal to the Github issue I was responding to. The case in question was one in which a memory leak was triggered specifically by racing a long lived promise with another promise — not simply the existence of the promise — but specifically racing that promise against another promise with a shorter lifetime. You shouldn't have to cancel that long lived promise in order to resolve the memory leak. The user who created the issue was creating a promise that resolved whenever the SIGINT signal was received. Why should you have to cancel this promise early in order to tame the memory usage (and only while racing it against another promise)?

As the Node contributor discovered the reason is because semantically `Promise.race` operates similarly to this [1]:

function race<X, Y>(x: PromiseLike<X>, y: PromiseLike<Y>) {
return new Promise((resolve, reject) => {
x.then(resolve, reject)
y.then(resolve, reject)
})
}

Assuming `x` is our non-settling promise, he was able to resolve the memory leak by monkey patching `x` and replacing its then method with a no-op which ignores the resolve and reject listeners: `x.then = () => {};`. Now of course, ignoring the listeners is obviously not ideal, and if there was a native mechanism for removing the resolve and reject listeners `Promise.race` would've used it (perhaps using `y.finally()`) which would have solved the memory leak.

[1] https://github.com/nodejs/node/issues/17469#issuecomment-349...
> A lot of developers really seem to prefer janky, undermaintained third party libraries with huge APIs over a quick home made hack to solve exactly the problem your team has

Sometimes it’s not even that they’re janky and undermaintained, it’s just the huge and unnecessary API. A good example is watching for file changes. inotify has been around forever, and is easy to reason about. The Python library inotify_simple [0] just wraps that. That’s it. It works extremely well, has no dependencies of its own, and provides nothing else. I once needed this functionality for a project, and had another teammate argue we should use watchdog [1] instead, because it had more stars, and more frequent commits. It took me longer than I thought it would to explain that sometimes, projects are complete and don’t need commits, and that we didn’t need or want any of the additional complexity provided by watchdog.

Another example is UUID generation. Python doesn’t yet natively do UUIDv7 generation, but if you read their source code and the RFC for UUIDv7, it’s fairly easy to write your own implementation. This was met with “please don’t write your own UUID implementation; use a library.” Baffling.

[0]: https://github.com/chrisjbillington/inotify_simple

[1]: https://github.com/gorakhargosh/watchdog
> That’s why all your examples are ancient news.

Not in the ways you might think. I used examples from well outside the periods and events I have classified knowledge of, for legal and ethical reasons.

However, reading your responses I can understand why you ended up with such a wildly inaccurate understanding of the world. It’s been interesting talking with you.
I think it's crazy how little impact this giant constantly exploding ball of turbulent plasma has on our day to day lives. We get consistent light and heat, and occasional auroras... and that's it? This thing has enough energy to wipe out every last trace of human existence.
Women's rights may be more of a problem with the economy than one thinks - pressure on those rights aren't necessarily just ideological. Zooming in on this one aspect within the bigger picture, at a country level you can shape the economy via controlling immigration (do we welcome brains? do we welcome labor?) and via controlling natality (do we need to make our own labor?). If a country is hostile to immigration or limits immigration to an elite, I can well imagine eroding women's rights for purely economical reasons - needing labourers the country is not willing to welcome from abroad. Could also be done with incentives instead of taking away rights but different debate. Womens' rights determine if/how/where women can contribute to the economy, and how easily.
This book lives on my desk. And I’ve proudly filled its pages with annotations and sticky notes. It’s really well done.
I find such thoughts exciting. In the future, children will be taught basic facts that, to us in the first half of the 21st century, are some of the most complicated questions of the universe.
It's just that the #if checks for the MSVC compiler, not for Windows as a platform. And on that compiler you will never have LP64, but LLP64: https://en.wikipedia.org/wiki/64-bit_computing#64-bit_data_m...

I just roll my own for this because I don't need all the functionality, and generally find such cross-platform libraries to only really test on Linux, and it's too much of a hassle.
It depends. SOX compliance, if they were, actually literally does say the CFO and other officers who signed off on their accounting are liable. That’s the point of SOX. Synapse itself likely wasn’t unless it was preparing for IPO but their banking partners might be.

Their primary partner Evolve bank is not, but it is held to legal standards by the FDIC and other banking regulators and their lack of controls is probably where you might see executive management facing criminal challenges.

However everyone involved could face civil penalties.

If history had been different it’s likely this event would have turned up regulatory scrutiny on fintech precisely for these reasons - a privately held fintech can basically just fuck around and pretend to be a bank leveraging a poorly managed licensed partner holding the risk and abscond through incompetence with everyone’s money and no one suffer a consequence other than the customers. Sadly I don’t expect this to change in the next four years and there’s every reason to believe accountability will get worse as existing regulations and enforcement are potentially gutted. So caveat emptor is likely the law of the land until something so huge happens it can’t be ignored.
It would be interesting to this repeated with Starlette and Granian on Python 13 (with GIL and JIT).
I've discovered that deploying this quote as a compliment to someone's ac hoc, informally-specified, bug-ridden, slow, half-of-Common-Lisp code, makes them increasingly nervous until you get to the punchline.
Intel is coming. Ohio community colleges say the state's workers will be ready
> no instruction bloat via creating multiple instances for all functions.

This makes me think that you're using single-header libraries wrong. These kind of libraries usually require you to do something special prior to including it to get the actual code and you must do it only in ONE file.

For example, you'd #define RGFW_IMPLEMENTATION before #include rgfw.h in exactly ONE .c. If you need the header in other files, you do NOT define RGFW_IMPLEMENTATION and no code will be produced.
https://github.com/SasLuca/glfw-single-header/blob/master/ex...
> flatpak: I really like software distribution done with flatpak, packages are all running in their own namespace, they can't access all the file system, you can roll back to a previous version, and do some interesting stuff

As of today flatpak still has holes you can drive a truck through.
I've worked for a bit in an engineering company and I was surprised at how bad they were at versioning their documents.
It seemed to me that the previous poster wanted a way to wait for the result of a promise (in a blocking manner), and I meant that this is available in other languages. You're right that it is not usually spelled "await".
Use flatseal with flatpak.

https://github.com/tchx84/Flatseal
I wasn't aware of it, as per Wikipedia article it looks like the predecessor for Renderman.
When I was a prof (many years ago), I was working on a database for a political campaign. The code was a mess. I asked a couple of my colleagues (successful comp. sci. profs) to help out. It became clear very quickly that there are two kinds of comp. sci. profs: those who can program and those who cannot.
I suspect a lot just comes down to manpower... While extremely important the FS currently works "good" enough (although there were/are efforts to port HAMMER2).

But I share the frustrations, all these little papercuts really add up and I only use OpenBSD in server settings nowadays
Try this: https://www.wsj.com/lifestyle/poker-helped-me-take-risks-mor...
Absolutely true that not all runtimes and languages have the same level of tooling. But the state of tooling has dramatically improved and keeps improving.

I use PyCharm for my projects including Python, for instance, and it has absolutely fantastic debugging facilities. I wouldn't want to use an IDE that lacked this ability, and my time and the projects are too valuable to go without. Similar debugging facilities are there for Lua, PHP, Typescript/JavaScript, and on and on. Debuggers can cross processes and even machines. Debuggers can walk through your stored procedures or queries executing on massive database systems.

Several times in this thread, and in the submission, people have referenced Brian Kernighan's preference for print versus debugging. He said it in 1979 (when there was basically an absence of automated debugging facilities), and he repeated it in an interview in 1999. This is used as an appeal to authority and I think it's just massively obsolete.

As someone who fought with debuggers in the year 2000, they were absolute dogshit. Resource limitations meant that using a debugging meant absolutely glacial runtimes and a high probability that everything would just crash into a heap dump. They were only usable for the tiniest toy projects and the simplest scenarios. As things got bigger it was back to printf("Here1111!").

That isn't the case anymore. My IDEs are awesomely comprehensive and capable. My machine has seemingly infinite processor headroom where even a 1000x slowdown in the runtime of something is entirely workable. And it has enough memory to effortlessly trace everything with ease. It's a new world, baby.
Well, I've never had a programmable or engineering or scientific calculator of any kind. I want to get one and learn the basics of programming it, just for kicks, hence searching for good books, and finding the one above, which looks so very lovely.

The idea was - find a great book, get the calculator that matches it, and proceed from there. I love learning offline with physical books and tactile things.

However, both the actual hardware HP-15C and the book are very exagerrated in price. Maybe instead I'll get some less popular model, there must bee others which aren't as well-known but that are similarly great.
I never said EH is a singularity. I said you could notice you're inside as your timelike coordinate becomes the radial coordinate. That's something you could easily notice if you look around, it would correspond to a shrinking universe, and our universe is expanding.

The "you won't notice crossing the event horizon" troupe is true only in a very local sense. If you move around and observe the geometry around you, you can definitely tell you're inside a black hole.
Learning how to use my C debugger felt like a super power. None of my (mid-90s') CS courses even mentioned the existence of a debugger let alone how to use one. First job I had to learn on the fly, and it was one of the most useful tools I picked up post-university.

Print debugging was pretty useless back then because compilation took minutes (a full compile took over an hour) rather than milliseconds. If your strategy was "try something, add a print, compile, try something else, add a print, compile" then you were going to have a very bad time.

People working on modern, fast-dev-cycle, interpreted languages today have it easy. You don't know the terror of looking at your code, making sure you have thought of "everything that you're going to need to debug that problem" and hitting compile, knowing that you'll know after lunch whether you have enough debugging information included. I'm sure it was even worse in the punch card era!
A lot of people use i64 in the global namespace, so this will affect later code. It's basically `#define true false`. When I consider a library I will do a quick sniff test to look for very obvious mistakes, at which point I won't look further.
I used this product when I lived in a building where I could get a 500mb and a 100mbit connection but not a gigabit connection. I had the server side setup on digital ocean and it "worked" in so far as I could pull 600mbit/s but was impractical since 1) I would get the latency of the worse (and in my case more variable) connection and 2) since it was essentially a VPN to a cloud provider many sites blocked me as a suspected bot.
I can definitely write a 1KLOC program to solve a 10-line problem.
was doing exactly that a few years ago as Postdoc at Oxford. Yes, the pay is very low, but those who do that (PhD students and Postdocs) do it to get some valuable teaching experience more than for the money. The amount of hours they give for such temporary assignemnts is very little per individual, or at least that's what I saw among my colleagues.
Yeah, the fatigue is real.

It takes much more energy to stop a bad idea / framework from taking root in a large org than to start one.
Some people learned to be fearful.

At some point I was working on a piece of software we knew inside out, had good tests for and often ran through hand curated stress tests for benches, analysis or just exploratory testing, so we had a high confidence in it and in our ability to modify it quickly and successfully.

Some day executives were visiting and we had to do a demo of our system interacting with another one. Until the last minutes we were happily modifying our code to make the demo better. A guy from other system's team saw that, freaked out, and went straight to our boss, who then laughed with us at how scared the guy was. It turned out his team was not at all that confident in their system.
CMake is entirely stringly-typed as well. Like many shells, arrays/lists are just space-separated strings.
Much better to say they are Nazis or rapists or both, and be done with it :)
Wait, there is another way?

Looking at the comments here, I'm going to have to try to figure out how to use a debugger in pycharm on Monday!

Any tips or good videos on this?
It also made us worser engineers unable to contemplate the computer in front of the computer . We cyclical reinvent the wheels and our brightest regularly bump into the limitations of self projecting themselves upon everyone they meet.

We need a field that is able to systematically cartograph the limitations our brains impose on us, society and technology. We need a world map of blindspots, of disabilities l. Not 15 years ago we congratulated ourselves on plans to degrowth , and look at what happened during the pandemic.
Introduction to Bismuth VM
Sometimes I stand in the sun and feel it as hot as a nearby oven on my skin. Then I consider that I'm receiving about 1e-24 of its radiant energy. I don't blame our ancestors!
Oldest direct evidence of hot water activity on Mars found