skysight-inc/HackerNews huggingface dataset:
Thanks for the references. Skimming through them it seems it's only the case for warm freshwater. Citing from your 1st reference:

> Naegleria fowleri infects people when water containing the ameba enters the body through the nose. This typically occurs when people go swimming or diving in warm freshwater places, like lakes and rivers.

Does it mean sea water is safe or at least safer?
The problem is that it is far too easy to publish a new library that contains a single function. Due to history and other considerations, this is much harder in C (you have to wrangle CMake or autotools, and then package your library for distributions).

While I do think making things easier for developers is a good goal, making the wrong things too easy (that is, making libraries that become very heavily depended on) results in the problems of Node.js (and I would argue the same is true for Rust). Maybe I'm just a curmudgeon, but I really have a sour taste in my mouth when I look at how Node.js and Rust do library management -- it's making it too easy to make a small library which doesn't really work and then people depend on it.

I once tried to write a simple IMAP cloning utility in Rust and found 4 IMAP crates -- none of them worked properly and all of them incorrectly handled several core parts of the IMAPv4 spec. I figured out later that they all appeared to be forks of one another (or they copied each others' APIs), but that doesn't help matters -- why are forked crates taking up more space in the global crate namespace? The "imap" crate doesn't implement IMAP properly!

Python had this problem (in a lesser degree) too with pip, but I think having a larger standard library and lots of time to mature allowed them to overcome it.
what is so note-worthy about that?
There was also a headline today about a tomato rice-related death toll in India... (https://www.bbc.com/news/amp/world-asia-india-46573273)

As long as you ignest methanol with enough ethanol mixed in, it's not lethal. You would have to separately capture the small amount of stuff coming out before the "heads" to make deadly methanol. Soundslike this could happen only if you make an industrial quantity batch, and are completely reckless about the basics.
A rewrite can also mean a gradual change. A great example of this is the rewrite of 0install in OCaml from Python [0]. With such an approach you change module by module with old code and new code working side by side. It is of course not so easy, but it makes it possible to do on-line. A bit like with bits of Rust code that go in Firefox with each version.

I would like to know if anyone participated in a similar gradual rewrite and how it went.

It may be very hard for some architectures and also sometimes wrong architecture (prototype became production, some features were dropped along the way, a new feature is dog slow) may require big rewrite, even breaking APIs, then it would be impossible. But if one keeps API one can at least do comparison tests as more features are implemented.

[0] http://roscidus.com/blog/blog/2014/06/06/python-to-ocaml-ret...
any attempt has been made to build a nicer foundational C/OS library since ?
Widely except Windows and different embedded platforms etc.
Computational Mathematics with SageMath
Virgin hyperloop is also planning to do testing/R&D in Europe, more specificially in the Malaga province in Spain.

http://www.surinenglish.com/local/201808/10/virgin-chooses-i...
> What if Microsoft open-sourced the Windows NT kernel? (While retaining some proprietary drivers, etc..)

ReactOS exists today, and how many people care about it? Does NT even matter, except as a basic layer for the Win32 and UWP platforms?
KeyForge: The red-hot card game where every deck is unique–and unchangeable
This is a harmful tautology. There really is a such thing as bad code. Some edge cases are introduced by the bad code itself and changing the paradigm can make many difficulties disappear.

Having the same people who wrote the code work on the rewrite is silly though. How could they be expected to produce something better?
Funny comparison. If you like batteries, fuel cell tech would be one of the places you would want to be putting some of your primary research money.
A decent Alexa skills toolkit for Go
BSD has some minor improvements to libc. There's also glib.

Generally though, C is just a terrible language to do anything other than write extremely low level routines in. You should probably just never use strtok() and go straight to something like Ragel or re2c for building high performance tokenizers... then call those from a higher level language.
A lot of experience shows that the string tokenization in Open Object Rexx is darned useful. E.g., for many years, IBM's internal computing was from about 3600 mainframe computers around the world running VM/CMS with a lot of service machines written in Rexx. Rexx is no toy but a powerful, polished, scripting language and really good at handling strings.

A little example of some Rexx code with some string parsing is in

https://news.ycombinator.com/item?id=18648999
This has never worked.
The project has a maintenance budget that covers everything (bug fixing, new features, migration to new versions of OS, DB etc.).
Business requires a certain number of enhancements, the development team is already understaffed and therefore they are often missing the required number of enhancements in a specific release cycle.

So the full discussion goes something like this:
"Can we remove support for Roman Numerals? We are pretty sure nobody uses these anymore, and we estimate that this would cost 20 man/days in this release but result in a saving of 800 man days over the fiscal year..."

"Not sure, it could be useful again, use these 20 days to add support for Aztec calendar to the Insurance reports - you have already postponed this twice!"

(I.e. they get the impression that somehow there are 20 "extra" days available and those have to be diverted to implements something that may have become already obsolete).
All you need to know choosing home routers - could you install OpenWRT on it, or not.
That’s not a good reason not to use it.

A function can be not thread-safe and still safe to use in single-threaded programs.

The point is that strtok is not a good choice even for single-threaded code.
While I agree that there is too little money in Fusion research, I would recommend building Thorium reactors. Thorium reactors could be in a production setting, if financed, in less then 5 years.
I know extremely little about the subject, but aren't we decennia away from battery storage at the necessary scale as well?
Pictures from the Eastern Bloc in the 80s
The Best Sale I’ve Ever Closed
It depends.

One system I worked on was an information system in VB6 which was being used as a base platform to build domain-specific ERP implementations. Deployment in their environment to anything non-browser-based was a nightmare. There was overlap between domains although there was shared data (customer and supplier information, product database, that kind of thing). The obvious thing to do here was to let each domain (i.e. team) build their own solutions in the most effective platform for their domain whilst integrating via defined interfaces. That's not what happened; when I left few teams had anything working and those who did spent the majority of their time on deployment issues.

Another system I worked on was initially built by a very junior team under tight time and budget pressure under leader who believed in never saying "no" to the customer. They created a horrible mess (most of the code was in a couple of files). The system was deployed by two/three customers. Testing was done during deployment; the first version worked well enough to go into production. A year later everything had ground to a halt; there was no formalised testing and the developers couldn't fix one bug without introducing several more. One very smart developer started to "rewrite from the inside" by implementing new features using clean and modern techniques. At that point I took over the team. We doubled down on this "rewrite" whilst adding manual tests (and later automated tests) to cover the most important flows. We only rewrote features when they needed to change and in some cases removed functionality when particularly hairy features no longer worked.

Otherwise I advise against rewrites; if the system was reasonably built and the platform viable then rewriting is just a waste of money.
That is right, but you should be able to point at (preferable several) such assumptions that went into the original system, and verify that they are no longer necessary.

Maybe you used to have much less RAM in the past, but also much less data, or not as many users etc.
Embrace. Extend. Extinguish. https://en.wikipedia.org/wiki/Embrace,_extend,_and_extinguis...
There are of course tons of code on the net, but there is no need to standardize another grab-bag of bad API calls. If you need a batteries-included library you use python or similar. If you write in C, you care so much that you largely avoid the standard library and design your code from the ground up.
But the working poor don’t see their hourly wage rise automatically as a consequence of inflation, so unless the government mandates higher minimum wage, or unions negotiate it, or there’s a shortage of low-wage workers driving up wages, their income drops in real terms and they are worse off.
If you never rewrite someone will and they will take your place.
When I used neti pot long long ago, our instructor made it explicit that you should only use boiled and cooled lukewarm water mixed with salt, if you cannot find a readily available saline solution. She even gave the salt:water ratio which I've forgotten. The general consensus in the yoga community is to better be safe than sorry.
How the CIA Tricked the World’s Best Writers
Can you give an example of a constitutional state which does not have "amorphous interpretation existing in heads of demented supreme court justices"? None come to mind.
If you program in C please just write those four obvious lines yourself.

Those are not necessarily obvious lines, there are several pitfalls to avoid, and for that reason strtok() is much longer than four lines. When it comes to the standard library functions strtok() has well-defined behaviour that is easy to reason with and near-magically approaches the string-splitting convenience close to scripting languages.

In contrast, an example of truly sickening part of stdlib is converting strings to number. The atoi()/atol() family doesn't check for errors at all so you want to use strtol(). But the way error checking works in strtol() is so complex that the man page has a specific example of how to do it correctly. All sane programmers quickly write a clean wrapper around strtol() to encode the complexity once. Now, strtok() is nothing like that.

In its simplicity, strtok() is quite versatile. A few strtok() calls can easily parse lines like:

keyword=value1, value2, value3

that you might find in configuration files. And I mean truly in just a few lines which you might expect in Python but with C string handling? No.
A lot of people are saying fusion is still decades away. That might very well be true but it might be centuries away unless we change the way we fund the research. Nuclear fission and fusion research are still happening but there's no sense of urgency at this point and it's not a very popular topic with politicians given the issues with reactors invented half a century a go. Back in those days there was a real sense of urgency and no cost were spared to get things done. Kennedy says go to the moon. Ten years later it's done. The fear of the Russians getting there first drove the US to do amazing things.

This stuff doesn't happen by itself and will need a lot of investments and planning to get it done. At this point a reasonable question to ask is whether the US will be the one that makes the breakthrough here. They are not the only ones working on this and arguably it's not a big priority in the US to be working on this at all. What happens when e.g. China gets there first? They are working on this as well and they seem to be getting some results. They are also planning to go to the moon pretty soon. And a lot of the clean energy tech we use comes from them as well.
This is like paid drug trials where sponsoring drug company simply refuse to publish the results if they’re in way negative. The practice should be made illegal.
Why battery though? Isn't potential energy environmentally friendlier when on a large scale?
My Dad's Friendship with Charles Barkley
How India's sex workers prevented an Aids epidemic
Do we see less? Or are the serious ones never reported. Breaches of health data are not exactly trackable back to the source, assuming they're even abused at all.
> The general consensus in the yoga community is to better be safe than sorry

The safe thing would be to avoid netting pots, which have no known benefit and several known risks.
Easy fix: hire a statistician. :-)
At this point, personally, I have issues with anybody using fossil fuels. We do have alternatives now. We can talk social justice and whatnot but it'll ring hollow when civilization is collapsing around our ears, especially since Africa and India will likely suffer before the U.S.
Nicely written, and thank you for providing such a great peice of engineering!

A thought: would it help to have a modified C compiler that would crash the app whenever UB was encountered? It might help find some bugs where non-default C compiler was used (which I assume happens, given the large amount of platforms sqlite supports). Or am I missing something?
This person may have had a poor immune system. I mean, people do put plenty of unsterilized compounds up their noses regularly, without drying from brain-eating amoebas... Though I suppose brain-eating amoebas don't typically thrive in powdered chemicals, making the users more safe from this one potential risk.
Well great, I just did this last night. Goodbye HN.
C is a language where you're expected to know what you're doing. While it wasn't necessarily right in this case, it's assumed that the generated assembly should match the intent of what you gave it.
EUR 150M Deal Between Porsche Holdings and Spanish Bank Using Blockchain
> Having the same people who wrote the code work on the rewrite is silly though. How could they be expected to produce something better?

By learning from their mistakes?
Crypto YouTube Influencers in 2019: The Ultimate Collection
I couldn’t find much detail about the sources of home/office radon in the linked site. Is it suspected to naturally occurring ie coming out of the ground or from some product or chemical used?
All kinds of minerals and such. In fact totally clean water, without them, is harmful and poisonous:

"Drinking absolutely pure water can kill you. All the water we normally drink – from taps, from bottles, from the garden hose – contains impurities which affect a property of water called tonicity. This is the ability of a solution to draw or repel water from ajacent solutions when separated by a membrane. Solutions that are hypertonic gain water, while hypotonic solutions lose water. Drinking water, which we usually think of as pure, really contains a whole mess of salts and sugars which make it slightly hypertonic. They also give water its taste. The cytoplasm in the cells of your body also have a tonicity. So, when they are exposed to hypertonic solutions, the cells themselves lose water and shrivel up. When they are in hypotonic solutions, they gain water, swelling up and bursting like a balloon. Absolutely pure water -with no impurities at all – is the most hypotonic solution. So, if you drink enough of it, your cells will start absorbing water. This disturbs the balance of electrolytes (electrically conductive ions) in your body. This is most seriously a problem in the brain, where water poisoning can lead to brain damage, coma and even death."
In Ada, you can define integer types that only accept a given range of values.
> We've yet to see whether world-leading levels of per capita prosperity are achievable without freedom.

Look no further than The World Factbook by CIA:

2	QATAR

13	UNITED ARAB EMIRATES

15	KUWAIT

22	SAUDI ARABIA

https://www.cia.gov/library/publications/the-world-factbook/...
1. the Trade balance is bullocks (how do Apple iphones appear in it?)
The term dark matter was coined in 2006 by some Harvard economists
https://www.dbs.com/aics/pdfController.page?pdfpath=/content...

2. I think the trade war is going pretty well for the US. They basically can't lose it this is why I don't understand that Xi did not compromise in the first place.
Each family had HIV positive father.

It's likely that parents had misconceptions about modes of HIV transmission. Transmission is of course possible but not very likely. https://www.cdc.gov/mmwr/preview/mmwrhtml/00030972.htm
> Editors of $prestigious_journal resign from $prestigious_journal today. Tomorrow, they start $prestigious_journal1 (modulo some new name-choosing scheme) and post a website or whatever.

This exact thing happened e.g. there https://en.wikipedia.org/wiki/Journal_of_Algebraic_Combinato...
Online Resume Builder by Hiration
I don't understand why the article portraits the described game as unworthy of the high score. An experienced player will always hedge, and thereby the high scores will all go to less bothered players gambling their way to a win.
I do not believe that using regex is necessary. I have parsed a lot of code in my life and regex was not a necessity.
> It's sort of ironic to me that one of the main reasons I like linux on the server - which I use exclusively - is because I perceive it as "just working" in a way that MS servers never do. The situation is entirely inverted on the desktop

If "just works" is what you're going for, then install a rock-solid distro on the desktop - Debian GNU/Linux, CentOS and OpenSUSE Leap are the ones which are really in the running, IME; Ubuntu LTS is a distant possibility if commercial support or third-party applications are a priority for you - and, just as importantly, accept its limitations. No, it's not going to support the office, music or image-processing apps that you're used to. But there's plenty that it can do, that many, many users will be absolutely fine with. (The fact that so many people are fine with something as incredibly basic as ChromeOS is proof positive of this. A Linux desktop gives you plenty more than that, and you can easily get it to run on extremely cheap hardware that would not manage to run any other modern OS.)
Why are there no animations in the article?
J&J’s test results are meaningless if they have been suppressing other result sets they don’t like.

I’d like to hear them discuss that part of the allogations.

Personally I think it should be illegal to run these kinds of studies or pharmaceutical trials without committing to publish the results regardless of outcome.
Beat the 'crunch': new union for video games workers launches (in UK)
Modest rise in taxes... Across the board to person in the United States? To only the 50% of people who are taxpayers? To only the top 10% who pay 70% of the taxes already? Tax those who do not generate income traditionally but rather earn based on investments? Seizure of personal assets?

Depending on how you go about this, you could create economic stagnation because of burdensome pension programs.

Alternatively, you could cut benefits, or privatize the investments rather than simple redistribution from one payroll tax payer to one pensioner.

I'm in favor of privatization combined with benefit reduction and increased minimum retirement age.

The combination of these three could easily solve any pension shortfall and generate long term wealth for every American.
Because once a community has lost its central economic purpose, it tends to develop all sorts of pernicious dysfunctions. If the one factory in a small town closes, the town just lost a lot of its tax-base, so it's hard to pay for services. Many people can't find other jobs, so they end up on the dole or on drugs or on the street. And anyone with options leaves. Such towns are essentially economic zombies. They died a long time ago, they just haven't fallen over yet. This is the case where I think it makes sense to shut down the community, and help the remaining residents build better lives elsewhere.

I have no quarrel with small towns per se. Some host substantial mining or logging or manufacturing operations. Some provide services for large surrounding agrarian areas. Others are bedroom communities for city workers who trade a commute for cheaper living arrangements. These are all fine. These towns have solid economic reasons for existing, and are therefore viable. No problem. But others are not so fortunate.
I wonder if working fusion utility power generation, by the time it is working fusion utility power generation, might end up being more expensive than putting solar in space and beaming the power, given the potential for launch costs to drop and the possibility of even doing the panel manufacturing up there using asteroids as raw materials in the long run, so avoiding the gravity well cost. Economies of scale can get very big in space and if we are comparing to fusion research we should look at the medium to long run.
Facebook open-sources PyText NLP framework
> Sometimes a post can be short because a short post is all that is needed. E.g someone might ask me a question that the answer might simply be "yes". I would find it annoying to have to artificially pad the length.

> But longer posts should always be possible and the user interface shouldn't discourage them.

Yeah! For example, this is a node with two subnodes, one of which has a title and description and everything, the other just a body, so it gets a little permalink thingy:

https://i.imgur.com/tESzN5O.png

These are posts in a CMS and not comments, but the principle is the same. Just don't display gigantic things inline by default and there is no reason for big and small posts can't coexist.
> The point is that strtok is not a good choice even for single-threaded code.

Why isn't it a good choice exactly? Could you sum it up?
Reusable Water Bottles Market Valued at Over  $8B in 2018
Thats funny. The Age makes it seem like the jury is remanded. Remand is for the alleged offender[1]

[1] http://www.corrections.vic.gov.au/home/prison/remand/
Compiling or assembling, how does this work around the problem described in Reflections on Trusting Trust?
Chemistry professor had student freed from Islamic State war zone
Here is the musl implementation.

> https://github.com/esmil/musl/blob/master/src/string/strtok....

It's a bit longer than 4 lines because strtok does things you should not want. If you insist on parsing that configuration line with strtok, go ahead and write that brittle code. It breaks as soon as you want empty strings (try "keyword=value1, , value3" with strtok) or escape sequences or other transformations, or as soon as you want to do something as basic as parsing from a stream instead of a string that is completely in memory.

So to clarify, of course you are never done with parsing in 4 lines. But even if it wasn't as braindead to overwrite the input string, the functionality strtok provides would not be worth more than 4 lines.
The NY Times have an Australian Bureau[1] and as such the laws of Australia apply to that Bureau.

[1] https://www.nytimes.com/interactive/2017/world/australia/new...
WSL is a slow joke compared against native GNU/Linux. Also, you missed that WSL don't support GUI apps.
However the inverse, Wine, works very well and sometimes it's faster that native Windows
In my experience, the use of the terms “fractional reserve” and “fiat” are almost perfect indicators you are dealing with a conspiracy nut.
Also, some organisms are resistant to heat.

But really, the bigger issue (IMO) is that people don't know how to define "boiling". It's one of those things that you don't think is an issue until you're teaching people to cook, or work in a lab. There's surprising variation. One person's "barely steaming" is another's "full boil".
Saltecrafter Merch T Shirt