Skip to content

Instantly share code, notes, and snippets.

View vadixidav's full-sized avatar
🦀
Rust ❤️

Geordon Worley vadixidav

🦀
Rust ❤️
  • Austin, TX
  • 22:49 (UTC -05:00)
View GitHub Profile
@vadixidav
vadixidav / paramecium-bursaria-culture-guide.md
Created May 3, 2026 16:52
Guide for culturing Paramecium bursaria using roasted unsalted pumpkin seeds

Pumpkin Seed Kernels as a Nutrient Source for Paramecium bursaria Cultures

Why Pumpkin Seeds?

After systematic comparison of common grocery store foods — including oats, cocoa powder, nuts, seeds, and milk — pumpkin seed kernels (pepitas) emerged as the optimal single-food nutrient source for P. bursaria and its zoochlorella endosymbionts. Their unusually high phosphorus concentration (1233 mg/100g) dilutes all penalty ions to levels unmatched by any other readily available food. They deliver all required macro- and micronutrients in a single, tweezerable solid that decomposes gradually via bacterial intermediaries.

Nutrient Profile per 100g (USDA, dried kernels)

Nutrient Amount Per mg P Role in P. bursaria / zoochlorella
/// A lexicon contains all the definitions known in a given context.
#[derive(Clone, Debug, Default)]
struct Lexicon<'a> {
scopes: Vec<&'a Scope>,
}
impl<'a> Lexicon<'a> {
/// Erases the lifetime of the Scope reference internally since
/// it will be forgotten when this is dropped.
fn with<'b>(&'b mut self, scope: &Scope) -> ScopedLex<'b, 'a> {
#[inline]
fn write_u64<T: ByteOrder>(&mut self, n: u64) -> Result<()> {
let mut buf = [0; 8];
T::write_u64(&mut buf, n);
self.write_all(&buf)
}
[package]
name = "cbindgen_test"
version = "0.2.0"
authors = ["Geordon Worley <[email protected]>"]
[lib]
crate-type = ["staticlib"]
[profile]
panic = "abort"
$ cargo run --release --example langtons_ant
Compiling gridsim-ui v0.1.2 (file:///C:/Users/vadix/code/gridsim-ui)
error: expected `{`, found `}`
--> examples\langtons_ant.rs:33:5
|
33 | }
| ^
error: aborting due to previous error
error[E0499]: cannot borrow `*self` as mutable more than once at a time
--> src\grid.rs:199:9
|
198 | self.step();
| ---- first mutable borrow occurs here
199 | self.update();
| ^^^^ second mutable borrow occurs here
200 | }
| - first borrow ends here
error[E0119]: conflicting implementations of trait `neighborhood::GetNeighbors<'_, usize, neumann::Neighbors<&_>>` for type `SquareGrid<_>`:
--> src\neumann.rs:195:1
|
177 | / impl<'a, C, S> GetNeighbors<'a, usize, Neighbors<&'a C>> for SquareGrid<S>
178 | | where
179 | | S: Sim<Cell = C>,
180 | | {
... |
192 | | }
193 | | }
fn fold_op<F: Fn(f64, f64)>(input: &[u8], init: f64, f: F) -> IResult<&[u8], f64> {
fold_many0!(ws!(alt!(apply!(list) | apply!(f64::from_str))), init, f)
}
named!(list<f64>, delimited!(tag!("("), ws!(alt!(
proceed!(tag!("+"), apply!(fop, 0.0, |acc, item| acc + item))
)), tag!(")")));
error: unexpected end of macro invocation
```rust
fn fold_op<F: Fn(f64, f64)>(input: &[u8], init: f64, f: F) -> IResult<&[u8], f64> {
    fold_many0!(ws!(alt!(apply!(list) | apply!(f64::from_str))), init, f)
}
named!(list<f64>, delimited!(tag!("("), ws!(alt!(
    proceed!(tag!("+"), apply!(fop, 0.0, |acc, item| acc + item))
)), tag!(")")));
```
fn fold_op<F: Fn(f64, f64)>(input: &[u8], init: f64, f: F) -> IResult<&[u8], f64> {
fold_many0!(ws!(alt!(apply!(list) | apply!(f64::from_str))), init, f)
}
named!(list<f64>, delimited!(tag!("("), ws!(alt!(
proceed!(tag!("+"), apply!(fop, 0.0, |acc, item| acc + item))
)), tag!(")")));