skysight-inc/HackerNews huggingface dataset:
Sorry who is trying to censor weirdness? Last I knew albinoblacksheep.com and zombo.com where doing just fine, and no one was trying to take them down.

Maybe you are aware of something I'm not, and there really is a campaign against weirdness that I just haven't seen, but it feels to me like you are trying to drag this topic down an unrelated political tangent. Please don't.
Like someone else mentioned, there's no need for Node pointers at all here, storing Nodes by value cuts away a decent chunk of complexity and should run plenty faster (especially when threads are linked).

I would consider switching the unordered_map to a sorted vector<pair<T, Node>>; or even better, move the key into Node and simply store as vector<Node>. Hash tables are relatively expensive to create in exchange for excellent performance for large tables, and you're creating a lot of tiny tables. A regular map would likely fall somewhere in between performance-wise since they're cheaper to create.
Can you support iOS's "peek" menu as well?
Oh nice, I already wanted to build something like this for our infrastructure as I don't like the overhead of VPNs. For Cloudflare this makes perfect sense of course as they have the DNS and load-balancing infrastructure as well as a reverse proxy in place already. What I don't like about this is that (as fas as I know) it would require sending all of our traffic over Cloudflare and let them decrypt it. I'd personally prefer to host something like this myself, especially if it's only for development purposes where I don't care (much) about scalability or latency since it will serve only a small number of users.
At LLNL the story is similar, but the framework is RAJA: https://github.com/llnl/raja. RAJA is a bit simpler than Kokkos in that it does not require you to adopt its data structures.

The Kokkos and RAJA teams are also working together on some common utility libraries now.
(Disclosure: I'm Carter's desk-neighbor at Triplebyte.)

I think there's actually a middle ground where you can utilize some of the more modern techniques to actually do better than the pure static pages approach, while still using normal browser-based page navigation.

As a personal challenge, I wanted to see what could be done about performance for a recently-launched side project: the Ultimate Electronics Book [1], which is a free online electronics textbook that has interactive circuit simulations built in. Here's what I ended up with in the spirit of progressive enhancement:

1) Static site generated by Jekyll (with a few custom plugins) and hosted on S3+CloudFront with appropriate caching headers

2) No JS blocking initial page load

3) No custom CSS fonts to download

4) Prefetch and dns-prefetch headers

5) Tell browser to preload next page on link mouseover (instant.page)

6) Lazy-loading of schematic images (lozad / IntersectionObserver) when they're nearly within scroll range

7) Client-side instant search index (awesomplete + custom code)

8) Tooltips with section descriptions on internal navigation links (balloon.css)

There are heavier components to this too:

