1,097 karma · joined July 12, 2017
We can't even simulate all of the chemical processes inside a single cell. We don't even know all of the chemical processes. We don't know the function of most proteins.
In the life sciences, practically no one knows how to use LaTeX, or has even heard of it.
This particular paper has flaws - as you mentioned, only a very small number of peptides are measured. I work on proteomics, and I remember this discussion from when the paper was initially published: https://mstdn.social/@pwilmart@scicomm.xyz/11087205681645628...
Paleoproteomics isn't what I would call well developed at this stage. How do we know that the peptides that were detected were actually from Vlad? Many people may have handled the letters over the years.
I wouldn't want a "dev" who spent 2-3 hours a day doing something like this manually working with me.
There are definitely aspects of Rust that are much more complex (typically with a tradeoff of more expressiveness, but not always), but at least in my experience, these are usually areas where you can't easily express the same thing in Python. I think many times people forget that you can frequently `clone` your way out of many issues if you are trying to move fast.
And of course areas where I still only use python: manipulating tabular data, making graphs, quick scripts for interacting with APIs etc.
Are there some things faster to write in python? Sure. But I find the mental overhead is significantly less (for me) in Rust, and overall dev time is about equal, since I typically hit far fewer bugs and spend less time reading docs in Rust. I can't remember the last time I hit a footgun in Rust. Seems I hit one every week in python.
We recently migrated a ~10k SLOC Django JSON API server to axum/sqlx (Rust). I couldn't be happier - faster to ship new features, faster to refactor, fewer bugs, and response times got about 10x quicker.
I think once you get familiar with it, it is just slightly slower to write than python.
It really is a wonderful language held back by a lack of good tooling and ecosystem, and well, users.
struct Bar {
id: Uuid,
column_1: i64,
column_2: i64,
column_3: String,
column_4: Uuid,
}
struct UpdateBar {
column_1: Option<i64>,
column_2: Option<i64>,
column_3: Option<String>,
column_4: Option<Uuid>,
}
UPDATE some_table SET
column_1 = COALESCE($1, column_1),
column_2 = COALESCE($2, column_2),
column_3 = COALESCE($3, column_3),
column_4 = COALESCE($4, column_4),
WHERE id = some_id;
Or, you just never do partial updates :)I have a few dynamic queries, but for the most what I'm doing is relatively straightforward. I still prefer this over using an ORM, personally.
I have built several APIs with Rust + Axum + Sqlx. I get statically typed SQL queries, rock-solid performance, easy to deploy. Most of these APIs also interface with AWS stuff at some point, and the Rust SDK is just phenomenal to use.
But I also love Rust. I've been writing it for 6 years now, and I am more productive in Rust than any other language (for non-trivial projects). I can write up an API faster in Rust than in Django, because I don't have to spend time digging through configuration files or installing plugins and reading arcane documentation to do what I want. The above stack in Rust is incredibly simple.
Sum types allow you to express type-level OR. Structs/tuples etc are AND (product types). I like to be able to use both OR and AND at both the expression and type level.
Politely closes door in your face
As just one example: there are no OCaml or Haskell packages for natively reading or writing parquet files. There are at least 2 such packages for Rust.
If OCaml/StandardML/Haskell/etc had anything close to the ergonomics and convenience of cargo for testing, setting up projects, adding deps, deploying them to any OS/platform, I would probably write about 30-40% less Rust.
I'm not saying we should add GC to Rust - but I think there is space for a Rust+GC language (or just improved ecosystem and tooling for other functional langs)
As a biochem PhD holder, you're really gonna have to back this up.
A slew of retracted papers from his mentor's lab, and image duplications/fabricated western blots from David's lab:
https://forbetterscience.com/2020/05/14/never-ageing-anti-ag...
https://forbetterscience.com/2023/04/17/the-original-sins-of...
Several blog posts on the resveratrol controversy by Derek Lowe (required reading in pharma/biotech):
https://www.science.org/content/blog-post/resveratrol-srt501...
https://www.science.org/content/blog-post/does-resveratrol-r...
https://www.science.org/content/blog-post/resveratrol-humans...
https://www.science.org/content/blog-post/latest-sirtuin-con...
Also anecdotal, but I personally know several PIs who worked on sirtuins during their PhDs and they all say that David is full of shit.
MLton? I've been playing around on-and-off with a non-production SML compiler and MLton is such a fantastic resource.
This is just a hobby for me, but I have read (and own) several different compiler textbooks. What I really want is one that focuses on compiling functional languages down to assembly.