skysight-inc/HackerNews huggingface dataset:
“ If 80% of a closed population were to don a mask, COVID-19 infection rates would statistically drop to approximately one twelfth the number of infections—compared to a live-virus population in which no one wore masks.”
How would you then, say, do a profiled run of the application, to help find the choke points in your application? You'd have to make sure that you apply the exact same "trace the runtime of this function" wrapper around every single function call, then make sure you haven't missed anything anywhere, then have to maintain such usage, and then mentally ignore it everywhere when you're trying to read through the code.
> But that’s just OOP in general.

Nope, that's OOP taken to extremes rather. Java does that with enforcing things to be classes.
That it's more secure.
You're right. But this is the natural progression for React. React emphasizes stateful behavior in components. UseEffects with specific dependencies are actions which depend on the specified variable-set alone, while all the other infinite variables can change however they like. This concept already exists when we talk about state machines.

That said, it isn't a smooth transition going from explicit lifecycle methods in class based components to useEffect hooks in functional components. But it refines the quality of the thinking, and the quality of the code overall, imo.
I sat in a d2l.ai workshop and learned more than really any other one i’ve taken.
I suppose Op meant separating architecture dependant code to different cpp files and use build system to select right one.
Do those fields extend into infinity or is there a boundary that the electrons don't cross?

>If you took an atomic nucleus and bound only one electron to it, you would see the following 10 probability clouds for each electron, where these 10 diagrams correspond to the electron occupying each of the 1s, 2s, 2p, 3s, 3p, 3d, 4s, 4p, 4d and 4f orbitals, respectively. The electron is never located in one specific place at one particular time, but rather exists in a cloud-like or fog-like state, spread throughout a volume of space representing the entire atom.

If there is no boundary, then the universe itself would be full by that field definition because every electron would be at any point by a very small probability.
If you find a bug or even just a mistake in the documentation, you can fix it. In actuality, there is such thing as too small a fix, or the process for merging code can be made arbitrarily large, or the maintainer might just not want to make the improvement that obviously should be made.
I also considered this in the past but sometimes, I slip into procrastination mode unintentionally and might check my bank account (or pornhub) once in a while. So thinking my video is uploaded to somebody else's computer gives me the shivers.
On Text Editors
No, real people use EmotionSensorFactoryFactoryFactory. Why limit yourself only to HumorSensorFactory objects?
> The threat of collapsing healthcare system is really hard to estimate.

You don't need to estimate, you only need to look at the facts. In Spain the covid outbreak forced them to comandeer hotels to serve as intensive care units and even then they were compelled to open an emergency hospital in Madrid with capacity for 5000 patients just to be able to admit covid19 patients requiring immediate medical care.

And that alone was just to alleviate their healthcare system.
Ask HN: What stories and comments would we see on HN in the mid 20th century?
This is a bit of a departure from the question you asked, but I'm always amazed how much people tend to hyper-tune their dev environments, when in reality, most of my time is spent thinking how not to write code. I get just as much work done on a completely vanilla macbook with VS code installed on it as my editor-obsessed peers with obsessively optimized setups can.

How much actual code are you writing? I'd be really concerned with myself if I am putting out so much code that I need to be concerned with my text input speed.
I just tried to give a stab to Cocalc (https://cocalc.com/) (formerly Sage Math) but they don't have a free tier that allows downloading packages or cloning repositories.
> As of HTML5, web standards specify how to render invalid HTML as well

Ah, but this post is (seemingly accidentally) recommending you use quirks mode instead of HTML5:

> * <!DOCTYPE html> is required by the HTML spec (but not the XHTML spec). Most of browsers will not care if you omit it. It was created for backwards compatibility with prior HTML versions. You can omit it in minimal documents.
I think there is something between ordering people around and wishy washy orders that works with an anti-authoritarian framework.

The mainstream way of dealing with this is to work using OKRs and telling your team what to achieve rather than what to do (there are many advantages to this, not just the pure outcome of handing power down). When you start doing this the tables start to turn. You will get questions that you have to answer. Because everyone is now required to understand what they really work in and what the best way to get there is. You can help them find the best way, but you will rarely have the optimal answer. If you want your team to succeed you have to help them instead of ordering them around.

And that's really what I think managers are. Really they are interfaces to other teams and org levels and their objective, mentors and to some level curators / gardeners (you don't order plants around to make them grow. No, you find out what conditions they need and do your best to provide them).

