Compare commits
7 Commits
add_rss_ge
...
new_art
Author | SHA1 | Date | |
---|---|---|---|
02cdf4dd50 | |||
223415bb1d | |||
e80e188f10 | |||
e9317f5625 | |||
1e9d083476 | |||
c87c4a7bc8 | |||
49f358d97d |
@ -1,12 +1,12 @@
|
||||
extern crate regex;
|
||||
extern crate rss;
|
||||
|
||||
use regex::Regex;
|
||||
use rss::{ChannelBuilder, Item};
|
||||
use std::error;
|
||||
use std::fs;
|
||||
use std::fs::File;
|
||||
use std::io::prelude::*;
|
||||
use regex::Regex;
|
||||
use rss::{ChannelBuilder, Item};
|
||||
|
||||
fn main() -> Result<(), Box<dyn error::Error>> {
|
||||
// create rss channel for mycelial.technology
|
||||
@ -16,8 +16,7 @@ fn main() -> Result<(), Box<dyn error::Error>> {
|
||||
.description(
|
||||
"glyph's RSS feed. Biophilic musings on carbon-based and silicon-based technologies.",
|
||||
)
|
||||
.build()
|
||||
.unwrap();
|
||||
.build()?;
|
||||
|
||||
// list template directories containing articles for syndication
|
||||
let bacteria = "./templates/bacteria";
|
||||
@ -46,7 +45,11 @@ fn main() -> Result<(), Box<dyn error::Error>> {
|
||||
|
||||
// populate item url vector from article filenames
|
||||
let re_url = Regex::new("./templates/(.*).html.tera")?;
|
||||
let caps_url = re_url.captures(&path.to_str().unwrap());
|
||||
let caps_url = re_url.captures(
|
||||
&path
|
||||
.to_str()
|
||||
.expect("Failed to convert file path to string slice for regex capture"),
|
||||
);
|
||||
if let Some(url) = caps_url {
|
||||
let article_url = url[1].replace("_", "-");
|
||||
let full_url = format!("https://mycelial.technology/{}", article_url);
|
||||
|
28
src/main.rs
28
src/main.rs
@ -133,6 +133,15 @@ fn fungi_lichen_space() -> Template {
|
||||
Template::render("fungi/lichen_space", &context)
|
||||
}
|
||||
|
||||
#[get("/fungi/network-resilience")]
|
||||
fn fungi_network_resilience() -> Template {
|
||||
let context = FlashContext {
|
||||
flash_name: None,
|
||||
flash_msg: None,
|
||||
};
|
||||
Template::render("fungi/network_resilience", &context)
|
||||
}
|
||||
|
||||
#[get("/")]
|
||||
fn home() -> Template {
|
||||
let context = FlashContext {
|
||||
@ -151,6 +160,15 @@ fn lists() -> Template {
|
||||
Template::render("lists", &context)
|
||||
}
|
||||
|
||||
#[get("/meditation")]
|
||||
fn meditation() -> Template {
|
||||
let context = FlashContext {
|
||||
flash_name: None,
|
||||
flash_msg: None,
|
||||
};
|
||||
Template::render("meditation", &context)
|
||||
}
|
||||
|
||||
#[get("/plants")]
|
||||
fn plants() -> Template {
|
||||
let context = FlashContext {
|
||||
@ -196,13 +214,13 @@ fn plants_potato_tech() -> Template {
|
||||
Template::render("plants/potato_tech", &context)
|
||||
}
|
||||
|
||||
#[get("/meditation")]
|
||||
fn meditation() -> Template {
|
||||
#[get("/projects")]
|
||||
fn projects() -> Template {
|
||||
let context = FlashContext {
|
||||
flash_name: None,
|
||||
flash_msg: None,
|
||||
};
|
||||
Template::render("meditation", &context)
|
||||
Template::render("projects", &context)
|
||||
}
|
||||
|
||||
#[get("/support")]
|
||||
@ -242,14 +260,16 @@ fn main() {
|
||||
fungi,
|
||||
fungi_grow_together,
|
||||
fungi_lichen_space,
|
||||
fungi_network_resilience,
|
||||
home,
|
||||
lists,
|
||||
meditation,
|
||||
plants,
|
||||
plants_aloe_there,
|
||||
plants_blueberry_dance,
|
||||
plants_botanical_deceptions,
|
||||
plants_potato_tech,
|
||||
meditation,
|
||||
projects,
|
||||
support
|
||||
],
|
||||
)
|
||||
|
BIN
static/art/extrasolar.jpg
Normal file
BIN
static/art/extrasolar.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 67 KiB |
BIN
static/art/parka.jpg
Normal file
BIN
static/art/parka.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 57 KiB |
@ -26,5 +26,9 @@
|
||||
<img class="col" alt="Line drawing of a physalis fruit" src="art/physalis.jpg" title="Frail" />
|
||||
<img class="col" alt="Line drawing of a humyn hand reaching out to touch a mycelial network" src="art/hyphal_fusion.svg" title="Hyphal Fusion" />
|
||||
</div>
|
||||
<div class="flex-grid">
|
||||
<img class="col" alt="Black and white event poster of a spacecraft, astronaut and planet" src="art/extrasolar.jpg" title="Extrasolar" />
|
||||
<img class="col" alt="Line drawing of a woman in a hooded parka" src="art/parka.jpg" title="Parka" />
|
||||
</div>
|
||||
<hr>
|
||||
{%- endblock %}
|
||||
|
@ -3,7 +3,8 @@
|
||||
<article>
|
||||
<h2>Background</h2>
|
||||
<p>I was born and raised in the coastal city of Durban, South Africa, which lies between the Indian Ocean and Drakensberg Mountains. Following completion of high school I moved to Michigan, USA and completed a Bachelor of Science in anthropology (major) and biology (minor) at <a href="https://www.gvsu.edu/">Grand Valley State University</a>. I later returned to South Africa and completed a Master of Social Science in social anthropology at the <a href="http://www.uct.ac.za/">University of Cape Town</a>, with <a href="https://open.uct.ac.za/handle/11427/6795">research</a> focused on decentralised networks of medicinal plant harvesters and herbalists (Rasta bush doctors). I then went on to work as an applied anthropologist and ethnobotanist in the non-profit sector.</p>
|
||||
<p>Following a year spent travelling in South America, I restructured my life and livelihood around my core interests: carbon-based and silicon-based technologies (biology and computers). Since then I have founded <a href="https://harmonicmycology.com">Harmonic Mycology</a>, a mycology collective dedicated to developing and distributing mycelial medicines, teaching mushroom cultivation and encouraging the formation of humyn-fungal networks. In parallel to those activities, I have worked as an autodidactic software developer on private and open-source projects; most-recently, <a href="https://opencollective.com/peachcloud">PeachCloud</a>.</p>
|
||||
<p>Following a year spent travelling in South America, I restructured my life and livelihood around my core interests: carbon-based and silicon-based technologies (biology and computers). In 2016 I co-founded <a href="https://harmonicmycology.com">Harmonic Mycology</a>, a mycology business based in Cape Town, and served as Creative Director until leaving to pursue personal and collective projects in 2020. I have developed mycelial medicines, cultivated edible and medicinal fungi and taught workshops on mushroom cultivation, biomaterials and medicinal fungi. My mycological work is now focused on encouraging the formation of humyn-fungal networks and practicing low-tech, ecologically-integrated cultivation.</p>
|
||||
<p>In parallel to my mycological endeavours, I work as an autodidactic software developer on private and open-source projects; most-recently, <a href="https://opencollective.com/peachcloud">PeachCloud</a>. I also enjoy tinkering with electronics and have a couple of solar-powered projects in the works.</p>
|
||||
<p>I hold a deep fascination with the processes through which humyns form relationships with other living beings. When not in the lab or behind a keyboard, you can find me looking at mushrooms, riding my bicycle or reading sci-fi. I'm dreaming of a three-month adventure across Japan ⛩.</p>
|
||||
<img src="glyph_laetiporus.jpg" alt="A young man crouching beside a large orange chicken-of-the-woods mushroom growing from the trunk of an oak tree. Trees, shrubs and grasses fill the foreground and background." style="width: 100%;" />
|
||||
</article>
|
||||
|
@ -7,7 +7,7 @@
|
||||
<title>mycelial technology | glyph</title>
|
||||
<meta name="author" content="glyph">
|
||||
<meta name="description" content="The personal website of glyph.">
|
||||
<meta name="keywords" content="mycology, fermentation, coding">
|
||||
<meta name="keywords" content="botany, coding, electronics, fermentation, fungi, meditation, mycology, plants">
|
||||
<style>
|
||||
a {
|
||||
color: #111;
|
||||
|
@ -4,6 +4,7 @@
|
||||
<ul>
|
||||
<li><a href="/fungi/lichen-space">Lichens in Space</a> - <i>28 May, 2020</i></li>
|
||||
<li><a href="/fungi/grow-together">Grow Together</a> - <i>29 March, 2018</i></li>
|
||||
<li><a href="/fungi/network-resilience">Network Resilience: Woronin Bodies and the Scuttleverse</a> - <i>25 March, 2018</i></li>
|
||||
</ul>
|
||||
<hr>
|
||||
{%- endblock %}
|
||||
|
19
templates/fungi/network_resilience.html.tera
Normal file
19
templates/fungi/network_resilience.html.tera
Normal file
@ -0,0 +1,19 @@
|
||||
{% extends "nav" %}
|
||||
{% block content %}
|
||||
<article>
|
||||
<h2>Network Resilience: Woronin Bodies and the Scuttleverse</h2>
|
||||
<i>25 March, 2018</i>
|
||||
<p>Today I spent some more time reading through <i>Fungi in the Environment</i>, particularly the chapter titled “Natural history of the fungal hypha: how Woronin bodies support a multicellular lifestyle” by Gregory Jedd. I’m sharing a bit of it here since I think Woronin bodies, and fungal evolutionary history more broadly, has some metaphorical relevance to the Scuttleverse. My thoughts and presentation here are very rough but I intend on refining them iteratively.</p>
|
||||
<p>Some fungi have perforated walls (septa) between their cells. Septal pores (openings between cells) allow the cellular contents of the mycelial network to flow through the cells. This is known as protoplasmic streaming and sometimes includes cellular nuclei in addition to other organelles (intracellular modules).</p>
|
||||
<p>When experiencing damage, stress, old age, or during cellular differentiation, these fungi are able to selectively seal the septal pores in some of their cells. For example, when an insect takes a bite out of a mycelial network, cells adjacent to the destroyed / damaged cells prevent the leaking of protoplasm by sealing their pores. In this sense, they are self-healing and responsive to unanticipated changes in network integrity.</p>
|
||||
<p>Different fungi take different approaches to halting and resuming protoplasmic streaming. One method of sealing septal pores is via Woronin bodies - bundles of HEX-1, a self-assembling structural protein, tethered to the pore opening. These Woronin bodies are essentially plugs which are pulled into position when required and may be sealed-over in the process of recovering from damage to adjacent cells.</p>
|
||||
<blockquote cite="http://www.cambridge.org/ru/academic/subjects/life-sciences/plant-science/fungi-environment">
|
||||
<p>the fungal colony can be thought of as a mass of protoplasm that migrates through a growing, interconnected system of channels. The early-diverging fungi (e.g. Zygomycota) grow well in the absence of vegetative septa; what then is the benefit of the perforate septum? Septal pores confer the advantage of protoplasmic streaming and intercellular continuity but are also sufficiently small to be rapidly closed. Thus, the syncytium can ‘cellularize’ in response to hyphal damage, stress or old age, and during cellular differentiation. Several mechanisms exist to close the septal pore; one of these is described in detail below. Interestingly, the fungi with the most prominent and complex septal-pore-associated organelles, the Hymenomycetes and Euascomycetes (Fig. 2.1), also produce the largest and most complex multicellular fruiting bodies (Alexopolous et al., 1996), suggesting that these organelles support complex multicellular organization.</p>
|
||||
<footer>- <a href="https://www.academia.edu/download/47581014/Fungi_in_the_Environment.pdf#page=43"><cite>JEDD, G., 2007. Natural history of the fungal hypha: how Woronin bodies support a multicellular lifestyle. Fungi in the environment. Cambridge University Press, Cambridge, pp.33.</cite></a></footer>
|
||||
</blockquote>
|
||||
<p>Perhaps these fungi can inform some of our thinking around diversity, replication and resilience, particularly with regards to recent (Scuttlebutt) discussions concerning trolls and bad actors? Maybe they hold clues to guide our growth towards ‘complex multicellular organization’?</p>
|
||||
<p>Messages stream through the Scuttleverse via openings in the cells of the network (peers). In response to undesired behaviour from a peer(s), individuals - and, by extension, enclaves - selectively close their portals to the 'Verse - momentarily or permanently stopping the stream. Like fungi, the evolution of the Scuttleverse pulses with hyphal fusion and fission; continually reconfiguring the network topology and connectivity in response to environmental factors. Woronin-bodies, along with similar organelles in other fungi, could be replicated in the 'Verse: programmatic plugs to limit or halt streaming of network content, acting in a decentralized fashion via subjective replication and interaction definitions.</p>
|
||||
<p>My understanding of SSB is far from adequate to even begin exploring these ideas in code, but I look forward to the day that dream takes shape around me; self-assembling structural proteins dancing as hyphal shards of The Greater Scuttleverse merge and diverge.</p>
|
||||
</article>
|
||||
<hr>
|
||||
{%- endblock %}
|
@ -4,12 +4,13 @@
|
||||
<h3>Books</h3>
|
||||
<p>Currently Reading</p>
|
||||
<ul>
|
||||
<li><i>Red Moon</i> - Kim Stanley Robinson</li>
|
||||
<li><i>Ready Player One</i> - Ernest Cline</li>
|
||||
<li><i>Radical Mycology</i> - Peter McCoy</li>
|
||||
<li><i>Jonathan Strange & Mr Norrell</i> - Susanna Clarke</li>
|
||||
</ul>
|
||||
<p>Previously Read</p>
|
||||
<ul>
|
||||
<li><i>Red Moon</i> - Kim Stanley Robinson</li>
|
||||
<li><i>Mythago Wood</i> - Robert Holdstock</li>
|
||||
<li><i>The Name of the Wind</i> - Patrick Rothfuss</li>
|
||||
</ul>
|
||||
@ -24,6 +25,11 @@
|
||||
<li><i>Deadly Class</i> - Rick Remender, Lee Loughridge and Wes Craig</li>
|
||||
<li><i>Saga</i> - Brian K. Vaughan and Fiona Staples</li>
|
||||
</ul>
|
||||
<p>Previously Read</p>
|
||||
<ul>
|
||||
<li><i>Invisible Kingdom, Vol. 1</i> - G. Willow Wilson and Christian Ward</li>
|
||||
<li><i>Isola, Vol. 1</i> - Brenden Fletcher and Karl Kerschl</li>
|
||||
</ul>
|
||||
<p>Wishlist</p>
|
||||
<ul>
|
||||
<li><i>Trees</i> - Jason Howard and Warren Ellis</li>
|
||||
@ -42,8 +48,8 @@
|
||||
<h3>Podcasts</h3>
|
||||
<p>Currently Listening</p>
|
||||
<ul>
|
||||
<li><a href="https://www.embedded.fm/" title="Embedded FM"><i>Embedded FM</i></a> - Elecia White and Chris White</li>
|
||||
<li><a href="https://www.indefenseofplants.com/podcast" title="In Defense of Plants podcast"><i>In Defense of Plants</i></a> - Matt</li>
|
||||
<li><a href="https://www.happinesslab.fm/" title="The Happiness Lab podcast"><i>The Happiness Lab</i></a> - Dr Laurie Santos</li>
|
||||
</ul>
|
||||
<hr>
|
||||
{%- endblock %}
|
||||
|
@ -10,8 +10,9 @@
|
||||
<li class="nav-item"><a href="/computers">computers</a></li>
|
||||
<li class="nav-item"><a href="/fungi">fungi</a></li>
|
||||
<li class="nav-item"><a href="/lists">lists</a></li>
|
||||
<li class="nav-item"><a href="/plants">plants</a></li>
|
||||
<li class="nav-item"><a href="/meditation">meditation</a></li>
|
||||
<li class="nav-item"><a href="/plants">plants</a></li>
|
||||
<li class="nav-item"><a href="/projects">projects</a></li>
|
||||
<li class="nav-item"><a href="/support">support</a></li>
|
||||
</ol>
|
||||
</nav>
|
||||
|
@ -1,15 +1,21 @@
|
||||
{% extends "nav" %}
|
||||
{% block content %}
|
||||
<h2>Projects</h2>
|
||||
<p>I'm a tortoise and I shuffle between projects in eccentric orbits; sometimes I complete one. Here are some of the things I'm currently working on:</p>
|
||||
<p>I'm a tortoise and I shuffle between projects in eccentric orbits; sometimes I complete one.</p>
|
||||
<h3>Active</h3>
|
||||
<ul>
|
||||
<li><a href="https://opencollective.com/peachcloud">PeachCloud</a>: solarpunk social hardware</li>
|
||||
<li>Cultivation</li>
|
||||
<ul>
|
||||
<li><i>Grifola frondosa</i></li>
|
||||
<li><i>Pleurotus eryngii</i></li>
|
||||
<li><i>Pleurotus ostreatus</i></li>
|
||||
<li><a href="https://opencollective.com/peachcloud">PeachCloud</a>: solarpunk social hardware with Scuttlebutt</li>
|
||||
<li><a href="https://hyphalfusion.network">Hyphal Fusion Network</a>: distributed mycology research</li>
|
||||
<li><a href="https://git.sr.ht/~glyph/myka">myka</a>: culture library & cultivation log for tracking the expansion of mycelia</li>
|
||||
<li><a href="https://git.sr.ht/~glyph/spore">spore</a>: a manual for the mycelial arts</li>
|
||||
</ul>
|
||||
<h3>On-hold</h3>
|
||||
<ul>
|
||||
<li><a href="https://two.camp.scuttlebutt.nz/">Scuttlecamp 2</a>: gathering of the Butts</li>
|
||||
</ul>
|
||||
<h3>Complete</h3>
|
||||
<ul>
|
||||
<li>An RSS generator for mycelial.technology (<a href="https://git.sr.ht/~glyph/website/tree/master/src/bin/generate_rss.rs" title="Rust source code for a custom RSS generator">source</a>)</li>
|
||||
</ul>
|
||||
<hr>
|
||||
{%- endblock %}
|
||||
|
Reference in New Issue
Block a user