1) Equation rendering (MathJax) is heavy and slow but starts rendering the equations after initial page load, and prioritizes equations within the first few thousand vertical pixels first. (Sadly I need the full power of MathJax; the faster KaTeX engine can't handle all of my equations.)

2) The schematic editor / client-side circuit simulation engine is an entirely separate SPA. (But by modern standards it's probably a smaller payload than many sites today use for serving totally static content with a few forms.)

The result is a site that loads pretty darn fast -- maybe faster than a static page due to preloading and lazy-loading -- but packs in a lot of functionality appropriate to the problem. Any techniques I'm missing?

[1] https://ultimateelectronicsbook.com/
Why Public-Key Encryption Is Cool
Would love to see a link to what you are talking about
I think the author makes some good points, especially about how the public has become so much more visually oriented.

I would just add that for jazz, one of the reason it lost popularity is it became so avant guard after World War II with the rise of bebop, and left the public behind.
> Microsoft was led by stellar results in the Azure cloud computing, LinkedIn and cloud-software segments, with only one laggard: The Xbox gaming business and its related services.

The title should be changed to Microsoft is killing it in all businesses except for Xbox gaming, IMHO.

Edit: I meant on HN, since the guidelines say: "please use the original title, unless it is misleading or linkbait"
I’m actually a big proponent of generous but reasonable PTO that doesn’t require a designation between sick and vacation.
> He says the reason people code client-side navigations is to load pages more quickly. That's not the reason.

That was the reason given by MDN.
Search in bash history -- CRTL+R (many people also bind this to other keys)
Thanks, I hate it.
It even has a popup after a while
https://imgur.com/a/8Qsg8O2

Here is your reason OP.
He's also arguing that code is math, which is academic bullshit at it's finest.
Not every project is the same. I suspect there are many applications where an SPA is a much better experience than a traditional website. In my opinion, a documentation site is not one of them.
I tried giving this a run from CLion and it crashes if I search first, see

#include "trie.hpp"
#include <iostream>

int main() {
trie<char16_t> trie;

// Greek
std::cout << trie.search(u"υπολογιστής") << std::endl;
std::cout << trie.search(u"υπολογιστης") << std::endl;

// English
std::cout << trie.search(u"computer") << std::endl;
std::cout << trie.search(u"compute") << std::endl;

// Greek
trie.insert(u"υπολογιστής"); //crash

// English
trie.insert(u"computer");

// Greek
std::cout << trie.search(u"υπολογιστής") << std::endl;
std::cout << trie.search(u"υπολογιστης") << std::endl;

// English
std::cout << trie.search(u"computer") << std::endl;
std::cout << trie.search(u"compute") << std::endl;

return 0;
}
If that would be the headline, there would be no reason at all to click on the story.
On the NNSA side of DOE, the codes very intentionally do not depend on CUDA. They use RAJA (https://github.com/llnl/raja) or Kokkos (https://github.com/kokkos/kokkos) to ensure that they're not tied to a particular GPU. Using those frameworks you can easily switch between CUDA, OpenMP, or whatever in a single-source codebase.
I remember reading somewhere that in the earlier days the most popular "authentic" videos were actually created by paid actors.
Resuming ZFS Send
It's hard to answer this question without knowing what kinds of devices you're going to control. For example, I'd want a failsafe way of turning on a light or air conditioner if there was a problem with the IOT network. Not being able to manually turn on a heating system could be very costly in the winter (frozen water pipes, etc.). However, I wouldn't care nearly as much if I was unable to dim a lightbulb or change its color.
How Not to Get Eaten by Technology
What legitimate use case is there for a blob script-src in a browser extension?
> a term of art that I’m not understanding

Actually, it's a hand-wavy term that is not well-defined, because "universe" and "branch" and "world" are not well-defined.

> sampling successor universes

The problem with this is that in order to sample something you have to specify the procedure by which you are going to do the sampling because your results are going to depend on that procedure. So even leaving aside the fact that the thing that you're trying to sample is not even well-defined, there are other issues.

Sampling finite sets is straightforward, but for infinite sets it gets tricky [1], and for infinite sets without a total ordering it gets very tricky. Consider, for example, generating a random complex number. There are at least two plausible ways to do this:

1. Generate two random reals x and y, and combine them to produce the random complex number x + iy.

2. Generate two random reals, r and theta and combine them to produce the random complex number r * (sin(theta) + i cos(theta)).

Depending on which of these methods you choose, you'll get different-looking distributions. Neither one is "correct".

If you're going to talk about sampling worlds you have all these difficulties in spades because worlds are rays in Hilbert spaces, i.e. vector spaces with an infinite number of dimensions. There are an infinite number of ways to generate random distributions over a Hilbert space. The trick is to make an argument for why one particular way is better than all the others.

The obvious argument is to present a way of sampling that reproduces the Born rule and argue that it's better because it reproduces the experimental results. But in order to not be begging the question, this sampling procedure can't have the Born rule hidden within it. That is what Wallace and Deutsch claim to have done, but which I (and many others) dispute.

[1] https://math.stackexchange.com/questions/997173/can-you-pick...
I know, that's why I used the word `rumor`. Powerful Heavenly Perl was a geek joke (like PlentyofHorsePower).
byobu and tmux are god-tier

vim: use :!some_shell_command --with_arguments to run a shell command from within vim quickly

also :set hlsearch to allow search highlighting, and use :noh to disable the current highlight once you no longer need the text to be a different color

tmux: Prefix-[ to scroll up console text. use / to search down, and ? to search up (just like in vim)

tmux: Prefix-z to zoom current pane to full size of window

zsh: vi-mode plugin to quickly use vim shortcuts on terminal input text, history-substring-search plugin to quickly remember what finicky command I was using earlier

also shells in general: ctrl-s to pause text (eg if you want to pause log spam), ctrl-q to resume

ssh -XC for compressed x11 forwarding, to speed up x11 responsiveness

on remote server: python2 -m SimpleHTTPServer 8080 --bind localhost to quickly start a simple file/http server from the current directory that is NOT internet accessible (ie nobody steals your shit)

then on local computer: ssh -L 8080:localhost:8080 to tunnel to remote server's localhost server. then just type in localhost:8080 in firefox to access remote server's files
Is a comment, not a personal attack, and is a justified one. There is a really insidious, and difficult to fight, trend with alien species that many people repeat again and again. That the correct way to manage alien species is 1) delaying the action as many as you can 2) letting the problem rot 3) building a narrative that will comfort you for 4) accepting the new situation.

