update lab note frontmatter, undraft hypercomplex interest wip, add more buttons and webrings
Some checks are pending
/ ls (push) Waiting to run

This commit is contained in:
Mira Kristipati 2025-07-20 23:23:09 -04:00
parent d3ab8f27c0
commit fc90532851
25 changed files with 584 additions and 31 deletions

1
.gitignore vendored
View file

@ -20,3 +20,4 @@ hugo.linux
content/.obsidian
content/.trash
static/the-monospace-web/*.jpg
**.sync-conflict*

7
content/_templates/post.md Executable file
View file

@ -0,0 +1,7 @@
<% "---" %>
title: <% tp.file.title %>
date: <% tp.file.creation_date("YYYY-MM-DD") %>
modified: <% tp.file.last_modified_date("YYYY-MM-DD") %>
<% "---" %>
# <% tp.file.title %>

View file

@ -1,5 +1,6 @@
---
title: plan9 FS
title: plan9 FS investigations
date: 2025-01-21
---
Digested from:

View file

@ -0,0 +1,42 @@
---
draft: true
---
# 2025-06-18
## HW Overview
- I don't know what the fuck I'm looking at
- ESP32
- last year we needed an IO expander
- hopefully not needed this year
- should do wifi + bt
- ESP-WROOM-32E?
- battery meter
- reset circuit
- usb -> uart interface
- USB C hell yeah
- neopixel nanos for LEDs
- 4 Buttons
- power switch seems to have a high failure rate
- has a security chip thing
- ![](Pasted%20image%2020250618195636.png)
- I zoned out for this bit
- NEW: magnetometer
- Accelerometer
- 1WIRE/iButton is back this year
> [!TODO] Get ESP32 dev board
## Game/Theming
- Pandemic-type game
- semi co-op
- attendees VS us as game masters
- might involve Meshtastic?
### Next Steps
- uhh time to get on GitHub and Trello
- and dropbox?
- start looking at getting hardware
- ESP32: [https://www.amazon.com/dp/B09MQJWQN2](https://www.amazon.com/dp/B09MQJWQN2 "https://www.amazon.com/dp/B09MQJWQN2") iButton Reader: [https://www.amazon.com/dp/B09BM1SSBV](https://www.amazon.com/dp/B09BM1SSBV "https://www.amazon.com/dp/B09BM1SSBV") Screen: [https://www.amazon.com/dp/B072Q2X2LL](https://www.amazon.com/dp/B072Q2X2LL "https://www.amazon.com/dp/B072Q2X2LL") Buttons: [https://www.amazon.com/dp/B07WF76VHT](https://www.amazon.com/dp/B07WF76VHT "https://www.amazon.com/dp/B07WF76VHT") Lights: [https://www.amazon.com/dp/B07PG84V17](https://www.amazon.com/dp/B07PG84V17 "https://www.amazon.com/dp/B07PG84V17")

View file

@ -1,10 +1,18 @@
---
title: Plans for a chess/taikyoku shogi/what have you engine
date: 2025-02-18
---
# Game Loop
- display board
- check if endgame state
- end game if needed
- get current side
- get move for current side
```py
while not game.is_over():
game.display()
game.get_player_input() # returns starting and ending position
game.is_valid_move()
```
---
- `Game` struct contains game state
- Refactor to trait?
- Refactor to trait?

View file

@ -0,0 +1,12 @@
---
title: "Idea: turn a TI-84/ Gameboy/DS into a meshtastic client"
---
# communication between a client and meshtastic device over serial
- need to adapt from: https://github.com/meshtastic/Meshtastic-arduino
- https://store.rokland.com/products/rak-raspberry-pi-rp2040-core-module-for-lorawan-with-lora-sx1262-us915-mhz-rak11310-pid-116003 seems like a minimal device that would work well for this
Next Step: figure out how tf to get serial I/O on interesting devices
- TI-84: seems to not be viable? MirageOS has functions for using the TI protocol to send bytes but we'd need an intermediary to turn that into the meshtastic serial protocol

View file

@ -0,0 +1,94 @@
---
title: Mira Missingtexture's Mangled Mandarin Transcription System
date: 2025-06-24
---
# Initials
| Pinyin | Missingtexture | IPA |
| ------ | -------------- | --- |
| b | p | p |
| p | ph | pʰ |
| m | m | m |
| f | f | f |
| d | t | t |
| t | th | tʰ |
| n | n | n |
| l | l | l |
| g | k | k |
| k | kh | kʰ |
| h | x | x |
| j | tj | tɕ |
| q | tjh | tɕʰ |
| x | j | ɕ |
| zh | tz | ʈʂ |
| ch | tzh | ʈʂʰ |
| sh | z | ʂ |
| r | r | ɻ~ʐ |
| z | c | ts |
| c | ch | tsʰ |
| s | s | s |
| y | y | j |
| w | w | w |
| yu | yu | ɥ |
# Finals
| Pinyin | Pinyin | Mira | Mira (revised) | IPA | Notes |
| ------ | ------ | ---- | -------------- | ---------- | ---------------------------- |
| (N/A) | -i | -r | | ɹ̩\~z̩, ɻ̩\~ʐ̩ | after z, c, s, zh, ch, sh, r |
| a | a | a | | a | |
| e | e | e | | ɤ/ə | |
| ai | ai | ai | | ai̯ | |
| ei | ei | ei | | ei̯ | |
| ao | ao | ao | | au̯ | |
| ou | ou | ou | | ou̯ | |
| an | an | an | | an | |
| en | en | en | | ən | |
| ang | ang | aq | ang | aŋ | |
| eng | eng | eq | eng | əŋ | |
| (weng) | ong | uq | ung | ʊŋ~o̞ʊŋ | |
| er | er | er | | aɚ̯~əɹ | |
| yi | i | i | | i | |
| ya | ia | ia | | ja | |
| ye | ie | ie | | je | |
| yao | iao | iao | | jau̯ | |
| you | iu | iou | | jou̯ | |
| yan | ian | ien | | jɛn | |
| yin | in | in | | in | |
| yang | iang | iaq | iang | jaŋ | |
| ying | ing | iq | ing | iŋ | |
| yong | iong | ioq | iong | jʊŋ | |
| wu | u | u | | u | |
| wa | ua | ua | | wa | |
| wo | uo/o | uo | | wo | |
| wai | uai | uai | | wai̯ | |
| wei | ui | uei | | wei̯ | |
| wan | uan | uan | | wan | |
| wen | un | uen | | wən | |
| wang | uang | uaq | uang | waŋ | |
| weng | (ong) | ueq | ueng | wəŋ | |
| yu | ü | v | ü | y | |
| yue | üe | ve | üe | ɥe | |
| yuan | üan | ven | üan | ɥɛn | |
| yun | ün | vn | ün | yn | |
| ê | ê | eh | | ɛ | |
| o | o | oh | | ɔ | |
| yo | io | yoh | | jɔ | |
---
# Examples
| Chinese | Pinyin | Missingtexture | Missingtexture (Revised) |
| ------- | --------- | -------------- | ------------------------ |
| 北京 | Běijīng | pěitjīq | pěitjīng |
| 广州 | Guǎngzhōu | kuǎqtzōu | kuǎngtzōu |
| 西安 | Xī'ān | jī'ān | jī'ān |
| 青島 | Qīngdǎo | tjhīqtǎo | tjhīngtǎo |
| 奇迹 | Qíjì | tjhíjì | tjhíjì |
| 天津 | Tiānjīn | thiāqtjīn | thiāngtjīn |
| 四川 | Sìchuān | sìtzhuān | sìtzhuān |
| 南京 | Nánjīng | nántjīq | nántjīng |
| 旋律 | xuánlǜ | juánlv | juánlǜ |

19
content/lab-notes/Pico-8.md Executable file
View file

@ -0,0 +1,19 @@
---
title: Pico-8 Investigations
date: 2025-04-16
---
# Hardware
- 128x128 Screen
- 2 Controllers
- Dpad + Circle + X
- 16 official colors + 16 unofficial colors
- 256 8x8 sprites
- 32kb cart size
- 64kb RAM
- 4 channel audio
- uses p8scii
- != ascii
- runs at 30fps or 60fps
----
# P8PNG Format

View file

@ -1,5 +1,6 @@
---
{}
title: My notes from trying to build a Poketch
date: 2025-01-21
---
# Hardware
- Display Resolution: 192x160

View file

@ -1,3 +1,7 @@
---
title: A Hex encoding for Toki Pona
date: 2025-02-13
---
| | |
| --- | --- |

Binary file not shown.

After

Width:  |  Height:  |  Size: 103 KiB

134
content/lab-notes/k8s.md Executable file
View file

@ -0,0 +1,134 @@
---
title: Mira's attempts to understand Kuwubernetes
date: 2025-04-07
---
# Install k3s, helm
- run `curl -sfL https://get.k3s.io | sh - on first node
- `curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash`
`export KUBECONFIG=/etc/rancher/k3s/k3s.yaml`
```yaml
---
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: adminer
name: adminer
spec:
replicas: 1
selector:
matchLabels:
app: adminer
template:
metadata:
labels:
app: adminer
spec:
containers:
- image: adminer:latest
name: adminer
ports:
- containerPort: 8080
---
apiVersion: v1
kind: Service
metadata:
name: adminer-svc
spec:
type: ClusterIP
selector:
app: adminer
ports:
- port: 8080
targetPort: 8080
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: adminer-http
annotations:
traefik.ingress.kubernetes.io/router.entrypoints: web
spec:
rules:
- host: adminer.lipotropin.lan
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: adminer-svc
port:
number: 8080
```
- Use `kubectl apply -f <yaml>` to deploy a yaml file
The above two result in the following
```
$ kubectl describe svc
Name: adminer
Namespace: default
Labels: io.kompose.service=adminer
Annotations: <none>
Selector: io.kompose.service=adminer
Type: ClusterIP
IP Family Policy: SingleStack
IP Families: IPv4
IP: 10.43.229.81
IPs: 10.43.229.81
Port: 8090 8090/TCP
TargetPort: 8080/TCP
Endpoints: 10.42.0.10:8080
Session Affinity: None
Internal Traffic Policy: Cluster
Events: <none>
```
Adminer can be accesed at `10.42.0.10:8080`
> [!TODO] how tf do I access this from 127.0.0.1 or outside?
---
- Deployment: seems to translate to docker service
- Service: seems to handle connecting to the deployment?
- NodePort: something to do with routing
- `kubectl expose deployment <deployment_name> --port=<port> --target-port=<target_port> --type=NodePort`
`kubectl apply -f https://github.com/kubernetes-sigs/gateway-api/releases/download/v1.2.1/standard-install.yaml`
`export KUBECONFIG=/etc/rancher/k3s/k3s.yaml`
---
# TODO:
- [x] cyberchef
- [x] adminer
- [x] soulseek
- [x] postgres
- [x] mariadb
- [x] Ntfy
- [x] gluetun?
- [x] Jackett
- [x] qbittorrent
- [x] radarr
- [ ] sonarr
- [ ] syncthing
- [ ] forgejo
- [ ] kuma
- [ ] paperless-ngx
- [ ] goternberg
- [ ] redis
- [ ] tika
- [ ] jellyfin
- [ ] Website
- [ ] crowdsec
- [ ] dufs
- [ ] minecraft
- [ ] flaresolverr?

View file

@ -1,6 +1,5 @@
---
date: "1970-01-01"
draft: true
date: 2025-01-21
title: Miraidon (Airplay Server)
---

View file

@ -1,2 +1,7 @@
---
title: Some notes on the PKPass format
date: 2025-02-16
---
https://file-extensions.com/docs/pkpasss
https://developer.apple.com/documentation/walletpasses

View file

@ -0,0 +1,128 @@
---
title: PostMarketOS for iPad Air 2 (iPad-5,3)
---
## Existing Work:
https://github.com/SoMainline/linux-apple-resources/blob/master/HOWTO.md
[PongoOS](https://github.com/checkra1n/PongoOS/tree/master):Seems to be a minimal boot environment for checkra1n boards
https://github.com/konradybcio/linux-apple: Kernel fork for iOS devices?
## PongoOS build errors
```c
src/kernel/mm.c:378:14: error: variable 'vm_index_start' set but not used [-Werror,-Wunused-but-set-variable]
378 | uint32_t vm_index_start = 0;
| ^
src/kernel/mm.c:938:10: error: variable 'is_tt1' set but not used [-Werror,-Wunused-but-set-variable]
938 | bool is_tt1 = false;
| ^
2 errors generated.
src/kernel/task.c:294:5: error: call to undeclared function 'va_start'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
294 | va_start(va, reason);
| ^
src/kernel/task.c:296:5: error: call to undeclared function 'va_end'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
296 | va_end(va);
| ^
src/kernel/task.c:300:5: error: call to undeclared function 'va_start'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
300 | va_start(va, reason);
| ^
src/kernel/task.c:302:5: error: call to undeclared function 'va_end'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
302 | va_end(va);
| ^
4 errors generated.
src/drivers/sep/sep.c:913:6: error: a function declaration without a prototype is deprecated in all versions of C and is treated as a zero-parameter prototype in C23, conflicting with a subsequent definition [-Werror,-Wdeprecated-non-prototype]
913 | void sep_help();
| ^
src/drivers/sep/sep.c:1145:6: note: conflicting prototype is here
1145 | void sep_help(const char* cmd, char* args) {
| ^
1 error generated.
make: *** [Makefile:99: build/Pongo] Error 1
```
Code fixes:
```diff
diff --git i/src/drivers/sep/sep.c w/src/drivers/sep/sep.c
index 10d0a98..cc074b6 100644
--- i/src/drivers/sep/sep.c
+++ w/src/drivers/sep/sep.c
@@ -910,7 +910,8 @@ struct sep_command {
void (*cb)(const char* cmd, char* args);
};
-void sep_help();
+void sep_help(const char* cmd, char* args);
#define SEP_COMMAND(_name, _desc, _cb) {.name = _name, .desc = _desc, .cb = _cb}
void sep_pwned_peek(const char* cmd, char* args) {
if(!sep_is_pwned) {
diff --git i/src/kernel/mm.c w/src/kernel/mm.c
index 595ae64..108b885 100644
--- i/src/kernel/mm.c
+++ w/src/kernel/mm.c
@@ -375,13 +375,13 @@ err_t vm_allocate(struct vm_space* vmspace, uint64_t* addr, uint64_t size, vm_fl
uint32_t vm_scan_base = 0;
uint64_t vm_scan_size = (VM_SPACE_SIZE / PAGE_SIZE);
uint32_t found_pages = 0;
- uint32_t vm_index_start = 0;
if (flags & VM_FLAGS_FIXED) {
uint64_t vm_offset = *addr - vmspace->vm_space_base;
if (vm_offset > vmspace->vm_space_end) vm_scan_size = 0;
else {
- vm_index_start = vm_offset / PAGE_SIZE;
vm_scan_size = ((size + PAGE_MASK) & ~PAGE_MASK) / PAGE_SIZE;
}
} else {
@@ -935,20 +935,21 @@ void ttbpage_free_walk(uint64_t base, bool is_tt1) {
}
bool tte_walk_get(struct vm_space* vmspace, uint64_t va, uint64_t** tte_out) {
uint64_t bits = 64ULL;
- bool is_tt1 = false;
uint64_t* ttb = NULL;
if (va & 0x7000000000000000) {
bits -= t1sz;
va -= (0xffffffffffffffff - ((1ULL << (65 - t1sz)) - 1));
va &= (1ULL << bits) - 1;
- is_tt1 = true;
ttb = phystokv(vmspace->ttbr1);
} else {
bits -= t0sz;
va &= (1ULL << bits) - 1;
- is_tt1 = false;
ttb = phystokv(vmspace->ttbr0);
}
uint32_t levels = ((bits - (tt_bits + 3ULL)) / tt_bits);
union tte tte;
while (levels) {
diff --git i/src/kernel/task.c w/src/kernel/task.c
index 0e6fa22..b957e16 100644
--- i/src/kernel/task.c
+++ w/src/kernel/task.c
@@ -26,6 +26,7 @@
*/
#include <errno.h>
#include <stdlib.h>
+#include <stdarg.h>
#include <pongo.h>
extern void task_load(struct task* to_task);
```
## PongoOS linker errors:
```
ld: could not process llvm bitcode object file, because /usr/bin/../lib/llvm/libLTO.so could not be loaded file '/tmp/dtree-76a2ef.o' for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
```
~~`ln -s ../llvm-18/lib/libLTO.so libLTO.so`~~
nevermind we don't need to build PongoOS
~~turns out shit's broken af on iOS 15 so project ends here~~
from Siguza:
- [https://github.com/asdfugil/PongoOS](https://github.com/asdfugil/PongoOS "https://github.com/asdfugil/PongoOS") <- Build that
- [https://checkra.in/1337](https://checkra.in/1337 "https://checkra.in/1337") <- Use this special ver of checkrain
- [https://github.com/HoolockLinux/m1n1](https://github.com/HoolockLinux/m1n1 "https://github.com/HoolockLinux/m1n1") <- Chainload thath

View file

@ -0,0 +1,20 @@
---
title: Notes on building Redox OS
summary: From my attempts to try getting this bugger working on armv6
date: 2025-05-08
---
# Redox OS
## 32-bit arm ports?
- currently fails at trying to get relibc-install.tar.gz from https://static.redox-os.org/toolchain/arm-unknown-redox/
- makes sense, it doesn't exist
- can't build relibc for arm
- seems to depend on gcc, ld, ar, nm, and objcopy to exist for `arm-unkown-gcc`, also ld.so(?)
- looks like we need to port this? https://gitlab.redox-os.org/redox-os/gcc
- need to get a toolchain to target `arm-unknown-redox`
- https://gitlab.redox-os.org/redox-os/rust
- seems like `mk/prefix.mk` might have information?
-

View file

@ -1,5 +1,6 @@
---
title: vim
date: 2025-01-21 2025-01-21
---
- Sort selected lines: `:sort`

27
content/lab-notes/yuri.md Normal file
View file

@ -0,0 +1,27 @@
---
title: Yet Unnamed Revolution Investigation
date: 2025-05-03
---
# Yet Unnamed Revolution Investigation
## DOL
- More compatible with Nintendo tooling
- I assume it has something to do withu
## ELF
- more flexible than DOL
- can be converted to/from DOL
## KalistiOS
- seems to be an SDK for Dreamcast
- supported PS2 and GBA at one point but those are unmaintained
- supported x86 at one point but wasn't made public?
- looks like yu-rvl is gonna be doing stuff with that
## libOGC
- bad
- seems like it's used by most/all existing Wii homebrew
## NAND Channel
- Forwarders?
# BlocksDS
- seems to be an NDS SDK we're shipping alongside other Yu utils?

View file

@ -1,13 +1,14 @@
---
draft: true
draft: false
summary: You know what, fuck you _rotates your interest rates 90°_
title: Hypercomplex Interest
---
# Compound Interest
You know what, fuck you _rotates your interest rates 90°_
>[!NOTE] This is mostly done but still missing a good bit of stuff here and there, one day I'll reconcile this with the final talk I gave on this topic
-----
# Compound Interest
Y'all remember this from like 4th grade right, I barely do so here's a refresh
$$ z = Pe^{rt} $$
@ -18,6 +19,7 @@ $$ z = Pe^{rt} $$
Now let's make it spicy
---
# Complex Interest
Who says you need to have a real number for your interest rate? The Fed moves interest rates up and down all the time, when will those cowards start moving it left and right.

51
content/posts/licenses.md Executable file
View file

@ -0,0 +1,51 @@
---
title: Source-Available / Non-FOSS Licenses that may be worth looking into
draft: true
date: 2025-05-01
---
# Source-Available / Non-FOSS Licenses that may be worth looking into
Somewhat distilled from [GNU's List](https://www.gnu.org/licenses/license-list.en.html)
## Aladdin Free Public License
> [!TODO]
## [Anti-996 License](https://github.com/kattgu7/Anti-996-License)
- Adapted from MIT License
- Basically requires complying with 'Core International Labor Standards'
## Anti-Capitalist Software License
-
## [Code Project Open License (CPOL)](http://www.codeproject.com/info/cpol10.aspx)
- Prevents commercial distribution of the work itself, can be sold in aggregate
- Cannot be used for 'illegal, immoral, or improper purposes'
## [Commons Clause]()
## [Business Source License (BSL)](https://mariadb.com/bsl/)
## [Functional Sourcec License]()
## [Server Side Public License (SSPL)](https://www.mongodb.com/licensing/server-side-public-license)
## [Open Compensation Token License]()
## [The Hippocratic License](https://firstdonoharm.dev/)
## [Hacktivismo Enhanced-Source License Agreenebt]()
## [The JSON License]()
## [NASA Open Source Agreement]()
## [Open Public License (OPL)]()
## [Personal Public License (PPL)]()
## [Reciprocal Public License (RPL)](https://opensource.org/licenses/RPL-1.5)
## [Copyleft Next](https://next.copyleft.org/pages/license-text.html)

View file

@ -1,5 +1,6 @@
---
draft: true
title: What the fuck is a number?
---
# What the fuck is a number?

View file

@ -20,7 +20,6 @@
<pre class="u-key">
-----BEGIN PGP PUBLIC KEY BLOCK-----
xjMEZIjWHxYJKwYBBAHaRw8BAQdAtI4ucxI1PHAJNSIj2TITGcW4BWK2muk3sFfh
<footer>Footer</footer>
cyTHvrXNMkFyZ2VudHVtQ2F0aW9uIDxhcmdlbnR1bWNhdGlvbkBhcmdlbnR1bWNh
dGlvbi5jb20+wo4EExYKADYFCwkIBwIGFQoJCAsCBRYCAwEAAh4EFiEE3YWDpRDe
uUlxTthHQwxQypD5i74FAmSOOF8CGwEACgkQQwxQypD5i74vTwD/Y3T/Jet8zvAK
@ -60,28 +59,20 @@
<a href="https://fediring.net/">Fediring</a>
<a href="https://fediring.net/next?host=argentumcation.com">-&gt;</a>
</p>
<p style="margin: auto">
<a href="https://ring.sapphic.moe/argentumcation/previous">&lt;-</a>
<a href="https://ring.sapphic.moe">Sapphic Webring</a>
<a href="https://ring.sapphic.moe/argentumcation/next">-&gt;</a>
</p>
<marquee>
<!--{-->
<!--buttons.map((button) => {-->
<!--const image = (-->
<!--<Image class="marquee-button" src={`/buttons/${button.image}`} alt={button.name} width={88} height={31} />-->
<!--);-->
<!---->
<!--return !button.link?.startsWith("javascript:") ? (-->
<!--<a href={button.link ?? undefined} title={button.name} target="_blank">-->
<!-- {image}-->
<!--</a>-->
<!--) : (-->
<!--<button title={button.name} onclick={button.link}>-->
<!-- {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 class="btn-88x31">
<a href="https://argentumcation.com" target="_blank"><img src="/buttons/argentumcation.png"
alt="ArgentumCation" /></a>
</button>
<button class="btn-88x31">
<a href="https://cyber.dabamos.de/88x31/index.html" target="_blank"><img src="/buttons/88x31.gif"
alt="88x31" /></a>
@ -119,5 +110,10 @@
<a href="https://bulbapedia.bulbagarden.net/wiki/Rotom_(Pok%C3%A9mon)" target="_blank"><img
src="/buttons/rotom.gif" alt="Powered by Rotom" /></a>
</button>
<button class="btn-88x31">
<a href="https://midnaw.neocities.org" target="_blank"><img src="/buttons/midna.png" alt="Midnaw" /></a>
</button>
<button class="btn-88x31">
<a href="https://blog.styx-os.org" target="_blank"><img src="/buttons/styx-os.gif" alt="Styx OS" /></a>
</marquee>
</footer>

Binary file not shown.

After

Width:  |  Height:  |  Size: 1,014 B

BIN
static/buttons/midna.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4 KiB

BIN
static/buttons/styx-os.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB