add marquee
All checks were successful
/ ls (push) Successful in 5s

This commit is contained in:
Mira Kristipati 2025-01-29 10:32:31 -05:00
parent c084a0efdc
commit 6178c08a19
27 changed files with 256 additions and 110 deletions

View file

@ -1,68 +1,3 @@
# Hardware ---
- Display Resolution: 192x160 {}
- potentially just upscaled from 96x80 ---
- at 3x scaling that's 576x480, 32px pillarboxes if 640x480
- 384x320
- how small can the screen physically be?
- android guidelines say 48dp @ 160dpi or 0.3"
- android guidelines also say 48dp is about 9mm so who the fuck knows anymore
- apple says 44pt ~~or 44/72" or 0.61"~~
- 44pt is 44px, 88px, 132px depending on device
- 132px on iPhone X @ 448(?)dpi so ~ 0.294"
- 192x160 is 1.2"x1"
- 640x480 is 4"x5" for a 6.4" diagonal
- 28.8" x 24" needed to meet android accessibility guidelines jfc
- tl;dr: Apple and Google seem to want about 0.3"per target
- NDS screen size is 106.666 dpi
- poketch would be 1.8x1.5"
- **640x480 would be 2x1.5" or 2.5" diagonal**
- https://www.adafruit.com/product/2478 should do the trick
- 320x240 2.4"
- we use 288x240 (1.5x)
- 2 Bit grayscale
- Touch screen
- 5:4 aspect ratio
- 1/2 physical buttons
# etc
- will need a font
- sprite based?
- ttf based?
- https://lvgl.io/tools/fontconverter
# stretch goals
- use wifi/ble
- config applet
- also would handle right vs left handed
- mqtt/ntfy.sh
- display notifications using margins?
- android notifications sync
- requires adding to gadgetbridge long term
- pedometer
- needs extra hardware
# Sprites
- [x] Digital Watch
- [x] Calculator
- [ ] Memo Pad
- [x] Pedometer
- [x] Pokemon List
- [x] Friendship Checker
- [ ] Dowsing Machine
- [x] Berry Searcher
- [ ] Day-Care Checker
- [ ] Pokemon History
- [ ] Counter
- [x] Analog Watch
- [x] Marking Map
- [x] Link Searcher
- [ ] Coin Toss
- [ ] Move Tester
- [ ] Calendar
- [ ] Dot Artist
- [x] Roulette
- [ ] Chain Counter
- [x] Kitchen Timer
- [ ] Color Changer
- [ ] Matchup Checker
- [ ] Stopwatch
- [ ] Alarm Clock

View file

@ -1,8 +1,8 @@
--- ---
title: Disorganized Notes
author: ArgentumCation author: ArgentumCation
date: 1970-01-01 date: "1970-01-01"
slug: disorganized-notes slug: disorganized-notes
title: Disorganized Notes
--- ---
# NixOS/Nix # NixOS/Nix

View file

@ -1,7 +1,7 @@
--- ---
title: Miraidon (Airplay Server) date: "1970-01-01"
date: 1970-01-01
draft: true draft: true
title: Miraidon (Airplay Server)
--- ---
## Reference Impls ## Reference Impls

View file

@ -1,2 +1,3 @@
https://file-extensions.com/docs/pkpasss ---
https://developer.apple.com/documentation/walletpasses {}
---

View file

@ -1,9 +1,9 @@
--- ---
author: ArgentumCation author: ArgentumCation
title: Cluster(fuck)
pubDate: 1970-01-01
draft: true draft: true
pubDate: "1970-01-01"
slug: cluster slug: cluster
title: Cluster(fuck)
--- ---
| Hostname | IPv4 | Hardware | Function | OS | Arch | Cores | Ram | USB power? | Power | | Hostname | IPv4 | Hardware | Function | OS | Arch | Cores | Ram | USB power? | Power |

View file

