Compare commits

...

5 Commits

Author SHA1 Message Date
unknown 264367cef1 more drafting 11 months ago
Nick Dumas 2f0b4e3453 Fine, I'll use an absolute URL 11 months ago
Nick Dumas 350d0830f8 maybe it needs to be relative instead of absolute? 11 months ago
Nick Dumas 8452b13cb4 Add resume to menu 11 months ago
unknown 0633afddf6 drafting string2color post 11 months ago

@ -51,6 +51,12 @@
url = "https://fosstodon.org/@nickdumas"
weight = 10
[[main]]
name = "Resumé"
pre = ""
url = "https://ndumas.com/resume.pdf"
weight = 25
[[main]]
name = "Office Hours"
pageRef = "services/office-hours"

@ -0,0 +1,35 @@
---
draft: true
title: "Deterministically Mapping Strings to RGB Colors"
aliases: ["Deterministically Mapping Strings to RGB Colors"]
date: "2025-1-25"
series: ["strings-to-colors"]
series_order: 0
author: "Nick Dumas"
authorTwitter: ""
cover: ""
tags: ["golang"]
keywords: ["golang"]
summary: "Using Go so I don't have to think about color palettes."
showFullContent: false
---
{{< lead >}} {{ </ lead >}}
## The Plan
- Take an arbitrary UTF-8 string
- Generate an RGB or RGBA color code for it in a deterministic way
- SHA1 the string
- Interpret equally sized chunks of the hash as integers
- Scale those integers into an 8-bit space
## The Implementation
## The Results
Below is a sample of the "lorum ipsum" text with each word colored using this algorithm.
<p><span style="color:#FDC749;">Lorem</span> <span style="color:#D39A85;">ipsum</span> <span style="color:#452D59;">dolor</span> <span style="color:#3A852F;">sit</span> <span style="color:#0454D4;">amet</span>, <span style="color:#886B09;">consectetur</span> <span style="color:#31A0E5;">adipiscing</span> <span style="color:#99215D;">elit</span>. </p>
## Possible Improvements
- Provide HSV or HSL color values
- Light/dark mode awareness
- Accessibility. The colors chosen are effectively random with no regard for color schemes, background, display device capability
Loading…
Cancel
Save