HN user

SEMW

1,765 karma

http://simonwoolf.net

Currently: Elixir developer at ably.io

[ my public key: https://keybase.io/swoolf; my proof: https://keybase.io/swoolf/sigs/peGiDfVOfeAJ1dy6H68hG8PBmsdx6s1kXWY6rVhzUr8 ]

Posts10
Comments475
View on HN

This is a good argument, but it has a flaw here, which is that a systemic fever during illness may still be an evolutionarily beneficial adaption on average if there are a some situations where it can be the difference between life and death, e.g. bacterial pneumonia or sepsis, but that doesn't mean it's equally useful for all types of illness.

I did a fevered research dive last time I had the flu and came to the conclusion that there wasn't really any good evidence that fever is helpful for flu, and I should have few compunctions about suppressing it. (And that most of the situations where fever is really valuable for are ones where in the modern world you should go to a hospital and in the case of a bacterial infection be given antibiotics)

There's no shortage of benchmarks (coding or otherwise) that any competent coding model will now pass with ~100%.

But no-one quotes those any more because if everyone passes them, they don't serve any useful purpose in discriminating between different models or identifying advancements

So people switch to new benchmarks which either have more difficult tasks or some other artificial constraints that make them in some way harder to pass, until the scores are low enough that they're actually discriminating between models. and a 50% score is in some sense ideal for that - there's lots of room for variance around 50%.

(whether the thing they're measuring is something that well correlates to real coding performance is another question)

So you can't infer anything in isolation from a given benchmark score being only 50% other than that benchmarks are calibrated to make such scores the likely outcome

Cable does not matter, tried with many of them including ones providing power from other chargers.

That might not necessarily be the right conclusion. My understanding is: almost all USB-C power cables you will enounter day to day support a max current of at most 3A (the most that a cable can signal support for without an emarker). That means that, technically, the highest power USB-PD profile they support is 60W (3A at 20V), and the charger should detect that and not offer the 65W profile, which requires 3.25A.

Maybe some chargers ignore that and offer it anyway, since 3.25A isn't that much more than 3A. For ones that don't and degrade to offering 60W, if a laptop strictly wants 65W, it won't charge off of them.

So it's worth acquiring a cable that specifically supports 5A to try, which is needed for every profile above 60W (and such a cable should support all profiles up to the 240W one, which is 5A*48V).

(I might be mistaken about some of that, it's just what I cobbled together while trying to figure out what chargers work with my extremely-picky-about-power lenovo x1e)

GP clearly meant "trademark not copyright".

It's perfectly coherent to be in favour of strong protection of trademarks but also weaker copyright laws. They have very different purposes (broadly, consumer protection as a mark of origin vs incentivising creativity). Just because they're both in the legal category of "IP" doesn't mean it's hypocritical to have very different positions on both.

That morass makes it difficult for the public to cleanly digest when something is blatantly unconstitutional

I'm not convinced that's a relevant issue here. For some parts of EU treaty law, sure, but here the context here is disapplying EU legislation that's incompatible with fundamental human rights. Those parts are all in one document in one treaty: the Charter of Fundamental Rights[0], which was incorporated into the Lisbon treaty.

(besides, whether in the EU, somewhere with a formal constitution like the US, or the UK, the vast majority of the work of figuring out whether something is in breach of treaty / constitutional provisions is always going to be analysing caselaw)

[0] https://www.europarl.europa.eu/charter/pdf/text_en.pdf

What problem here would be solved by ratifying a constitution?

Like -- ISTM that the relevant property here is the ability of the courts to overturn ordinary legislation for incompatibility with basic human rights provisions. But the EU already has this. the Charter of Fundamental Rights of the EU (which is pretty much a superset of the european convention on human rights) is incorporated into the Lisbon treaty, and all EU legislation must be compatible with it. EU courts have overturned legislation for incompatibility with the CFR, eg Digital Rights Ireland[0].

The collection of member state treaties is for ~all intents and purposes a constitution, just not in a single document, and without the word "constitution" at the top.

[0] https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX%3A...

I'm a reasonably new go programmer, I've only been doing it full-time for a few months. But "great concurrency ergonomics" has.. not been my experience.

What I've been finding is that primitives it gives you are easy to use, but extremely hard to use _correctly_. My first major PR in go had a week of back and forths as more experienced go programmers on my team pointed out the many, many places where my concurrent code was buggy -- places where I was receiving without selecting over the context being cancelled or some close-channel, places where I was sending from a goroutine that had to have a nonblocking basic loop without guarding with a default clause, places where I was using an unbuffered channel where pathological goroutine scheduling could result in a deadlock, places where I was using non-thread-safe data structures in places that could theoretically be mutated by multiple goroutines and without spamming mutexes everywhere, etc. etc.

And sure, I'm relatively new to go. I'll learn these things and get better. But the contrast to some previous work I'd done in Elixir was striking. In Erlang/elixir, _the obvious first thing you try is generally actually correct_. And it gives you standard ways of working built on top of the primitives (genserver calls etc.), so you don't have to buggily reinvent the wheel every time you want to send a message from one goroutine to another with a reply, or need to tear down a bunch of goroutines simultaneously.

I have a highly-concurrent elixir service I wrote several years ago, by myself (early stage company, no code review), still in production. It pretty much never has problems and basically just worked from the start. If I'd tried that with go, without a bunch of experienced go programmers to point out all the subtle race conditions, I'd probably still be dealing with a long tail of data races and deadlocks years later.

If the intervals overlap, the difference is not statistically significant.

Demonstrably false. Obvious counterexample: the study in the OP, which has overlapping confidence intervals and a statistically significant difference.

Proof: just calculate the 95% confidence interval for the difference between the two means. You can figure out what the stddev was from half the confidence interval divided by the z-score for a 95% confidence interval, 1.96, and you get 1.02 and 1.30 for the two groups. Then the confidence interval is: (10.4 - 6.3) +/- 1.96*sqrt(1.02^2 + 1.30^2) gives [0.86, 7.34]. This does not include 0, therefore the difference is significant.

The probability that a sample mean for a large sample is above the 90th percentile is massively lower than 10%, and depends on n.

I was trying to give a basic intuition about normal distributions with a simple example, the distribution of one sample is a simpler example of a different normal distribution. Yes obviously the distribution of an estimate of X given lots of samples is not the same as the distribution of a single sample, I never claimed it was.

The fact that the 95% confidence intervals of two variables have some overlap doesn't mean there's a >5% chance that the expected values of the two variables are the same.

Consider two independent random variables X and Y; the chance that (a sample from X is above the 90th percentile of the true distribution of X) is 10%, but the chance that (a sample of X is above the 90th percentile of the true distribution of X AND a sample of Y is below the 10th percentile of the true distribution of Y) is 1%.

(disclaimer: with actual science the stats are a lot more complicated and you can't just assume they're independent and multiply the two, it's just a simplified example to give intuition about why overlapping confidence intervals don't imply what the parent thought, IANAstatistician)

The monarch is theoretically above the law, yes.

But theory is not practice. In practice, if King Charles shivved someone in Trafalgar Square tomorrow, crowing about how he can't be prosecuted, what would happen would probably be something like:

- parliament would try to pass a law saying that we were a republic now (or that harry becomes king or whatever)

- charles would refuse royal assent

- parliament would amend the bill to remove the requirement for royal assent for primary legislation and then claim they'd pass it using itself

- people would point out that this is clearly invalid and self-referential

- it would go to the UK supreme court, who would twist themselves into knots to conclude that it's actually fine, because they know as well as anyone else that that's the only conclusion that wouldn't result in riots and the collapse of the state as a liberal democracy

- all the institutions who matter would agree that we're a republic now

It reminds me of how lawyers are happy to accept signatures by fax

The purpose of a lot of these sorts of requirements is not authentication. It's ensuring that if you do do it, you trigger the statutory requirement for some particular criminal offense. For example, a jurisdiction might have a crime of forgery which is substantially easier to prosecute than fraud (perhaps fraud would need the prosecution to prove intent to make financial gain, wheras forgery might be satisfied as soon as you can prove signature was forged -- hypothetical example, it will vary by jurisdiction and IANAL).

These sort of statues might have been written before computers or even faxes, and there might be caselaw to the effect that forging someone's signature and sending it by fax does satisfy its requirements of the offence, but none yet for just writing your name at the bottom of an email; things like that.

Many possible reasons.

Eg Ryanair operates a completely uniform fleet, 100% 737s, and their current operating model relies on all of their pilots and crew being able to operate whatever aircraft is available. Adding a few airbuses means a split fleet, causing significant logistical and training costs. And their customers are evidently happy to prioritize flight cost over their aversion to the 737max, so why would they switch?

Also, an aircraft being on the market doesn't mean you can actually order one and get it anytime soon. Airbus has like a 10-year backlog for A32x deliveries.

Look up Grice's Maxims sometime. Conversations have context. The context here is a comment section for an article about a nation state requesting chats from Telegram. The only relevant kind of encryption that would be able to prevent this is end-to-end encryption; in such a context, 'Telegram is unencrypted' is easily and near-universally understood to refer to E2E encryption, even if absent such context the meaning would be less clear.

A better rain analogy would be someone saying 'I'd like to go for a smoke, is it raining', and you reply 'yes' because there is somewhere in the world where it is raining (just not there). You would be technically correct, but in the context of the question, the person was clearly interested in whether it was raining _there_.

No idea, we don't use it. These were websocket connections to processes on ec2, via NLB and cloudfront. Not sure exactly what part of that chain was broken yet.

Definitely not just the console. We had hundreds of thousands of websocket connections to us-east-1 drop at 15:40, and new websocket connections to that region are still failing. (Luckily not a huge impact on our service cause we run in 6 other regions, but still).

Only in America!

This is... not really true. The US is indeed in the lead in COVAX donations at 45 doses pledged per million dollars of GDP, and that's laudable. But it's not like no other country is close; France follows closely on the US's heels at 44, with the UK not far off at 38, Germany and the Netherlands are at 27 and 29, and so on — https://ourworldindata.org/grapher/covax-donations-per-gdp

Nor is it true that the fundamental research for all the major vaccines came out of the US. Moderna indeed was, but the Pfizer vaccine was developed by BioNTech (Germany), and the Astrazeneca vaccine was developed by the University of Oxford (UK).

The problem is that that's not how the patent system works. If the Sonos patent is upheld, it doesn't just stop google from making speakers that synchronize their clocks with each other over a local area network.[0] It stops literally everyone other than Sonos doing that, for 20 years since the patent was filed. Even lone engineers working in their garages. Even if they independently reinvent it, patent infringement doesn't require copying, or even knowledge that the original system or the patent existed. Even if synchronizing clocks is something any skilled distributed systems engineer would think of within 10s of deciding to design such a system.[1]

It gives sonos a monopoly over the entire idea, that they can enforce against the world.

It's like cheering a law that allows anyone who wore a violet shirt in the last month to be shot, because you know someone who wore a violet shirt who you think deserved it. Maybe, but laws apply to everyone, and you're poisoning the commons just to fuck over that one person.

[0] https://patents.google.com/patent/US9195258B2

[1] the mechanism claimed being obvious to someone skilled in the art should be a reason the patent is not valid, but US courts appear to have a history of making that difficult to prove.

I don’t get why engineers would think this is.

This claim that "AI" only means artificial general / human-equivalent intelligence completely ignores the long history of how that term has been used, by computer science researchers, for the last 70-odd years, to include everything from Shannon's maze-solving algorithms, to Prolog-y systems, to simple reinforcement learning, and so on.

https://web.archive.org/web/20070103222615/http://www.engagi...

It's true that there has been linguistic drift in the direction of the definition getting narrower (to the point where it's a joke that some people use 'AI' to mean whatever computers can't do _yet_). And you can have reasons to prefer your own very-narrow definition. But claiming that your own definition is the only valid one to the point that anyone using a wider definition (one that has a long etymological history, and which remains in widespread use) are "dumb" is... not how language works.

That was the European Court of Human Rights. It's not a 'top EU court', or an EU court of any sort. It's a body of the Council of Europe, which is an entirely different institution (with a much larger international membership than the EU). It enforces the European Convention on Human Rights.

(the EU does requires members to be CoE members, and so there were some people suggesting that after leaving the EU the UK might also leave the CoE - possibly including theresa may, I haven't checked - but that doesn't currently seem likely to happen)

The EU Charter of Fundamental Rights is definitely a thing - basically a copy of the ECHR into EU law - but it's only applicable (1) to actions of EU institutions, (2) as a restriction on EU legistation, and (3) as an obligation on member states _when interpreting / implementing EU law_. It has no relevance to UK law other than that. (And what little relevance it would have had to the UK was further weakened since they had a partial opt-out to it that tried to get rid of the last of those for the UK!).

The cases about UK surveillance legislation (eg [0]) were all ECtHR, not CJEU.

[0] https://hudoc.echr.coe.int/app/conversion/pdf/?library=ECHR&...

But this is beyond ridiculous, so many years of R&D for 8 minutes of sustained acticivty activity? That sound like a joke

...You know the duration of the plasma pulse being 8 minutes doesn't mean they do it once and then the whole project is over and they need to start dismantling it, right? After a pulse, the plasma is discharged, you have a few minutes of rampdown and cooling, and then you can do it again. IIRC in the first experimental phase they expect to do ~30,000 pulses.

if I filled a hard drive with random bits and sent it to you, you could be found guilty of not knowing the decryption keys for that disk.

Technically true but misleading. It's true in the same sense as "if I plant evidence to frame you for murder, you could be found guilty of murder". I mean, sure, but that skips over the bit where the prosecution has to prove to a jury, beyond reasonable doubt, that you did actually commit the murder. Or in this case, that the hard drive is filled with encrypted data and that you have the key to it.

In particular, the implication that if the police find some random data that they think is encrypted, you can be convicted just on the assumption that it's encrypted and that you have the key to it (unless you can prove otherwise) is false. If there's enough evidence to raise a question about whether you have the key to something that could be encrypted data, the burden of proof is on the prosecution to prove you do have the key to it (and therefore that it is encrypted data) beyond reasonable doubt: s.53(3) http://www.legislation.gov.uk/ukpga/2000/23/section/53

(to be clear I definitely do agree it's a bad law, just not for burden-of-proof-reversal reasons)

Gary was using a much more powerful instance (both in cpu and memory) that this post uses when he reached 2 million with Phoenix. But Phoenix is also doing quite a lot more per connection than node. Basically for multiple reasons they're incomparable experiments, there's really no basis here to draw conclusions like '1/4 of what Elixir/Erlang can handle' from.