@ -1,8 +1,8 @@
--- ---
title: "Lightning Talks: BTRFS" author: ArgentumCation
author: "ArgentumCation"
date: "2023-04-14" date: "2023-04-14"
summary: A talk I gave on using BTRFS to my University Linux Usergroup summary: A talk I gave on using BTRFS to my University Linux Usergroup
title: 'Lightning Talks: BTRFS'
--- ---
## Crash Course to Filesystems ## Crash Course to Filesystems

View file

@ -1,11 +1,11 @@
--- ---
title: Intro to GPG
author: ArgentumCation author: ArgentumCation
date: 2023-09-25 date: "2023-09-25"
slug: gpg slug: gpg
tags: tags:
- encryption - encryption
- gpg - gpg
title: Intro to GPG
--- ---
## What is GPG ## What is GPG

View file

@ -1,10 +1,12 @@
--- ---
draft: true draft: true
title: Hypercomplex Interest
summary: You know what, fuck you _rotates your interest rates 90°_ summary: You know what, fuck you _rotates your interest rates 90°_
title: Hypercomplex Interest
--- ---
# Compound Interest # Compound Interest
You know what, fuck you _rotates your interest rates 90°_
Y'all remember this from like 4th grade right, I barely do so here's a refresh Y'all remember this from like 4th grade right, I barely do so here's a refresh
$$ z = Pe^{rt} $$ $$ z = Pe^{rt} $$

View file

@ -1,9 +1,13 @@
--- ---
pubDate: "2024-07-01"
summary: The definitive watch order for the Monogatari Series (unfortunately)
title: Monogatari Series Watch Order title: Monogatari Series Watch Order
pubDate: 2024-07-01
summary: "The definitive watch order for the Monogatari Series (unfortunately)"
--- ---
<script type="module">
import mermaid from 'https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.esm.min.mjs';
</script>
```mermaid ```mermaid
--- ---
title: Monogatari Watch Order title: Monogatari Watch Order

View file

@ -1,8 +1,8 @@
--- ---
title: "Generating an SSH Resident Key" author: ArgentumCation
author: "ArgentumCation"
pubDate: "2023-03-19" pubDate: "2023-03-19"
slug: "post-1" slug: post-1
title: Generating an SSH Resident Key
--- ---
import { Accordion, AccordionItem } from "accessible-astro-components"; import { Accordion, AccordionItem } from "accessible-astro-components";

View file

@ -1,9 +1,9 @@
--- ---
title: "Getting up and running with Traefik" author: ArgentumCation
author: "ArgentumCation"
layout: ../../layouts/Layout.astro layout: ../../layouts/Layout.astro
pubDate: "2023-04-03" pubDate: "2023-04-03"
slug: "traefik-setup" slug: traefik-setup
title: Getting up and running with Traefik
--- ---
- Okay so you've got a server now and need a reverse proxy - Okay so you've got a server now and need a reverse proxy

View file

@ -19,3 +19,9 @@ inline = [['\(', '\)']]
math = true math = true
[outputs]
home = ['html', 'rss']
section = ['html', 'rss']
taxonomy = ['html']
term = ['html']

View file