I had seen this "algorithm" dozens of times before

This is plain wrong and it must be repeated more. Please don't spread such ideas. Alien species are a problem both environmental and also economical of first order
Thank you, Goblin Queen! I am persuaded by your logic.
If a program generates something, and then a human hand-curates it, that’s maybe hand crafting (the program is being used as a tool by the human artisan.)

But if a program generates something, and then just directly serves the result, it is certainly not hand-crafted.

The distinction comes down to whether the final result is something a human signed off on and took responsibility for, or whether it’s just the result of blind rule-following.
These are legit sellers. And different ones too. Doesn't make sense.
CSS doesn’t require javascript, and allows for nearly all the features of a SPA.
yes, but I personally don't think that's a good goal for a fine. generally speaking, there are two kinds of offenses: those that hurt people, and those that don't necessarily harm, but expose to excess risk. if you actually hurt someone, you should pay the approximate cost plus a little extra. if you hurt someone seriously, some jail time might be in order. but I think excess risk is better handled through liability. there's something sort of absurd about being punished for a behavior that didn't actually hurt anyone.

tbh, I don't actually support speeding tickets in the first place, at least not on the highway. people speeding in a well-maintained vehicle (and obeying the other traffic laws) are not a huge threat. I'm much more worried about the people weaving between traffic, obstructing the fast lane, reading instagram, etc.
what number you on now?
Yes, but equally so, replying to this email comments with "but page loads are slow" is not helpful.
> I worked on a porn site that was basically an endless-scroll video gallery.

So, if you're a horny teenager, you scrool down for a huge amount of time to find "the video" that will get you off... and you hear your mom coming up the stairs, Control+w (close tab), and when she goes downstairs again, you press Control+shift+t (reopen last closed tab), you're back at the beginning, and have to search for that video again? That sucks.

Endless scrolling sucks. You go down and down and down, and something breaks (eg. bad wifi), and you lose your position, since refresh takes you back to top.
Nope, it goes for companies setup stateside as well. For example, Faraday Future, a now-failed electric car startup was headquartered in California, but had very strong IP transfer methods in place to get technology developed here back to the China "sister company" also run by the Chinese investors. The same setup is used at a couple of other China-funded startups I've run into in the last couple years as well. Basically, if you take Chinese investment money it's highly likely to come with some very strong strings attached.
Probably https://github.com/trishume/eyeLike
While it's true that the browser won't have to download the content again, it will have to re-instantiate various resources (eg execute all JavaScript over again..., restart gifs). If implemented correctly, JavaScript navigation should seamlessly appear like normal navigation. Not supporting streamed requests is a serious drawback.

