From 43edace8642f37bcd1de552d5b8d5fe8d6e764e4 Mon Sep 17 00:00:00 2001 From: Tanner Collin Date: Tue, 19 Mar 2024 19:35:33 -0600 Subject: [PATCH] Add alt text to images --- content/.obsidian/workspace.json | 37 ++++++++++++------------ content/Backup Strategy.md | 2 +- content/Bypassing Ports.md | 2 +- content/ChatGPT Peanut Butter Cookies.md | 8 ++--- content/Fake Dog.md | 6 ++-- content/Helios Alpha.md | 2 +- content/Hydroponics Aphid War.md | 8 ++--- content/Hydroponics.md | 6 ++-- content/Japan Photography.md | 24 +++++++-------- content/LED Dress.md | 4 ++- content/Protospace.md | 4 +-- content/QotNews.md | 4 +-- content/Secret Garden.md | 8 ++--- content/Sensors.md | 2 +- content/Spaceport.md | 4 +-- content/Things I Recommend.md | 6 ++-- 16 files changed, 65 insertions(+), 62 deletions(-) diff --git a/content/.obsidian/workspace.json b/content/.obsidian/workspace.json index 5ba119c..f300599 100644 --- a/content/.obsidian/workspace.json +++ b/content/.obsidian/workspace.json @@ -37,7 +37,7 @@ "state": { "type": "markdown", "state": { - "file": "Japan Photography.md", + "file": "Secret Garden.md", "mode": "source", "source": false } @@ -134,7 +134,7 @@ "state": { "type": "backlink", "state": { - "file": "Japan Photography.md", + "file": "Secret Garden.md", "collapseAll": false, "extraContext": false, "sortOrder": "alphabetical", @@ -151,7 +151,7 @@ "state": { "type": "outline", "state": { - "file": "Japan Photography.md" + "file": "Secret Garden.md" } } } @@ -174,35 +174,36 @@ }, "active": "d9a16803d250ddc4", "lastOpenFiles": [ - "Hand of Ozymandias.md", - "Japan Photography.md", - "Secret Garden.md", - "Algae Growth.md", - "Airflow.md", - "media/nft2.jpg", - "Backup Strategy.md", - "About.md", - "[.md", - "media/nft1.png", - "Helios Alpha.md", - "Hydroponics.md", "Wine Crate Coffee Table.md", - "media/ports1.svg", - "media/backup1.svg", "Things I Recommend.md", "t0txt.md", "t0 Services.md", "Spaceport.md", "Solar Car.md", "Sensors.md", + "Secret Garden.md", + "Helios Alpha.md", "QotNews.md", "Protospace.md", "Plant Waterer.md", "Painting.md", - "Notica.md", "Linux Flavour.md", + "Notica.md", "Light Switch.md", "LED Dress.md", + "Japan Photography.md", + "Hydroponics Log 3.md", + "Hydroponics Log 2.md", + "Hydroponics Log 1.md", + "Hydroponics Aphid War.md", + "Hydroponics.md", + "Hand of Ozymandias.md", + "Garage Door Opener.md", + "Fake Dog.md", + "media/nft2.jpg", + "media/nft1.png", + "media/ports1.svg", + "media/backup1.svg", "media/japan12hi.jpg", "media/japan11hi.jpg", "media/japan10hi.jpg", diff --git a/content/Backup Strategy.md b/content/Backup Strategy.md index e56d443..2c323f9 100644 --- a/content/Backup Strategy.md +++ b/content/Backup Strategy.md @@ -28,7 +28,7 @@ I have one backup folder `/mnt/backup` on my media server at home that serves as This backup folder is then synced to encrypted 2.5" 1 TB hard drives which I rotate between my bag, offsite, and my parents' house. -![[backup1.svg]] +![[backup1.svg | a diagram of my setup. servers and computers on the left, pointing to my home server in the middle, pointing to external hard drives on the right]] ## Backup Sources diff --git a/content/Bypassing Ports.md b/content/Bypassing Ports.md index 1190d88..bfa9bb0 100644 --- a/content/Bypassing Ports.md +++ b/content/Bypassing Ports.md @@ -20,7 +20,7 @@ My media server at home has an OpenVPN client connected to the server and is ass The virtual server has routing enabled and forwards inbound traffic __from the internet__ to my media server at home. This allows me to have external HTTP and SSH access. -![[ports1.svg]] +![[ports1.svg | a diagram of my setup. the client computer connecting to my home server through the cloud using a VPN tunnel.]] ## Server Setup diff --git a/content/ChatGPT Peanut Butter Cookies.md b/content/ChatGPT Peanut Butter Cookies.md index 35d9822..b5ff764 100644 --- a/content/ChatGPT Peanut Butter Cookies.md +++ b/content/ChatGPT Peanut Butter Cookies.md @@ -28,12 +28,12 @@ Instructions: 7. Remove from oven and allow to cool on the baking sheet for 5 minutes before transferring to a wire rack to cool completely. -![[cookies1.jpg]] +![[cookies1.jpg | sugar, one egg, and peanut butter in a metal pot]] -![[cookies2.jpg]] +![[cookies2.jpg | dough after mixing the ingredients together. the colour is light brown and fluffy.]] -![[cookies3.jpg]] +![[cookies3.jpg | twelve raw cookies on a baking sheet with crosshatch patterns made by a fork]] -![[cookies4.jpg]] +![[cookies4.jpg | the finished cookies. crosshatch barely visible.]] Human: The cookies turned out not bad. Too sweet, unsurprisingly with all that sugar. I like peanut butter cookies that are chewy, I'll ask for that next time. The mouthfeel is basically peanut butter giving way to grains of sugar. diff --git a/content/Fake Dog.md b/content/Fake Dog.md index d84ef34..10c86ec 100644 --- a/content/Fake Dog.md +++ b/content/Fake Dog.md @@ -11,14 +11,14 @@ When the front door camera is triggered my surveillance camera system sends a me You can find the [source code](https://git.tannercollin.com/tanner/woof) on my Gitea. -![[fake-dog.jpg]] +![[fake-dog.jpg | a speaker connected to a circuit board on my hardwood floor]] ## Technical Details My surveillance cameras sit on a separate network without internet access and their RTSP streams are consumed by the Blue Iris NVR software running on a dedicated Windows box. When an object is detected moving through a defined area for certain cameras, Blue Iris is configured to send an MQTT message to the `iot/cameras` topic via the Mosquitto broker running on my media server. A Python script kept alive by Supervisor runs on the Raspberry Pi and listens to the topic using the `asyncio-mqtt` module. It receives and tries to decode a JSON message like `{"serial": "SE-N-ZoneB"}`. If the camera's serial is found in a dict at the top of the script, the corresponding audio file is played using Pygame. Controlling which speaker barks is done by muting the left or right channel in the stereo audio file. -![[fake-dog2.png]] +![[fake-dog2.png | a console log output reporting the camera has activated]] ## Future Improvements The dog has a lot of false positives from the cameras being triggered by car headlights or small animals (like a real dog). This isn't a big deal since no one is home to hear it bark and it isn't loud enough for my neighbours to hear (I've asked). I would rather have a false positive than a false negative. @@ -31,6 +31,6 @@ According to [former burglars](https://news.t0.vc/TRMA), barking dogs and securi I previously caught a prowler who went into my backyard and tested my garage door handle to see if it was locked. He then broke into my neighbour's truck and garage after. He gets to have his face on my website: -![[fake-dog3.jpg]] +![[fake-dog3.jpg | a would-be burglar testing my garage door handle on the left, a close-up of his face on the right]] The extra peace of mind while I'm away is worth the evening it took to set up. It was very easy to make because I reused the code I wrote for [[Protospace]]'s PA system doorbell that you can find on [GitHub](https://github.com/protospace/doorbell). It operates similarly by playing an audio file based on which 433 MHz doorbell is pressed. diff --git a/content/Helios Alpha.md b/content/Helios Alpha.md index e10ffe9..efe7903 100644 --- a/content/Helios Alpha.md +++ b/content/Helios Alpha.md @@ -6,7 +6,7 @@ Wide: true Helios Alpha is a hydroponics system that can grow up to six plants. It's designed around a single 102 L plastic tote. It holds enough water to harvest lettuce once before refilling. After the initial setup, the system can be ignored for weeks. -![[heliosalpha1.jpg]] +![[heliosalpha1.jpg | the hydroponics system from two angles. a black tub with yellow lid, covered in tin foil with six holes for plants. grow lights above suspended by metal shelving.]] Here's directions on how you can make your own: diff --git a/content/Hydroponics Aphid War.md b/content/Hydroponics Aphid War.md index b29bbbf..f971ad6 100644 --- a/content/Hydroponics Aphid War.md +++ b/content/Hydroponics Aphid War.md @@ -17,22 +17,22 @@ While maintaining the garden, I noticed small white flecks which I just assumed The white flecks turned out to be eggs the aphids were laying. The sticky substance was honeydew, a sugary liquid that aphids secrete. -![[hydro-war1.jpg]] +![[hydro-war1.jpg | underside of a green leaf in a plastic bag. several dozen aphids can be seen on it.]] I bought a bottle of Safer's insecticidal soap to use against them. I have a walk-in shower in the downstairs basement bathroom beside the grow room, so I moved all the plants into there. I then sprayed the leaves as much as I could, top and bottom. I let it drain for a while and then rinsed thoroughly with water. -![[hydro-war2.jpg]] +![[hydro-war2.jpg | six plants sitting in a tote container lid suspended with their white roots dangling down. all inside a shower.]] Three days later I noticed the aphids were still alive. So I bought five more bottles of aphid spray and emptied them into a bucket. I then took each plant out of the system and dunked them in the bucket, covering all leaves and the net cup. I pushed the plants in and out of the bucket forcefully, to make sure all the aphids were flushed off. I then rinsed the plants in the shower thoroughly like before. -![[hydro-war3.jpg]] +![[hydro-war3.jpg | a strawberry plant being submerged in a white bucket of aphid spray. its roots are dangling off the side of the bucket.]] Three days later I did this all over again, just to make sure they were gone. This seemed to work but I noticed the aphids returned a couple months later. It was one of the reasons I decided to end this round of growth experiment. ## Mould A few weeks after the aphid dunking I noticed some kind of mould or powdery mildew on the strawberry crowns, right in the centre of the plants. -![[hydro-war4.jpg]] +![[hydro-war4.jpg | up close view of a strawberry plant crown covered in fuzzy grey mould spores]] I assumed this was because I let the plants' leaves get too dense and they were blocking airflow to the crown. The airstone bubbles air into the water reservoir and the only place the humid air can escape is through the net cups and strawberry crown. diff --git a/content/Hydroponics.md b/content/Hydroponics.md index b0967e6..e2b2a4b 100644 --- a/content/Hydroponics.md +++ b/content/Hydroponics.md @@ -21,7 +21,7 @@ I tried germinating iceberg lettuce, romaine lettuce, butterhead lettuce, arugul Lessons learned: what leggy sprouts look like and to use enough light. -![[hydroponics1.jpg]] +![[hydroponics1.jpg | twelve rockwool starter cubes with thin, leggy seedlings in a mess]] ### Home: Round 2 Started: 2022-03-05, ended: 2022-04-14. @@ -40,7 +40,7 @@ Lessons learned: (Top: lettuces, bottom: arugula, cress, arugula) -![[hydroponics2.jpg]] +![[hydroponics2.jpg | six plants sitting in holes cut out of pink foam board]] ### Home: Round 3 Started: 2022-04-14, ended: 2022-07-23. @@ -60,4 +60,4 @@ Lessons learned: - Hand-pollinating flowers is tedious. - Strawberries drop tons of pedals all over the floor. -![[hydroponics3.jpg]] +![[hydroponics3.jpg | six strawberry plants with crazy dark green leaves creating a thick bush. there are pink flowers on top under two grow lights.]] diff --git a/content/Japan Photography.md b/content/Japan Photography.md index 04dfc64..167a58e 100644 --- a/content/Japan Photography.md +++ b/content/Japan Photography.md @@ -12,50 +12,50 @@ Click each photo for the full resolution. Former Yasuda Garden, Tokyo: -[![[japan01lo.jpg]]](/media/japan01hi.jpg) +![[japan01lo.jpg | a bridge crosses over greenish water with vibrant trees in the background]] Shinjuku Gyoen National Garden, Tokyo: -[![[japan02lo.jpg]]](/media/japan02hi.jpg) +![[japan02lo.jpg | a tree trunk splits into a Y with ivy growing on one side]] Downtown Shinjuku, Tokyo: -[![[japan03lo.jpg]]](/media/japan03hi.jpg) +![[japan03lo.jpg | clean skyscrapers. the centre one resembles a game console.]] Shinjuku Golden Gai, Tokyo: -[![[japan04lo.jpg]]](/media/japan04hi.jpg) +![[japan04lo.jpg | a street wet from rain with bars on both sides. bar signs light up the pavement.]] Bamboo Forest, Kyoto: -[![[japan05lo.jpg]]](/media/japan05hi.jpg) +![[japan05lo.jpg | tall bamboo trees with leaves at the very top, letting some light in]] Giōji Temple, Kyoto: -[![[japan06lo.jpg]]](/media/japan06hi.jpg) +![[japan06lo.jpg | four trees with dark bark stand out against a vibrant green moss background]] Gohodo Benzaiten, Kyoto: -[![[japan07lo.jpg]]](/media/japan07hi.jpg) +![[japan07lo.jpg | a shrine is surrounded by trees, like they are consuming it in foliage]] Train to Hofu, Yamaguchi: -[![[japan08lo.jpg]]](/media/japan08hi.jpg) +![[japan08lo.jpg | train tracks taken out the front window of a train. power lines on each side.]] Ozu Island military tunnel, Yamaguchi: -[![[japan09lo.jpg]]](/media/japan09hi.jpg) +![[japan09lo.jpg | an ocean bay photo from inside a tunnel]] Ozu Island from the ferry: -[![[japan10lo.jpg]]](/media/japan10hi.jpg) +![[japan10lo.jpg | contrasting mountains in the background and a boat's wake in the foreground]] Gifu countryside: -[![[japan11lo.jpg]]](/media/japan11hi.jpg) +![[japan11lo.jpg | two hills covered in trees are reflected in the still water at the bottom]] Ueno, Tokyo: -[![[japan12lo.jpg]]](/media/japan12hi.jpg) +![[japan12lo.jpg | a restaurant under a train track. several people fill the adjacent street.]] All photos are released into the public domain / CC0 licensed. diff --git a/content/LED Dress.md b/content/LED Dress.md index b2f1d6c..539ec6e 100644 --- a/content/LED Dress.md +++ b/content/LED Dress.md @@ -17,7 +17,9 @@ The LEDs came from that strip that was cut up and soldered together with very sm Twenty-one of the stars are light magenta in color and twinkle by fading randomly. The seven LEDs that form the Big Dipper continually scroll through a gradient of three colors. Instead of calculating the values of each color in the gradient as the program runs, a lookup table is used. -