@ -60,23 +60,64 @@
<a href="https://fediring.net/">Fediring</a> <a href="https://fediring.net/">Fediring</a>
<a href="https://fediring.net/next?host=argentumcation.com">-&gt;</a> <a href="https://fediring.net/next?host=argentumcation.com">-&gt;</a>
</p> </p>
<!-- <marquee> <marquee>
{ <!--{-->
buttons.map((button) => { <!--buttons.map((button) => {-->
const image = ( <!--const image = (-->
<Image class="marquee-button" src={`/buttons/${button.image}`} alt={button.name} width={88} height={31} /> <!--<Image class="marquee-button" src={`/buttons/${button.image}`} alt={button.name} width={88} height={31} />-->
); <!--);-->
<!---->
return !button.link?.startsWith("javascript:") ? ( <!--return !button.link?.startsWith("javascript:") ? (-->
<a href={button.link ?? undefined} title={button.name} target="_blank"> <!--<a href={button.link ?? undefined} title={button.name} target="_blank">-->
{image} <!-- {image}-->
</a> <!--</a>-->
) : ( <!--) : (-->
<button title={button.name} onclick={button.link}> <!--<button title={button.name} onclick={button.link}>-->
{image} <!-- {image}-->
<!--</button>-->
<!--);-->
<!--})-->
<!--}-->
<button class="btn-88x31">
<a href="https://creativecommons.org/licenses/by-nc-sa/4.0/" target="_blank"><img src="/buttons/cc-by-nc-sa.gif"
alt="CC-BY-NC-SA" /></a>
</button> </button>
); <button class="btn-88x31">
}) <a href="https://cyber.dabamos.de/88x31/index.html" target="_blank"><img src="/buttons/88x31.gif"
} alt="88x31" /></a>
</marquee>--> </button>
<button class="btn-88x31">
<a href="undefined" target="_blank"><img src="/buttons/anythingbut.gif" alt="Anything but Chrome" /></a>
</button>
<button class="btn-88x31">
<a href="https://linustechtips.com/" target="_blank"><img src="/buttons/freetechtips.gif"
alt="Linus Tech Tips" /></a>
</button>
<button class="btn-88x31">
<a href="https://neovim.io/" target="_blank"><img src="/buttons/neovim.gif" alt="Made with Neovim" /></a>
</button>
<button class="btn-88x31">
<a href="undefined" target="_blank"><img src="/buttons/mw_trans.gif" alt="Made with pride [trans flag]" /></a>
</button>
<button class="btn-88x31">
<a href="https://diyhrt.wiki/" target="_blank"><img src="/buttons/transyourgender.gif"
alt="Trans your gender" /></a>
</button>
<button class="btn-88x31">
<a href="https://xkcd.com/1179/" target="_blank"><img src="/buttons/iso8601.png" alt="ISO 8601" /></a>
</button>
<button class="btn-88x31">
<a href="undefined" target="_blank"><img src="/buttons/cloudfree.svg" alt="Runs on a computer" /></a>
</button>
<button class="btn-88x31">
<a href="undefined" target="_blank"><img src="/buttons/cssdif.gif" alt="CSS is difficult" /></a>
</button>
<button class="btn-88x31">
<a href="https://homestuck.com/" target="_blank"><img src="/buttons/e-hs.gif" alt="Download Sburb" /></a>
</button>
<button class="btn-88x31">
<a href="https://bulbapedia.bulbagarden.net/wiki/Rotom_(Pok%C3%A9mon)" target="_blank"><img
src="/buttons/rotom.gif" alt="Powered by Rotom" /></a>
</button>
</marquee>
</footer> </footer>

View file

@ -4,7 +4,7 @@
<h1 class="title">{{.Page.Title}}</h1> <h1 class="title">{{.Page.Title}}</h1>
</td> </td>
<td class="width-min"><a href="/links">Links</a></td> <td class="width-min"><a href="/links">Links</a></td>
<td class="width-min">RSS</td> <td class="width-min"><a href="/index.xml">RSS</a></td>
</tr> </tr>
<tr> <tr>
<th class="width-min">Author</th> <th class="width-min">Author</th>

BIN
static/buttons/88x31.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 871 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

View file

