skysight-inc/HackerNews huggingface dataset:
Which form of jitter is better: adding a random wait time to a predetermined wait time that grows exponentially with each retry attempt, or following something like [0] where every retry attempt increases the possible wait time choices and the "jitter" is to randomly pick one of them?

To illustrate the latter option, suppose the smallest retry time unit is 1 second. The first attempt gives you a random choice in {0, 1}. The second attempt gives you a random choice in {0, 1, 2}. The third attempt gives you a random choice in {0, 1, 2, 4}. The fourth attempt gives you a random choice in {0, 1, 2, 4, 8}. This goes on until a ceiling in the number of attempts or a set wall clock time is reached.

[0]: https://en.wikipedia.org/wiki/Exponential_backoff#Example_ex...
That's a terrible example and your biases are showing.
Put your money where your mouth is, or something like that
Anecdotally (it was a contrived sorting benchmark so the exact numbers don't really matter), Python started off about 3 times slower than D, but and grew at what would be considered the same O() but the coefficient was enormous. To the point where a D was taking 3s for n-million arrays, Python closer to one minute.

Node was actually very impressive, roughly as fast as D's reference compiler (cutting edge optimisations maybe 2 decades ago) in release mode.
Do you think it was the right choice? Like did the custom hardware save money and make them more competitive? They announced that their board can do 144 TFlops but TFlops is such a bad gauge on performance.
4. Teach the next hire after you, how to do 1-3.
For me, the idea is sound but the implementation always seems so cumbersome. I want something that separates the data from the display as much as possible, has an easy 'note taking' and has an easy install. One problem I always encounter is that if the interface to add notes has too much friction, I stop using it pretty quickly.

Anyway, so I created something over the weekend called 'notenox' [0]. It creates a a JSON file of relevant information, one JSON file per note, with keywords and a "special" keyword prefix called a 'title' that mimics how I've actually been taking notes (email, so the 'title' mimics an email thread). For display, I consolidate all JSON files into a single JSON file and then have it loaded into the browser with some Javascript to group by title or keyword, along with doing all cross referencing and counting on the client end.

Creating notes is done through the command line, because that's a common way I interact with my computer, with different options to create titles, links, keywords, etc. I'm sure there are many different Zettelkasten implementations out there but they always seem so clunky and cumbersome. It's not hard, so the simple use case should be simple, nor should it proprietary or locked behind a SaaS.

You can see my personal notes in action, if you like [1] (sorry, not mobile friendly!).

[0] https://github.com/abetusk/www.mechaelephant.com/tree/releas...

[1] https://mechaelephant.com/notenox
Here's a whole podcast for ya, it's a good listen.

https://www.wnycstudios.org/podcasts/radiolabmoreperfect/epi...

The idea is seperable, I'm not sure if you're American or from what part of the country you're from, but gun culture extends beyond Fox News, Qanon, and conservatism in general. Lots of people in Michigan, Vermont, and Washington have guns.

I also don't think you know what you're talking about with White supremacy, generally gun control has been passed specifically to disarm minorities. For e.g. the time the NRA and Ronald Regan teamed up to pass gun control. [0].

Much like freedom of speech generally giving the majority absolute power, like a monopoly on violence, ends badly for the minority.

Everyone has the right to an armed revolution, under the right circumstances, regardless of the second amendment. Read the first paragrph on the declaration of independence.(Which basically says we're doing an armed rebellion bc of the right circumstances)

https://www.archives.gov/founding-docs/declaration-transcrip...

[0] https://en.m.wikipedia.org/wiki/Mulford_Act

[1] https://en.m.wikipedia.org/wiki/John_Brown%27s_raid_on_Harpe...
> Most progressive thinking is moving towards more legalization and treatment, vs banning and punishment... Treat it like we’re starting to treat drugs

I'm all for the direction that drug policy is going (towards more treatment, less prison time - I live in Oregon and we're on the forefront of this in the US) but I'm not sure how this would work in regards to misinformation. How do we get conspiracy theorists into treatment? Won't they just figure that's part of the conspiracy to re-educate them? And a lot of this disinformation is coming from bad actors with intent to harm.

The epistemic gap is, I think the most serious problem we face now. We can't address other serious problems like climate change or even getting COVID vaccines out to people because there's disinformation. We seem to be completely unprepared to deal with this. The immune system offers an analogy - we need a societal immune system that attacks disinformation in some way. No idea how we get there, though.
Same way as men do? How are women different than men w.r.t. this?
I've seen it regularly happen where a user's company account is used for email that whenever the user changes their password, the email app on their phone causes their account to get locked out by doing repeated retries with the old password.
I've worked at multiple companies where the interviewers will say stuff like "we have the best engineering team in the world!", and then you get hired and look at their codebase...
What's striking to me is that prehistoric art in parts of the world that were unlikely to be in communication with each other tend to hit on common themes, e.g. the frequent depiction of animals (as opposed to depicting humans, which is apparently fairly rare). Where does the impetus come from?
"Wide eyed and run away"... "like a cancer, to me"... "keep pandora's box closed"... no. OC was very consistent throughout that paragraph. The intention was made very clear through repetition, and demanding a "charitable" interpretation of calling discussion of race, sex, and gender identities a "cancer" is disingenuous.
It's more than just phony positivity. It includes supression of criticism.
> "usually followed by the hashtag #blessed"

Among the oldest portions of the Bible is the Book of Job.

Well worth spending some time there to remember that, short of stage 4 cancer, there is generally room for things to worsen.
Do you mean "espoused" instead of "eschewed"?
I think a minimal reproduction of each common complexity would be a way more helpful addition.

Someone with little math background is going to have no idea what log even means, much less what causes it.
Admittedly I am studying theoretical physics so I am supposed to be able to, but it made sense to me?
We haven't so far..

Mitre SHIELD (shield.mitre.org) lays out the different types of capabilities there are in this domain but doesn't have a lot of practical how-to advice which is what I think you're more after.

If you think it would be helpful I can send you our "product guide" which touches a bit on the decoy best practices. If this sounds useful message me at simo@[the domain in my profile] and I'll send it over.

I might actually write something about it online also, sounds like it could be useful knowledge for many.
>> If you consider "addition" to be 1 operation then ...

What if we don't? Addition on computers is an O[1] operation only because we use fixed bit-widths for numbers, e.g., a 32-bit signed integer. How would we reformulate or express algorithmic complexity if we were to talk about unbounded integer values or infinite-precision mathematics?
Thanks a lot - knowing the appropriate key words and terms makes all the difference when looking up new things.
Here's a summary from the man pages of mtr, for those who are not familiar with the tool but maybe are reading HN on their phones so can't check it out:

mtr combines the functionality of the traceroute and ping programs in a single network diagnostic tool.

As mtr starts, it investigates the network connection between the host mtr runs on and HOSTNAME by sending packets with purposely low TTLs. It continues to send packets with low TTL, noting the response time of the intervening routers. This allows mtr to print the response percentage and response times of the internet route to HOSTNAME. A sudden increase in packet loss or response time is often an indication of a bad (or simply overloaded) link.

The results are usually reported as round-trip-response times in milliseconds and the percentage of packetloss.

This actually makes me wonder about whether there's a command that'll let me see short summaries of what every file under /usr/bin is, in the form of a list. Definitely wasn't aware of mtr as an average web developer up until now.
2006 European Blackout
Cool, then we can complain about false positives at the FTC instead of at Google!

IMHO, it doesn't really matter who runs it, so long as they're not actively working in bad faith. False positives are a fact of life, garaunteed so long as we have an adversarial malware ecosystem. (For example, the fixes for bad decisions are pretty much indistinguishable from bad actors evading correct decisions.)

The other side of the coin is a web that looks like my missed calls list - everything is assumed to be spam and malware infested until proven otherwise. No one will use your startup anyway, because any given site is probably terrible. The whitelist becomes a thing that people maintain in their heads, and, again, you get a massive incumbent advantage.

The right balance is somewhere in-between, and involves fine tuning the false positive rate. The false positives are always going to be unhappy, and hard to tell apart from true positives trying to keep their scam going.
Buried in depths of their documentation? It’s also worked for years too. Google has docs that are completely outdated and neglected. Chrome Extension docs didn’t get updated for 5+ years until recently.

Why put it in the console then? Why have tool tips that say “Access to this API is enabled.”

There’s no improvement to security. This will be a cake walk to reverse engineer.

I don’t see how my point is invalid.
> Everything from the company's marketing material to its recruiting practices exudes an almost overwhelming amount of positivity.

I don't know if it's because I'm french but that kind of thing makes me throw up in my mouth and is a super big turn-off. Some things sucks, it's fine, accept it and move on or try to make them better through actions. Words don't make things better.
The hashes of all things that match a "probably evil" bloom filter, yes.

Hosting a virus on a domain and then downloading it a few times with different chrome installations sounds like a good way to get the whole domain blacklisted...
Java is much capable of handling any sort of challenges, it's not so much about programming language from the looks of it, it's about architecting their backend and networking issues.
I've been on 'n' mode for awhile, but even if I was only 'g' why should I care considering there are neighbors that use 40 Hz channels on the 2.4 band? Or neighbors that set their channel to other than 1,6,11?

Arguably worse!
I'm sure this is a problem in companies large enough to have a sizable HR department, but don't most of us work with a bunch of cretin engineers that always think everything anyone else does is wrong and a sales team that is never satisfied with the thing they asked for?
It certainly hasn't made dating any more easier. Online dating is filled with sugar babies, catfishes, or doctored up photos beyond belief. Also it instigates a relationship to be solely through text. I mean jesus dating is about vetting and days or weeks of texting before actually meeting one another nowadays. Nobody wants to do anything physically anymore unless they've actually met you. It's to the point that it's almost a waste of time. COVID restrictions certainly haven't helped either.

I wonder if US culture will ever revert. I think it's gone down a very dangerous path for the middle class. It will be only a matter of a few decades before we adopt the Japanese strategy of paying women to retire and have families instead of advancing their careers because of major population decline.
On the subject of Lease Time.

My router is currently showing a lease time of 3 Min. I think most router tends to renew their IP at 50% of ISP's lease time ( in this case 6 min )

What are the purpose of these ridiculously low lease time? I remember in the old days they tend to go for 48 hours if not longer.
For your third bullet point, should that be literature notes ? doesn't sound like fleeting notes should be a permanent record.
Accomplishing what I thought were standard tasks with Gradle always felt like fragile hacks. The nature of being a younger build system with more API evolution means there are at least 3 ways to do something, without good explanation, and they often can’t be mixed. Maven feels like a build system that I’m configuring. Gradle feels like a piece of software that I’m developing to build my project.

I will say, Gradles files and console output is usually easier on the eyes. And Maven seems to needlessly re-build things when Gradle does not. Still, I want to fiddle with my project, not my build scripts.
I think the best thing to take from the book is to measure your code with a timer...

The specific parts probably can’t apply these days because systems are so complex (multi-core, multi-threaded, multi-processing) that you can never assume your assembly timing will be any way accurate.
The effect of interventions on Covid-19
>The current situation in the US is challenging. Misinformation, disinformation, and conspiracy theories are rampant in every cohort of society.

Most of the higher-quality longitudinal evidence I've seen does not show that there is an increase in believing in conspiracy theories or misinformation (or, as we used to call it, people simply being incorrect). It's simply much more visible now due to the Internet being widely adopted, whereas in the past you'd never know what people across the world (or even your own city) may have been thinking about.

Since there is no stable nor global solution to the problem of deciding who gets to label/regulate information, nor any evidence showing that even with the regulation of information, people actually change their beliefs to the 'correct' ones, I don't personally see merit in this path. The temptation to find a solution is sensible prima facie, but history and human psychology show us that this is a fool's errand.
Largest exponential? That should be monomial, right?

Anyway you can show that on the spot if you think about what the derivative of that monomial looks like
BTW, did using another giant's (Amazon) services (like Cloudflare) made the problem better or worse?
Sure would be nice if he applied his supposed trading systems expertise to Binance... quite ironic that his current exchange is one of the slowest on the market: https://latency.azidyn.com/
> I will gladly take it over a workplace with toxic negativity

Agree, having a colleague with a negative disposition (< 3rd percentile of general population) is in my view much, much worse than colleagues that exude the normal amount of fake positivity, even though the latter is annoying and draining and is more deceitful than the former.
It really does. Just kind of rambles, throws around a lot of tech words. Meanwhile none of the points really made any sense.

Never really read anything on their blog before, but this doesn’t make me want to.
> I'd note that this isn't pure C++ at all, not that it claims to be

if a C++ compiler is able to compile it, then it's C++, no matter how many layers of macros there are. GCC, Clang and MSVC have no problems compiling my UE projects here.
Who said "pronouns"? You did. You're missing the key part of calling something cancer: it's a value judgement. That this is harmful. What harms are pronouns causing? Are they enough to kill the host language?

Also, nothing in their text indicated the author's pronoun preference. Why do you presume "his" is the correct answer?
I agree with you very much. Since gradle supported kotlin script(typed), I seem to have a little understanding of it. I have used it for a long time. Besides the treat the sunk cost, Maven makes people less willing to use it than gradle.
This article about the undocumented Apple AMX instructions is the missing piece of the puzzle for me. Various HN threads discussed SIMD [1] and ML/DL [2] on the Apple M1. Daniel Lemire's benchmark compared x64 SIMD (SSE, AVX) vs. ARM SIMD (Neon, SVE2 [next gen]). Apple's AMX is a coprocessor that does Matrix math in addition to Vector SIMD math. Maynard Handley clearly understood this in his comment on Lemire's blog [3]:

> You (and other commenters) are aware of NEON, but apparently not of AMX.
AMX may not work for the sorts of JSON parsing weirdness for which you use AVX256 (that’ll have to wait for SVE/2, probably next year) but it does solve the problem of “I want to execute dense linear algebra fast”.

> You might want to run some comparisons of that for your M1 vs Intel MacBooks… The API’s to look at are in Accelerate()

The Core ML [4] docs have a nice diagram that demonstrates the relationship with the lower level Accelerate [5] and Accelerate BNNS [6]:

> Core ML is the foundation for domain-specific frameworks and functionality. Core ML supports Vision for analyzing images, Natural Language for processing text, Speech for converting audio to text, and Sound Analysis for identifying sounds in audio. Core ML itself builds on top of low-level primitives like Accelerate and BNNS, as well as Metal Performance Shaders.

Apple's TensorFlow implementation for the M1 is analogous to Core ML. It probably invokes the appropriate Accelerate BNNS and/or Metal library calls. Maynard Handley was exactly right, SIMD/ML/DL code that targets Apple silicon should link against Apple's Accelerate or Core ML libraries. These libraries in turn invoke the appropriate AMX, Neural Engine, and GPU instructions for each target platform.

[1] https://news.ycombinator.com/item?id=25408853

[2] https://news.ycombinator.com/item?id=25773109

[3] https://lemire.me/blog/2020/12/11/arm-macbook-vs-intel-macbo...

[4] https://developer.apple.com/documentation/coreml

[5] https://developer.apple.com/documentation/accelerate

[6] https://developer.apple.com/documentation/accelerate/bnns
Excellent!

The level I was shooting for with my brief explanation was that someone who understood limits at a calc 1 level should be able to get it with a little thinking. I do wonder, though: did you know those things before you read my comment?
In this case they do not provide a service to the OP. There is no agreement between OP and Google.

This is happening on browsers of their customers. And I'm quite sure that if Google hits a company that competes with Google services there must be a law that they will be breaking.

There was a big case in Poland where Google blocked a SaaS web shop provider using the same exact mechanism [0]. Polish courts decided that Google claims displayed on block page were untrue. Unfortunately, the suing company did not receive compensation, because Google Poland does not operate Chrome browser. The court indicated that the right party to sue is Google incorporated in USA...

[0] https://www.silesiasem.pl/iai-przegralo-proces-sadowy-z-goog...
The main way is via the Googlebot crawler.

They also use user reports from Chrome, and links in "mark phishing" emails from Gmail. Those latter two cases the URL is considered private data, so won't be reported in webmaster tools.
Naively I would say why shouldn't it? No matter which language you program in, the resulting IL code should be the same. On the other hand there are often utilities in the class library that compilers rely on, like attributes, helper functions and what not.
It's hard to argue against "safe". If they would name it "filtered browsing" it might be something arguable, but "safe browsing" who wouldn't want that?
Thank you. I was thinking of the big and expensive computers that people used before mini computers and microcomputers. What was so special about their hardware and software?

The reason it’s interesting to me is that we as a community have (it seems to me) split off from that world and use systems that were designed on shitty cheap mini computers that weren’t as good as mainframes (for some definition of good as).
I've been liking solid-js. It's fast, compact, ergonomic and the people are friendly. https://github.com/ryansolid/solid
Document the steps to setup dev environment in your own words and highlight the issues that you run into

Lots of people are commenting saying they have problems with this.

The first thing I do when working on an unfamiliar project is to write a SHELL SCRIPT that records everything I did. I keep that at the root of the git repo, usually as "run.sh".

For example here is what I did when hacking on Kernighan's awk 5 years ago:

https://github.com/andychu/bwk/blob/master/run.sh

So now 5 years later I can see exactly where I downloaded the source from. I count how much source code there is in a repo to get a feel for it, and I have that exact command recorded.

And I was trying to figure out how much test coverage there is, so I ran a bunch of gcov stuff, which involve Python.

The shell script may have some problems now, but the point is that I can tell within 10 seconds what I did 5 years ago. And I can fix it in a few minutes.

It costs so little to write down these commands that it's worth it. If you try to make it really rigorous then you're not going to do it. Th

In summary, I suggest becoming SHELL LITERATE and checking in shell script with comments. The point is that shell is ALREADY what you're typing, so you can save it exactly like it is in a file, and run it later. (You can also use a Makefile, but then you lose that property, and that matters. Make has all the gotchas of shell plus some more.)

https://news.ycombinator.com/item?id=25400278

(I have a couple upcoming blog posts that mention this. Another view on this, regarding releases: http://www.oilshell.org/blog/2020/02/good-parts-sketch.html#...)

----

Another meme I use is "never remember a port number".

I have had the experience of pair programming with people and they are trying to remember port numbers. Sometimes the server doesn't print it out to the console.

Sometimes they go digging through their notes, or they go digging through Python source code to find the port number.

I always know the port number because I put it in a shell script at the root of the repo.

If you automate stuff like this you can get to the meat of the problem a lot faster.
I can only applaud this.
Best coffee table book ever.
did you check your router (sys)log messages. Many of the routers will allow enabling debug logs as well.
One easy way to show that more generally is that if f and g are differentiable, f(x) dominates g(x) iff f'(x) dominates g'(x), by L'Hopital's rule. Details left as an exercise for the reader.
Thanks for this answer - this is what I was looking for. I think you make a great point that the regulator needs to constantly adapt to the changing market, and this may be the case with Big Tech if it becomes more heavily regulated it seems. Otherwise companies may become regulated into bankruptcy maybe because the regular cannot keep up with the pace of change in the industry.
Is this the same route that Colin O’Brady was attempting?
Yes, but when Google blocks either domain, your webapp will still be broken...
> and 60 years hence we’ll have settled Mars, solved worldwide energy generation and storage, and invented AGI

Unless we self destruct by then, possibly wiping out most life on this planet with us.