The time lost estimates here are comically implausible--if Apple bugs were wasting 32m person-years per year, with around 1.5b Apple product users total, this would imply that the average Apple product user loses 32m/1.5b ~= 2% of their life, or about 11 16-hour days, to Apple bugs. If that were happening to you you'd, uh, notice :)
HN user
benkuhn
https://www.benkuhn.net/
I'm not an evolutionary biologist, but it seems to me that the claimed magnitude of the change is wildly implausibly fast from an evolutionary perspective. I'm confused that neither the article, nor the paper it cites, addresses this.
To go from 10% to 30% in ~5 generations, the median-artery-having population would have had to expand by (30/10)^(1/5) = 25% more than the non-median artery population over each generation. It just seems totally implausible that median artery carriers could have that much more offspring.
This makes me pretty suspicious that the paper may be wrong.
Yeah, in particular you need headphones whose 3.5mm cable is detachable. Thanks for flagging, I should have included a warning!
For other headphones you can use the various flavors of Antlion ModMic, but it’s more expensive and less convenient because you have two cables.
It's also really easy to have high quality audio! The author recommends a "podcasting" microphone, but a $35 standalone headset mic[1] is almost as good and much easier to use. If you want to hear a comparison, I got kind of obsessed with this problem at one point and took some comparison recordings here[2].
(You need a standalone mic since most headsets, even really nice ones, have really bad mics because most headset buyers don't care about or even know how good their mic sounds. The one I linked is wired because wireless is evil[3] and in particular, Bluetooth will silently degrade your audio quality. If you want a pair of wired headphones, I like these[4] which are "open back" and therefore sound more natural + cool your ears better, although the open back also means they "leak" sound and are only suitable for working without people next to you. But you shouldn't be having calls with people next to you anyway!)
[1] https://www.amazon.com/V-MODA-BoomPro-Microphone-Gaming-Comm...
[2] https://www.benkuhn.net/vc/#get-a-better-microphone
[3] https://www.benkuhn.net/wireless/
[4] https://www.amazon.com/Philips-SHP9500S-Precision-Over-ear-H...
Shot in the dark, but many of my Linux coworkers have a problem where their video chat software sets their mic volume/gain to 100%, which causes horrible sounding clipping. Check your mic gain settings and perhaps disable the automatic volume equalization in whatever video call software you're using.
For more concrete data: If you look at their current "key ideas" page,[1] they go over 4 categories of high-impact careers (notably including government/policy) and then say "if you think none of the categories above are a great fit for you, we’d encourage you to consider earning to give. It’s also worth considering this option if you have an unusually good fit for a very high-earning career."
This post[2] suggests 80k's key researchers think about 15% of people interested in EA would be the best fit for earning to give, while 10% of people attending an EA-themed conference were perfectly planning to.
I don't think criticizing effective altruism based on the assertion that it's mostly about earning-to-give is reasonable given those numbers or the framing in 80k's "key ideas" post.
[1] https://80000hours.org/key-ideas/#career-categories [2]: https://forum.effectivealtruism.org/posts/LrKFNQxjETPvzXQcv/...
This article completely mischaracterizes the beliefs of most of the people quoted or referenced, then engages with those beliefs only via asserting the opposite without any supporting argument. I'm disappointed.
For example:
The most charitable explanation of Singer’s dismissal of political action is that he is trying to sell being an altruist and he thinks a consumer -hero version is the one people are most likely to buy. Singer and other effective altruist philosophers believe that their most likely customers find institutional reform too complicated and political action too impersonal and hit and miss to be attractive.
Interestingly, the author quotes part of Singer providing an argument against the effectiveness of institutional reform, but does not himself provide an argument for it, just an assertion that political change is "the most obvious and powerful tool we have." (I think that's far from obvious!) Instead, he jumps straight to accusing Singer of arguing in bad faith. This is actually the opposite of charitable.
For another example, I'm deeply confused about how the author of this piece could cite Will MacAskill and Toby Ord, then write:
The underlying problem is that effective altruism's distinctive combination of political pessimism and consumer-hero hubris forecloses the consideration of promising possibilities for achieving far more good.
Ord and MacAskill co-founded an organization, 80,000 Hours[1], which advocates mostly not for effective giving (which the author derides as a "consumer hero" approach) but rather for spending your career working on one of the world's most pressing problems; notably including for instance several types of policy change.
EDIT: and I missed this one the first time around:
One could spend at most a few tens of millions of dollars on anti-mosquito bed nets before returns start dramatically diminishing because everyone who can be helped by them already has one.
A single bednet charity, the Against Malaria Foundation, has literally already raised 10x this amount without substantially diminishing returns: https://en.wikipedia.org/wiki/Against_Malaria_Foundation
HN should require (non-randomized) in the title for this kind of thing, the same way it requires (2014) or (pdf).
I think you took me to be arguing for a stronger claim than I actually was. My preferred paradigm is also roughly “idiomatic go or rust.” But the OP isn’t arguing for idiomatic-go-or-rust, as far as I can tell they’re arguing against ever using methods or virtual dispatch (which are core features of both of those languages)! My claim is that the OP’s diagnosis of the problem—“virtual dispatch causes your code to be confusing, get rid of it”—is incorrect.
The author’s OO example is hard to understand, but they’re wrong about why. It’s not bad because it’s OO, but that it’s very badly done OO: the class couples two different concerns (network API client and database). That’s why it makes more sense as a bag of functions.
The general version of the point doesn’t work very well, and many of the other OO use-cases the author discusses actually work much better than alternatives.
For example, on abstract base classes: if you replace this with a bag of functions I think you end up reinventing virtual dispatch—that is, each function’s top level is a bunch of `if isinstance(...)` branches. This is much harder to read, and harder to add new implementations to, than abstract methods. It’s also no easier to understand.
(There is a subset of this advice that I think does improve your code’s understandability, which is “only ever override abstract methods,” but that is very different from “don’t use OO.”)
For impure classes, the author suggests e.g. using `responses` (an HTTP-level mocking library) instead of encapsulating these behind an interface. This is a fine pattern for simple stuff, but it is not more understandable than a fake interface. The hand-written fake HTTP responses you end up having to write are a lot less readable than a mock implementation of a purpose-built Python interface. (Source: I once mocked a lot of XML-RPC APIs with `responses` before I knew better; it was not understandable.)
Thanks for the recommendation! Sounds like I may have just been reading the wrong books :)
Oh, great! And the prediction market did not beat polls (it tied with them on swing states and beat them on safe states, as I speculated).
I guess between this and the other commenter who made money betting 538's model on predictit, I consider this pretty thoroughly debunked.
Sorry, that was imprecise. My impression is that, at least on some prediction markets, transaction fees (and maybe also inflation?) make it low-return to buy high-probability contracts. I don't bet on prediction markets myself so I may be wrong about this though!
This is a shoddy analysis.
1. There's a statistical gadget specifically for doing this—a "scoring rule" [1] which is a principled way to compare different probabilistic predictions. A bunch of scatterplots of random quantities against each other are... not that.
By comparing only binary win/loss predictions instead of probabilities, like in the first chart, you throw away almost all information contained in the probabilistic estimates—if Democrats win a state, there's no bonus for predicting (say) 95% Dem instead of 55% dem.
It's plausible that 538 would actually win under a proper scoring rule, because betting markets were underconfident (relative to 538) in deep dem/rep states (predicting e.g. <95% Dem win in VT, vs 538's >99%). [2]
2. The calibration analysis assumes that different state win/loss rates are independent, but that's really untrue: 538's predictions were specifically not independent because they assumed polling errors were correlated between states.
3. Many of the other scatterplots look outlier-driven and don't include r^2 or p-values. With so few datapoints, it's unclear if they are meaningful at all.
[1] https://en.wikipedia.org/wiki/Scoring_rule
[2]: Maybe we should cut prediction markets some slack here because liquidity constraints make them inaccurate for small probabilities. If that's the article's position, though, they should address this instead of just... not using a scoring rule.
I actually ended up making v2 of the ultra-bright light out of 3 7-way socket splitters and 21 100w-equivalent normal bulbs[1]. No fans needed, higher CRI and I got the bulbs during a 50% sale so was cheaper IIRC :)
[1] https://www.homedepot.com/p/Cree-100W-Equivalent-Daylight-50...
Thanks so much, this is a really useful correction!
Simplicity, orthogonality, elegance, modularity, etc. are useful when you want to build lots of different things easily.
When you're building one single thing that's used by 4.6 billion people, it turns out that percentage optimizations matter!
(I work for a company that built a shitty half-baked homegrown QUIC equivalent because in rural Ethiopia, HTTPS handshakes were so slow that they literally just didn't work. Glad that Google is optimizing our percent-of-a-percent use case!)
Interesting that the top of the list is more or less companies ranked by median pay ascending (give or take), plus Google.
Really surprised how many commenters are talking about using a faster language when the example of slow code in the post is failing to cache the results of an expensive database query.
In my experience, even in "slow" languages, that type of thing is the predominant source of major performance problems, and the supposedly "slow" language would be perfectly adequate if you an stop shooting yourself in the foot (and if you can't, a faster language will not help you).
I'm sure there are extremely high-performance or high-scale points where language choice starts to matter more, but I'm also not surprised if Shopify is correct not to think they're there yet.
I think this depends a lot on what peers you have access to through your work and whether you'd expect them to be comparably awesome (both in their competence and the depth of relationship you're able to build with them) to whoever you'd meet in college.
Even if you do decide to go to college, I think you'd get a lot more out of it after having worked in the real world for some amount of time--in college it really helps to be good at deciding what to spend your time on, and exposure to what non-college life is like will help a lot with that. I know lots of people who got a ton out of gap years and no one who regrets it.
(I wrote more advice here: https://www.benkuhn.net/college/ )
Most of them are not classified as banks and run without banking licenses and governmental oversight. They are more convenient and cheaper but definitely a little riskier as well.
This is really misleading. (Disclosure: I work for a remittance provider.)
It's true that non-bank money service businesses do not operate as banks, but it's totally false that they "run without... governmental oversight" or are "a little riskier."
The level of government oversight of non-bank MSB's is extreme by the standards of anything but banking. For example in the US, you have to apply to each state government individually for a license to send transfers from that state. It takes years and is extremely onerous. Many of our applications ran into the hundreds of pages of paperwork and were followed by weeks of on-site examinations plus an intensity of financial auditing usually reserved for companies nearing IPO.
(In Europe the situation is better because MSB regulation happens at the EU level. This regulatory difference is a big part of why Europe has a much larger share of great fintech startups compared to other sectors.)
On risk, most regulators require money transmitters to insure their liabilities to customers so that, if they ever collapse, the insurer will be able to make their customers whole. In our case, we never have liabilities to customers (because we pay out instantly) but we still have to buy this insurance... kind of a belt-and-suspenders approach.
You can make it precise if the language in which you define a "useful real" is richer than the language in which individual useful reals must be defined. For instance, model theorists will talk about definable reals in a model of set theory: https://en.wikipedia.org/wiki/Definable_real_number#Definabi...
A real number a is first-order definable in the language of set theory, without parameters, if there is a formula φ in the language of set theory, with one free variable, such that a is the unique real number such that φ(a) holds (see Kunen 1980, p. 153). This notion cannot be expressed as a formula in the language of set theory.
"Day 1" is when a country reaches 100 cases. A country is "X days behind Italy" if they reached 100 cases that many days after Italy did.
Before 100 cases, the evolution of the epidemic is noisy, but it becomes pretty regular afterwards with 20-30% daily growth (in the absence of strong control measures).
South Korea had no mandatory shutdown, but according to Suki Kim nearly the entire city of Daegu voluntarily self-quarantined shortly after Patient 31 was confirmed positive. (Source: https://www.newyorker.com/news/news-desk/how-south-korea-los... plus personal communication)
It's true that they weakened the wording in that section of the body, but the description of the actual research does make it sound like the factor of 1,000 was a typical case, not the worst case:
Using a popular family hatchback running on brand new, correctly inflated tyres, we found that the car emitted 5.8 grams per kilometer of particles. > Compared with regulated exhaust emission limits of 4.5 milligrams per kilometer, the completely unregulated tyre wear emission is higher by a factor of over 1,000.
Of course, this assumes that the tyre particles captured by their methodology are (on average) equally bad as exhaust particles, and maybe brand-new tyres wear especially quickly or something. It does seem hard to square the factor of 1000 from this study with the estimate that non-exhaust emissions account for a mere 60% (rather than 99.9%) of PM2.5 emissions.
Would be curious to hear from anyone who understands emissions testing better.
I'm somewhat surprised by how many people are focusing only on who owns the IP.
You are now in a negotiation, and so "what can I ask for" is largely determined by "what is the BATNA,"[1] i.e. what happens if you and your company fail to reach a mutually acceptable compromise and start acting purely in your own respective self-interests.
This will partly come down to legal issues (can the company take over the IP from you), but for an open source company, I would speculate that reputational issues from a "hostile takeover" of another OSS project could change the calculus substantially. If the company takes over the project by force, and you publicize the fact that they did this via the IP clause of your employment contract (which most developers regard as somewhat evil), that doesn't seem fun for their PR team. Even worse if you'd be able to fork the project.
Of course, this depends a lot on the details of your situation, so you should definitely find someone to talk through the details with who is good at negotiating. Just not sure if a lawyer is the best/only person to talk to.
[1] https://en.wikipedia.org/wiki/Best_alternative_to_a_negotiat...
Sorry about that! I built dark mode after writing this post and it broke the main text color inside the `pre`s, which should have been #222. Should be fixed now.
Sorry to everyone who complained about the colors! I added a dark mode recently and it broke the custom CSS in this post. I've fixed it now. (Well, you may still not believe it's fixed :P )
Hey Michael, thanks for commenting! (And thanks for making f.lux which I've found incredibly useful for years!)
I strongly agree that it's important to change light levels throughout the day; it's very obvious that bulbs this bright suppress my sleepiness. I should probably add this to the post's FAQ so that people don't do anything irresponsible.
I do think that some people might get a mistaken impression of how strong the evidence is when you claim that "cancer progresses much faster in constant light" without citing or caveating that this is based on one study, in rats, where the treatment shone a light on them for a full 24 hours.
Have you tried buying higher CRI LEDs? Halogens have very good color rendering compared to typical LEDs (100 vs ~80 for typical LEDs), but you can buy specialty bulbs with closer-to-natural spectra. I haven't dug much into off the shelf options, but one of my coworkers did and got excited about these lights: https://store.yujiintl.com/collections/high-cri-led-lights/p...