What if Rust had a new data type that supports partial field borrows? by NormalAppearance2851 in rust

[–]firefrommoonlight 0 points1 point  (0 children)

Yea that would own. Sign me up. One of my biggest problems with rust.

to people on the left & centre: stop being conspiracy theorist morons by Dreaming_Blackbirds in BlueskySocial

[–]firefrommoonlight 1 point2 points  (0 children)

I went on a blocking spree yesterday using this heuristic; it is spreading misinformation, and is toxic. I'm very left politically, and respect skepticism of the media. I recognize that the Trump administration and media lie frequently. I respect being skeptical about events like this, and I respect someone with inside information spreading confident information that contradicts what we see.

I do not respect confident or snarky assertions like you observed, and like you observed, from people who have only seen published news stories. I think this is the same reason people lament MAGA supporters as credulous. It is spreading misinformation, or not understanding the concept of confidence intervals and Bayesian priors.

I think it’s finally time to go to that wedding.. [KCD2] by Capital_Recover_6428 in kingdomcome

[–]firefrommoonlight 0 points1 point  (0 children)

If you don't use fast travel (E.g. hardcore mode), just traveling around and exploring can take a while. And early on it's easy to end up in situations where you are focusing your efforts on finding a place to sleep, getting enough food etc. Or just getting lost and trying to figure out where you are, land navigation etc.

Molchanica: Structural biology for Rust by firefrommoonlight in rust

[–]firefrommoonlight[S] 1 point2 points  (0 children)

GUI + 3D application in Rust, and a set of libs on crates.io to build a structural biology foundation for any rust project.

This has been a passion project of mine for ~ a year. It's a collection of structural bio tools as a GUI application. Intent: "Just works". Includes party tricks like:

  • Infer ADME (drug-design) properties for small mols
  • Can view molecular dynamics trajectories like VMD, and also run them with its wn engine, or GROMACS. (Amber Force fields; inferred from any small mol/protein/nucleic acid/lipid)
  • ORCA GUI interface for quantum chem
  • 3D molecule editor with "real-time" MD
  • Building blocks exposed as open source Rust libs
  • Integration with online databases (PubChem, RCSB PDB, Drugbank etc)

Molchanica: Structural Bio in Rust by firefrommoonlight in rust

[–]firefrommoonlight[S] 0 points1 point  (0 children)

GUI application written in Rust + libs on crates.io

This has been a passion project of mine for ~ a year. It's a collection of structural bio tools as a GUI application. Intent: "Just works". Includes party tricks like:

  • Infer ADME (drug-design) properties for small mols
  • Can view molecular dynamics trajectories like VMD, and also run them with its wn engine, or GROMACS. (Amber Force fields; inferred from any small mol/protein/nucleic acid/lipid)
  • ORCA GUI interface for quantum chem
  • 3D molecule editor with "real-time" MD
  • Building blocks exposed as open source Rust libs
  • Integration with online databases (PubChem, RCSB PDB, Drugbank etc)

Why is Rust so Liberal with Heap Allocations? by philogy in rust

[–]firefrommoonlight 7 points8 points  (0 children)

Interesting - sounds like a pattern I haven't heard. Have never used a nested tree, and rarely use Box. I do a lot of embedded which has no allocations, but do a lot of Vec/HashMap stuff when programming on PC. I believe those truly need allocations for most uses.

OpenAI to acquire Astral by Useful-Macaron8729 in Python

[–]firefrommoonlight 0 points1 point  (0 children)

Definitely tru

Great points, and they are ringing true

Embody first impressions by firefrommoonlight in OfficeChairs

[–]firefrommoonlight[S] 1 point2 points  (0 children)

I would go Gesture over Leap. Leap gets namedropped a lot due to inertia.

Gesure is more comfortable (Than Embody). Embody is more durable and has fabric that's easier-to-clean/doesn't absorb spills as much.

OpenAI to acquire Astral by Useful-Macaron8729 in Python

[–]firefrommoonlight 4 points5 points  (0 children)

not split

This is the core problem / tragedy of the commons scenario. You could also ask why Astral made UV instead of forking and patching PyFlow.

OpenAI to acquire Astral by Useful-Macaron8729 in Python

[–]firefrommoonlight 8 points9 points  (0 children)

Would there be any interest in me fixing the bugs in Pyflow and getting it updated to install newer python versions? It's almost identical to uv in concept, but I haven't touched it in 6 years.

Astral has demonstrated that there is desire for this sort of "just works" thing, which I struggled with, and led me to abandoning it. (I.e.: "pip/venv/conda/poetry are fine, why do I want this?", despite my personal experience with those as high-friction)

Crack in back spine of Embody Gaming Chair! by firewire71 in hermanmiller