You are right, there are many books out there. The one that I like to give my leads is: Managing Humans
The life-saving medicines inspired by animals
Just a PSA, but if the parenthesis solution doesn't work for you, you can define a COMMA macro and use it there (while everyone yells at you).
The greatest lie of open source? Assuming that an open source program is safe just because the source code is public.

This is better than not having the code at all, however this is a false sense of security.

First of all, you should be compiling your own binary from the sources, otherwise you are blindly trusting that those binaries you download are built from the original source code, which may not be the case.

Second, open source security relies on enough eyeballs reading the code independently and spotting the security holes or anything malicious but you can't know how many people actually did. Some software isn't popular enough, some other software contains millions of lines of code.

The same process would have to happen for each patch and software update.

The same thing happens with closed source projects, however. Less popular software will have smaller staff and it's more likely to contain errors and security holes, especially if it's an one man project. More popular software will have more staff working on it but if the software is big and complex, most people working on the project have never read the entire code and there's more lines of code that may contain issues.

Software is a giant mess
The gridline mental model of indexing and slicing
This is so amazing. Respect!
on Windows I use Win+1 (windows terminal or conemu), Win+2 VS 2019, Win+3 VSCode, etc
In my opinion the ultimate form of "grit", which is something along the "NEVER QUIT!" line, is (as are most "ultimate forms" of anything...) completely counterproductive and even dangerous.

If nothing important is in line there is no good reason to dissipate resources into something when doing otherwise would be more efficient.
As good practice from my Turbo Pascal days, I always consider a translation unit as being a module/unit/package/..., hence module.

So lets say you have usb module to talk with USB devices.

It would be composed of the following files:

- usb.h and usb.cpp for the public interface and os agnostic code, including function declarations for the OS specific parts.

- usb_windows.cpp, usb_linux.cpp, ... for OS specific code

- usb_windows_x86.cpp, usb_windows_arm.cpp,... for inline Assembly, intrisics or hardware specific data structures.

Then you get Make, CMake or whatever is your favourite build tool to combine those files depending on the build target.

Pre-processor usage for OS specific code always starts easy on the beginning, but when you look at a bunch of files with 20 years of history and continuous change by consulting companies you need several days just to understand what is actually being generated when dropped into a random code base.

This way is it much easier to navigate across the code.

It is also the approach adopted by Go, and a couple of other languages without direct support for pre-processors.
> I wish we could get rid of it and replace it with something sensible

Getting rid of it is hard, but replacing many uses of it with a more capable codgen/templating your definition of sensible is very simple, just a make rule or two.
> why? If I'm not planning on using non-ASCII characters, why bother?

IF you have any user input at all (forms...), you will end up with major headaches.
On the level of practical risk: on the security level libraries are much more risky imo. A good framework for most project i've seen will lead to a more structured and secure codebase. Probably precisely because there is less room for creativity.

For instance Laravel is very structured: orm, auth routes, controllers system etc., where express.js let's you do whatever.

And almost all Expressjs or other Nodejs projects i've joined were a mess and had security issues, something as simple as CSRF tokens, or not allowing redirects to external domains, are often forgotten or not fully implemented.

Doesn't mean I don't sometimes prefer a library approach, but the developer(s) need to be a lot more qualitative.
Very well! Its extremely simplified: we introduce the hierarchy of high level Python, low level C, assembler mnemonics and binary machine code and look at examples of each.

