change to blowfish

This commit is contained in:
ash
2026-03-14 15:39:50 +00:00
parent 983ca31644
commit 0cd7bc17bc
106 changed files with 6678 additions and 1103 deletions
Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

+74 -36
View File
@@ -1,13 +1,13 @@
<!doctype html>
<html
lang="en-gb"
lang="en"
dir="ltr"
class="scroll-smooth"
data-default-appearance="dark"
data-auto-appearance="true"><head><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=1313&amp;path=livereload" data-no-instant defer></script>
<meta charset="utf-8">
<meta http-equiv="content-language" content="en-gb">
<meta http-equiv="content-language" content="en">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
@@ -43,7 +43,7 @@
<meta property="og:site_name" content="Ash Marlow">
<meta property="og:title" content="Garmin Eink">
<meta property="og:description" content="Using an Eink display with an ESP32 to track and motivate me for a virtual running challenge">
<meta property="og:locale" content="en_gb">
<meta property="og:locale" content="en">
<meta property="og:type" content="article">
<meta property="article:section" content="projects">
<meta property="article:published_time" content="2026-02-20T15:42:06+00:00">
@@ -95,8 +95,8 @@
<link
type="text/css"
rel="stylesheet"
href="/css/main.bundle.min.9ee99083dcf0aebbaecc330e6a5dd2e77523fab6b2c18310c1bb2234a165f95d3e2c6af1133b81a48d3c11370060decfc0b06aee9c3445603fe6632abc319ee0.css"
integrity="sha512-numQg9zwrruuzDMOal3S53Uj&#43;raywYMQwbsiNKFl&#43;V0&#43;LGrxEzuBpI08ETcAYN7PwLBq7pw0RWA/5mMqvDGe4A==">
href="/css/main.bundle.min.9ad45a110b860f64037f0ac4bcec699ac86f9d98a9b33e37551c11ad228f0505a2d41b9e6606a0536060efe4034905ed57b1c3153a94af326c0eb0b92a05642e.css"
integrity="sha512-mtRaEQuGD2QDfwrEvOxpmshvnZipsz43VRwRrSKPBQWi1BueZgagU2Bg7&#43;QDSQXtV7HDFTqUrzJsDrC5KgVkLg==">
@@ -123,6 +123,8 @@
@@ -133,8 +135,8 @@
defer
type="text/javascript"
id="script-bundle"
src="/js/main.bundle.min.b61ad3f6e0119d2611a72f3892ca8f75eb1da42ac1f74dafaf32e617ccb970be4b278131f9ad9f2eff9d4bd23e552e7881e2c821970c4bf8f47a2467bca1c933.js"
integrity="sha512-thrT9uARnSYRpy84ksqPdesdpCrB902vrzLmF8y5cL5LJ4Ex&#43;a2fLv&#43;dS9I&#43;VS54geLIIZcMS/j0eiRnvKHJMw=="
src="/js/main.bundle.min.ddce0729419700936e0c03ec6f8766f25d6304e689ec0291bf18dfe90cf581a8b4d2f0136eae2dc6657f37ba9a194c38242716ed05cb312eb90715b367403743.js"
integrity="sha512-3c4HKUGXAJNuDAPsb4dm8l1jBOaJ7AKRvxjf6Qz1gai00vATbq4txmV/N7qaGUw4JCcW7QXLMS65BxWzZ0A3Qw=="
data-copy="Copy"
data-copied="Copied"></script>
@@ -204,7 +206,7 @@
"name": "Garmin Eink",
"headline": "Garmin Eink",
"inLanguage": "en-gb",
"inLanguage": "en",
"url" : "http://localhost:1313/projects/garmin-eink/",
"author" : {
"@type": "Person",
@@ -269,6 +271,9 @@
<div class="main-menu flex items-center w-full gap-2 p-1 pl-0">
<a href="/" class="text-base font-medium truncate min-w-0 shrink">
Ash Marlow
@@ -285,12 +290,17 @@
href="/about/"
class="flex items-center bf-icon-color-hover"
aria-label="CV &amp; About"
title="">
aria-label="About"
title="Curriculum Vitae">
<span class="mr-1">
<span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512">
<path fill="currentColor" d="M320 32c-8.1 0-16.1 1.4-23.7 4.1L15.8 137.4C6.3 140.9 0 149.9 0 160s6.3 19.1 15.8 22.6l57.9 20.9C57.3 229.3 48 259.8 48 291.9v28.1c0 28.4-10.8 57.7-22.3 80.8c-6.5 13-13.9 25.8-22.5 37.6C0 442.7-.9 448.3 .9 453.4s6 8.9 11.2 10.2l64 16c4.2 1.1 8.7 .3 12.4-2s6.3-6.1 7.1-10.4c8.6-42.8 4.3-81.2-2.1-108.7C90.3 344.3 86 329.8 80 316.5V291.9c0-30.2 10.2-58.7 27.9-81.5c12.9-15.5 29.6-28 49.2-35.7l157-61.7c8.2-3.2 17.5 .8 20.7 9s-.8 17.5-9 20.7l-157 61.7c-12.4 4.9-23.3 12.4-32.2 21.6l159.6 57.6c7.6 2.7 15.6 4.1 23.7 4.1s16.1-1.4 23.7-4.1L624.2 182.6c9.5-3.4 15.8-12.5 15.8-22.6s-6.3-19.1-15.8-22.6L343.7 36.1C336.1 33.4 328.1 32 320 32zM128 408c0 35.3 86 72 192 72s192-36.7 192-72L496.7 262.6 354.5 314c-11.1 4-22.8 6-34.5 6s-23.5-2-34.5-6L143.3 262.6 128 408z"/></svg></span>
</span>
<span class="text-base font-medium break-normal">
CV &amp; About
About
</span>
</a>
@@ -304,7 +314,12 @@
class="flex items-center bf-icon-color-hover"
aria-label="Blog"
title="">
title="Blogs">
<span class="mr-1">
<span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M446.6 222.7c-1.8-8-6.8-15.4-12.5-18.5-1.8-1-13-2.2-25-2.7-20.1-.9-22.3-1.3-28.7-5-10.1-5.9-12.8-12.3-12.9-29.5-.1-33-13.8-63.7-40.9-91.3-19.3-19.7-40.9-33-65.5-40.5-5.9-1.8-19.1-2.4-63.3-2.9-69.4-.8-84.8.6-108.4 10C45.9 59.5 14.7 96.1 3.3 142.9 1.2 151.7.7 165.8.2 246.8c-.6 101.5.1 116.4 6.4 136.5 15.6 49.6 59.9 86.3 104.4 94.3 14.8 2.7 197.3 3.3 216 .8 32.5-4.4 58-17.5 81.9-41.9 17.3-17.7 28.1-36.8 35.2-62.1 4.9-17.6 4.5-142.8 2.5-151.7zm-322.1-63.6c7.8-7.9 10-8.2 58.8-8.2 43.9 0 45.4.1 51.8 3.4 9.3 4.7 13.4 11.3 13.4 21.9 0 9.5-3.8 16.2-12.3 21.6-4.6 2.9-7.3 3.1-50.3 3.3-26.5.2-47.7-.4-50.8-1.2-16.6-4.7-22.8-28.5-10.6-40.8zm191.8 199.8l-14.9 2.4-77.5.9c-68.1.8-87.3-.4-90.9-2-7.1-3.1-13.8-11.7-14.9-19.4-1.1-7.3 2.6-17.3 8.2-22.4 7.1-6.4 10.2-6.6 97.3-6.7 89.6-.1 89.1-.1 97.6 7.8 12.1 11.3 9.5 31.2-4.9 39.4z"/></svg>
</span>
</span>
<span class="text-base font-medium break-normal">
@@ -318,17 +333,13 @@
<a
href="/projects/"
href=""
class="flex items-center bf-icon-color-hover"
aria-label="Projects"
title="">
<span class="text-base font-medium break-normal">
Projects
</span>
</a>
@@ -429,12 +440,17 @@
<div class="px-2">
<a
href="/about/"
aria-label="CV &amp; About"
aria-label="About"
class="flex items-center gap-4 group bf-icon-color-hover text-neutral-700 dark:text-neutral-200">
<span title="" class="text-2xl font-bold tracking-tight">
CV &amp; About
<span class="flex items-center justify-center h-8 w-8 text-2xl">
<span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512">
<path fill="currentColor" d="M320 32c-8.1 0-16.1 1.4-23.7 4.1L15.8 137.4C6.3 140.9 0 149.9 0 160s6.3 19.1 15.8 22.6l57.9 20.9C57.3 229.3 48 259.8 48 291.9v28.1c0 28.4-10.8 57.7-22.3 80.8c-6.5 13-13.9 25.8-22.5 37.6C0 442.7-.9 448.3 .9 453.4s6 8.9 11.2 10.2l64 16c4.2 1.1 8.7 .3 12.4-2s6.3-6.1 7.1-10.4c8.6-42.8 4.3-81.2-2.1-108.7C90.3 344.3 86 329.8 80 316.5V291.9c0-30.2 10.2-58.7 27.9-81.5c12.9-15.5 29.6-28 49.2-35.7l157-61.7c8.2-3.2 17.5 .8 20.7 9s-.8 17.5-9 20.7l-157 61.7c-12.4 4.9-23.3 12.4-32.2 21.6l159.6 57.6c7.6 2.7 15.6 4.1 23.7 4.1s16.1-1.4 23.7-4.1L624.2 182.6c9.5-3.4 15.8-12.5 15.8-22.6s-6.3-19.1-15.8-22.6L343.7 36.1C336.1 33.4 328.1 32 320 32zM128 408c0 35.3 86 72 192 72s192-36.7 192-72L496.7 262.6 354.5 314c-11.1 4-22.8 6-34.5 6s-23.5-2-34.5-6L143.3 262.6 128 408z"/></svg></span>
</span>
<span title="Curriculum Vitae" class="text-2xl font-bold tracking-tight">
About
</span>
</a>
@@ -450,7 +466,12 @@
class="flex items-center gap-4 group bf-icon-color-hover text-neutral-700 dark:text-neutral-200">
<span title="" class="text-2xl font-bold tracking-tight">
<span class="flex items-center justify-center h-8 w-8 text-2xl">
<span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M446.6 222.7c-1.8-8-6.8-15.4-12.5-18.5-1.8-1-13-2.2-25-2.7-20.1-.9-22.3-1.3-28.7-5-10.1-5.9-12.8-12.3-12.9-29.5-.1-33-13.8-63.7-40.9-91.3-19.3-19.7-40.9-33-65.5-40.5-5.9-1.8-19.1-2.4-63.3-2.9-69.4-.8-84.8.6-108.4 10C45.9 59.5 14.7 96.1 3.3 142.9 1.2 151.7.7 165.8.2 246.8c-.6 101.5.1 116.4 6.4 136.5 15.6 49.6 59.9 86.3 104.4 94.3 14.8 2.7 197.3 3.3 216 .8 32.5-4.4 58-17.5 81.9-41.9 17.3-17.7 28.1-36.8 35.2-62.1 4.9-17.6 4.5-142.8 2.5-151.7zm-322.1-63.6c7.8-7.9 10-8.2 58.8-8.2 43.9 0 45.4.1 51.8 3.4 9.3 4.7 13.4 11.3 13.4 21.9 0 9.5-3.8 16.2-12.3 21.6-4.6 2.9-7.3 3.1-50.3 3.3-26.5.2-47.7-.4-50.8-1.2-16.6-4.7-22.8-28.5-10.6-40.8zm191.8 199.8l-14.9 2.4-77.5.9c-68.1.8-87.3-.4-90.9-2-7.1-3.1-13.8-11.7-14.9-19.4-1.1-7.3 2.6-17.3 8.2-22.4 7.1-6.4 10.2-6.6 97.3-6.7 89.6-.1 89.1-.1 97.6 7.8 12.1 11.3 9.5 31.2-4.9 39.4z"/></svg>
</span>
</span>
<span title="Blogs" class="text-2xl font-bold tracking-tight">
Blog
</span>
@@ -462,13 +483,13 @@
<div class="px-2">
<a
href="/projects/"
aria-label="Projects"
href=""
class="flex items-center gap-4 group bf-icon-color-hover text-neutral-700 dark:text-neutral-200">
<span title="" class="text-2xl font-bold tracking-tight">
Projects
</span>
</a>
@@ -545,12 +566,8 @@
@@ -567,7 +584,7 @@
<div class="flex flex-row flex-wrap items-center">
<time datetime="2026-02-20T15:42:06&#43;00:00">February 20, 2026</time><span class="px-2 text-primary-500">&middot;</span><span>482 words</span><span class="px-2 text-primary-500">&middot;</span><span title="Reading time">3 mins</span>
<time datetime="2026-02-20T15:42:06&#43;00:00">20 February 2026</time>
@@ -682,7 +699,7 @@
</h3>
<p>In VS Code I installed platform IO and connected my ESP32. The code was written to connect to wifi, grab the data from the web server and display it to the eink. I gave it a title and a progress bar with percentage to clearly show how much I have completed. I also added a Last Updated time stamp and logic to put the ESP to deep sleep and only update each morning after my typical workout time slot.</p>
<p><figure><img
<figure><img
class="my-0 rounded-md"
loading="lazy"
decoding="async"
@@ -690,7 +707,6 @@
alt="Early basic setup"
src="./basic-setup.jpg"
></figure>
</p>
<p>I later decided it made more sense to show todays date at the botton my the page, making it double as a basic daily calender.</p>
<p>One of the greatest challenges was my desicion to include an image. An easier option would have been to buy an ESP32 with a micro SD card slot to give me an easier way of storing the image. Wanted to make this work without buying anything new I decided to stream the image from my Caddy server directly ro the display. With some AI magic I had a bash script that would convert any image I gave it to a resized monochrome bitmap suitable for the basic eink display. The great thing about using this approach is it makes changing the image for a different future challenge much easier.</p>
@@ -715,7 +731,7 @@
</h3>
<p>Wrap up your project here. What would you do differently next time? This provides that &ldquo;closing&rdquo; feel for a future employer.</p>
<p><figure><img
<figure><img
class="my-0 rounded-md"
loading="lazy"
decoding="async"
@@ -723,7 +739,6 @@
alt="Early basic setup"
src="./medal.webp"
></figure>
</p>
@@ -760,7 +775,7 @@
</a>
<span class="ms-6 mt-1 text-xs text-neutral-500 dark:text-neutral-400">
<time datetime="2026-02-20T12:27:11&#43;00:00">February 20, 2026</time>
<time datetime="2026-02-20T12:27:11&#43;00:00">20 February 2026</time>
</span>
@@ -776,7 +791,7 @@
</a>
<span class="me-6 mt-1 text-xs text-neutral-500 dark:text-neutral-400">
<time datetime="2026-03-13T22:16:00&#43;00:00">March 13, 2026</time>
<time datetime="2026-03-13T22:16:00&#43;00:00">13 March 2026</time>
</span>
@@ -816,6 +831,29 @@
<nav class="flex flex-row pb-4 text-base font-medium text-neutral-500 dark:text-neutral-400 overflow-x-auto py-2">
<ul class="flex list-none flex-row">
<li class=" flex mb-1 text-end sm:mb-0 sm:me-7 sm:last:me-0 me-4">
<a
class="decoration-primary-500 hover:underline hover:decoration-2 hover:underline-offset-2 flex items-center"
href=""
title="">
</a>
</li>
</ul>
</nav>
<div class="flex items-center justify-between">
+1 -1
View File
@@ -5,7 +5,7 @@
<link>http://localhost:1313/projects/garmin-eink/</link>
<description>Recent content in Garmin Eink on Ash Marlow</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-gb</language>
<language>en</language>
<copyright>© 2026 </copyright>
<lastBuildDate></lastBuildDate><atom:link href="http://localhost:1313/projects/garmin-eink/index.xml" rel="self" type="application/rss+xml" />