HNHacker News
TopNewBestAskShowJobs

klmr

1,687 karma · joined May 1, 2012

Scientist/programmer. Known as @klmr on some social media/code platforms.

[ my public key: https://keybase.io/klmr; my proof: https://keybase.io/klmr/sigs/F9zackvFn6PE00C5T_IlAkRQPH_CVvp0aqSA-hysJ30 ]

submissionscomments
klmr··on Algorithm discovers how six molecules could evolve into life’s building blocks
> A pet theory of mine is that they simply were out-competed.

This is the (by far!) most prevalent expert opinion.

klmr··on Algorithm discovers how six molecules could evolve into life’s building blocks
You seem to be basing your opinion on two main assumptions, of which one is unknown and one is untrue:

> the original biocatalysts a.k.a. enzymes were RNA molecules unlike anything that exists today.

Why “unlike anything that exists today”? Catalytically active RNA is still ubiquitous and well preserved across kingdoms (they’re some of the most ancient mechanisms for which we have phylogenetic evidence).

> it is far more likely that the first enzymes were non-ribosomal peptides

Peptides are good catalysts but they lack a high-fidelity copying mechanism so they’re not good raw material for evolution.

Taken together, your hypothesis seems to be based on a disbelief that RNAs lost their catalytic capability (which isn’t actually the case), but conversely you readily accept (without any evidence) that peptides used to have replication capabilities that were lost without a trace.

> Non-ribosomal peptides exist even today in all living beings and they are assembled in the correct sequence from amino-acids without depending directly on the information stored in nucleic acids, like the proteins.

Can you give an example of a catalytically active polypeptide which is assembled without any RNA template? I can’t think of any.

> Memories, like nucleic acids, are certainly not necessary for designing an ensemble of molecules able of self-replication

No, but what’s necessary is some kind of structure that records bits of information in some kind of order, and a mechanism for reading and writing this. Individual oligopeptides are fundamentally insufficient, you need structures capable of larger assemblies, and the information of these assemblies needs to be recorded. RNA elegantly solves both these requirements. DNA solves the storage requirement but is a very bad catalyst. Peptides solve the catalytic part of the requirement but are bad information store (prions can store specific configurations but they don’t seem to generalise).

It’s hard to overstate how important this information storage requirement is for evolution — arguably much more important than even marginally efficient catalysis. To the extent that some (admittedly far-fetched) hypotheses for early life even posit carriers such as clay minerals [1] which have, to a close approximation, zero catalytic capability — simply because they’re such an attractive medium for storing information (in the form of crystal lattice surfaces), high fidelity replication (through deposition of a new layer of minerals), and mutation (through structural modifications of the surface which are carried over through generations).

[1]: https://en.wikipedia.org/wiki/Graham_Cairns-Smith

klmr··on We Can Do Better Than SQL
As a point of minor historic curiosity, the pipe operator in R actually predates dplyr and was invented independently multiple times by various people who noticed that the Unix model translates well to data transformations in R (F# also has a pipe but I'm not aware of anybody using F# as an inspiration for the pipe in R).
klmr··on How I wrote, crowdfunded, and independently published a book
I’m also not sure how well the contents translate to German. After all, Germany has not only compulsory education but the “allgemeine Schulpflicht” (i.e. compulsory school attendance), meaning homeschooling is, for the most part, strictly illegal (Switzerland and Austria have different rules, though).
klmr··on The Animal Origins of Coronavirus and Flu
I’m assuming that the comment I was replying to was using the perceived “tidiness” of the picture as the sole evidence for their claim that it looks engineered. What else could they mean? — Of course you’re right that an engineered virion wouldn’t necessarily look tidier than a natural one. My comment wanted to point out that the perceived tidiness isn’t evidence of engineering.
klmr··on The Animal Origins of Coronavirus and Flu
There’s no surprise, zoonotic viruses are well known. That said, viruses are usually highly adapted to a specific host. Jumping host species isn’t trivial, and the mechanisms for how this happens are worth exploring.
klmr··on The Animal Origins of Coronavirus and Flu
Nothing in this image looks engineered. In fact, this is an illustration of a comparatively messy virus particle. Other viruses look a lot more regular and “artificial”. Check out the pictures (including actual SEM pictures) on https://en.wikipedia.org/wiki/Virus. And if that doesn’t convince you, here’s what bacteriophages look like: https://commons.wikimedia.org/wiki/File:Bacteriophage.jpg — Clearly nanobots, right?
klmr··on Libc++'s Implementation of std::string
The language is too weak to express it safely. CoW on mutable strings in C and C++ by necessity implies safety (or drastically performance-degrading) tradeoffs. By contrast, `jv` types are immutable so they can presumably implement CoW without compromising memory safety or correctness.
klmr··on The first chosen-prefix collision for SHA-1
> Multi-million grants are common in academia.

Not in the way you explain. Multi-million dollar grants are usually awarded over multiple years, and pay for multiple researchers’ salaries, as well as other resources, some of which are expected to outlast the project (e.g. microscopes, or hardware for databases). Burning 75k on a single experiment (which is effectively what was done here) is rare.

Note that this is true even for current hot topics such as biomedical (e.g. cancer) research, for which vast chunks of the federal budget have been allocated in multiple countries. Obtaining similar sums in less sexy fields is much harder. And even in biomedical research, multi-million dollar grants are considered large. Most grants are much smaller, they just don’t get talked about as much.

Since you mention human RNA samples I assume you know this. You mention the per-milligram cost but this is pretty misleading if you mean to imply that “milligram” is somehow little, because it isn’t: yes, the samples are tiny (≤1 µg of RNA is more typical than milligrams!), but so what? It’s not like we need more.

klmr··on Oslo had 0 pedestrian, 0 cyclist, 0 children and 1 driver trafic deaths in 2019
Children learn by imitation. That, and not the fear that the child might run after you (?!), is the reason why it’s frowned upon to cross red lights in front of children.
klmr··on Oslo had 0 pedestrian, 0 cyclist, 0 children and 1 driver trafic deaths in 2019
> frustrating and illogical!

That’s certainly a matter of opinion (and as a German currently living in the UK I disagree): Having separate green light for pedestrians means that the average waiting time is much longer (both for cars and pedestrians) and, further, green light times are often kept much shorter. Having simultaneous green light for parallel car and pedestrian traffic does mean you have to pay more attention, and could theoretically increase the risk of accident (but I’m not convinced that this is the case in practice — in my experience it definitely isn’t!). But on the other hand it means that my time waiting at traffic lights is greatly reduced on average. I thus find the UK system a lot more frustrating.

I actually see the point of the UK system and think it’s entirely defensible. But both systems have their pros and cons.

klmr··on Oslo had 0 pedestrian, 0 cyclist, 0 children and 1 driver trafic deaths in 2019
Also France.
klmr··on Undocumented Catalina file access change
Drag&drop maybe (although I’ve dropped more things accidentally on the wrong target than I’d care to admit). Copy&paste? Often accidental.
klmr··on Tail Recursion
You’re right, of course. I had completely forgotten that.
klmr··on Tail Recursion
> tail recursion in Python using the Y combinator

Small correction: this answer does not use the Y combinator to optimise tail recursion in Python (and this would be impossible). Instead, it modifies the Y combinator to do this, by using an iterative loop in its implementation.

klmr··on Tail Recursion
(nonsense deleted)
klmr··on Generating a Java program with 90% less code
I appreciate your comment and your experience. And I agree: integration tests tend to be time consuming to run. At work we actually had similar issues (and many of our integration tests need to exercise cloud APIs) before a rewrite that made the time manageable.

I just wanted to pick up one of your points:

> I've gone into the details I end up with interface classes

My reply to this is that functional programming languages tend to manage entirely without, just by doing “dependency injection” via higher-order functions (in fact, outside Java I’ve never [needed to] use a DI framework). This (often? always? I honestly don’t know!) makes mocking possible without impacting the overall architecture. And like you, I practice strict TDD for all my current own hobby projects, and I manage without interfaces. But I don’t want to make a claim of generality here: it’s entirely possible that this approach doesn’t work everywhere, or even in the majority of cases.

klmr··on Generating a Java program with 90% less code
> [in C++] it can actually be fairly challenging to do unit tests without mocks

Yes, but you can write integration tests instead. There’s no rule that says that unit testing must cover every aspect of the software. Unit test those units that can be used in isolation, integration test the rest. Case in point, our main software at work, written in C++, has close to 100% test coverage, and uses almost no mock tests. Instead, we have extensive integration tests where unit testing without mocking doesn’t work.

And, again: I’m not saying that there are no tradeoffs involved in that. But the benefit of having a drastically simpler code architecture outweigh the cost of having to move those tests into integration.

Incidentally this is vastly easier when the architecture cleanly separates business logic from general logic and moves as much of it as possible into side-effect free general-purpose functions.

klmr··on Generating a Java program with 90% less code
> Writing testable code is not "damage"

Correct, but you can go a long way in writing testable code without requiring mock implementations. While I don’t deny the usefulness of mock testing, it comes at a steep cost (= vastly more complex code base), and I increasingly question whether that’s worth it. In practice I find it more useful to unit test what can be tested in isolation, and to perform integration testing for the test, and to limit mock testing (and thus unit tests which would require mocking) to a few well-defined interfaces. This cuts down drastically on boilerplate, with little (if any) loss of testability. And these few remaining mock object dependencies can be modelled via simple parameters and higher-order functions, further cutting down on extraneous interface classes.

klmr··on A Woman Who Can Smell Parkinson's
It’s funny that you cite only the ayurvedic name, since the scientific name, diabetes mellitus, has the exact same etymology: “mellite” is Latin and translates to “sweetened [with honey]”, and the disease was thus named in 1675 because of the patients’ urine’s sweet taste. That said, it’s definitely interesting that this isn’t a relatively recent discovery and was already known two thousand years before the modern naming.
klmr··on Sketchviz – Graphviz graphs in a hand-drawn style
Drawing a single diagram will be faster, true. But adding even a single new node which requires re-layouting the whole thing to make space would require you to redraw the whole diagram, whereas in Graphviz/DOT it’s literally just adding one line of code.
klmr··on Tesla’s European gigafactory will be built in Berlin
Brandenburg and Berlin are fundamentally unrelated, they’re two completely distinct, and politically and (largely) economically independent regions. While Berlin is geographically within Brandenburg, they couldn’t be more different, and the geography is mostly of historical relevance when it comes to Berlin’s current economic position.
klmr··on Is Stack Exchange in violation of NY labor law by using volunteer moderators?
Interesting, thanks for the correction. … if I ever knew this I forgot it.
klmr··on Is Stack Exchange in violation of NY labor law by using volunteer moderators?
That’s exactly what happened, and no, I didn’t lose my status. There are internal metrics for showing individual moderators’ activity but — at least while I was a moderator —these were purely FYI, and not used to enforce activity. I eventually resigned because I was aware that my inactivity was causing backlog that created more work for other moderators. I don’t remember exactly what happened next but since moderators are elected yearly by the community I suspect that new elections were held. However, I need to emphasise that I was relatively inactive for more than a year, and completely inactive for many months.
klmr··on Is Stack Exchange in violation of NY labor law by using volunteer moderators?
> nobody was advocating misgendering

That isn’t true. Monica didn’t advocate misgendering but there was at least one other moderator (since resigned) who did. I’m not sure if that’s what iron1003 was referring to since it wasn’t as well publicised as Monica being kicked out (not resigned) but it triggered some of the subsequent events.

klmr··on Is Stack Exchange in violation of NY labor law by using volunteer moderators?
> On Stack Overflow, the moderators really are working directly on improving the site's content. They're practically unpaid editors.

So do non-moderators. In fact, there are some users who do more work towards improving the site’s content (via editing, handling suggestions, etc.) than some moderators. In fact, “trusted users” have access to many of the same moderation tools as moderators, and editing content is actively encouraged (via functionality, badges …) for all users.

klmr··on Is Stack Exchange in violation of NY labor law by using volunteer moderators?
> That's not true for moderators: they have specific tasks they must complete, and they must continue to be active, or they lose their moderation status.

That’s not correct: especially on the small sites, it’s acceptable for moderators to be inactive for long periods of time. It’s not great, but it’s understood that moderators have lives, and that they’re … not employees. I can state this confidently because I used to be a moderator on smaller sites, and I finally resigned from one (without having been in any way encouraged to) after almost a year of inactivity.

klmr··on Inherited Learning? It Happens, but How Is Uncertain
So, to clarify, in that comment by me, “guided” (and, in fact, my whole comment) definitely implies “directional”. But let’s not get hung up on this one word. The comment was about encoding learned experience in the DNA of gametes (i.e. Lamarckism), and the fact that this requires a (nonexistent) mechanism.
klmr··on Inherited Learning? It Happens, but How Is Uncertain
> [Being an expert] doesn't mean that you're not making a misstep here.

That’s correct, but we’re not discussing the cutting edge here but relative basics. I’m clearly not articulating myself well but I can assure you that this discussion wouldn’t take place between two biologists because there’s nothing here.

> It should be noted that I never said directional -- I actually made it explicitly clear in my first post that I was not arguing for a direction

You did say that, but, respectfully, you implied directionality — otherwise it would be completely unclear what your initial comment wanted to say, because it seems to specifically have objected to my assertion that no directed changes of the germ line exist.

> Do we agree that random mutations of the germline can result in differing rates of change across subsets of the genome?

Not within a single generation, no. Across evolutionary time, by virtue of selection, yes (that’s in fact the very basis of evolution). But this is irrelevant in the context of this comment thread, started by my initial comment: I asserted that there is no mechanism to encode learned behaviour in the germ line. This would require a direct mediator of mutations on the molecular level, not across evolutionary time but in the here and now. A molecule in the gametes (or their precursor cells). Such a molecule does not exist. Stochastic variation that shapes patterns of mutation across multiple generations is fundamentally a red herring here.

klmr··on Inherited Learning? It Happens, but How Is Uncertain
Iʼm aware of how evolution works, thanks. I do have a PhD in genetics after all. But this isnʼt what you were talking about here, which is the hypothetical existence of a biological mechanism enacting differential, directional selection.

Evolutionary selection (regardless of whether natural, sexual, artificial or whatever) happens in aggregate over multiple generations, it canʼt account for guided mutations in the germ line that encode “learned” behaviour (which, as my initial comment explained, simply donʼt exist).

← PreviousPage 3 of 19Next →