Of course browsers have actually gotten pretty good at AJAX-like loading instead of completely re-rendering the page. These systems tend to rely on heuristics though, and I don't think there's any documentation for these, but even when these fail the browser tend to be more competent than even the best JavaScript solutions.
I HAVE AN IDEA: TINDER BUT WITH VIDEOS
Hyponomics, and the Role of Artificial Intelligence in Harnessing It
There are many good ones, but after a quick bookmark search, this shop is done really well, imho: https://www.shopflamingo.com/
Gotta love the implicit ageism in the first para's assumption that the web already existed when current web developers first got interested in coding. I wrote my first code on a ZX81, or possibly an Apple II, and I'm still getting paid to build web applications today!
is it that much worse than in the US? my city of ~800k is just finding out our senator and relations found a way to get $500M o federal funds to dramatically increase the value of the land they and their friends bought shortly before the project was started. sadly with as much detail as I provided you probably still can't be sure which city I'm talking about because it happens everywhere. Regulatory capture in the communication, medical, defense, and banking industries is obvious and unchallenged. How bad is Bulgaria?
React. I thought it was another flash in the pan library from Facebook. Likely to be never heard of again in 6 months.

In my defense I’ve seen a lot UI Framework/libraries come and quickly disappear. But yeah it’s still going strong 6 years later. Which is about 100 years in JavaScript time
The safe browsing protocol computes (up to) 30 hashes of each URL, most of which include path components of the URL. So the space of URLs subject to hashing is far greater than 2^32, and the hash prefix alone tells you practically nothing.

Furthermore the protocol does not declare as URL as blocked just because the 32-bit hash prefix matches. If the prefix matches, the browser downloads the list of full hashes and checks the full hash against that list locally.

It's frustrating to see people jumping to erroneous conclusions about how Safe Browsing works when the spec is publicly available and quite clear. https://developers.google.com/safe-browsing/v4/
Am I missing something here?

When I see weird situations like this, I usually assume it's a consequence of algorithmic pricing driven by bots, and that there's a bug, or the bots got caught up in some weird feedback loop or something, and the prices got set to some goofy value.

It could also be that demand for the book did temporarily spike for some reason (maybe somebody famous mentioned it in a popular Youtube video or something) and the pricing algorithms were reacting, but just overshot the mark.

I think something like that happened with Human Universals (https://www.amazon.com/Human-Universals-Donald-Brown/dp/0070...) a while back... it's not really all that notable a book in general, and there are plenty of used copies available. But Alan Kay recommended it in his Startup School videos and when I went to look for a copy, the prices were all totally outrageous. Like, on the order of several hundred dollars for even the paperback edition. But it eventually settled back down... but even now, the cheapest used paperback copy is around $65.00. Maybe it was a coincidence, but I suspect it was related.
On a similar note: "How close would you have to be to a supernova to get a lethal dose of neutrino radiation?" [0].

BTW, this happens in the novel "Iron Sunrise" by Charles Stross, where people on an Earth-like planet suffer the misfortune of their star reaching (artificially) the supernova stage.

[0] https://what-if.xkcd.com/73/
The Four Ordinary People Who Took on Big Pharma
A few things that would improve TUIs for me:

1. Add some left and right margins to the terminal window so the text isn't completely flush to the edge of the window. Make this the default.

2. Add a bit of line spacing between each line. Enough so that each line is spaced proportional to the height of the font and it looks pleasant. This doesn't mean acres of blank space or lack of "information density".

3. Use tables to display columnar information or data. These can be faint table lines when needed to help guide the eye across the screen. Or at least space the columns out so the data from columns don't look like they are crashing into each other. This would mean rendering a TUI with a more sophisticated display engine than a basic character-only one.

Finally, wouldn't it be nice if an experienced professional type designer applied some typographic finesse to a terminal screen? One can only imagine the disdain and sky-high snark they'd encounter from developers.
Aren't the second and third lines of the insert/search implementations superfluous? Casting root to a boolean will never return false, since it is initialized. The insert implementation doesn't update root, so if root were nullptr, insert would be throwing away its work.
Loads about as fast as I'd expect from a static site.

Hover is a bit messy. When I move my mouse down the table of contents, the tooltip obscures the next chapter title, and sometimes grabs the click as well.

Back button handling seems to be buggy. If I click from the table of contents to a chapter, then hit back, then click to another chapter, then hit back again and do that a few times, the history becomes filled with many instances of table of contents.

Also something weird happens when I click a chapter link. Like, the whole table of contents scrolls for an instant and then I see the chapter.

Edit: if I disable JS, all these problems go away and the site feels just as fast. So good job on that :-)
Court OKs female inmates' strip search, tampon removal, for training
Ask HN: I have a 6th-grade education. Should I hide this in interviews?
My formal education ended after 6th grade (chaotic childhood, meth house).