@ -0,0 +1,148 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="88"
height="31"
viewBox="0 0 23.283333 8.2020836"
version="1.1"
id="svg8"
inkscape:version="1.0.2 (e86c870879, 2021-01-15)"
sodipodi:docname="cloudfree.svg"
inkscape:export-filename="/home/micah/cloudfree.png"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96">
<defs
id="defs2">
<filter
inkscape:collect="always"
style="color-interpolation-filters:sRGB"
id="filter839"
x="-8.9693963e-07"
width="1.0000018"
y="-2.3132372e-06"
height="1.0000046">
<feGaussianBlur
inkscape:collect="always"
stdDeviation="6.3998645e-06"
id="feGaussianBlur841" />
</filter>
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="9.1503298"
inkscape:cx="34.372592"
inkscape:cy="29.944151"
inkscape:document-units="mm"
inkscape:current-layer="layer4"
inkscape:document-rotation="0"
showgrid="true"
units="px"
inkscape:window-width="1616"
inkscape:window-height="829"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1">
<inkscape:grid
type="xygrid"
id="grid849" />
</sodipodi:namedview>
<metadata
id="metadata5">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1" />
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="Button"
style="display:inline">
<rect
style="opacity:1;fill:#b8bec0;stroke:none;stroke-width:0.0696026;stroke-linejoin:bevel;stroke-opacity:1;fill-opacity:1"
id="rect847"
width="23.21373"
height="8.1324806"
x="0.034801044"
y="0.034801044" />
</g>
<g
inkscape:groupmode="layer"
id="layer3"
inkscape:label="Edges"
style="display:inline"
sodipodi:insensitive="true">
<path
style="fill:#000000;fill-opacity:0.621727;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 0,8.2020832 0.52916666,7.6729166 H 22.754166 V 0.52916666 L 23.283333,0 v 8.2020832 z"
id="path853" />
<path
style="fill:#ffffff;fill-opacity:0.738906;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 0,0 H 23.283333 L 22.754166,0.52916666 H 0.52916666 V 7.6729166 L 0,8.2020832 Z"
id="path851" />
</g>
<g
inkscape:groupmode="layer"
id="layer4"
inkscape:label="Icon">
<path
id="path885"
style="opacity:1;fill:#ffffff;fill-opacity:0.990424;stroke:#030101;stroke-width:0.258;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 3.9853801,2.3936447 C 3.5404707,2.3936298 3.1293405,2.646585 2.9068197,3.0572483 2.3399458,3.1638345 1.9266492,3.6888048 1.9265587,4.3023785 1.9263689,5.0008318 2.4574463,5.5671807 3.1127019,5.5673 3.8292886,5.555173 4.5674262,5.56207 5.2916667,5.56207 V 5.55625 C 5.765476,5.5466608 6.1449544,5.1346589 6.1452308,4.6295231 6.1451657,4.117419 5.755715,3.7022938 5.2752834,3.7022244 5.2603496,3.7022026 5.2454178,3.7025821 5.2305026,3.7033867 5.22134,2.9773091 4.666613,2.3937921 3.9853801,2.3936426 Z"
sodipodi:nodetypes="cccccccccc" />
<path
id="path963"
style="fill:none;fill-opacity:1;stroke:#b83434;stroke-width:0.6973;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 5.8208333,1.8520833 1.8520833,6.35 M 6.9814709,4.1343218 c 1e-7,1.6401527 -1.3296065,2.9697593 -2.9697592,2.9697592 -1.6401527,1e-7 -2.9697593,-1.3296065 -2.9697592,-2.9697592 -1e-7,-1.6401527 1.3296065,-2.9697593 2.9697592,-2.9697592 1.6401527,-1e-7 2.9697593,1.3296065 2.9697592,2.9697592 z"
sodipodi:nodetypes="ccsssss" />
</g>
<g
inkscape:groupmode="layer"
id="layer5"
inkscape:label="Text">
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:3.4657px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.288806"
x="10.061819"
y="4.7603002"
id="text861"
transform="scale(0.78483337,1.2741558)"><tspan
sodipodi:role="line"
x="10.061819"
y="4.7603002"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:3.4657px;font-family:'Comic Sans MS';-inkscape-font-specification:'Comic Sans MS Bold';stroke-width:0.288806"
id="tspan999">a computer</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:2.25627px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.282033"
x="8.0026188"
y="3.1872211"
id="text1089"
transform="scale(1.0530697,0.94960478)"><tspan
sodipodi:role="line"
id="tspan1087"
x="8.0026188"
y="3.1872211"
style="font-size:2.25627px;stroke-width:0.282033">runs on</tspan></text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 5.8 KiB

BIN
static/buttons/cssdif.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 495 B

BIN
static/buttons/e-hs.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

BIN
static/buttons/iso8601.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 657 B

BIN
static/buttons/mw_trans.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

BIN
static/buttons/neovim.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 695 B

BIN
static/buttons/rotom.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

View file

@ -116,3 +116,12 @@ p mjx-container {
text-align: center; text-align: center;
display: flex; display: flex;
} }
.btn-88x31 {
border: none !important;
img {
width: 88px;
height: 31px;
}
}