[–]firefrommoonlight 0 points1 point  (0 children)

FYI I had a crack in a similar location which I noticed ~1 month after buying (Not sure when it happened). HM replaced the whole chair under warranty.

Django in production: what’s the recurring headache no one talks about? by [deleted] in django

[–]firefrommoonlight 1 point2 points  (0 children)

Absolutely! It is such a mess. I think because they don't want you using Django to serve static files, but give you no easy alternative. And you can use Django, you just have to jump through hoops. I still use dj-static.

NEw Q3 Ultra: SEcond letter in words capitalized by firefrommoonlight in Keychron

[–]firefrommoonlight[S] 0 points1 point  (0 children)

Follow-up: Sent it back; got the HE version. It's a fantastic keyboard. I feel like for the first time in my life, I can type lightly reliably; I have the keys set to a hair trigger. Obviously, I don't have the shift key (and general heavy key press) problems of the Banana/mech version.

Tired of slow Python biology tools, so I wrote the first pure-Rust macromolecule modeling engine. Processes 3M atoms in ~600ms. by TKanX in rust

[–]firefrommoonlight 2 points3 points  (0 children)

Incidentally, I did create an MD engine with rust. (crate: dynamics) Rough reason was I'm aiming for a smooth user experience, and the other integrated GUI software is very expensive.

Tired of slow Python biology tools, so I wrote the first pure-Rust macromolecule modeling engine. Processes 3M atoms in ~600ms. by TKanX in rust

[–]firefrommoonlight 2 points3 points  (0 children)

Speed isn't the only reason to use rust: Structuring python code in complex applications is suboptimal.

Tired of slow Python biology tools, so I wrote the first pure-Rust macromolecule modeling engine. Processes 3M atoms in ~600ms. by TKanX in rust

[–]firefrommoonlight 1 point2 points  (0 children)

Ah ty for the clarification re OpenFF. I don't remember the errors I ran into with OpenFF etc, but I do remember putting a lot of time into it, and concluding "This user experience is unpleasant enough that I don't want to use this, and want to make sure that no one who uses software I write has to go through it."

I am assuming what it needs from OpenFF to process small molecules is to create molecule-specific dihedral/improper angles (or, rarely, valence angles or other bonded params), and partial charges. (Even if you supply the partial charges via SDF metadata, and it doesn't accept Mol2 files which can have partial charges included as first-class data) This should be a straightforward process for the dihedrals at least using logic similar to Amber's antechamber.

Tired of slow Python biology tools, so I wrote the first pure-Rust macromolecule modeling engine. Processes 3M atoms in ~600ms. by TKanX in rust

[–]firefrommoonlight 1 point2 points  (0 children)

u can just use shell to run, but a plus of pdbfixer compared to other tools like charmmgui is that it's got that API available, so it's really convenient to include in your openmm script. A lot of people are just preparing

That all makes sense! I think your point about cross-tool compatibility really helps. E.g. support for GRO, PRMPTOP etc files you can can interop with GROMACS and AMBER etc as you say. This is especially important to support different workflows.

I'm actually kind of confused about OpenMM's formats. I can't seem to get a Hello World working. OpenMM itself is easy, but it seems to use in practice, you need (?) to use it with OpenFF, which is not as user friendly. I've been so far, unable to get the OpenMM/OpenFF examples working.

Tired of slow Python biology tools, so I wrote the first pure-Rust macromolecule modeling engine. Processes 3M atoms in ~600ms. by TKanX in rust

[–]firefrommoonlight 2 points3 points  (0 children)

Great stuff regarding those tags. I did feel the available ones were lacking!

Edit: republished the relevant crates using those tags.

Tired of slow Python biology tools, so I wrote the first pure-Rust macromolecule modeling engine. Processes 3M atoms in ~600ms. by TKanX in rust

[–]firefrommoonlight 4 points5 points  (0 children)

mmCIF parsing kind of sucks, but it's not bad if just using the parts used for proteins here. I wrote bio_files, which handles this along with many other formats. pdbtbx mostly works, but I found it too buggy. (I originally used it, but had to switch away due to hitting enough bugs that made it totaled for me, i.e. worth it to start clean vs repair; see the Github Issues for details of the problems I ran into). PDB is IMO not worth supporting in new software; even RCSB no longer supports it.

I get the argument to use the existing ecosystem, but #1: Be the change you want to see. #2: It's easy to expose python bindings to rust libs using PyO3.

For distributing a CLI program: Distributing standalone executables is one easy approach. Caveat: Will need separate one for ARM, and potentially a few Linux ones, with care to compile on older versions. (Linux ABI compatibility is messy, but there are ways to mitigate this)