At 16 I started earning enough to live on, doing something on my own that was tangentially related to software, math, logic (keeping it vague to protect id). I did that for a number of years, then became interested in programming and a lot of those skills transferred over very well.

I got a formal software job years ago, and have since held a few positions, including senior engineering positions, at some small- and mid-size Bay Area tech companies.

Now I'm being invited to on-sites at bigger companies (Google, FB, Amazon, etc).

I used to be ashamed, but at this point, my academic history has become something I'm actually very proud of. Someday, I would like to be open and "out" about it, but I don't know when (or if) it will ever be safe for me to do that.

It seems like the kind of thing that should be mentioned during the interview process, not after. So my question is: How significantly would this reduce my likelihood of receiving an offer from a major tech company?
All major browsers cache the relevant assets (images, CSS, JS) in-memory between navigations in the same frame/tab and origin (at least).
This will happen again and again because governments in developing countries don't understand importance of IT security, where people with no qualifications (often nepotism) works on protecting very important data. Not to mention that someone who is qualified to work there is often working in private sector for 3 to 5 times bigger salary due to govt. regulations on public sector salaries.
I've wanted something like this too, mostly for learning and food for thought.

Memo tried to carve out a niche ("Facebook is for photos. Twitter for discussing sports and Donald Trump. Memo is for learning.") (https://web.archive.org/web/20161021001811/http://memoapp.co...) but they ultimately threw in the towel. (http://memoapp.co/)

I doubt there's going to be a successful new product for this because Pinterest and Twitter cover the use cases pretty well and are hotter media (à la McLuhan). Images are mostly a superset of text use cases. You can always put great text into an image, and doing so gives is more context and emotional color.

Also funny, if you search Hacker News for "pinterest text" you get this Ask HN and a Show HN from six years ago: https://news.ycombinator.com/item?id=5558714 So it looks like QuoteRed also tried and gave up.

Maybe an open source app would work because it wouldn't need much of a sustainability model, just a few passionate dogfooding developers.
This should make it trivial now to see which locals are being paid by foreign military contracts in order to facilitate tradecraft.
Does anyone think that that's a bad thing? If so, why?
Bus factor.

You may start using a project, everything is fine, but then you hit the bug.
And due to author unavailability(vacations, full-time job, just an abandoned project, etc) to solve the problem you need to fork it and maintain on your own or just find another thing.
agreed. I launched a cgi-based thingy a few months ago for my job to render a really basic template across a ton of sites with very low volume. Had it out in less than an hour.
Architecture critic re-reads A Pattern Language
>But there are worse issues here, for example: corruption, stealing of European and government funds, oligarchic control of the power, etc.

Ah, the Eastern Europe usual problems...
I tried using AirTable twice. It has a steep learning curve. The UI comes in the way often.

If they really have day-to-day users - they must be from the top down approach (somebody up the chain selected it) or forcefully committed ones or a have a perfect use-case.

It is certainly not for regular/most excel users.
Jack Meyer’s Convexity Shutting Down
Have you been paying attention for the past 20 years? Chinese investment comes with forced technology transfer.
If you're on a phone, here's an HTML version of the paper: https://www.arxiv-vanity.com/papers/1907.05954/
A 55mph road is a highway regardless of other factors (in my opinion).

Sucks that a school is on it