But prior to that I have a few “virtual machines” that we use as compiler targets, where the VM is a robot finger that accepts the left right up down and press key commands, and the compilation step is to convert a string like HELLO into a series of robot commands.

So no branching. No labels or repeatable units of code. The example gets them warmed up to the idea of converting ideas in high levels to simpler code at lower levels, for simple machines to execute.

Towards the end we look at (but don’t dive too deep into) real world compilers. What does print(hello 2+3) look like in mach-O 64 assembler? Answer: erm quite a lot of gibberish but the ADDL is visible, and we can change it to SUBL and get “hello -1” to print :)

Personally, the hardest parts of compiling for me to understand were the steps after lexing. Moving through a grammar to actually do things. Having everything in Python helps this a lot, as you can see how parsing some source code is just a way of triggering other code to execute.

Apologies for the hand waving. I have a CS degree so I promise it’s not quite as vague as I make it out to be!
A Furry's Guide to Authenticated Key Exchanges
"Death to" in Persian is just the opposite of "long live", and it means "down with". Annoyed taxi drivers for example say "death to traffic" [1]

The American romcom "Down with love" is translated in Persian as "Death to love" [2]

[1] https://blog.ricksteves.com/blog/death-to-israel-death-to-tr...

[2] https://fa.wikipedia.org/wiki/%D9%85%D8%B1%DA%AF_%D8%A8%D8%B...
I remember the Rails people making fun of the Spring stacktraces vs the Rails one (being much shorter). Guess what, a couple of years later Rails has the same layers of abstraction
I think Dropwizard is a great alternative to Spring. If you want to draw a spectrum between framework and "curated libraries + best practices", it's much closer to the latter. But then I guess that also depends on how much you consider the libraries it uses like guice and jndi to be "mini-frameworks". Ultimately, all that matters is how easy it makes your job, in both the best case and worst case scenarios, so I'll leave that to your own judgement as an engineer.
Taxi apps don't replace middle managers, they replace dispatchers.
> - Your eyes are the only broadband connection into the brain, and they have millenia of pattern recognition training built into them.

This is also true of your ears. If you can find a way to convert what's going on into sound, you can very accurately pick up inconsistencies by ear.

(This is why you sometimes want to bring a stethoscope into the machine room.)
A Framework to Detect, Identify, and Localize Clandestine Wireless Sensors
Yeah they sure are driving me to the app. The Apollo app that is.
5 Ways Of Optimizing Your Website for Your Target Audience
I haven't "brought someone's personal details as ammunition". I have called someone by his name when had introduced himself by his name beforehand in his HN's "about". How can this be personal attack? Some would say I'm just being polite.

If he does not like it then perhaps he should not publish his name on HN or should write things that he is not ashamed of.

If you introduce yourself by "Hi I'm John" then you cannot complain that people call you John.

This is ridiculous.
Not a tool as you asked for but...

My tip is to change the requirements. Requirements are often poorly written and often contain a suggested implementation. Try to find the real problem, talk to your stakeholders and alter the requirements to find the easiest implementation.

I've saved months of work several times by doing this.
If I give you a jar (or equivalent) of my compiled app, can you still apply cross cutting concerns (over compiled code you may not own)? Because that's what AOP and bytecode transformation can do.
Datalore (https://datalore.io/) by JetBrains seemed to behave as expected. Received this email describing their free Tier:

With the Community subscription, you can

use 10 GB storage to upload datasets
run computations in up to 3 workbooks at the same time
analyze data for 120 hours monthly

The setup is somehow clunkier, no Git client so you have to use their UI.
Thanks for your answer. Yeah, I felt like the same way. There are too many SEO pumped content. These days, I am starting check until 4th page of Google. Before I only need to go 3rd search result.

I am only talking about content by the way, I still find what I am looking for if I am searching something else
Thank you and the parent for recommendations. Every time I encounter Beard she seems amazing.

(To be fair to the parent comment: I think they meant to literally read the Wikipedia article, rather than the volumes themselves!)
Don't forget AOP can work on top of compiled classes, not sure I'd there is an equivalent in python or ruby.
For the good parts, I would add the effortless type declarations to overcome “Primitive Obsession”, the immensely useful pattern matching to ensure you cover all edge cases and what I really found to be the killer feature: Type Providers to enable typed data wrangling in just a few lines.
Fwiw, much of Western Europe is vitamin d deficient through no fault of their own. There's just too much cloud cover. Thankfully the past few weeks have been really nice.
It took them forty years to deliver the democracy the 1947 constitution provisioned.
US reversal prevents UN vote on international pandemic ceasefire
The reason is that the code formatters are broken and don't support the full html5 specification.
A month or so ago a paper about a deep learning model using a cpu beating the best (4000$ or so) nvidia gpu was on hn, the trick was a quick hashing technique similar to nearest neighbour, so the algorithm keep only the most active neurons. I think the gpu price was about 4000$ and the computer was 60% of that based on some ball park estimates from the comments in HN.

Edited: This is the paper:https://news.ycombinator.com/item?id=22502131

Perhaps both techniques can be used together, since the paper take advantage of sparcity to beat gpu when computation are on a sparse subset.
It could be argued that acquiring a whole security-focused company is a signal they’re seriously reconsidering their approach to security and deserve a benefit of the doubt.
No, it’s all automated. The open source world knows of TeX but there’s a plethora of proprietary justification algorithms used in commercial typesetting.
With tools like Next.js or Gatsby it's not that bad. We use Next at work on a large scale and it works for us. But do you know what language gives you instant SSR? PHP :) It's funny how we had to invest so much effort to replicate with another language supports out of the box. I've built a blog in a few hours with Craft CMS, perfect tool for the job this case, I didn't even have to touch PHP files, just the templates.
It's somewhat unfortunate that XML arrived at this perception of being complex, when SGML (= superset of XML, HTML, and everything angle-bracket markup) very much is a technique to give structure to ordinary plain text. For example, SGML could parse .INI file syntax such as the following (and present it as a fully-tagged, canonical markup ie. XML):

[config-item-X]
config-param-Y=bla
config-param-Z=123

If you look at how popular markdown and other wiki syntax is, and at the same seeing folks hit markdown's limitations fairly quickly (for example, markdown has no way to pull-in content from other files or doing any document composition whatsoever), then I hope you can see that SGML is a technique designed for a broad application in this area, being able to handle standard markdown and custom markdown extensions (not to mention that SGML is the only ISO markup meta-language able to handle HTML with all it's tag omission rules).

In XML-land, this has been re-discovered as "invisible markup" a couple years ago, going full-circle in the "dumbing down" of SGML into XML (which was seen as progress and win for simplicity at the time when XML was subset from SGML).

I would also disagree that the defining characteristic of SGML/XML is nesting of tags so much as it is regular content models. A content model such as

configitem: configparam+
configparam: configparam-name, configparam-value

is what drives SGML's tag inference in the above example.

But yeah, SGML/XML is made for markup, not necessarily config files and service payloads. And I agree SQL could be improved by treating it like an ordinary programming language, with the same focus on SQL artifacts wrt syntax highlighting, static checking, and testing (though probably not in the way you suggested, by reading-in SQL script files as a primary means to serialize DBs :).
It's pretty painless to select the next word though. It's best for the computer to err on the side of caution in this case.

[Edit: Ah, it might not be common knowledge but you can drag on the double click to select more words. You can also hold alt while editing text to jump words, and even combine alt+shift and alt+delete. Windows and Apple differ on the boundaries wrt whitespace, but I'm fairly sure they're both alt. Wordjumps while editing is an unappreciated superpower imo.]

Also FWIW Safari also supports this.

https://files.catbox.moe/c3bzva.mov
How is this different than just going on youtube and irc?
This is why I love writing libraries in Rust: the language provides so many ways of protecting users of your library to shoot themselves into the foot.

Combine this with the built in and easy to use testing and I find myself often to break out core functionality of my applications into libraries just because it is a sane way to keep things decoupled.

This is far harder in languages without a strict type system: you can do everything right and your users still abuse it.
That doesn't have to be on the html element though, it can be on another element if so desired.
Thanks for the detailed answer.

HN would be pretty cluttered if everyone thanked everyone else for their contributions but I saw your account is only 3 hours old, so (1) thank you and also (2) Welcome!
It should be noted that while he does have some qualifications due to being a nurse and a nursing teacher, he's a Doctor in Philosophy and not in any medical/science field. It doesn't dismiss his claims per se but I still think he's using his Doctor title in a somewhat misleading way in this Covid19 context where a lot of people seem to think he's actually a medical doctor which he's not (edit: and this can be easily verified by just skimming through most comments on his videos which praises him in that regard).
Pico-8 0.2 (Beta)
I could fit the matter of trillions more human beings in the same space I'm taking up now.

Try it.
What makes a good REPL? (2017)
2020 is the year of the Linux desktop.
I don't speak Korean, but my understanding is that some applications don't just use spaces because of how they're used in loan words. The Korean for "travel bag" has a space in it but you might want it as one token, for example. There's a fork of MeCab that has some different cost calculations related to whitespace for use with Korean.
It is very CPU intensive but nowadays CPUs with high core counts are very cheap. Get an AMD CPU with at least 6 cores and you will be doing fine.
Ask HN: Lob-like service, but based in Europe?
I'd love to use Lob: they have a clean API, good support, they can send letters and postcards anywhere in the world... but they're based in the US, and the problem is that mail might take a while to reach other parts of the world, for example Europe.

According to their website: for First Class mail, it's 4 to 6 business days _plus_ an additional 5 to 7 days, while for Standard Mail, anywhere from 7 to 21 business days (and USPS does not provide delivery time guarantees for Standard Mail).

What are my options, were I look to target the European market?
A delivery time of 4-6 business days would be something I'd love to have.
Yes, it's complicated.

Here's an amusing (albeit ~neutral) summary: https://www.youtube.com/watch?v=U9-H5C_4UDU
oh, Laravel is actually an excellent example. It has a lot of hidden "magic" knowledge inside and it takes many months to get a good understanding of how it works. Until then it is trivial to make bad decisions based on this wrong knowledge. Lack of proper IDE support (because of laravel's dynamic nature) doesn't help. And yes, I know about laravel-ide-helper. It has it's issues too
> This is a big part of why I think we could have exposed much more people to the virus with only marginal increase in hospitalizations, by encouraging those who are not at risk to live as normally

This is largely what Sweden has been doing. They've succeeded in that they've kept a healthy margin of hospital/ICU beds free, but people are unhappy with the overall number of deaths. They've also largely failed at keeping the spread out of nursing homes (they have a similar 50% deaths-from-nursing-homes ratio to other countries).
Gentle Is Shutting Down
If you think the presence of a power grid is the same as having power 24/7, you need to spend some time in other parts of the world. In some places you are lucky to have power for 12 hours a day.

You're looking at this from a position of privilege. When I say "cost is another reason", what I'm really saying is that many people literally can't afford the electricity or the electric heater itself. The vast majority of the world's population earn no more than a few US dollars a day. They are saving for their next meal and hoping they can afford to have their shoes repaired soon. They aren't in a position to consider how they can be more environmentally friendly. They just want to survive.
Which tiling window manager do you use?
Launch thread: https://news.ycombinator.com/item?id=22909419 (just 20 days ago!)
how much volume does a wave take up in the sea?
Looks interesting... though the very basic "getting started" code has an error in it.

Also... messages are in Chinese so perhaps it's not intended for the west.
Nope, there are no atoms. Except at the surface, I suppose.