diff options
| author | Pinapelz <yukais@pinapelz.com> | 2026-05-27 00:53:18 -0700 |
|---|---|---|
| committer | Pinapelz <yukais@pinapelz.com> | 2026-05-27 00:55:26 -0700 |
| commit | 36e053f4f0a2f63c08f7c28b9492c067f1ca42bc (patch) | |
| tree | c28973073c8e26775ee4d18d1016df44afdfeceb | |
| parent | a01e0666fd66c367745cdaff76fcd6ea7568c31c (diff) | |
migrate pinapelz.moe -> pinapelz.com
| -rw-r--r-- | indieweb-micro/hugo.toml | 8 | ||||
| -rw-r--r-- | indieweb-micro/themes/MinIndie/layouts/partials/webmentions.html | 2 | ||||
| -rw-r--r-- | micro.pinapelz.com/categories/default/index.html (renamed from micro.pinapelz.moe/categories/default/index.html) | 12 | ||||
| -rw-r--r-- | micro.pinapelz.com/categories/default/index.xml (renamed from micro.pinapelz.moe/categories/default/index.xml) | 32 | ||||
| -rw-r--r-- | micro.pinapelz.com/categories/games/index.html (renamed from micro.pinapelz.moe/categories/games/index.html) | 12 | ||||
| -rw-r--r-- | micro.pinapelz.com/categories/games/index.xml (renamed from micro.pinapelz.moe/categories/games/index.xml) | 34 | ||||
| -rw-r--r-- | micro.pinapelz.com/categories/index.html (renamed from micro.pinapelz.moe/categories/index.html) | 12 | ||||
| -rw-r--r-- | micro.pinapelz.com/categories/index.xml (renamed from micro.pinapelz.moe/categories/index.xml) | 24 | ||||
| -rw-r--r-- | micro.pinapelz.com/categories/life/index.html (renamed from micro.pinapelz.moe/categories/life/index.html) | 12 | ||||
| -rw-r--r-- | micro.pinapelz.com/categories/life/index.xml (renamed from micro.pinapelz.moe/categories/life/index.xml) | 14 | ||||
| -rw-r--r-- | micro.pinapelz.com/categories/tools/index.html (renamed from micro.pinapelz.moe/categories/tools/index.html) | 12 | ||||
| -rw-r--r-- | micro.pinapelz.com/categories/tools/index.xml (renamed from micro.pinapelz.moe/categories/tools/index.xml) | 12 | ||||
| -rw-r--r-- | micro.pinapelz.com/css/style.css (renamed from micro.pinapelz.moe/css/style.css) | 0 | ||||
| -rw-r--r-- | micro.pinapelz.com/index.html (renamed from micro.pinapelz.moe/index.html) | 50 | ||||
| -rw-r--r-- | micro.pinapelz.com/index.xml (renamed from micro.pinapelz.moe/index.xml) | 72 | ||||
| -rw-r--r-- | micro.pinapelz.com/indie/follows/index.html (renamed from micro.pinapelz.moe/indie/follows/index.html) | 10 | ||||
| -rw-r--r-- | micro.pinapelz.com/indie/index.html (renamed from micro.pinapelz.moe/indie/index.html) | 14 | ||||
| -rw-r--r-- | micro.pinapelz.com/indie/index.xml (renamed from micro.pinapelz.moe/indie/index.xml) | 12 | ||||
| -rw-r--r-- | micro.pinapelz.com/indie/page/1/index.html (renamed from micro.pinapelz.moe/indie/page/1/index.html) | 6 | ||||
| -rw-r--r-- | micro.pinapelz.com/page/1/index.html (renamed from micro.pinapelz.moe/page/1/index.html) | 6 | ||||
| -rw-r--r-- | micro.pinapelz.com/page/2/index.html (renamed from micro.pinapelz.moe/page/2/index.html) | 26 | ||||
| -rw-r--r-- | micro.pinapelz.com/posts/2025-12-01-hello-world/index.html (renamed from micro.pinapelz.moe/posts/2025-12-01-hello-world/index.html) | 16 | ||||
| -rw-r--r-- | micro.pinapelz.com/posts/2025-12-02-china-town-fair/gloves.webp (renamed from micro.pinapelz.moe/posts/2025-12-02-china-town-fair/gloves.webp) | bin | 431668 -> 431668 bytes | |||
| -rw-r--r-- | micro.pinapelz.com/posts/2025-12-02-china-town-fair/index.html (renamed from micro.pinapelz.moe/posts/2025-12-02-china-town-fair/index.html) | 16 | ||||
| -rw-r--r-- | micro.pinapelz.com/posts/2025-12-02-china-town-fair/inside-ctf.webp (renamed from micro.pinapelz.moe/posts/2025-12-02-china-town-fair/inside-ctf.webp) | bin | 1020876 -> 1020876 bytes | |||
| -rw-r--r-- | micro.pinapelz.com/posts/2025-12-02-china-town-fair/outside-ctf.webp (renamed from micro.pinapelz.moe/posts/2025-12-02-china-town-fair/outside-ctf.webp) | bin | 355348 -> 355348 bytes | |||
| -rw-r--r-- | micro.pinapelz.com/posts/2025-12-02-power-bank-recall/index.html (renamed from micro.pinapelz.moe/posts/2025-12-02-power-bank-recall/index.html) | 16 | ||||
| -rw-r--r-- | micro.pinapelz.com/posts/2025-12-03-04-yt-music-rewind/index.html (renamed from micro.pinapelz.moe/posts/2025-12-03-04-yt-music-rewind/index.html) | 16 | ||||
| -rw-r--r-- | micro.pinapelz.com/posts/2025-12-04-procon2-hid-tool/index.html (renamed from micro.pinapelz.moe/posts/2025-12-04-procon2-hid-tool/index.html) | 16 | ||||
| -rw-r--r-- | micro.pinapelz.com/posts/2025-12-06-first-sdvx-18/18.webp (renamed from micro.pinapelz.moe/posts/2025-12-06-first-sdvx-18/18.webp) | bin | 339632 -> 339632 bytes | |||
| -rw-r--r-- | micro.pinapelz.com/posts/2025-12-06-first-sdvx-18/index.html (renamed from micro.pinapelz.moe/posts/2025-12-06-first-sdvx-18/index.html) | 18 | ||||
| -rw-r--r-- | micro.pinapelz.com/posts/2025-12-18-07-arcade-monsters-sd/cab1.webp (renamed from micro.pinapelz.moe/posts/2025-12-18-07-arcade-monsters-sd/cab1.webp) | bin | 506938 -> 506938 bytes | |||
| -rw-r--r-- | micro.pinapelz.com/posts/2025-12-18-07-arcade-monsters-sd/cab2.webp (renamed from micro.pinapelz.moe/posts/2025-12-18-07-arcade-monsters-sd/cab2.webp) | bin | 379430 -> 379430 bytes | |||
| -rw-r--r-- | micro.pinapelz.com/posts/2025-12-18-07-arcade-monsters-sd/danevo.webp (renamed from micro.pinapelz.moe/posts/2025-12-18-07-arcade-monsters-sd/danevo.webp) | bin | 384012 -> 384012 bytes | |||
| -rw-r--r-- | micro.pinapelz.com/posts/2025-12-18-07-arcade-monsters-sd/index.html (renamed from micro.pinapelz.moe/posts/2025-12-18-07-arcade-monsters-sd/index.html) | 18 | ||||
| -rw-r--r-- | micro.pinapelz.com/posts/2025-12-18-07-arcade-monsters-sd/view1.webp (renamed from micro.pinapelz.moe/posts/2025-12-18-07-arcade-monsters-sd/view1.webp) | bin | 952802 -> 952802 bytes | |||
| -rw-r--r-- | micro.pinapelz.com/posts/2025-12-18-07-arcade-monsters-sd/view2.webp (renamed from micro.pinapelz.moe/posts/2025-12-18-07-arcade-monsters-sd/view2.webp) | bin | 436422 -> 436422 bytes | |||
| -rw-r--r-- | micro.pinapelz.com/posts/2025-12-19-08-ffxiv-patch-7-4/index.html (renamed from micro.pinapelz.moe/posts/2025-12-19-08-ffxiv-patch-7-4/index.html) | 18 | ||||
| -rw-r--r-- | micro.pinapelz.com/posts/2025-12-31-09-dbox-review/index.html (renamed from micro.pinapelz.moe/posts/2025-12-31-09-dbox-review/index.html) | 16 | ||||
| -rw-r--r-- | micro.pinapelz.com/posts/2026-02-19-10-discord-rant/index.html (renamed from micro.pinapelz.moe/posts/2026-02-19-10-discord-rant/index.html) | 16 | ||||
| -rw-r--r-- | micro.pinapelz.com/posts/2026-03-17-11-hundred-lines-last-defense-playlog/index.html (renamed from micro.pinapelz.moe/posts/2026-03-17-11-hundred-lines-last-defense-playlog/index.html) | 16 | ||||
| -rw-r--r-- | micro.pinapelz.com/posts/2026-03-17-11-hundred-lines-last-defense-playlog/playtime.png (renamed from micro.pinapelz.moe/posts/2026-03-17-11-hundred-lines-last-defense-playlog/playtime.png) | bin | 25402 -> 25402 bytes | |||
| -rw-r--r-- | micro.pinapelz.com/posts/2026-04-26-12-april-playlog/index.html (renamed from micro.pinapelz.moe/posts/2026-04-26-12-april-playlog/index.html) | 16 | ||||
| -rw-r--r-- | micro.pinapelz.com/posts/2026-04-29-13-dac-vs-wireless-dap/index.html (renamed from micro.pinapelz.moe/posts/2026-04-29-13-dac-vs-wireless-dap/index.html) | 16 | ||||
| -rw-r--r-- | micro.pinapelz.com/posts/index.html (renamed from micro.pinapelz.moe/posts/index.html) | 50 | ||||
| -rw-r--r-- | micro.pinapelz.com/posts/index.xml (renamed from micro.pinapelz.moe/posts/index.xml) | 68 | ||||
| -rw-r--r-- | micro.pinapelz.com/posts/page/1/index.html (renamed from micro.pinapelz.moe/posts/page/1/index.html) | 6 | ||||
| -rw-r--r-- | micro.pinapelz.com/posts/page/2/index.html (renamed from micro.pinapelz.moe/posts/page/2/index.html) | 22 | ||||
| -rw-r--r-- | micro.pinapelz.com/sitemap.xml (renamed from micro.pinapelz.moe/sitemap.xml) | 58 | ||||
| -rw-r--r-- | micro.pinapelz.com/tags/anime/index.html (renamed from micro.pinapelz.moe/tags/anime/index.html) | 12 | ||||
| -rw-r--r-- | micro.pinapelz.com/tags/anime/index.xml (renamed from micro.pinapelz.moe/tags/anime/index.xml) | 12 | ||||
| -rw-r--r-- | micro.pinapelz.com/tags/arcade/index.html (renamed from micro.pinapelz.moe/tags/arcade/index.html) | 12 | ||||
| -rw-r--r-- | micro.pinapelz.com/tags/arcade/index.xml (renamed from micro.pinapelz.moe/tags/arcade/index.xml) | 24 | ||||
| -rw-r--r-- | micro.pinapelz.com/tags/code/index.html (renamed from micro.pinapelz.moe/tags/code/index.html) | 12 | ||||
| -rw-r--r-- | micro.pinapelz.com/tags/code/index.xml (renamed from micro.pinapelz.moe/tags/code/index.xml) | 12 | ||||
| -rw-r--r-- | micro.pinapelz.com/tags/default/index.html (renamed from micro.pinapelz.moe/tags/default/index.html) | 12 | ||||
| -rw-r--r-- | micro.pinapelz.com/tags/default/index.xml (renamed from micro.pinapelz.moe/tags/default/index.xml) | 28 | ||||
| -rw-r--r-- | micro.pinapelz.com/tags/index.html (renamed from micro.pinapelz.moe/tags/index.html) | 12 | ||||
| -rw-r--r-- | micro.pinapelz.com/tags/index.xml (renamed from micro.pinapelz.moe/tags/index.xml) | 32 | ||||
| -rw-r--r-- | micro.pinapelz.com/tags/nintendo/index.html (renamed from micro.pinapelz.moe/tags/nintendo/index.html) | 12 | ||||
| -rw-r--r-- | micro.pinapelz.com/tags/nintendo/index.xml (renamed from micro.pinapelz.moe/tags/nintendo/index.xml) | 12 | ||||
| -rw-r--r-- | micro.pinapelz.com/tags/playlog/index.html (renamed from micro.pinapelz.moe/tags/playlog/index.html) | 12 | ||||
| -rw-r--r-- | micro.pinapelz.com/tags/playlog/index.xml (renamed from micro.pinapelz.moe/tags/playlog/index.xml) | 24 | ||||
| -rw-r--r-- | micro.pinapelz.moe/css/follows.css | 31 | ||||
| -rw-r--r-- | micro.pinapelz.moe/indie/likes/follows/index.html | 223 | ||||
| -rw-r--r-- | micro.pinapelz.moe/tags/rhythm-games/index.html | 106 | ||||
| -rw-r--r-- | micro.pinapelz.moe/tags/rhythm-games/index.xml | 21 | ||||
| -rw-r--r-- | micro.pinapelz.moe/tags/sdvx/index.html | 94 | ||||
| -rw-r--r-- | micro.pinapelz.moe/tags/sdvx/index.xml | 13 | ||||
| -rw-r--r-- | moe.pinapelz.com/about.html (renamed from pinapelz.moe/about.html) | 2 | ||||
| -rw-r--r-- | moe.pinapelz.com/assets/603.webp (renamed from pinapelz.moe/assets/603.webp) | bin | 13325 -> 13325 bytes | |||
| -rw-r--r-- | moe.pinapelz.com/assets/aiba.webp (renamed from pinapelz.moe/assets/aiba.webp) | bin | 373230 -> 373230 bytes | |||
| -rw-r--r-- | moe.pinapelz.com/assets/chuni.png (renamed from pinapelz.moe/assets/chuni.png) | bin | 82502 -> 82502 bytes | |||
| -rw-r--r-- | moe.pinapelz.com/assets/eri.jpg (renamed from pinapelz.moe/assets/eri.jpg) | bin | 9401 -> 9401 bytes | |||
| -rw-r--r-- | moe.pinapelz.com/assets/gc.jpg (renamed from pinapelz.moe/assets/gc.jpg) | bin | 9501 -> 9501 bytes | |||
| -rw-r--r-- | moe.pinapelz.com/assets/growing.gif (renamed from pinapelz.moe/assets/growing.gif) | bin | 2163778 -> 2163778 bytes | |||
| -rw-r--r-- | moe.pinapelz.com/assets/pfp.webp (renamed from pinapelz.moe/assets/pfp.webp) | bin | 27886 -> 27886 bytes | |||
| -rw-r--r-- | moe.pinapelz.com/assets/pso2.webp (renamed from pinapelz.moe/assets/pso2.webp) | bin | 188626 -> 188626 bytes | |||
| -rw-r--r-- | moe.pinapelz.com/assets/rappy.webp (renamed from pinapelz.moe/assets/rappy.webp) | bin | 35516 -> 35516 bytes | |||
| -rw-r--r-- | moe.pinapelz.com/assets/reine.jpg (renamed from pinapelz.moe/assets/reine.jpg) | bin | 9657 -> 9657 bytes | |||
| -rw-r--r-- | moe.pinapelz.com/assets/rg-tier.gif (renamed from pinapelz.moe/assets/rg-tier.gif) | bin | 2857882 -> 2857882 bytes | |||
| -rw-r--r-- | moe.pinapelz.com/assets/sayo-fries.gif (renamed from pinapelz.moe/assets/sayo-fries.gif) | bin | 214754 -> 214754 bytes | |||
| -rw-r--r-- | moe.pinapelz.com/assets/sdvx.png (renamed from pinapelz.moe/assets/sdvx.png) | bin | 30104 -> 30104 bytes | |||
| -rw-r--r-- | moe.pinapelz.com/assets/usami.webp (renamed from pinapelz.moe/assets/usami.webp) | bin | 72126 -> 72126 bytes | |||
| -rw-r--r-- | moe.pinapelz.com/assets/vuln.jpg (renamed from pinapelz.moe/assets/vuln.jpg) | bin | 7688 -> 7688 bytes | |||
| -rw-r--r-- | moe.pinapelz.com/assets/xiv.webp (renamed from pinapelz.moe/assets/xiv.webp) | bin | 59376 -> 59376 bytes | |||
| -rw-r--r-- | moe.pinapelz.com/assets/xqcl.webp (renamed from pinapelz.moe/assets/xqcl.webp) | bin | 17480 -> 17480 bytes | |||
| -rw-r--r-- | moe.pinapelz.com/encoded-take-no1.html (renamed from pinapelz.moe/encoded-take-no1.html) | 0 | ||||
| -rw-r--r-- | moe.pinapelz.com/encoded-take-no2.html (renamed from pinapelz.moe/encoded-take-no2.html) | 0 | ||||
| -rw-r--r-- | moe.pinapelz.com/index.html (renamed from pinapelz.moe/index.html) | 6 | ||||
| -rw-r--r-- | moe.pinapelz.com/projects.html (renamed from pinapelz.moe/projects.html) | 0 | ||||
| -rw-r--r-- | moe.pinapelz.com/rhythm-games-tierlist.html (renamed from pinapelz.moe/rhythm-games-tierlist.html) | 0 | ||||
| -rw-r--r-- | moe.pinapelz.com/scripts/index.js (renamed from pinapelz.moe/scripts/index.js) | 0 | ||||
| -rw-r--r-- | moe.pinapelz.com/styles/bg.webp (renamed from pinapelz.moe/styles/bg.webp) | bin | 19612 -> 19612 bytes | |||
| -rw-r--r-- | moe.pinapelz.com/styles/border.webp (renamed from pinapelz.moe/styles/border.webp) | bin | 534 -> 534 bytes | |||
| -rw-r--r-- | moe.pinapelz.com/styles/carbon.css (renamed from pinapelz.moe/styles/carbon.css) | 0 | ||||
| -rw-r--r-- | moe.pinapelz.com/styles/clock.css (renamed from pinapelz.moe/styles/clock.css) | 0 | ||||
| -rw-r--r-- | moe.pinapelz.com/styles/projects.css (renamed from pinapelz.moe/styles/projects.css) | 0 | ||||
| -rw-r--r-- | moe.pinapelz.com/styles/styles.css (renamed from pinapelz.moe/styles/styles.css) | 0 | ||||
| -rw-r--r-- | sticker.pinapelz.com/esinstall.js (renamed from sticker.pinapelz.moe/esinstall.js) | 0 | ||||
| -rw-r--r-- | sticker.pinapelz.com/index.html (renamed from sticker.pinapelz.moe/index.html) | 0 | ||||
| -rw-r--r-- | sticker.pinapelz.com/lib/htm/preact.js (renamed from sticker.pinapelz.moe/lib/htm/preact.js) | 0 | ||||
| -rw-r--r-- | sticker.pinapelz.com/package.json (renamed from sticker.pinapelz.moe/package.json) | 0 | ||||
| -rw-r--r-- | sticker.pinapelz.com/packs/.gitkeep (renamed from sticker.pinapelz.moe/packs/.gitkeep) | 0 | ||||
| -rw-r--r-- | sticker.pinapelz.com/packs/dank.json (renamed from sticker.pinapelz.moe/packs/dank.json) | 0 | ||||
| -rw-r--r-- | sticker.pinapelz.com/packs/index.json (renamed from sticker.pinapelz.moe/packs/index.json) | 0 | ||||
| -rw-r--r-- | sticker.pinapelz.com/packs/thumbnails/APyHPuZmyRfUwwsEHijRGdjP (renamed from sticker.pinapelz.moe/packs/thumbnails/APyHPuZmyRfUwwsEHijRGdjP) | bin | 47309 -> 47309 bytes | |||
| -rw-r--r-- | sticker.pinapelz.com/packs/thumbnails/ASWmCLdLLTVqLwXptdkBMtws (renamed from sticker.pinapelz.moe/packs/thumbnails/ASWmCLdLLTVqLwXptdkBMtws) | bin | 29637 -> 29637 bytes | |||
| -rw-r--r-- | sticker.pinapelz.com/packs/thumbnails/CLkWhgAkDubZmahPWinNMaSc (renamed from sticker.pinapelz.moe/packs/thumbnails/CLkWhgAkDubZmahPWinNMaSc) | bin | 31164 -> 31164 bytes | |||
| -rw-r--r-- | sticker.pinapelz.com/packs/thumbnails/DlLllEJSQYkOCBBzqVzdxuwR (renamed from sticker.pinapelz.moe/packs/thumbnails/DlLllEJSQYkOCBBzqVzdxuwR) | bin | 35734 -> 35734 bytes | |||
| -rw-r--r-- | sticker.pinapelz.com/packs/thumbnails/MjoQgqCbNmTRuQfDngBPPoOC (renamed from sticker.pinapelz.moe/packs/thumbnails/MjoQgqCbNmTRuQfDngBPPoOC) | bin | 52103 -> 52103 bytes | |||
| -rw-r--r-- | sticker.pinapelz.com/packs/thumbnails/OddXtQLRutxvLZWWxNicguMc (renamed from sticker.pinapelz.moe/packs/thumbnails/OddXtQLRutxvLZWWxNicguMc) | bin | 28353 -> 28353 bytes | |||
| -rw-r--r-- | sticker.pinapelz.com/packs/thumbnails/PdyEJxgwOfBCxySfSFYlgPzP (renamed from sticker.pinapelz.moe/packs/thumbnails/PdyEJxgwOfBCxySfSFYlgPzP) | bin | 90928 -> 90928 bytes | |||
| -rw-r--r-- | sticker.pinapelz.com/packs/thumbnails/QURUNgNThYmIdzyasFdcLJnr (renamed from sticker.pinapelz.moe/packs/thumbnails/QURUNgNThYmIdzyasFdcLJnr) | bin | 17080 -> 17080 bytes | |||
| -rw-r--r-- | sticker.pinapelz.com/packs/thumbnails/SzxfhuJJdFPYzoPvSDIBhWxb (renamed from sticker.pinapelz.moe/packs/thumbnails/SzxfhuJJdFPYzoPvSDIBhWxb) | bin | 37322 -> 37322 bytes | |||
| -rw-r--r-- | sticker.pinapelz.com/packs/thumbnails/XmPidyRFUqsIUfMJXlyMqKTg (renamed from sticker.pinapelz.moe/packs/thumbnails/XmPidyRFUqsIUfMJXlyMqKTg) | bin | 58621 -> 58621 bytes | |||
| -rw-r--r-- | sticker.pinapelz.com/packs/thumbnails/ZBxiNUARoFZGoETjySzbKoAc (renamed from sticker.pinapelz.moe/packs/thumbnails/ZBxiNUARoFZGoETjySzbKoAc) | bin | 26042 -> 26042 bytes | |||
| -rw-r--r-- | sticker.pinapelz.com/packs/thumbnails/ZTckkllzHDrGCbrXBEqzDUYB (renamed from sticker.pinapelz.moe/packs/thumbnails/ZTckkllzHDrGCbrXBEqzDUYB) | bin | 45997 -> 45997 bytes | |||
| -rw-r--r-- | sticker.pinapelz.com/packs/thumbnails/aUBbgTfxxfWapJXDzOGsGWGx (renamed from sticker.pinapelz.moe/packs/thumbnails/aUBbgTfxxfWapJXDzOGsGWGx) | bin | 39863 -> 39863 bytes | |||
| -rw-r--r-- | sticker.pinapelz.com/packs/thumbnails/xpwjfgHzxJFTiJWIXMEvBBck (renamed from sticker.pinapelz.moe/packs/thumbnails/xpwjfgHzxJFTiJWIXMEvBBck) | bin | 89762 -> 89762 bytes | |||
| -rw-r--r-- | sticker.pinapelz.com/packs/thumbnails/yLAyUjCErrmXBfcAAUxYygsP (renamed from sticker.pinapelz.moe/packs/thumbnails/yLAyUjCErrmXBfcAAUxYygsP) | bin | 93010 -> 93010 bytes | |||
| -rw-r--r-- | sticker.pinapelz.com/packs/weeb.json (renamed from sticker.pinapelz.moe/packs/weeb.json) | 0 | ||||
| -rw-r--r-- | sticker.pinapelz.com/res/favorite.svg (renamed from sticker.pinapelz.moe/res/favorite.svg) | 0 | ||||
| -rw-r--r-- | sticker.pinapelz.com/res/giphy-dark.svg (renamed from sticker.pinapelz.moe/res/giphy-dark.svg) | 0 | ||||
| -rw-r--r-- | sticker.pinapelz.com/res/giphy-light.svg (renamed from sticker.pinapelz.moe/res/giphy-light.svg) | 0 | ||||
| -rw-r--r-- | sticker.pinapelz.com/res/powered-by-giphy.png (renamed from sticker.pinapelz.moe/res/powered-by-giphy.png) | bin | 7741 -> 7741 bytes | |||
| -rw-r--r-- | sticker.pinapelz.com/res/recent.svg (renamed from sticker.pinapelz.moe/res/recent.svg) | 0 | ||||
| -rw-r--r-- | sticker.pinapelz.com/res/search.svg (renamed from sticker.pinapelz.moe/res/search.svg) | 0 | ||||
| -rw-r--r-- | sticker.pinapelz.com/res/settings.svg (renamed from sticker.pinapelz.moe/res/settings.svg) | 0 | ||||
| -rw-r--r-- | sticker.pinapelz.com/src/frequently-used.js (renamed from sticker.pinapelz.moe/src/frequently-used.js) | 0 | ||||
| -rw-r--r-- | sticker.pinapelz.com/src/giphy.js (renamed from sticker.pinapelz.moe/src/giphy.js) | 0 | ||||
| -rw-r--r-- | sticker.pinapelz.com/src/index.js (renamed from sticker.pinapelz.moe/src/index.js) | 0 | ||||
| -rw-r--r-- | sticker.pinapelz.com/src/search-box.js (renamed from sticker.pinapelz.moe/src/search-box.js) | 0 | ||||
| -rw-r--r-- | sticker.pinapelz.com/src/spinner.js (renamed from sticker.pinapelz.moe/src/spinner.js) | 0 | ||||
| -rw-r--r-- | sticker.pinapelz.com/src/widget-api.js (renamed from sticker.pinapelz.moe/src/widget-api.js) | 0 | ||||
| -rw-r--r-- | sticker.pinapelz.com/style/index.css (renamed from sticker.pinapelz.moe/style/index.css) | 0 | ||||
| -rw-r--r-- | sticker.pinapelz.com/style/index.sass (renamed from sticker.pinapelz.moe/style/index.sass) | 0 | ||||
| -rw-r--r-- | sticker.pinapelz.com/style/spinner.css (renamed from sticker.pinapelz.moe/style/spinner.css) | 0 | ||||
| -rw-r--r-- | sticker.pinapelz.com/style/spinner.sass (renamed from sticker.pinapelz.moe/style/spinner.sass) | 0 | ||||
| -rw-r--r-- | sticker.pinapelz.com/yarn.lock (renamed from sticker.pinapelz.moe/yarn.lock) | 0 |
140 files changed, 518 insertions, 1006 deletions
diff --git a/indieweb-micro/hugo.toml b/indieweb-micro/hugo.toml index 4e41ee0..69b6d05 100644 --- a/indieweb-micro/hugo.toml +++ b/indieweb-micro/hugo.toml @@ -1,8 +1,8 @@ languageCode = 'en-us' -title = 'micro.pinapelz.moe' +title = 'micro.pinapelz.com' theme = "MinIndie" -baseURL = "https://micro.pinapelz.moe" -publishDir = "../micro.pinapelz.moe" +baseURL = "https://micro.pinapelz.com" +publishDir = "../micro.pinapelz.com" [params] subtitle = "check it out. I'm in the house like carpet" @@ -24,7 +24,7 @@ dateFmt = "Monday, January 2, 2006" [params.indieweb] authorizationEndpoint = "https://indieauth.com/auth" tokenEndpoint = "https://tokens.indieauth.com/token" - webmentionEndpoint = "https://webmention.io/micro.pinapelz.moe/webmention" + webmentionEndpoint = "https://webmention.io/micro.pinapelz.com/webmention" relmepgp = "https://pinapelz.com/Yukai_Shan.asc" [[params.indieweb.relme]] url = "https://github.com/pinapelz" diff --git a/indieweb-micro/themes/MinIndie/layouts/partials/webmentions.html b/indieweb-micro/themes/MinIndie/layouts/partials/webmentions.html index 2b9ba7d..1576106 100644 --- a/indieweb-micro/themes/MinIndie/layouts/partials/webmentions.html +++ b/indieweb-micro/themes/MinIndie/layouts/partials/webmentions.html @@ -182,7 +182,7 @@ const PAGE_URL = "{{ .Permalink }}"; async function loadMentions() { const url = - "https://webmention.io/api/mentions.jf2?domain=micro.pinapelz.moe&token=hdjQAqlZwgJmSuPSiU8h8w"; + "https://webmention.io/api/mentions.jf2?domain=micro.pinapelz.com&token=hdjQAqlZwgJmSuPSiU8h8w"; const res = await fetch(url); const data = await res.json(); diff --git a/micro.pinapelz.moe/categories/default/index.html b/micro.pinapelz.com/categories/default/index.html index 6bbe273..f4b489e 100644 --- a/micro.pinapelz.moe/categories/default/index.html +++ b/micro.pinapelz.com/categories/default/index.html @@ -5,7 +5,7 @@ <meta name="viewport" content="width=device-width, initial-scale=1"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <style type=text/css>body{font-family:monospace;}</style> - <title>Default | micro.pinapelz.moe</title> + <title>Default | micro.pinapelz.com</title> <meta name="author" content="map[avatar:https://files.catbox.moe/5r1pue.jpg banner:https://files.pinapelz.com/pso2ngs-2232-collab.png bio:yo! and he's more than a cover he's a quilt<br/> General arcade rhythm game enjoyer (SDVX, IIDX, CHUNITHM)<br/> @@ -14,7 +14,7 @@ Arch Linux + Hyprland user (btw)<br/> Hi from the <a href="https://indieweb.org/">indieweb</a>, if you are seeing me bridged elsewhere! email:yukais@pinapelz.com name:Pinapelz]"> <link rel="stylesheet" href="/css/style.css"> - <link rel="alternate" type="application/rss+xml" href="/categories/default/index.xml" title="micro.pinapelz.moe"> + <link rel="alternate" type="application/rss+xml" href="/categories/default/index.xml" title="micro.pinapelz.com"> <link rel="me" href="https://github.com/pinapelz" /> @@ -29,7 +29,7 @@ rel="token_endpoint" href="https://tokens.indieauth.com/token" /> - <link rel="webmention" href="https://webmention.io/micro.pinapelz.moe/webmention" /> + <link rel="webmention" href="https://webmention.io/micro.pinapelz.com/webmention" /> @@ -39,7 +39,7 @@ <div style="display:flex;flex-flow:row wrap;justify-content:space-between"> <div style="align-self:flex-start;"> ==============<br> - == <a href="https://micro.pinapelz.moe/">Pinapelz</a> ==<br> + == <a href="https://micro.pinapelz.com/">Pinapelz</a> ==<br> ============== </div> <div style="align-self:center;">check it out. I'm in the house like carpet</div> @@ -63,7 +63,7 @@ <div> <h1> Default - <a href="https://micro.pinapelz.moe/categories/default/index.xml"> + <a href="https://micro.pinapelz.com/categories/default/index.xml"> <img style="height:1.5rem; display: inline;" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-label='RSS' role='img' viewBox='0 0 512 512'%3E%3Cpath d='M0 0h512v512H0' fill='%23f80'/%3E%3Cpath d='M109 271A132 133 0 0 1 241 403h60A192 193 0 0 0 109 211v-54A246 247 0 0 1 355 403h60A306 307 0 0 0 109 97m35 235a35 35 0 1 0 2 0' fill='%23fff'/%3E%3C/svg%3E" alt="RSS icon" /> </a> </h1> @@ -133,7 +133,7 @@ <p style="text-align: center" class="copyright"> - © <a href="https://micro.pinapelz.moe/"><b>micro.pinapelz.moe</b></a>. + © <a href="https://micro.pinapelz.com/"><b>micro.pinapelz.com</b></a>. </p> </footer> diff --git a/micro.pinapelz.moe/categories/default/index.xml b/micro.pinapelz.com/categories/default/index.xml index c1b6323..4034513 100644 --- a/micro.pinapelz.moe/categories/default/index.xml +++ b/micro.pinapelz.com/categories/default/index.xml @@ -1,55 +1,55 @@ <?xml version="1.0" encoding="utf-8" standalone="yes"?> <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"> <channel> - <title>Default on micro.pinapelz.moe</title> - <link>https://micro.pinapelz.moe/categories/default/</link> - <description>Recent content in Default on micro.pinapelz.moe</description> + <title>Default on micro.pinapelz.com</title> + <link>https://micro.pinapelz.com/categories/default/</link> + <description>Recent content in Default on micro.pinapelz.com</description> <generator>Hugo</generator> <language>en-us</language> <managingEditor>yukais@pinapelz.com (Pinapelz)</managingEditor> <webMaster>yukais@pinapelz.com (Pinapelz)</webMaster> <lastBuildDate>Sun, 03 May 2026 03:16:09 -0700</lastBuildDate> - <atom:link href="https://micro.pinapelz.moe/categories/default/index.xml" rel="self" type="application/rss+xml" /> + <atom:link href="https://micro.pinapelz.com/categories/default/index.xml" rel="self" type="application/rss+xml" /> <item> <title>Portable Audio: Phone, Wireless DAC, or DAP</title> - <link>https://micro.pinapelz.moe/posts/2026-04-29-13-dac-vs-wireless-dap/</link> + <link>https://micro.pinapelz.com/posts/2026-04-29-13-dac-vs-wireless-dap/</link> <pubDate>Sun, 03 May 2026 03:16:09 -0700</pubDate><author>yukais@pinapelz.com (Pinapelz)</author> - <guid>https://micro.pinapelz.moe/posts/2026-04-29-13-dac-vs-wireless-dap/</guid> + <guid>https://micro.pinapelz.com/posts/2026-04-29-13-dac-vs-wireless-dap/</guid> <description><p>Supposedly, there&rsquo;s been a <a href="https://www.facebook.com/APNews/videos/secondhand-sales-of-apple-ipods-are-surging-four-years-after-it-was-killed-off-w/1278247987103509/">resurgence in the popularity of the iPod</a> in the recent months for all sorts of reasons. While I&rsquo;m well aware of &ldquo;MP3 Players&rdquo;, such as the original iPod and the old Sony Walkman, these are not devices I grew up using. As a &ldquo;new-gen&rdquo; audiophile myself, getting a DAP (Dedicated Audio Player, its the new term for these sort of devices as they can play much more than just MP3s) was certainly an interesting idea. However, modern day audiophiles now have an arsenal of methods to enjoy music, even when it comes to portable playback.</p></description> </item> <item> <title>Discord Rant</title> - <link>https://micro.pinapelz.moe/posts/2026-02-19-10-discord-rant/</link> + <link>https://micro.pinapelz.com/posts/2026-02-19-10-discord-rant/</link> <pubDate>Thu, 19 Feb 2026 19:17:04 -0800</pubDate><author>yukais@pinapelz.com (Pinapelz)</author> - <guid>https://micro.pinapelz.moe/posts/2026-02-19-10-discord-rant/</guid> + <guid>https://micro.pinapelz.com/posts/2026-02-19-10-discord-rant/</guid> <description><p>We&rsquo;ve seen time and time again that there is &ldquo;no such thing as a free lunch&rdquo;. The same is true for Discord.</p>
<ol>
<li>Offer a service that is much better than all the competitors</li>
<li>Attract a bunch of users</li>
<li>Burn VC money</li>
<li>Repeat 1-3 until its time to pay them back</li>
<li>Figure out how to make money</li>
</ol>
<p>Nitro doesn&rsquo;t fund the platform, hosting free voice and screenshare is more expensive than you think. Ultimately, any choice of software for me boils down to &ldquo;what value do I get out of it&rdquo;.</p></description> </item> <item> <title>DBOX Movie Seats</title> - <link>https://micro.pinapelz.moe/posts/2025-12-31-09-dbox-review/</link> + <link>https://micro.pinapelz.com/posts/2025-12-31-09-dbox-review/</link> <pubDate>Wed, 31 Dec 2025 22:03:51 -0800</pubDate><author>yukais@pinapelz.com (Pinapelz)</author> - <guid>https://micro.pinapelz.moe/posts/2025-12-31-09-dbox-review/</guid> + <guid>https://micro.pinapelz.com/posts/2025-12-31-09-dbox-review/</guid> <description><p>There&rsquo;s a thing here in Canada where certain theaters have these special seats that rumble and move in motion with whats happening on screen.</p>
<p>I recently saw the new Avatar (Fire and Ash) in one of these seats. It wasn&rsquo;t a bad experience but given the markup, I don&rsquo;t think its worth it:</p>
<ul>
<li>First it is fun (sometimes). For example when they were flying through the air, the seat would tilt in the motion of them flying. Or when there was an explosion/gunfire, the seat would rumble</li>
<li>However, for me I think they overdid it at times, literately the seat would move and rumble for the smallest things. So it was kind of like a constant thing throughout the whole film. For me its a bit annoying</li>
<li>For the $10-15 extra (I think I paid a bit more cause the movie was also in 3D), I&rsquo;d much rather just go to a theater that has the big comfy recliner seats</li>
<li>I think for the right movie (maybe something heavy on action or horror) this could be a solid purchase if its a movie you&rsquo;re really looking forward to</li>
<li>Or I also know that some people see movies multiple times, so maybe this can be a good option for a 2nd viewing?</li>
</ul>
<p>Generally, though&hellip; I think I&rsquo;ll live without them.</p></description> </item> <item> <title>YouTube Music Recap 2025</title> - <link>https://micro.pinapelz.moe/posts/2025-12-03-04-yt-music-rewind/</link> + <link>https://micro.pinapelz.com/posts/2025-12-03-04-yt-music-rewind/</link> <pubDate>Wed, 03 Dec 2025 19:38:52 -0800</pubDate><author>yukais@pinapelz.com (Pinapelz)</author> - <guid>https://micro.pinapelz.moe/posts/2025-12-03-04-yt-music-rewind/</guid> + <guid>https://micro.pinapelz.com/posts/2025-12-03-04-yt-music-rewind/</guid> <description><p>Its all Bandori. At least 75% of that MyGO!!!!! listening time was probably Haruhikage since I came back to Bandori and had to catch up before watching Ave Mujica anime.</p>
<figure><img src="https://files.catbox.moe/tsquqc.jpg"
 alt="YouTube Music Recap Top 5 Artists In Order: MyGO!!!!!, Yumenokessho, Ave Mujica, KMNZ, Roselia" width="300">
</figure></description> </item> <item> <title>INIU Power Bank Gets Recall</title> - <link>https://micro.pinapelz.moe/posts/2025-12-02-power-bank-recall/</link> + <link>https://micro.pinapelz.com/posts/2025-12-02-power-bank-recall/</link> <pubDate>Tue, 02 Dec 2025 19:45:01 -0800</pubDate><author>yukais@pinapelz.com (Pinapelz)</author> - <guid>https://micro.pinapelz.moe/posts/2025-12-02-power-bank-recall/</guid> + <guid>https://micro.pinapelz.com/posts/2025-12-02-power-bank-recall/</guid> <description><p>It would seem that I, along with what seems like the entirety of <a href="https://www.reddit.com/r/amazonprime/comments/1pcq5ug/how_to_get_customer_support_for_recall_iniu/">Reddit</a> bought the same cheap 10000mAh power bank and now its getting recalled.</p>
<p>I wonder if it has anything to do with the poor quality they found in that viral <a href="https://www.lumafield.com/first-article/posts/whats-hiding-inside-haribos-power-bank-and-headphones">Haribo Powerbank</a>. Not sure since I&rsquo;ve had this one for a long time. I guess I really got what I paid for, shame cause it really is super slim and works well.</p></description> </item> <item> <title>Hello World - Why This</title> - <link>https://micro.pinapelz.moe/posts/2025-12-01-hello-world/</link> + <link>https://micro.pinapelz.com/posts/2025-12-01-hello-world/</link> <pubDate>Mon, 01 Dec 2025 20:11:57 -0800</pubDate><author>yukais@pinapelz.com (Pinapelz)</author> - <guid>https://micro.pinapelz.moe/posts/2025-12-01-hello-world/</guid> + <guid>https://micro.pinapelz.com/posts/2025-12-01-hello-world/</guid> <description><p>I think having control of your own data is great. The same is true for decentralized social media. I&rsquo;ve always been a primary user of microblog platforms (like Twitter/X). Having experienced both the traditional and &ldquo;decentralized&rdquo; approaches to microblogs, they both have some particular shortcoming in terms of what I want to get out of &ldquo;social media&rdquo;.</p>
<h2 id="twitterx">Twitter/X</h2>
<p>This is fairly self explanatory. The rebranding of Twitter to X and Musk&rsquo;s new ownership of the platform shifted the direction of the platform to be ever more political. X Premium boosting visibility is also something I wasn&rsquo;t a particular fan of. You can&rsquo;t view anything without signing in either, so goodbye viewing stuff anonymously. There&rsquo;s just a lot of &ldquo;features&rdquo; here I&rsquo;m not a fan of. Needless to say, there&rsquo;s a lot of reasons to not post stuff there.</p></description> </item> </channel> diff --git a/micro.pinapelz.moe/categories/games/index.html b/micro.pinapelz.com/categories/games/index.html index 4bf24d1..4b0578c 100644 --- a/micro.pinapelz.moe/categories/games/index.html +++ b/micro.pinapelz.com/categories/games/index.html @@ -5,7 +5,7 @@ <meta name="viewport" content="width=device-width, initial-scale=1"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <style type=text/css>body{font-family:monospace;}</style> - <title>Games | micro.pinapelz.moe</title> + <title>Games | micro.pinapelz.com</title> <meta name="author" content="map[avatar:https://files.catbox.moe/5r1pue.jpg banner:https://files.pinapelz.com/pso2ngs-2232-collab.png bio:yo! and he's more than a cover he's a quilt<br/> General arcade rhythm game enjoyer (SDVX, IIDX, CHUNITHM)<br/> @@ -14,7 +14,7 @@ Arch Linux + Hyprland user (btw)<br/> Hi from the <a href="https://indieweb.org/">indieweb</a>, if you are seeing me bridged elsewhere! email:yukais@pinapelz.com name:Pinapelz]"> <link rel="stylesheet" href="/css/style.css"> - <link rel="alternate" type="application/rss+xml" href="/categories/games/index.xml" title="micro.pinapelz.moe"> + <link rel="alternate" type="application/rss+xml" href="/categories/games/index.xml" title="micro.pinapelz.com"> <link rel="me" href="https://github.com/pinapelz" /> @@ -29,7 +29,7 @@ rel="token_endpoint" href="https://tokens.indieauth.com/token" /> - <link rel="webmention" href="https://webmention.io/micro.pinapelz.moe/webmention" /> + <link rel="webmention" href="https://webmention.io/micro.pinapelz.com/webmention" /> @@ -39,7 +39,7 @@ <div style="display:flex;flex-flow:row wrap;justify-content:space-between"> <div style="align-self:flex-start;"> ==============<br> - == <a href="https://micro.pinapelz.moe/">Pinapelz</a> ==<br> + == <a href="https://micro.pinapelz.com/">Pinapelz</a> ==<br> ============== </div> <div style="align-self:center;">check it out. I'm in the house like carpet</div> @@ -63,7 +63,7 @@ <div> <h1> Games - <a href="https://micro.pinapelz.moe/categories/games/index.xml"> + <a href="https://micro.pinapelz.com/categories/games/index.xml"> <img style="height:1.5rem; display: inline;" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-label='RSS' role='img' viewBox='0 0 512 512'%3E%3Cpath d='M0 0h512v512H0' fill='%23f80'/%3E%3Cpath d='M109 271A132 133 0 0 1 241 403h60A192 193 0 0 0 109 211v-54A246 247 0 0 1 355 403h60A306 307 0 0 0 109 97m35 235a35 35 0 1 0 2 0' fill='%23fff'/%3E%3C/svg%3E" alt="RSS icon" /> </a> </h1> @@ -126,7 +126,7 @@ <p style="text-align: center" class="copyright"> - © <a href="https://micro.pinapelz.moe/"><b>micro.pinapelz.moe</b></a>. + © <a href="https://micro.pinapelz.com/"><b>micro.pinapelz.com</b></a>. </p> </footer> diff --git a/micro.pinapelz.moe/categories/games/index.xml b/micro.pinapelz.com/categories/games/index.xml index 7b641ea..389bb37 100644 --- a/micro.pinapelz.moe/categories/games/index.xml +++ b/micro.pinapelz.com/categories/games/index.xml @@ -1,49 +1,49 @@ <?xml version="1.0" encoding="utf-8" standalone="yes"?> <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"> <channel> - <title>Games on micro.pinapelz.moe</title> - <link>https://micro.pinapelz.moe/categories/games/</link> - <description>Recent content in Games on micro.pinapelz.moe</description> + <title>Games on micro.pinapelz.com</title> + <link>https://micro.pinapelz.com/categories/games/</link> + <description>Recent content in Games on micro.pinapelz.com</description> <generator>Hugo</generator> <language>en-us</language> <managingEditor>yukais@pinapelz.com (Pinapelz)</managingEditor> <webMaster>yukais@pinapelz.com (Pinapelz)</webMaster> <lastBuildDate>Sun, 26 Apr 2026 18:20:09 -0700</lastBuildDate> - <atom:link href="https://micro.pinapelz.moe/categories/games/index.xml" rel="self" type="application/rss+xml" /> + <atom:link href="https://micro.pinapelz.com/categories/games/index.xml" rel="self" type="application/rss+xml" /> <item> <title>Playlog: April 2026 (No Sleep for Kaname Date, Xenoblade 1 DE, Catherine Full Body)</title> - <link>https://micro.pinapelz.moe/posts/2026-04-26-12-april-playlog/</link> + <link>https://micro.pinapelz.com/posts/2026-04-26-12-april-playlog/</link> <pubDate>Sun, 26 Apr 2026 18:20:09 -0700</pubDate><author>yukais@pinapelz.com (Pinapelz)</author> - <guid>https://micro.pinapelz.moe/posts/2026-04-26-12-april-playlog/</guid> + <guid>https://micro.pinapelz.com/posts/2026-04-26-12-april-playlog/</guid> <description><p>I&rsquo;ve gotten quite good at actually making progress on my backlog. Turns out the answer was to just uninstall all social media and get rid of doom scrolling. I invested in a rudimentary capture card as well so that I can have my Switch games show up as an application on my PC rather than having to swap display inputs (which makes it easy to get up and running for a quick session).</p></description> </item> <item> <title>Playlog: Hundred Lines Last Defense Academy</title> - <link>https://micro.pinapelz.moe/posts/2026-03-17-11-hundred-lines-last-defense-playlog/</link> + <link>https://micro.pinapelz.com/posts/2026-03-17-11-hundred-lines-last-defense-playlog/</link> <pubDate>Tue, 17 Mar 2026 17:19:03 -0700</pubDate><author>yukais@pinapelz.com (Pinapelz)</author> - <guid>https://micro.pinapelz.moe/posts/2026-03-17-11-hundred-lines-last-defense-playlog/</guid> - <description><p>After about a year of playing on and off, I&rsquo;ve finally finished all 100 (and 1, counting the first one). In total it took roughly 105 hours or so.
<figure><img src="https://micro.pinapelz.moe/posts/2026-03-17-11-hundred-lines-last-defense-playlog/playtime.png"
 alt="105 hours or more played">
</figure>
</p>
<h2 id="core-mechanics">Core Mechanics</h2>
<ul>
<li>This is basically a visual novel, there&rsquo;s very little fun to be had if you are a &ldquo;cutscene skipper&rdquo;. If you enjoyed Kodaka&rsquo;s other works like Danganronpa then you&rsquo;ll be right at home.</li>
<li>There&rsquo;s a bunch of smaller &ldquo;minigames&rdquo; but are mostly a one-off thing, they feel mostly like an afterthought (+25)</li>
</ul>
<h2 id="structure">Structure</h2>
<ul>
<li>There&rsquo;s 2 main parts of the game, the battling and the story itself</li>
<li>The battling itself has a decent amount of strategy to it, and you can in fact easily lose if you&rsquo;re not careful for some of them</li>
<li>In my opinion though given how little variety there is it kinda gets old fast, luckily the 2nd half of the game lets you skip battles you&rsquo;ve already done</li>
<li>As far as the story goes, its standard visual novel stuff but with a Kodaka twist. Each ending belongs to a particular &ldquo;route&rdquo; which is centered around a particular storyline, each one is also explicitly named in the game&rsquo;s flowchart. (+20)</li>
</ul>
<h2 id="content">Content</h2>
<ul>
<li>The story itself is quite good, but not all the routes are really worth doing if you just want what I consider to be the &ldquo;core&rdquo; of the plot. Some of them basically lead to nothing and are there just for fun.</li>
<li>Everyone has to play through <code>Last Defense Academy 1</code> which basically acts as a very long prologue for the actual game</li>
<li><strong>Not Necessary:</strong> Serial Battles Route (PLEASE skip this one, the game forces you to play unskippable battles and it forshadows literately the tiniest thing), Box of Blessings, Conspiracy (does nothing but is very quick to do), Romance, Comedy, V’ehxness Route (mainly character building), Reset Route</li>
<li>I would recommend playing through the prologue, then explicitly following a guide for the <code>Last Defense Academy 2nd Scenario</code>, then if you still want more start the S.F Route and follow a guide to unlock the pre-requisite routes while you progress through that. Everything else is largely optional IMO and is just for world-building. (12)</li>
</ul>
<h2 id="technical-execution">Technical Execution</h2>
<p>Its fine overall. You can def. tell they didn&rsquo;t have as big of a budget as Danganronpa to work with. There were some issues with leaving the game in suspense for too long on Switch but no major performance issues (+15)</p></description> + <guid>https://micro.pinapelz.com/posts/2026-03-17-11-hundred-lines-last-defense-playlog/</guid> + <description><p>After about a year of playing on and off, I&rsquo;ve finally finished all 100 (and 1, counting the first one). In total it took roughly 105 hours or so.
<figure><img src="https://micro.pinapelz.com/posts/2026-03-17-11-hundred-lines-last-defense-playlog/playtime.png"
 alt="105 hours or more played">
</figure>
</p>
<h2 id="core-mechanics">Core Mechanics</h2>
<ul>
<li>This is basically a visual novel, there&rsquo;s very little fun to be had if you are a &ldquo;cutscene skipper&rdquo;. If you enjoyed Kodaka&rsquo;s other works like Danganronpa then you&rsquo;ll be right at home.</li>
<li>There&rsquo;s a bunch of smaller &ldquo;minigames&rdquo; but are mostly a one-off thing, they feel mostly like an afterthought (+25)</li>
</ul>
<h2 id="structure">Structure</h2>
<ul>
<li>There&rsquo;s 2 main parts of the game, the battling and the story itself</li>
<li>The battling itself has a decent amount of strategy to it, and you can in fact easily lose if you&rsquo;re not careful for some of them</li>
<li>In my opinion though given how little variety there is it kinda gets old fast, luckily the 2nd half of the game lets you skip battles you&rsquo;ve already done</li>
<li>As far as the story goes, its standard visual novel stuff but with a Kodaka twist. Each ending belongs to a particular &ldquo;route&rdquo; which is centered around a particular storyline, each one is also explicitly named in the game&rsquo;s flowchart. (+20)</li>
</ul>
<h2 id="content">Content</h2>
<ul>
<li>The story itself is quite good, but not all the routes are really worth doing if you just want what I consider to be the &ldquo;core&rdquo; of the plot. Some of them basically lead to nothing and are there just for fun.</li>
<li>Everyone has to play through <code>Last Defense Academy 1</code> which basically acts as a very long prologue for the actual game</li>
<li><strong>Not Necessary:</strong> Serial Battles Route (PLEASE skip this one, the game forces you to play unskippable battles and it forshadows literately the tiniest thing), Box of Blessings, Conspiracy (does nothing but is very quick to do), Romance, Comedy, V’ehxness Route (mainly character building), Reset Route</li>
<li>I would recommend playing through the prologue, then explicitly following a guide for the <code>Last Defense Academy 2nd Scenario</code>, then if you still want more start the S.F Route and follow a guide to unlock the pre-requisite routes while you progress through that. Everything else is largely optional IMO and is just for world-building. (12)</li>
</ul>
<h2 id="technical-execution">Technical Execution</h2>
<p>Its fine overall. You can def. tell they didn&rsquo;t have as big of a budget as Danganronpa to work with. There were some issues with leaving the game in suspense for too long on Switch but no major performance issues (+15)</p></description> </item> <item> <title>Playlog: FFXIV Dawntrail Patch 7.4 Thoughts (spoilers)</title> - <link>https://micro.pinapelz.moe/posts/2025-12-19-08-ffxiv-patch-7-4/</link> + <link>https://micro.pinapelz.com/posts/2025-12-19-08-ffxiv-patch-7-4/</link> <pubDate>Fri, 19 Dec 2025 22:15:50 -0800</pubDate><author>yukais@pinapelz.com (Pinapelz)</author> - <guid>https://micro.pinapelz.moe/posts/2025-12-19-08-ffxiv-patch-7-4/</guid> - <description><p><em>This is primarily focused on the content of the patch, not so much the features they&rsquo;ve added.</em></p>
<h1 id="story">Story</h1>
<ul>
<li>Mistwake Dungeon was a good difficulty. Although I&rsquo;m not a fan of the electricity star AOEs, very hard to read for no apparent reason. Please just stick with the old one.</li>
<li>Cutscene quality def. got better. As in animations and uniqueness.</li>
<li>Love the look and feel (Treno). There&rsquo;s a ton of good spots for &ldquo;gpose-ing&rdquo;. Music is nice too.</li>
<li>Seriously Krile? You parents were the ones who dropped you into the Source. I don&rsquo;t think they&rsquo;d care if you wanted to stay in the Source (just make up your mind) -&gt; well glad that got sorted out</li>
<li>&ldquo;Hell on Rails&rdquo; Trial (Doomtrain) is very nicely designed. Its got some nice unique mechanics, the &ldquo;sucking&rdquo; mechanic definetly trips you up the first time because the distance to move back + timing has been tuned so that you need to pre-position for it.</li>
<li>The transition from inside the engine to outside was really cool!!! This is probably one of my top normal trials now.</li>
<li>The instance battle was well done too. The roleplaying part was on point, and when it was finally time to fight a real boss you get to play as yourelf (I think this is the best flow). Love the idea using the spriggan to avoid Behemoth&rsquo;s meteor.</li>
<li>Cool so we just get to keep the key. If this were any bit realistic, we&rsquo;ve surely learned that no one this powerful should be allowed to keep the key on themsleves 24/7. Because surely the WoL being the most powerful being will never run rogue with a interdimensional travel capable tool. Then again, seeing how stuff gets stolen all the time in the story&hellip; Well I guess it can go either way.</li>
<li>I&rsquo;m guessing this key is gonna be how the writers justify being able to travel to new worlds for post-Zodiark/Hydaelyn story. Its fine I guess, but a little disappointing it isn&rsquo;t something more unique.</li>
<li>And what do you know. Ascians. I hope we get something unqiue for 8.0&hellip; I guess thats fine but please lets not have it just be SHB all over again.</li>
</ul>
<h1 id="raid">Raid</h1>
<ul>
<li>&ldquo;Feral Fandom&rdquo; -&gt; Yep thats FF14 NA playerbase for you.</li>
<li>Heavyweight 1 (Vamp Fatale) Raid was cool and unique, but a bit too flashy imo. That Half Moon is needlessly large, wish we&rsquo;d stop with mechanics that are designed to trick people even when read correctly.</li>
<li>Heavyweight 2 (Xtremes) I take it back, this is the one with the blinding effects MY EYES. Fire and water one after another. This is a pretty hard normal fight actually (the first time you run it blind). Really punishing for bad AOE placement positions since you can effectively be cut off from the team.</li>
<li>Holy wow these cutscenes are in serious need of voice acting. Its a good story but so dry and awkward without it.</li>
<li>Heavyweight 3 (Tyrant). Really? Behemoth again, double dipping from the instance battle. There&rsquo;s so many other cool FF monsters. I like the arena, it fits the guy well, all about history of the Arcadion/tradition. Fight is underwhelming and too easy imo, apart from 1 single trick mechanic that can cause a wipe&hellip;</li>
<li>Heavyweight 4 (Lindwurm). EVERYTHING BURNS. This fight was honestly too easy, zero deaths everything can be read. 2nd phase was underhelming.</li>
<li>Overall the story here while not as in depth and relevant to the story as Endwalker raids, still had a nice little twist at the end I def did not expect. Enjoyed it!</li>
</ul>
<h1 id="misc">Misc</h1>
<ul>
<li>The new Frontline map is &ldquo;dangerous&rdquo;. Overall the new capturing point system is far better than a non-interruptable interact like in Onsal Hakir. The snowman and aurora events are also good, and I think they come in right when they&rsquo;re needed too (to spice things up/allow for a turning point).</li>
<li>The map design however is far too complex, all these bridges and everywhere and invisible walls. It does add a lot of chokepoints but also makes it difficult to navigate from point A -&gt; B (but partially I guess this is done cause the map does feel smaller than Onsal).</li>
</ul>


<a href="https://micro.pinapelz.moe//tags/ffxiv" class="p-category">#ffxiv</a></description> + <guid>https://micro.pinapelz.com/posts/2025-12-19-08-ffxiv-patch-7-4/</guid> + <description><p><em>This is primarily focused on the content of the patch, not so much the features they&rsquo;ve added.</em></p>
<h1 id="story">Story</h1>
<ul>
<li>Mistwake Dungeon was a good difficulty. Although I&rsquo;m not a fan of the electricity star AOEs, very hard to read for no apparent reason. Please just stick with the old one.</li>
<li>Cutscene quality def. got better. As in animations and uniqueness.</li>
<li>Love the look and feel (Treno). There&rsquo;s a ton of good spots for &ldquo;gpose-ing&rdquo;. Music is nice too.</li>
<li>Seriously Krile? You parents were the ones who dropped you into the Source. I don&rsquo;t think they&rsquo;d care if you wanted to stay in the Source (just make up your mind) -&gt; well glad that got sorted out</li>
<li>&ldquo;Hell on Rails&rdquo; Trial (Doomtrain) is very nicely designed. Its got some nice unique mechanics, the &ldquo;sucking&rdquo; mechanic definetly trips you up the first time because the distance to move back + timing has been tuned so that you need to pre-position for it.</li>
<li>The transition from inside the engine to outside was really cool!!! This is probably one of my top normal trials now.</li>
<li>The instance battle was well done too. The roleplaying part was on point, and when it was finally time to fight a real boss you get to play as yourelf (I think this is the best flow). Love the idea using the spriggan to avoid Behemoth&rsquo;s meteor.</li>
<li>Cool so we just get to keep the key. If this were any bit realistic, we&rsquo;ve surely learned that no one this powerful should be allowed to keep the key on themsleves 24/7. Because surely the WoL being the most powerful being will never run rogue with a interdimensional travel capable tool. Then again, seeing how stuff gets stolen all the time in the story&hellip; Well I guess it can go either way.</li>
<li>I&rsquo;m guessing this key is gonna be how the writers justify being able to travel to new worlds for post-Zodiark/Hydaelyn story. Its fine I guess, but a little disappointing it isn&rsquo;t something more unique.</li>
<li>And what do you know. Ascians. I hope we get something unqiue for 8.0&hellip; I guess thats fine but please lets not have it just be SHB all over again.</li>
</ul>
<h1 id="raid">Raid</h1>
<ul>
<li>&ldquo;Feral Fandom&rdquo; -&gt; Yep thats FF14 NA playerbase for you.</li>
<li>Heavyweight 1 (Vamp Fatale) Raid was cool and unique, but a bit too flashy imo. That Half Moon is needlessly large, wish we&rsquo;d stop with mechanics that are designed to trick people even when read correctly.</li>
<li>Heavyweight 2 (Xtremes) I take it back, this is the one with the blinding effects MY EYES. Fire and water one after another. This is a pretty hard normal fight actually (the first time you run it blind). Really punishing for bad AOE placement positions since you can effectively be cut off from the team.</li>
<li>Holy wow these cutscenes are in serious need of voice acting. Its a good story but so dry and awkward without it.</li>
<li>Heavyweight 3 (Tyrant). Really? Behemoth again, double dipping from the instance battle. There&rsquo;s so many other cool FF monsters. I like the arena, it fits the guy well, all about history of the Arcadion/tradition. Fight is underwhelming and too easy imo, apart from 1 single trick mechanic that can cause a wipe&hellip;</li>
<li>Heavyweight 4 (Lindwurm). EVERYTHING BURNS. This fight was honestly too easy, zero deaths everything can be read. 2nd phase was underhelming.</li>
<li>Overall the story here while not as in depth and relevant to the story as Endwalker raids, still had a nice little twist at the end I def did not expect. Enjoyed it!</li>
</ul>
<h1 id="misc">Misc</h1>
<ul>
<li>The new Frontline map is &ldquo;dangerous&rdquo;. Overall the new capturing point system is far better than a non-interruptable interact like in Onsal Hakir. The snowman and aurora events are also good, and I think they come in right when they&rsquo;re needed too (to spice things up/allow for a turning point).</li>
<li>The map design however is far too complex, all these bridges and everywhere and invisible walls. It does add a lot of chokepoints but also makes it difficult to navigate from point A -&gt; B (but partially I guess this is done cause the map does feel smaller than Onsal).</li>
</ul>


<a href="https://micro.pinapelz.com//tags/ffxiv" class="p-category">#ffxiv</a></description> </item> <item> <title>Arcade Monsters</title> - <link>https://micro.pinapelz.moe/posts/2025-12-18-07-arcade-monsters-sd/</link> + <link>https://micro.pinapelz.com/posts/2025-12-18-07-arcade-monsters-sd/</link> <pubDate>Thu, 18 Dec 2025 21:38:23 -0800</pubDate><author>yukais@pinapelz.com (Pinapelz)</author> - <guid>https://micro.pinapelz.moe/posts/2025-12-18-07-arcade-monsters-sd/</guid> + <guid>https://micro.pinapelz.com/posts/2025-12-18-07-arcade-monsters-sd/</guid> <description><p>If you live in Socal and are also into arcade gaming (both retro and modern), one of the great weekend day-trips I&rsquo;ve found is taking the Pacific Surfliner train down to San Diego.</p>
<h1 id="getting-there">Getting There</h1>
<p>There are a number of departures in the morning, and while not as fast as a car when there&rsquo;s no traffic, you can save your energy and do other stuff on the train. The timetable also works nicely since you can pretty much get there around opening if you want to beat the crowds.</p></description> </item> <item> <title>First MXM 18 Cleared!</title> - <link>https://micro.pinapelz.moe/posts/2025-12-06-first-sdvx-18/</link> + <link>https://micro.pinapelz.com/posts/2025-12-06-first-sdvx-18/</link> <pubDate>Sat, 06 Dec 2025 22:33:23 -0800</pubDate><author>yukais@pinapelz.com (Pinapelz)</author> - <guid>https://micro.pinapelz.moe/posts/2025-12-06-first-sdvx-18/</guid> - <description><p>Cleared my first 18 difficulty chart in 

<a href="https://micro.pinapelz.moe//tags/sdvx" class="p-category">#sdvx</a>
</p>
<p>Albeit its not a very difficult one, but I think I&rsquo;m finally starting to chip away at the 17-18 difficulty wall.
<figure><img src="https://micro.pinapelz.moe/posts/2025-12-06-first-sdvx-18/18.webp"
 alt="Sound Voltex Enchant 6 Clear" width="500">
</figure>
</p></description> + <guid>https://micro.pinapelz.com/posts/2025-12-06-first-sdvx-18/</guid> + <description><p>Cleared my first 18 difficulty chart in 

<a href="https://micro.pinapelz.com//tags/sdvx" class="p-category">#sdvx</a>
</p>
<p>Albeit its not a very difficult one, but I think I&rsquo;m finally starting to chip away at the 17-18 difficulty wall.
<figure><img src="https://micro.pinapelz.com/posts/2025-12-06-first-sdvx-18/18.webp"
 alt="Sound Voltex Enchant 6 Clear" width="500">
</figure>
</p></description> </item> </channel> </rss> diff --git a/micro.pinapelz.moe/categories/index.html b/micro.pinapelz.com/categories/index.html index b44b7a8..9e0ad57 100644 --- a/micro.pinapelz.moe/categories/index.html +++ b/micro.pinapelz.com/categories/index.html @@ -5,7 +5,7 @@ <meta name="viewport" content="width=device-width, initial-scale=1"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <style type=text/css>body{font-family:monospace;}</style> - <title>Categories | micro.pinapelz.moe</title> + <title>Categories | micro.pinapelz.com</title> <meta name="author" content="map[avatar:https://files.catbox.moe/5r1pue.jpg banner:https://files.pinapelz.com/pso2ngs-2232-collab.png bio:yo! and he's more than a cover he's a quilt<br/> General arcade rhythm game enjoyer (SDVX, IIDX, CHUNITHM)<br/> @@ -14,7 +14,7 @@ Arch Linux + Hyprland user (btw)<br/> Hi from the <a href="https://indieweb.org/">indieweb</a>, if you are seeing me bridged elsewhere! email:yukais@pinapelz.com name:Pinapelz]"> <link rel="stylesheet" href="/css/style.css"> - <link rel="alternate" type="application/rss+xml" href="/categories/index.xml" title="micro.pinapelz.moe"> + <link rel="alternate" type="application/rss+xml" href="/categories/index.xml" title="micro.pinapelz.com"> <link rel="me" href="https://github.com/pinapelz" /> @@ -29,7 +29,7 @@ rel="token_endpoint" href="https://tokens.indieauth.com/token" /> - <link rel="webmention" href="https://webmention.io/micro.pinapelz.moe/webmention" /> + <link rel="webmention" href="https://webmention.io/micro.pinapelz.com/webmention" /> @@ -39,7 +39,7 @@ <div style="display:flex;flex-flow:row wrap;justify-content:space-between"> <div style="align-self:flex-start;"> ==============<br> - == <a href="https://micro.pinapelz.moe/">Pinapelz</a> ==<br> + == <a href="https://micro.pinapelz.com/">Pinapelz</a> ==<br> ============== </div> <div style="align-self:center;">check it out. I'm in the house like carpet</div> @@ -63,7 +63,7 @@ <div> <h1> Categories - <a href="https://micro.pinapelz.moe/categories/index.xml"> + <a href="https://micro.pinapelz.com/categories/index.xml"> <img style="height:1.5rem; display: inline;" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-label='RSS' role='img' viewBox='0 0 512 512'%3E%3Cpath d='M0 0h512v512H0' fill='%23f80'/%3E%3Cpath d='M109 271A132 133 0 0 1 241 403h60A192 193 0 0 0 109 211v-54A246 247 0 0 1 355 403h60A306 307 0 0 0 109 97m35 235a35 35 0 1 0 2 0' fill='%23fff'/%3E%3C/svg%3E" alt="RSS icon" /> </a> </h1> @@ -93,7 +93,7 @@ <p style="text-align: center" class="copyright"> - © <a href="https://micro.pinapelz.moe/"><b>micro.pinapelz.moe</b></a>. + © <a href="https://micro.pinapelz.com/"><b>micro.pinapelz.com</b></a>. </p> </footer> diff --git a/micro.pinapelz.moe/categories/index.xml b/micro.pinapelz.com/categories/index.xml index a03a527..c5f4043 100644 --- a/micro.pinapelz.moe/categories/index.xml +++ b/micro.pinapelz.com/categories/index.xml @@ -1,41 +1,41 @@ <?xml version="1.0" encoding="utf-8" standalone="yes"?> <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"> <channel> - <title>Categories on micro.pinapelz.moe</title> - <link>https://micro.pinapelz.moe/categories/</link> - <description>Recent content in Categories on micro.pinapelz.moe</description> + <title>Categories on micro.pinapelz.com</title> + <link>https://micro.pinapelz.com/categories/</link> + <description>Recent content in Categories on micro.pinapelz.com</description> <generator>Hugo</generator> <language>en-us</language> <managingEditor>yukais@pinapelz.com (Pinapelz)</managingEditor> <webMaster>yukais@pinapelz.com (Pinapelz)</webMaster> <lastBuildDate>Sun, 03 May 2026 03:16:09 -0700</lastBuildDate> - <atom:link href="https://micro.pinapelz.moe/categories/index.xml" rel="self" type="application/rss+xml" /> + <atom:link href="https://micro.pinapelz.com/categories/index.xml" rel="self" type="application/rss+xml" /> <item> <title>Default</title> - <link>https://micro.pinapelz.moe/categories/default/</link> + <link>https://micro.pinapelz.com/categories/default/</link> <pubDate>Sun, 03 May 2026 03:16:09 -0700</pubDate><author>yukais@pinapelz.com (Pinapelz)</author> - <guid>https://micro.pinapelz.moe/categories/default/</guid> + <guid>https://micro.pinapelz.com/categories/default/</guid> <description></description> </item> <item> <title>Games</title> - <link>https://micro.pinapelz.moe/categories/games/</link> + <link>https://micro.pinapelz.com/categories/games/</link> <pubDate>Sun, 26 Apr 2026 18:20:09 -0700</pubDate><author>yukais@pinapelz.com (Pinapelz)</author> - <guid>https://micro.pinapelz.moe/categories/games/</guid> + <guid>https://micro.pinapelz.com/categories/games/</guid> <description></description> </item> <item> <title>Tools</title> - <link>https://micro.pinapelz.moe/categories/tools/</link> + <link>https://micro.pinapelz.com/categories/tools/</link> <pubDate>Thu, 04 Dec 2025 23:19:29 -0800</pubDate><author>yukais@pinapelz.com (Pinapelz)</author> - <guid>https://micro.pinapelz.moe/categories/tools/</guid> + <guid>https://micro.pinapelz.com/categories/tools/</guid> <description></description> </item> <item> <title>Life</title> - <link>https://micro.pinapelz.moe/categories/life/</link> + <link>https://micro.pinapelz.com/categories/life/</link> <pubDate>Tue, 02 Dec 2025 00:22:32 -0800</pubDate><author>yukais@pinapelz.com (Pinapelz)</author> - <guid>https://micro.pinapelz.moe/categories/life/</guid> + <guid>https://micro.pinapelz.com/categories/life/</guid> <description></description> </item> </channel> diff --git a/micro.pinapelz.moe/categories/life/index.html b/micro.pinapelz.com/categories/life/index.html index 774fe28..f4dd09b 100644 --- a/micro.pinapelz.moe/categories/life/index.html +++ b/micro.pinapelz.com/categories/life/index.html @@ -5,7 +5,7 @@ <meta name="viewport" content="width=device-width, initial-scale=1"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <style type=text/css>body{font-family:monospace;}</style> - <title>Life | micro.pinapelz.moe</title> + <title>Life | micro.pinapelz.com</title> <meta name="author" content="map[avatar:https://files.catbox.moe/5r1pue.jpg banner:https://files.pinapelz.com/pso2ngs-2232-collab.png bio:yo! and he's more than a cover he's a quilt<br/> General arcade rhythm game enjoyer (SDVX, IIDX, CHUNITHM)<br/> @@ -14,7 +14,7 @@ Arch Linux + Hyprland user (btw)<br/> Hi from the <a href="https://indieweb.org/">indieweb</a>, if you are seeing me bridged elsewhere! email:yukais@pinapelz.com name:Pinapelz]"> <link rel="stylesheet" href="/css/style.css"> - <link rel="alternate" type="application/rss+xml" href="/categories/life/index.xml" title="micro.pinapelz.moe"> + <link rel="alternate" type="application/rss+xml" href="/categories/life/index.xml" title="micro.pinapelz.com"> <link rel="me" href="https://github.com/pinapelz" /> @@ -29,7 +29,7 @@ rel="token_endpoint" href="https://tokens.indieauth.com/token" /> - <link rel="webmention" href="https://webmention.io/micro.pinapelz.moe/webmention" /> + <link rel="webmention" href="https://webmention.io/micro.pinapelz.com/webmention" /> @@ -39,7 +39,7 @@ <div style="display:flex;flex-flow:row wrap;justify-content:space-between"> <div style="align-self:flex-start;"> ==============<br> - == <a href="https://micro.pinapelz.moe/">Pinapelz</a> ==<br> + == <a href="https://micro.pinapelz.com/">Pinapelz</a> ==<br> ============== </div> <div style="align-self:center;">check it out. I'm in the house like carpet</div> @@ -63,7 +63,7 @@ <div> <h1> Life - <a href="https://micro.pinapelz.moe/categories/life/index.xml"> + <a href="https://micro.pinapelz.com/categories/life/index.xml"> <img style="height:1.5rem; display: inline;" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-label='RSS' role='img' viewBox='0 0 512 512'%3E%3Cpath d='M0 0h512v512H0' fill='%23f80'/%3E%3Cpath d='M109 271A132 133 0 0 1 241 403h60A192 193 0 0 0 109 211v-54A246 247 0 0 1 355 403h60A306 307 0 0 0 109 97m35 235a35 35 0 1 0 2 0' fill='%23fff'/%3E%3C/svg%3E" alt="RSS icon" /> </a> </h1> @@ -98,7 +98,7 @@ <p style="text-align: center" class="copyright"> - © <a href="https://micro.pinapelz.moe/"><b>micro.pinapelz.moe</b></a>. + © <a href="https://micro.pinapelz.com/"><b>micro.pinapelz.com</b></a>. </p> </footer> diff --git a/micro.pinapelz.moe/categories/life/index.xml b/micro.pinapelz.com/categories/life/index.xml index c7e231b..22d554e 100644 --- a/micro.pinapelz.moe/categories/life/index.xml +++ b/micro.pinapelz.com/categories/life/index.xml @@ -1,21 +1,21 @@ <?xml version="1.0" encoding="utf-8" standalone="yes"?> <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"> <channel> - <title>Life on micro.pinapelz.moe</title> - <link>https://micro.pinapelz.moe/categories/life/</link> - <description>Recent content in Life on micro.pinapelz.moe</description> + <title>Life on micro.pinapelz.com</title> + <link>https://micro.pinapelz.com/categories/life/</link> + <description>Recent content in Life on micro.pinapelz.com</description> <generator>Hugo</generator> <language>en-us</language> <managingEditor>yukais@pinapelz.com (Pinapelz)</managingEditor> <webMaster>yukais@pinapelz.com (Pinapelz)</webMaster> <lastBuildDate>Tue, 02 Dec 2025 00:22:32 -0800</lastBuildDate> - <atom:link href="https://micro.pinapelz.moe/categories/life/index.xml" rel="self" type="application/rss+xml" /> + <atom:link href="https://micro.pinapelz.com/categories/life/index.xml" rel="self" type="application/rss+xml" /> <item> <title>China Town Fair</title> - <link>https://micro.pinapelz.moe/posts/2025-12-02-china-town-fair/</link> + <link>https://micro.pinapelz.com/posts/2025-12-02-china-town-fair/</link> <pubDate>Tue, 02 Dec 2025 00:22:32 -0800</pubDate><author>yukais@pinapelz.com (Pinapelz)</author> - <guid>https://micro.pinapelz.moe/posts/2025-12-02-china-town-fair/</guid> - <description><p>Visited New York during the Thanksgiving break and had a chance to stopped by one of the most legendary landmarks North American arcade gaming history.</p>
<figure><img src="https://micro.pinapelz.moe/posts/2025-12-02-china-town-fair/outside-ctf.webp"
 alt="China Town Fair Outside">
</figure>

<p>Also yep you&rsquo;re reading that right, it indeed once home to a <a href="https://davidpotorti.substack.com/p/the-dancing-chicken">dancing chicken as well as one that played tic tac toe</a>.</p>
<p>But apart from just being an old arcade, it was also home to one of the largest competitive arcade game fighting scene (Marvel vs Capcom, Street Fighter, etc.). Many of NAs top players frequented this arcade. However, as we all already know video arcades began to die down during the early 2000s and China Town Fair was no exception having closed in 2011.</p></description> + <guid>https://micro.pinapelz.com/posts/2025-12-02-china-town-fair/</guid> + <description><p>Visited New York during the Thanksgiving break and had a chance to stopped by one of the most legendary landmarks North American arcade gaming history.</p>
<figure><img src="https://micro.pinapelz.com/posts/2025-12-02-china-town-fair/outside-ctf.webp"
 alt="China Town Fair Outside">
</figure>

<p>Also yep you&rsquo;re reading that right, it indeed once home to a <a href="https://davidpotorti.substack.com/p/the-dancing-chicken">dancing chicken as well as one that played tic tac toe</a>.</p>
<p>But apart from just being an old arcade, it was also home to one of the largest competitive arcade game fighting scene (Marvel vs Capcom, Street Fighter, etc.). Many of NAs top players frequented this arcade. However, as we all already know video arcades began to die down during the early 2000s and China Town Fair was no exception having closed in 2011.</p></description> </item> </channel> </rss> diff --git a/micro.pinapelz.moe/categories/tools/index.html b/micro.pinapelz.com/categories/tools/index.html index b3d0968..6129986 100644 --- a/micro.pinapelz.moe/categories/tools/index.html +++ b/micro.pinapelz.com/categories/tools/index.html @@ -5,7 +5,7 @@ <meta name="viewport" content="width=device-width, initial-scale=1"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <style type=text/css>body{font-family:monospace;}</style> - <title>Tools | micro.pinapelz.moe</title> + <title>Tools | micro.pinapelz.com</title> <meta name="author" content="map[avatar:https://files.catbox.moe/5r1pue.jpg banner:https://files.pinapelz.com/pso2ngs-2232-collab.png bio:yo! and he's more than a cover he's a quilt<br/> General arcade rhythm game enjoyer (SDVX, IIDX, CHUNITHM)<br/> @@ -14,7 +14,7 @@ Arch Linux + Hyprland user (btw)<br/> Hi from the <a href="https://indieweb.org/">indieweb</a>, if you are seeing me bridged elsewhere! email:yukais@pinapelz.com name:Pinapelz]"> <link rel="stylesheet" href="/css/style.css"> - <link rel="alternate" type="application/rss+xml" href="/categories/tools/index.xml" title="micro.pinapelz.moe"> + <link rel="alternate" type="application/rss+xml" href="/categories/tools/index.xml" title="micro.pinapelz.com"> <link rel="me" href="https://github.com/pinapelz" /> @@ -29,7 +29,7 @@ rel="token_endpoint" href="https://tokens.indieauth.com/token" /> - <link rel="webmention" href="https://webmention.io/micro.pinapelz.moe/webmention" /> + <link rel="webmention" href="https://webmention.io/micro.pinapelz.com/webmention" /> @@ -39,7 +39,7 @@ <div style="display:flex;flex-flow:row wrap;justify-content:space-between"> <div style="align-self:flex-start;"> ==============<br> - == <a href="https://micro.pinapelz.moe/">Pinapelz</a> ==<br> + == <a href="https://micro.pinapelz.com/">Pinapelz</a> ==<br> ============== </div> <div style="align-self:center;">check it out. I'm in the house like carpet</div> @@ -63,7 +63,7 @@ <div> <h1> Tools - <a href="https://micro.pinapelz.moe/categories/tools/index.xml"> + <a href="https://micro.pinapelz.com/categories/tools/index.xml"> <img style="height:1.5rem; display: inline;" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-label='RSS' role='img' viewBox='0 0 512 512'%3E%3Cpath d='M0 0h512v512H0' fill='%23f80'/%3E%3Cpath d='M109 271A132 133 0 0 1 241 403h60A192 193 0 0 0 109 211v-54A246 247 0 0 1 355 403h60A306 307 0 0 0 109 97m35 235a35 35 0 1 0 2 0' fill='%23fff'/%3E%3C/svg%3E" alt="RSS icon" /> </a> </h1> @@ -98,7 +98,7 @@ <p style="text-align: center" class="copyright"> - © <a href="https://micro.pinapelz.moe/"><b>micro.pinapelz.moe</b></a>. + © <a href="https://micro.pinapelz.com/"><b>micro.pinapelz.com</b></a>. </p> </footer> diff --git a/micro.pinapelz.moe/categories/tools/index.xml b/micro.pinapelz.com/categories/tools/index.xml index f006057..2f3564d 100644 --- a/micro.pinapelz.moe/categories/tools/index.xml +++ b/micro.pinapelz.com/categories/tools/index.xml @@ -1,20 +1,20 @@ <?xml version="1.0" encoding="utf-8" standalone="yes"?> <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"> <channel> - <title>Tools on micro.pinapelz.moe</title> - <link>https://micro.pinapelz.moe/categories/tools/</link> - <description>Recent content in Tools on micro.pinapelz.moe</description> + <title>Tools on micro.pinapelz.com</title> + <link>https://micro.pinapelz.com/categories/tools/</link> + <description>Recent content in Tools on micro.pinapelz.com</description> <generator>Hugo</generator> <language>en-us</language> <managingEditor>yukais@pinapelz.com (Pinapelz)</managingEditor> <webMaster>yukais@pinapelz.com (Pinapelz)</webMaster> <lastBuildDate>Thu, 04 Dec 2025 23:19:29 -0800</lastBuildDate> - <atom:link href="https://micro.pinapelz.moe/categories/tools/index.xml" rel="self" type="application/rss+xml" /> + <atom:link href="https://micro.pinapelz.com/categories/tools/index.xml" rel="self" type="application/rss+xml" /> <item> <title>Enable HID Mode on Nintendo Pro Controller 2</title> - <link>https://micro.pinapelz.moe/posts/2025-12-04-procon2-hid-tool/</link> + <link>https://micro.pinapelz.com/posts/2025-12-04-procon2-hid-tool/</link> <pubDate>Thu, 04 Dec 2025 23:19:29 -0800</pubDate><author>yukais@pinapelz.com (Pinapelz)</author> - <guid>https://micro.pinapelz.moe/posts/2025-12-04-procon2-hid-tool/</guid> + <guid>https://micro.pinapelz.com/posts/2025-12-04-procon2-hid-tool/</guid> <description><p>Switch 2 Pro Controller is very comfy in my hands, but unfortunately it didn&rsquo;t work out of box on PC (Linux) for me like it&rsquo;s predacessor. Until there&rsquo;s actual better driver support for this thing in the kernel (or Valve does something), here&rsquo;s a hacky Python script to initialize HID-mode on the controller</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-python" data-lang="python"><span style="display:flex;"><span><span style="color:#75715e"># I only tested this script on Linux w/ Steam but in theory it shoud work on Windows?</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> usb.core <span style="color:#75715e"># install pyusb first: pip install pyusb</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> usb.util
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> time
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> sys
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>VENDOR_ID <span style="color:#f92672">=</span> <span style="color:#ae81ff">0x057E</span>
</span></span><span style="display:flex;"><span>PRODUCT_IDS <span style="color:#f92672">=</span> {
</span></span><span style="display:flex;"><span> <span style="color:#ae81ff">0x2066</span>: <span style="color:#e6db74">&#34;Joy-Con (L)&#34;</span>,
</span></span><span style="display:flex;"><span> <span style="color:#ae81ff">0x2067</span>: <span style="color:#e6db74">&#34;Joy-Con (R)&#34;</span>,
</span></span><span style="display:flex;"><span> <span style="color:#ae81ff">0x2069</span>: <span style="color:#e6db74">&#34;Pro Controller&#34;</span>,
</span></span><span style="display:flex;"><span> <span style="color:#ae81ff">0x2073</span>: <span style="color:#e6db74">&#34;GCN Controller&#34;</span>
</span></span><span style="display:flex;"><span>}
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>USB_INTERFACE_NUMBER <span style="color:#f92672">=</span> <span style="color:#ae81ff">1</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>INIT_COMMAND_0x03 <span style="color:#f92672">=</span> bytes([<span style="color:#ae81ff">0x03</span>, <span style="color:#ae81ff">0x91</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x0d</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x08</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x01</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>])
</span></span><span style="display:flex;"><span>UNKNOWN_COMMAND_0x07 <span style="color:#f92672">=</span> bytes([<span style="color:#ae81ff">0x07</span>, <span style="color:#ae81ff">0x91</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x01</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>])
</span></span><span style="display:flex;"><span>UNKNOWN_COMMAND_0x16 <span style="color:#f92672">=</span> bytes([<span style="color:#ae81ff">0x16</span>, <span style="color:#ae81ff">0x91</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x01</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>])
</span></span><span style="display:flex;"><span>REQUEST_CONTROLLER_MAC <span style="color:#f92672">=</span> bytes([<span style="color:#ae81ff">0x15</span>, <span style="color:#ae81ff">0x91</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x01</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x0e</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x02</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>])
</span></span><span style="display:flex;"><span>LTK_REQUEST <span style="color:#f92672">=</span> bytes([<span style="color:#ae81ff">0x15</span>, <span style="color:#ae81ff">0x91</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x02</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x11</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>])
</span></span><span style="display:flex;"><span>UNKNOWN_COMMAND_0x15_ARG_0x03 <span style="color:#f92672">=</span> bytes([<span style="color:#ae81ff">0x15</span>, <span style="color:#ae81ff">0x91</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x03</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x01</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>])
</span></span><span style="display:flex;"><span>UNKNOWN_COMMAND_0x09 <span style="color:#f92672">=</span> bytes([<span style="color:#ae81ff">0x09</span>, <span style="color:#ae81ff">0x91</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x07</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x08</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>])
</span></span><span style="display:flex;"><span>IMU_COMMAND_0x02 <span style="color:#f92672">=</span> bytes([<span style="color:#ae81ff">0x0c</span>, <span style="color:#ae81ff">0x91</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x02</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x04</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x27</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>])
</span></span><span style="display:flex;"><span>OUT_UNKNOWN_COMMAND_0x11 <span style="color:#f92672">=</span> bytes([<span style="color:#ae81ff">0x11</span>, <span style="color:#ae81ff">0x91</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x03</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>])
</span></span><span style="display:flex;"><span>UNKNOWN_COMMAND_0x0A <span style="color:#f92672">=</span> bytes([<span style="color:#ae81ff">0x0a</span>, <span style="color:#ae81ff">0x91</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x08</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x14</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x01</span>, <span style="color:#ae81ff">0xff</span>, <span style="color:#ae81ff">0xff</span>, <span style="color:#ae81ff">0xff</span>, <span style="color:#ae81ff">0xff</span>, <span style="color:#ae81ff">0xff</span>, <span style="color:#ae81ff">0xff</span>, <span style="color:#ae81ff">0xff</span>, <span style="color:#ae81ff">0xff</span>, <span style="color:#ae81ff">0x35</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x46</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>])
</span></span><span style="display:flex;"><span>IMU_COMMAND_0x04 <span style="color:#f92672">=</span> bytes([<span style="color:#ae81ff">0x0c</span>, <span style="color:#ae81ff">0x91</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x04</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x04</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x27</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>])
</span></span><span style="display:flex;"><span>ENABLE_HAPTICS <span style="color:#f92672">=</span> bytes([<span style="color:#ae81ff">0x03</span>, <span style="color:#ae81ff">0x91</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x0a</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x04</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x09</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>])
</span></span><span style="display:flex;"><span>OUT_UNKNOWN_COMMAND_0x10 <span style="color:#f92672">=</span> bytes([<span style="color:#ae81ff">0x10</span>, <span style="color:#ae81ff">0x91</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x01</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>])
</span></span><span style="display:flex;"><span>OUT_UNKNOWN_COMMAND_0x01 <span style="color:#f92672">=</span> bytes([<span style="color:#ae81ff">0x01</span>, <span style="color:#ae81ff">0x91</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x0c</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>])
</span></span><span style="display:flex;"><span>OUT_UNKNOWN_COMMAND_0x03 <span style="color:#f92672">=</span> bytes([<span style="color:#ae81ff">0x03</span>, <span style="color:#ae81ff">0x91</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x01</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>])
</span></span><span style="display:flex;"><span>OUT_UNKNOWN_COMMAND_0x0A_ALT <span style="color:#f92672">=</span> bytes([<span style="color:#ae81ff">0x0a</span>, <span style="color:#ae81ff">0x91</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x02</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x04</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x03</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>])
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">def</span> <span style="color:#a6e22e">send_usb_data</span>(ep_out, ep_in, data, description<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;&#34;</span>):
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">try</span>:
</span></span><span style="display:flex;"><span> ep_out<span style="color:#f92672">.</span>write(data)
</span></span><span style="display:flex;"><span> time<span style="color:#f92672">.</span>sleep(<span style="color:#ae81ff">0.01</span>)
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">try</span>:
</span></span><span style="display:flex;"><span> response <span style="color:#f92672">=</span> ep_in<span style="color:#f92672">.</span>read(<span style="color:#ae81ff">32</span>, timeout<span style="color:#f92672">=</span><span style="color:#ae81ff">100</span>)
</span></span><span style="display:flex;"><span> hex_resp <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34; &#34;</span><span style="color:#f92672">.</span>join([<span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;</span><span style="color:#e6db74">{</span>x<span style="color:#e6db74">:</span><span style="color:#e6db74">02x</span><span style="color:#e6db74">}</span><span style="color:#e6db74">&#34;</span> <span style="color:#66d9ef">for</span> x <span style="color:#f92672">in</span> response])
</span></span><span style="display:flex;"><span> print(<span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;[</span><span style="color:#e6db74">{</span>description<span style="color:#e6db74">}</span><span style="color:#e6db74">] Response: </span><span style="color:#e6db74">{</span>hex_resp<span style="color:#e6db74">}</span><span style="color:#e6db74">&#34;</span>)
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">except</span> usb<span style="color:#f92672">.</span>core<span style="color:#f92672">.</span>USBError <span style="color:#66d9ef">as</span> e:
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">if</span> e<span style="color:#f92672">.</span>errno <span style="color:#f92672">==</span> <span style="color:#ae81ff">110</span>:
</span></span><span style="display:flex;"><span> print(<span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;[</span><span style="color:#e6db74">{</span>description<span style="color:#e6db74">}</span><span style="color:#e6db74">] No response (Timeout)&#34;</span>)
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">else</span>:
</span></span><span style="display:flex;"><span> print(<span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;[</span><span style="color:#e6db74">{</span>description<span style="color:#e6db74">}</span><span style="color:#e6db74">] Read Error: </span><span style="color:#e6db74">{</span>e<span style="color:#e6db74">}</span><span style="color:#e6db74">&#34;</span>)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">except</span> usb<span style="color:#f92672">.</span>core<span style="color:#f92672">.</span>USBError <span style="color:#66d9ef">as</span> e:
</span></span><span style="display:flex;"><span> print(<span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;[</span><span style="color:#e6db74">{</span>description<span style="color:#e6db74">}</span><span style="color:#e6db74">] Write Error: </span><span style="color:#e6db74">{</span>e<span style="color:#e6db74">}</span><span style="color:#e6db74">&#34;</span>)
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">raise</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">def</span> <span style="color:#a6e22e">set_player_leds</span>(ep_out, ep_in, led_mask):
</span></span><span style="display:flex;"><span> command <span style="color:#f92672">=</span> [
</span></span><span style="display:flex;"><span> <span style="color:#ae81ff">0x09</span>, <span style="color:#ae81ff">0x91</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x07</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x08</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>,
</span></span><span style="display:flex;"><span> led_mask,
</span></span><span style="display:flex;"><span> <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>
</span></span><span style="display:flex;"><span> ]
</span></span><span style="display:flex;"><span> send_usb_data(ep_out, ep_in, bytes(command), <span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;Set LED Mask: 0x</span><span style="color:#e6db74">{</span>led_mask<span style="color:#e6db74">:</span><span style="color:#e6db74">02x</span><span style="color:#e6db74">}</span><span style="color:#e6db74">&#34;</span>)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">def</span> <span style="color:#a6e22e">connect_usb</span>():
</span></span><span style="display:flex;"><span> print(<span style="color:#e6db74">&#34;Searching for Nintendo Switch Controllers...&#34;</span>)
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">def</span> <span style="color:#a6e22e">match_device</span>(dev):
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">return</span> dev<span style="color:#f92672">.</span>idVendor <span style="color:#f92672">==</span> VENDOR_ID <span style="color:#f92672">and</span> dev<span style="color:#f92672">.</span>idProduct <span style="color:#f92672">in</span> PRODUCT_IDS
</span></span><span style="display:flex;"><span> dev <span style="color:#f92672">=</span> usb<span style="color:#f92672">.</span>core<span style="color:#f92672">.</span>find(custom_match<span style="color:#f92672">=</span>match_device)
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">if</span> dev <span style="color:#f92672">is</span> <span style="color:#66d9ef">None</span>:
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">raise</span> <span style="color:#a6e22e">ValueError</span>(<span style="color:#e6db74">&#34;Device not found&#34;</span>)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span> product_name <span style="color:#f92672">=</span> PRODUCT_IDS<span style="color:#f92672">.</span>get(dev<span style="color:#f92672">.</span>idProduct, <span style="color:#e6db74">&#34;Unknown Device&#34;</span>)
</span></span><span style="display:flex;"><span> print(<span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;Found </span><span style="color:#e6db74">{</span>product_name<span style="color:#e6db74">}</span><span style="color:#e6db74"> (ID: </span><span style="color:#e6db74">{</span>dev<span style="color:#f92672">.</span>idProduct<span style="color:#e6db74">:</span><span style="color:#e6db74">04x</span><span style="color:#e6db74">}</span><span style="color:#e6db74">)&#34;</span>)
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">if</span> dev<span style="color:#f92672">.</span>is_kernel_driver_active(USB_INTERFACE_NUMBER):
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">try</span>:
</span></span><span style="display:flex;"><span> print(<span style="color:#e6db74">&#34;Detaching kernel driver...&#34;</span>)
</span></span><span style="display:flex;"><span> dev<span style="color:#f92672">.</span>detach_kernel_driver(USB_INTERFACE_NUMBER)
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">except</span> usb<span style="color:#f92672">.</span>core<span style="color:#f92672">.</span>USBError <span style="color:#66d9ef">as</span> e:
</span></span><span style="display:flex;"><span> sys<span style="color:#f92672">.</span>exit(<span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;Could not detach kernel driver: </span><span style="color:#e6db74">{</span>e<span style="color:#e6db74">}</span><span style="color:#e6db74">&#34;</span>)
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">try</span>:
</span></span><span style="display:flex;"><span> dev<span style="color:#f92672">.</span>set_configuration()
</span></span><span style="display:flex;"><span> print(<span style="color:#e6db74">&#34;Configuration set.&#34;</span>)
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">except</span> usb<span style="color:#f92672">.</span>core<span style="color:#f92672">.</span>USBError <span style="color:#66d9ef">as</span> e:
</span></span><span style="display:flex;"><span> print(<span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;Error setting configuration: </span><span style="color:#e6db74">{</span>e<span style="color:#e6db74">}</span><span style="color:#e6db74">&#34;</span>)
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">try</span>:
</span></span><span style="display:flex;"><span> usb<span style="color:#f92672">.</span>util<span style="color:#f92672">.</span>claim_interface(dev, USB_INTERFACE_NUMBER)
</span></span><span style="display:flex;"><span> print(<span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;Interface </span><span style="color:#e6db74">{</span>USB_INTERFACE_NUMBER<span style="color:#e6db74">}</span><span style="color:#e6db74"> claimed.&#34;</span>)
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">except</span> usb<span style="color:#f92672">.</span>core<span style="color:#f92672">.</span>USBError <span style="color:#66d9ef">as</span> e:
</span></span><span style="display:flex;"><span> sys<span style="color:#f92672">.</span>exit(<span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;Could not claim interface: </span><span style="color:#e6db74">{</span>e<span style="color:#e6db74">}</span><span style="color:#e6db74">&#34;</span>)
</span></span><span style="display:flex;"><span> cfg <span style="color:#f92672">=</span> dev<span style="color:#f92672">.</span>get_active_configuration()
</span></span><span style="display:flex;"><span> intf <span style="color:#f92672">=</span> cfg[(USB_INTERFACE_NUMBER,<span style="color:#ae81ff">0</span>)]
</span></span><span style="display:flex;"><span> ep_out <span style="color:#f92672">=</span> usb<span style="color:#f92672">.</span>util<span style="color:#f92672">.</span>find_descriptor(
</span></span><span style="display:flex;"><span> intf,
</span></span><span style="display:flex;"><span> custom_match <span style="color:#f92672">=</span> <span style="color:#66d9ef">lambda</span> e: usb<span style="color:#f92672">.</span>util<span style="color:#f92672">.</span>endpoint_direction(e<span style="color:#f92672">.</span>bEndpointAddress) <span style="color:#f92672">==</span> usb<span style="color:#f92672">.</span>util<span style="color:#f92672">.</span>ENDPOINT_OUT)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span> ep_in <span style="color:#f92672">=</span> usb<span style="color:#f92672">.</span>util<span style="color:#f92672">.</span>find_descriptor(
</span></span><span style="display:flex;"><span> intf,
</span></span><span style="display:flex;"><span> custom_match <span style="color:#f92672">=</span>
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">lambda</span> e: usb<span style="color:#f92672">.</span>util<span style="color:#f92672">.</span>endpoint_direction(e<span style="color:#f92672">.</span>bEndpointAddress) <span style="color:#f92672">==</span> usb<span style="color:#f92672">.</span>util<span style="color:#f92672">.</span>ENDPOINT_IN
</span></span><span style="display:flex;"><span> )
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">if</span> <span style="color:#f92672">not</span> ep_out:
</span></span><span style="display:flex;"><span> sys<span style="color:#f92672">.</span>exit(<span style="color:#e6db74">&#34;Could not find OUT endpoint&#34;</span>)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span> print(<span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;Found Endpoint OUT: 0x</span><span style="color:#e6db74">{</span>ep_out<span style="color:#f92672">.</span>bEndpointAddress<span style="color:#e6db74">:</span><span style="color:#e6db74">02x</span><span style="color:#e6db74">}</span><span style="color:#e6db74">&#34;</span>)
</span></span><span style="display:flex;"><span> print(<span style="color:#e6db74">&#34;Starting Initialization Sequence...&#34;</span>)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">try</span>:
</span></span><span style="display:flex;"><span> send_usb_data(ep_out, ep_in, INIT_COMMAND_0x03, <span style="color:#e6db74">&#34;Init 0x03&#34;</span>)
</span></span><span style="display:flex;"><span> send_usb_data(ep_out, ep_in, UNKNOWN_COMMAND_0x07, <span style="color:#e6db74">&#34;Unknown 0x07&#34;</span>)
</span></span><span style="display:flex;"><span> send_usb_data(ep_out, ep_in, UNKNOWN_COMMAND_0x16, <span style="color:#e6db74">&#34;Unknown 0x16&#34;</span>)
</span></span><span style="display:flex;"><span> send_usb_data(ep_out, ep_in, REQUEST_CONTROLLER_MAC, <span style="color:#e6db74">&#34;Req MAC&#34;</span>)
</span></span><span style="display:flex;"><span> send_usb_data(ep_out, ep_in, LTK_REQUEST, <span style="color:#e6db74">&#34;Req LTK&#34;</span>)
</span></span><span style="display:flex;"><span> send_usb_data(ep_out, ep_in, UNKNOWN_COMMAND_0x15_ARG_0x03, <span style="color:#e6db74">&#34;Unknown 0x15&#34;</span>)
</span></span><span style="display:flex;"><span> send_usb_data(ep_out, ep_in, UNKNOWN_COMMAND_0x09, <span style="color:#e6db74">&#34;Unknown 0x09&#34;</span>)
</span></span><span style="display:flex;"><span> send_usb_data(ep_out, ep_in, IMU_COMMAND_0x02, <span style="color:#e6db74">&#34;IMU 0x02&#34;</span>)
</span></span><span style="display:flex;"><span> send_usb_data(ep_out, ep_in, OUT_UNKNOWN_COMMAND_0x11, <span style="color:#e6db74">&#34;OUT Unknown 0x11&#34;</span>)
</span></span><span style="display:flex;"><span> send_usb_data(ep_out, ep_in, UNKNOWN_COMMAND_0x0A, <span style="color:#e6db74">&#34;Unknown 0x0A&#34;</span>)
</span></span><span style="display:flex;"><span> send_usb_data(ep_out, ep_in, IMU_COMMAND_0x04, <span style="color:#e6db74">&#34;IMU 0x04&#34;</span>)
</span></span><span style="display:flex;"><span> send_usb_data(ep_out, ep_in, ENABLE_HAPTICS, <span style="color:#e6db74">&#34;Enable Haptics&#34;</span>)
</span></span><span style="display:flex;"><span> send_usb_data(ep_out, ep_in, OUT_UNKNOWN_COMMAND_0x10, <span style="color:#e6db74">&#34;OUT Unknown 0x10&#34;</span>)
</span></span><span style="display:flex;"><span> send_usb_data(ep_out, ep_in, OUT_UNKNOWN_COMMAND_0x01, <span style="color:#e6db74">&#34;OUT Unknown 0x01&#34;</span>)
</span></span><span style="display:flex;"><span> send_usb_data(ep_out, ep_in, OUT_UNKNOWN_COMMAND_0x03, <span style="color:#e6db74">&#34;OUT Unknown 0x03&#34;</span>)
</span></span><span style="display:flex;"><span> send_usb_data(ep_out, ep_in, OUT_UNKNOWN_COMMAND_0x0A_ALT, <span style="color:#e6db74">&#34;OUT Unknown 0x0A Alt&#34;</span>)
</span></span><span style="display:flex;"><span> set_player_leds(ep_out, ep_in, <span style="color:#ae81ff">0x0F</span>)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span> print(<span style="color:#e6db74">&#34;Controller initialization sequence complete! All LEDs should be on.&#34;</span>)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">except</span> <span style="color:#a6e22e">Exception</span> <span style="color:#66d9ef">as</span> e:
</span></span><span style="display:flex;"><span> print(<span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;Error during sequence: </span><span style="color:#e6db74">{</span>e<span style="color:#e6db74">}</span><span style="color:#e6db74">&#34;</span>)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">if</span> __name__ <span style="color:#f92672">==</span> <span style="color:#e6db74">&#34;__main__&#34;</span>:
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">try</span>:
</span></span><span style="display:flex;"><span> connect_usb()
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">except</span> <span style="color:#a6e22e">ValueError</span> <span style="color:#66d9ef">as</span> e:
</span></span><span style="display:flex;"><span> print(e)
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">except</span> <span style="color:#a6e22e">Exception</span> <span style="color:#66d9ef">as</span> e:
</span></span><span style="display:flex;"><span> print(<span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;Unexpected error: </span><span style="color:#e6db74">{</span>e<span style="color:#e6db74">}</span><span style="color:#e6db74">&#34;</span>)
</span></span></code></pre></div><p><strong>Steps</strong></p></description> </item> </channel> diff --git a/micro.pinapelz.moe/css/style.css b/micro.pinapelz.com/css/style.css index 4a930c1..4a930c1 100644 --- a/micro.pinapelz.moe/css/style.css +++ b/micro.pinapelz.com/css/style.css diff --git a/micro.pinapelz.moe/index.html b/micro.pinapelz.com/index.html index 48c7a75..45fb1d9 100644 --- a/micro.pinapelz.moe/index.html +++ b/micro.pinapelz.com/index.html @@ -6,7 +6,7 @@ <meta name="viewport" content="width=device-width, initial-scale=1"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <style type=text/css>body{font-family:monospace;}</style> - <title>micro.pinapelz.moe | micro.pinapelz.moe</title> + <title>micro.pinapelz.com | micro.pinapelz.com</title> <meta name="author" content="map[avatar:https://files.catbox.moe/5r1pue.jpg banner:https://files.pinapelz.com/pso2ngs-2232-collab.png bio:yo! and he's more than a cover he's a quilt<br/> General arcade rhythm game enjoyer (SDVX, IIDX, CHUNITHM)<br/> @@ -15,7 +15,7 @@ Arch Linux + Hyprland user (btw)<br/> Hi from the <a href="https://indieweb.org/">indieweb</a>, if you are seeing me bridged elsewhere! email:yukais@pinapelz.com name:Pinapelz]"> <link rel="stylesheet" href="/css/style.css"> - <link rel="alternate" type="application/rss+xml" href="/index.xml" title="micro.pinapelz.moe"> + <link rel="alternate" type="application/rss+xml" href="/index.xml" title="micro.pinapelz.com"> <link rel="me" href="https://github.com/pinapelz" /> @@ -30,7 +30,7 @@ rel="token_endpoint" href="https://tokens.indieauth.com/token" /> - <link rel="webmention" href="https://webmention.io/micro.pinapelz.moe/webmention" /> + <link rel="webmention" href="https://webmention.io/micro.pinapelz.com/webmention" /> @@ -40,7 +40,7 @@ <div style="display:flex;flex-flow:row wrap;justify-content:space-between"> <div style="align-self:flex-start;"> ==============<br> - == <a href="https://micro.pinapelz.moe/">Pinapelz</a> ==<br> + == <a href="https://micro.pinapelz.com/">Pinapelz</a> ==<br> ============== </div> <div style="align-self:center;">check it out. I'm in the house like carpet</div> @@ -61,7 +61,7 @@ <main> <hr /> - <h1 class="site-title">micro.pinapelz.moe</h1><div class="h-card p-author bio-card" style="text-align:center;"> + <h1 class="site-title">micro.pinapelz.com</h1><div class="h-card p-author bio-card" style="text-align:center;"> <div class="banner" style="margin-bottom: 1rem; position: relative;"> <img class="u-featured" src="https://files.pinapelz.com/pso2ngs-2232-collab.png" alt="Banner" style="width: 100%; max-width: 400px; height: auto; border-radius: 8px; opacity: 0.6;"> @@ -76,13 +76,13 @@ Arch Linux + Hyprland user (btw)<br/> Hi from the <a href="https://indieweb.org/">indieweb</a>, if you are seeing me bridged elsewhere!</p> </div> - <p class="bio-name"><a href="https://micro.pinapelz.moe/" rel="me" class="p-nickname p-name u-url">Pinapelz</a></p> + <p class="bio-name"><a href="https://micro.pinapelz.com/" rel="me" class="p-nickname p-name u-url">Pinapelz</a></p> </div> <hr/> <article> - <h1><a href="https://micro.pinapelz.moe/posts/2026-04-29-13-dac-vs-wireless-dap/">Portable Audio: Phone, Wireless DAC, or DAP</a></h1> + <h1><a href="https://micro.pinapelz.com/posts/2026-04-29-13-dac-vs-wireless-dap/">Portable Audio: Phone, Wireless DAC, or DAP</a></h1> <b><time>Sunday, May 3, 2026</time></b> <a href="/tags/default">default</a> @@ -90,14 +90,14 @@ <div> <p>Supposedly, there’s been a <a href="https://www.facebook.com/APNews/videos/secondhand-sales-of-apple-ipods-are-surging-four-years-after-it-was-killed-off-w/1278247987103509/">resurgence in the popularity of the iPod</a> in the recent months for all sorts of reasons. While I’m well aware of “MP3 Players”, such as the original iPod and the old Sony Walkman, these are not devices I grew up using. As a “new-gen” audiophile myself, getting a DAP (Dedicated Audio Player, its the new term for these sort of devices as they can play much more than just MP3s) was certainly an interesting idea. However, modern day audiophiles now have an arsenal of methods to enjoy music, even when it comes to portable playback.</p> - <a href="https://micro.pinapelz.moe/posts/2026-04-29-13-dac-vs-wireless-dap/">Read more...</a> + <a href="https://micro.pinapelz.com/posts/2026-04-29-13-dac-vs-wireless-dap/">Read more...</a> </div> </article> <article> - <h1><a href="https://micro.pinapelz.moe/posts/2026-04-26-12-april-playlog/">Playlog: April 2026 (No Sleep for Kaname Date, Xenoblade 1 DE, Catherine Full Body)</a></h1> + <h1><a href="https://micro.pinapelz.com/posts/2026-04-26-12-april-playlog/">Playlog: April 2026 (No Sleep for Kaname Date, Xenoblade 1 DE, Catherine Full Body)</a></h1> <b><time>Sunday, April 26, 2026</time></b> <a href="/tags/playlog">playlog</a> @@ -105,14 +105,14 @@ <div> <p>I’ve gotten quite good at actually making progress on my backlog. Turns out the answer was to just uninstall all social media and get rid of doom scrolling. I invested in a rudimentary capture card as well so that I can have my Switch games show up as an application on my PC rather than having to swap display inputs (which makes it easy to get up and running for a quick session).</p> - <a href="https://micro.pinapelz.moe/posts/2026-04-26-12-april-playlog/">Read more...</a> + <a href="https://micro.pinapelz.com/posts/2026-04-26-12-april-playlog/">Read more...</a> </div> </article> <article> - <h1><a href="https://micro.pinapelz.moe/posts/2026-03-17-11-hundred-lines-last-defense-playlog/">Playlog: Hundred Lines Last Defense Academy</a></h1> + <h1><a href="https://micro.pinapelz.com/posts/2026-03-17-11-hundred-lines-last-defense-playlog/">Playlog: Hundred Lines Last Defense Academy</a></h1> <b><time>Tuesday, March 17, 2026</time></b> <a href="/tags/playlog">playlog</a> @@ -145,14 +145,14 @@ <h2 id="technical-execution">Technical Execution</h2> <p>Its fine overall. You can def. tell they didn’t have as big of a budget as Danganronpa to work with. There were some issues with leaving the game in suspense for too long on Switch but no major performance issues (+15)</p> - <a href="https://micro.pinapelz.moe/posts/2026-03-17-11-hundred-lines-last-defense-playlog/">Read more...</a> + <a href="https://micro.pinapelz.com/posts/2026-03-17-11-hundred-lines-last-defense-playlog/">Read more...</a> </div> </article> <article> - <h1><a href="https://micro.pinapelz.moe/posts/2026-02-19-10-discord-rant/">Discord Rant</a></h1> + <h1><a href="https://micro.pinapelz.com/posts/2026-02-19-10-discord-rant/">Discord Rant</a></h1> <b><time>Thursday, February 19, 2026</time></b> <a href="/tags/default">default</a> @@ -168,14 +168,14 @@ </ol> <p>Nitro doesn’t fund the platform, hosting free voice and screenshare is more expensive than you think. Ultimately, any choice of software for me boils down to “what value do I get out of it”.</p> - <a href="https://micro.pinapelz.moe/posts/2026-02-19-10-discord-rant/">Read more...</a> + <a href="https://micro.pinapelz.com/posts/2026-02-19-10-discord-rant/">Read more...</a> </div> </article> <article> - <h1><a href="https://micro.pinapelz.moe/posts/2025-12-31-09-dbox-review/">DBOX Movie Seats</a></h1> + <h1><a href="https://micro.pinapelz.com/posts/2025-12-31-09-dbox-review/">DBOX Movie Seats</a></h1> <b><time>Wednesday, December 31, 2025</time></b> <a href="/tags/default">default</a> @@ -197,7 +197,7 @@ <article> - <h1><a href="https://micro.pinapelz.moe/posts/2025-12-19-08-ffxiv-patch-7-4/">Playlog: FFXIV Dawntrail Patch 7.4 Thoughts (spoilers)</a></h1> + <h1><a href="https://micro.pinapelz.com/posts/2025-12-19-08-ffxiv-patch-7-4/">Playlog: FFXIV Dawntrail Patch 7.4 Thoughts (spoilers)</a></h1> <b><time>Friday, December 19, 2025</time></b> <a href="/tags/playlog">playlog</a> @@ -234,14 +234,14 @@ </ul> -<a href="https://micro.pinapelz.moe//tags/ffxiv" class="p-category">#ffxiv</a> +<a href="https://micro.pinapelz.com//tags/ffxiv" class="p-category">#ffxiv</a> </div> </article> <article> - <h1><a href="https://micro.pinapelz.moe/posts/2025-12-18-07-arcade-monsters-sd/">Arcade Monsters</a></h1> + <h1><a href="https://micro.pinapelz.com/posts/2025-12-18-07-arcade-monsters-sd/">Arcade Monsters</a></h1> <b><time>Thursday, December 18, 2025</time></b> <a href="/tags/arcade">arcade</a> @@ -251,14 +251,14 @@ <h1 id="getting-there">Getting There</h1> <p>There are a number of departures in the morning, and while not as fast as a car when there’s no traffic, you can save your energy and do other stuff on the train. The timetable also works nicely since you can pretty much get there around opening if you want to beat the crowds.</p> - <a href="https://micro.pinapelz.moe/posts/2025-12-18-07-arcade-monsters-sd/">Read more...</a> + <a href="https://micro.pinapelz.com/posts/2025-12-18-07-arcade-monsters-sd/">Read more...</a> </div> </article> <article> - <h1><a href="https://micro.pinapelz.moe/posts/2025-12-06-first-sdvx-18/">First MXM 18 Cleared!</a></h1> + <h1><a href="https://micro.pinapelz.com/posts/2025-12-06-first-sdvx-18/">First MXM 18 Cleared!</a></h1> <b><time>Saturday, December 6, 2025</time></b> <a href="/tags/arcade">arcade</a> @@ -266,7 +266,7 @@ <div> <p>Cleared my first 18 difficulty chart in -<a href="https://micro.pinapelz.moe//tags/sdvx" class="p-category">#sdvx</a> +<a href="https://micro.pinapelz.com//tags/sdvx" class="p-category">#sdvx</a> </p> <p>Albeit its not a very difficult one, but I think I’m finally starting to chip away at the 17-18 difficulty wall. <figure><img src="/posts/2025-12-06-first-sdvx-18/18.webp" @@ -279,7 +279,7 @@ <article> - <h1><a href="https://micro.pinapelz.moe/posts/2025-12-04-procon2-hid-tool/">Enable HID Mode on Nintendo Pro Controller 2</a></h1> + <h1><a href="https://micro.pinapelz.com/posts/2025-12-04-procon2-hid-tool/">Enable HID Mode on Nintendo Pro Controller 2</a></h1> <b><time>Thursday, December 4, 2025</time></b> <a href="/tags/code">code</a> @@ -290,14 +290,14 @@ <p>Switch 2 Pro Controller is very comfy in my hands, but unfortunately it didn’t work out of box on PC (Linux) for me like it’s predacessor. Until there’s actual better driver support for this thing in the kernel (or Valve does something), here’s a hacky Python script to initialize HID-mode on the controller</p> <p><strong>Steps</strong></p> - <a href="https://micro.pinapelz.moe/posts/2025-12-04-procon2-hid-tool/">Read more...</a> + <a href="https://micro.pinapelz.com/posts/2025-12-04-procon2-hid-tool/">Read more...</a> </div> </article> <article> - <h1><a href="https://micro.pinapelz.moe/posts/2025-12-03-04-yt-music-rewind/">YouTube Music Recap 2025</a></h1> + <h1><a href="https://micro.pinapelz.com/posts/2025-12-03-04-yt-music-rewind/">YouTube Music Recap 2025</a></h1> <b><time>Wednesday, December 3, 2025</time></b> <a href="/tags/anime">anime</a> @@ -332,7 +332,7 @@ <p style="text-align: center" class="copyright"> - © <a href="https://micro.pinapelz.moe/"><b>micro.pinapelz.moe</b></a>. + © <a href="https://micro.pinapelz.com/"><b>micro.pinapelz.com</b></a>. </p> </footer> diff --git a/micro.pinapelz.moe/index.xml b/micro.pinapelz.com/index.xml index bd38adb..00b178b 100644 --- a/micro.pinapelz.moe/index.xml +++ b/micro.pinapelz.com/index.xml @@ -1,111 +1,111 @@ <?xml version="1.0" encoding="utf-8" standalone="yes"?> <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"> <channel> - <title>micro.pinapelz.moe</title> - <link>https://micro.pinapelz.moe/</link> - <description>Recent content on micro.pinapelz.moe</description> + <title>micro.pinapelz.com</title> + <link>https://micro.pinapelz.com/</link> + <description>Recent content on micro.pinapelz.com</description> <generator>Hugo</generator> <language>en-us</language> <managingEditor>yukais@pinapelz.com (Pinapelz)</managingEditor> <webMaster>yukais@pinapelz.com (Pinapelz)</webMaster> <lastBuildDate>Sun, 03 May 2026 03:16:09 -0700</lastBuildDate> - <atom:link href="https://micro.pinapelz.moe/index.xml" rel="self" type="application/rss+xml" /> + <atom:link href="https://micro.pinapelz.com/index.xml" rel="self" type="application/rss+xml" /> <item> <title>Portable Audio: Phone, Wireless DAC, or DAP</title> - <link>https://micro.pinapelz.moe/posts/2026-04-29-13-dac-vs-wireless-dap/</link> + <link>https://micro.pinapelz.com/posts/2026-04-29-13-dac-vs-wireless-dap/</link> <pubDate>Sun, 03 May 2026 03:16:09 -0700</pubDate><author>yukais@pinapelz.com (Pinapelz)</author> - <guid>https://micro.pinapelz.moe/posts/2026-04-29-13-dac-vs-wireless-dap/</guid> + <guid>https://micro.pinapelz.com/posts/2026-04-29-13-dac-vs-wireless-dap/</guid> <description><p>Supposedly, there&rsquo;s been a <a href="https://www.facebook.com/APNews/videos/secondhand-sales-of-apple-ipods-are-surging-four-years-after-it-was-killed-off-w/1278247987103509/">resurgence in the popularity of the iPod</a> in the recent months for all sorts of reasons. While I&rsquo;m well aware of &ldquo;MP3 Players&rdquo;, such as the original iPod and the old Sony Walkman, these are not devices I grew up using. As a &ldquo;new-gen&rdquo; audiophile myself, getting a DAP (Dedicated Audio Player, its the new term for these sort of devices as they can play much more than just MP3s) was certainly an interesting idea. However, modern day audiophiles now have an arsenal of methods to enjoy music, even when it comes to portable playback.</p></description> </item> <item> <title>Playlog: April 2026 (No Sleep for Kaname Date, Xenoblade 1 DE, Catherine Full Body)</title> - <link>https://micro.pinapelz.moe/posts/2026-04-26-12-april-playlog/</link> + <link>https://micro.pinapelz.com/posts/2026-04-26-12-april-playlog/</link> <pubDate>Sun, 26 Apr 2026 18:20:09 -0700</pubDate><author>yukais@pinapelz.com (Pinapelz)</author> - <guid>https://micro.pinapelz.moe/posts/2026-04-26-12-april-playlog/</guid> + <guid>https://micro.pinapelz.com/posts/2026-04-26-12-april-playlog/</guid> <description><p>I&rsquo;ve gotten quite good at actually making progress on my backlog. Turns out the answer was to just uninstall all social media and get rid of doom scrolling. I invested in a rudimentary capture card as well so that I can have my Switch games show up as an application on my PC rather than having to swap display inputs (which makes it easy to get up and running for a quick session).</p></description> </item> <item> <title>Playlog: Hundred Lines Last Defense Academy</title> - <link>https://micro.pinapelz.moe/posts/2026-03-17-11-hundred-lines-last-defense-playlog/</link> + <link>https://micro.pinapelz.com/posts/2026-03-17-11-hundred-lines-last-defense-playlog/</link> <pubDate>Tue, 17 Mar 2026 17:19:03 -0700</pubDate><author>yukais@pinapelz.com (Pinapelz)</author> - <guid>https://micro.pinapelz.moe/posts/2026-03-17-11-hundred-lines-last-defense-playlog/</guid> - <description><p>After about a year of playing on and off, I&rsquo;ve finally finished all 100 (and 1, counting the first one). In total it took roughly 105 hours or so.
<figure><img src="https://micro.pinapelz.moe/posts/2026-03-17-11-hundred-lines-last-defense-playlog/playtime.png"
 alt="105 hours or more played">
</figure>
</p>
<h2 id="core-mechanics">Core Mechanics</h2>
<ul>
<li>This is basically a visual novel, there&rsquo;s very little fun to be had if you are a &ldquo;cutscene skipper&rdquo;. If you enjoyed Kodaka&rsquo;s other works like Danganronpa then you&rsquo;ll be right at home.</li>
<li>There&rsquo;s a bunch of smaller &ldquo;minigames&rdquo; but are mostly a one-off thing, they feel mostly like an afterthought (+25)</li>
</ul>
<h2 id="structure">Structure</h2>
<ul>
<li>There&rsquo;s 2 main parts of the game, the battling and the story itself</li>
<li>The battling itself has a decent amount of strategy to it, and you can in fact easily lose if you&rsquo;re not careful for some of them</li>
<li>In my opinion though given how little variety there is it kinda gets old fast, luckily the 2nd half of the game lets you skip battles you&rsquo;ve already done</li>
<li>As far as the story goes, its standard visual novel stuff but with a Kodaka twist. Each ending belongs to a particular &ldquo;route&rdquo; which is centered around a particular storyline, each one is also explicitly named in the game&rsquo;s flowchart. (+20)</li>
</ul>
<h2 id="content">Content</h2>
<ul>
<li>The story itself is quite good, but not all the routes are really worth doing if you just want what I consider to be the &ldquo;core&rdquo; of the plot. Some of them basically lead to nothing and are there just for fun.</li>
<li>Everyone has to play through <code>Last Defense Academy 1</code> which basically acts as a very long prologue for the actual game</li>
<li><strong>Not Necessary:</strong> Serial Battles Route (PLEASE skip this one, the game forces you to play unskippable battles and it forshadows literately the tiniest thing), Box of Blessings, Conspiracy (does nothing but is very quick to do), Romance, Comedy, V’ehxness Route (mainly character building), Reset Route</li>
<li>I would recommend playing through the prologue, then explicitly following a guide for the <code>Last Defense Academy 2nd Scenario</code>, then if you still want more start the S.F Route and follow a guide to unlock the pre-requisite routes while you progress through that. Everything else is largely optional IMO and is just for world-building. (12)</li>
</ul>
<h2 id="technical-execution">Technical Execution</h2>
<p>Its fine overall. You can def. tell they didn&rsquo;t have as big of a budget as Danganronpa to work with. There were some issues with leaving the game in suspense for too long on Switch but no major performance issues (+15)</p></description> + <guid>https://micro.pinapelz.com/posts/2026-03-17-11-hundred-lines-last-defense-playlog/</guid> + <description><p>After about a year of playing on and off, I&rsquo;ve finally finished all 100 (and 1, counting the first one). In total it took roughly 105 hours or so.
<figure><img src="https://micro.pinapelz.com/posts/2026-03-17-11-hundred-lines-last-defense-playlog/playtime.png"
 alt="105 hours or more played">
</figure>
</p>
<h2 id="core-mechanics">Core Mechanics</h2>
<ul>
<li>This is basically a visual novel, there&rsquo;s very little fun to be had if you are a &ldquo;cutscene skipper&rdquo;. If you enjoyed Kodaka&rsquo;s other works like Danganronpa then you&rsquo;ll be right at home.</li>
<li>There&rsquo;s a bunch of smaller &ldquo;minigames&rdquo; but are mostly a one-off thing, they feel mostly like an afterthought (+25)</li>
</ul>
<h2 id="structure">Structure</h2>
<ul>
<li>There&rsquo;s 2 main parts of the game, the battling and the story itself</li>
<li>The battling itself has a decent amount of strategy to it, and you can in fact easily lose if you&rsquo;re not careful for some of them</li>
<li>In my opinion though given how little variety there is it kinda gets old fast, luckily the 2nd half of the game lets you skip battles you&rsquo;ve already done</li>
<li>As far as the story goes, its standard visual novel stuff but with a Kodaka twist. Each ending belongs to a particular &ldquo;route&rdquo; which is centered around a particular storyline, each one is also explicitly named in the game&rsquo;s flowchart. (+20)</li>
</ul>
<h2 id="content">Content</h2>
<ul>
<li>The story itself is quite good, but not all the routes are really worth doing if you just want what I consider to be the &ldquo;core&rdquo; of the plot. Some of them basically lead to nothing and are there just for fun.</li>
<li>Everyone has to play through <code>Last Defense Academy 1</code> which basically acts as a very long prologue for the actual game</li>
<li><strong>Not Necessary:</strong> Serial Battles Route (PLEASE skip this one, the game forces you to play unskippable battles and it forshadows literately the tiniest thing), Box of Blessings, Conspiracy (does nothing but is very quick to do), Romance, Comedy, V’ehxness Route (mainly character building), Reset Route</li>
<li>I would recommend playing through the prologue, then explicitly following a guide for the <code>Last Defense Academy 2nd Scenario</code>, then if you still want more start the S.F Route and follow a guide to unlock the pre-requisite routes while you progress through that. Everything else is largely optional IMO and is just for world-building. (12)</li>
</ul>
<h2 id="technical-execution">Technical Execution</h2>
<p>Its fine overall. You can def. tell they didn&rsquo;t have as big of a budget as Danganronpa to work with. There were some issues with leaving the game in suspense for too long on Switch but no major performance issues (+15)</p></description> </item> <item> <title>Discord Rant</title> - <link>https://micro.pinapelz.moe/posts/2026-02-19-10-discord-rant/</link> + <link>https://micro.pinapelz.com/posts/2026-02-19-10-discord-rant/</link> <pubDate>Thu, 19 Feb 2026 19:17:04 -0800</pubDate><author>yukais@pinapelz.com (Pinapelz)</author> - <guid>https://micro.pinapelz.moe/posts/2026-02-19-10-discord-rant/</guid> + <guid>https://micro.pinapelz.com/posts/2026-02-19-10-discord-rant/</guid> <description><p>We&rsquo;ve seen time and time again that there is &ldquo;no such thing as a free lunch&rdquo;. The same is true for Discord.</p>
<ol>
<li>Offer a service that is much better than all the competitors</li>
<li>Attract a bunch of users</li>
<li>Burn VC money</li>
<li>Repeat 1-3 until its time to pay them back</li>
<li>Figure out how to make money</li>
</ol>
<p>Nitro doesn&rsquo;t fund the platform, hosting free voice and screenshare is more expensive than you think. Ultimately, any choice of software for me boils down to &ldquo;what value do I get out of it&rdquo;.</p></description> </item> <item> <title>DBOX Movie Seats</title> - <link>https://micro.pinapelz.moe/posts/2025-12-31-09-dbox-review/</link> + <link>https://micro.pinapelz.com/posts/2025-12-31-09-dbox-review/</link> <pubDate>Wed, 31 Dec 2025 22:03:51 -0800</pubDate><author>yukais@pinapelz.com (Pinapelz)</author> - <guid>https://micro.pinapelz.moe/posts/2025-12-31-09-dbox-review/</guid> + <guid>https://micro.pinapelz.com/posts/2025-12-31-09-dbox-review/</guid> <description><p>There&rsquo;s a thing here in Canada where certain theaters have these special seats that rumble and move in motion with whats happening on screen.</p>
<p>I recently saw the new Avatar (Fire and Ash) in one of these seats. It wasn&rsquo;t a bad experience but given the markup, I don&rsquo;t think its worth it:</p>
<ul>
<li>First it is fun (sometimes). For example when they were flying through the air, the seat would tilt in the motion of them flying. Or when there was an explosion/gunfire, the seat would rumble</li>
<li>However, for me I think they overdid it at times, literately the seat would move and rumble for the smallest things. So it was kind of like a constant thing throughout the whole film. For me its a bit annoying</li>
<li>For the $10-15 extra (I think I paid a bit more cause the movie was also in 3D), I&rsquo;d much rather just go to a theater that has the big comfy recliner seats</li>
<li>I think for the right movie (maybe something heavy on action or horror) this could be a solid purchase if its a movie you&rsquo;re really looking forward to</li>
<li>Or I also know that some people see movies multiple times, so maybe this can be a good option for a 2nd viewing?</li>
</ul>
<p>Generally, though&hellip; I think I&rsquo;ll live without them.</p></description> </item> <item> <title>Playlog: FFXIV Dawntrail Patch 7.4 Thoughts (spoilers)</title> - <link>https://micro.pinapelz.moe/posts/2025-12-19-08-ffxiv-patch-7-4/</link> + <link>https://micro.pinapelz.com/posts/2025-12-19-08-ffxiv-patch-7-4/</link> <pubDate>Fri, 19 Dec 2025 22:15:50 -0800</pubDate><author>yukais@pinapelz.com (Pinapelz)</author> - <guid>https://micro.pinapelz.moe/posts/2025-12-19-08-ffxiv-patch-7-4/</guid> - <description><p><em>This is primarily focused on the content of the patch, not so much the features they&rsquo;ve added.</em></p>
<h1 id="story">Story</h1>
<ul>
<li>Mistwake Dungeon was a good difficulty. Although I&rsquo;m not a fan of the electricity star AOEs, very hard to read for no apparent reason. Please just stick with the old one.</li>
<li>Cutscene quality def. got better. As in animations and uniqueness.</li>
<li>Love the look and feel (Treno). There&rsquo;s a ton of good spots for &ldquo;gpose-ing&rdquo;. Music is nice too.</li>
<li>Seriously Krile? You parents were the ones who dropped you into the Source. I don&rsquo;t think they&rsquo;d care if you wanted to stay in the Source (just make up your mind) -&gt; well glad that got sorted out</li>
<li>&ldquo;Hell on Rails&rdquo; Trial (Doomtrain) is very nicely designed. Its got some nice unique mechanics, the &ldquo;sucking&rdquo; mechanic definetly trips you up the first time because the distance to move back + timing has been tuned so that you need to pre-position for it.</li>
<li>The transition from inside the engine to outside was really cool!!! This is probably one of my top normal trials now.</li>
<li>The instance battle was well done too. The roleplaying part was on point, and when it was finally time to fight a real boss you get to play as yourelf (I think this is the best flow). Love the idea using the spriggan to avoid Behemoth&rsquo;s meteor.</li>
<li>Cool so we just get to keep the key. If this were any bit realistic, we&rsquo;ve surely learned that no one this powerful should be allowed to keep the key on themsleves 24/7. Because surely the WoL being the most powerful being will never run rogue with a interdimensional travel capable tool. Then again, seeing how stuff gets stolen all the time in the story&hellip; Well I guess it can go either way.</li>
<li>I&rsquo;m guessing this key is gonna be how the writers justify being able to travel to new worlds for post-Zodiark/Hydaelyn story. Its fine I guess, but a little disappointing it isn&rsquo;t something more unique.</li>
<li>And what do you know. Ascians. I hope we get something unqiue for 8.0&hellip; I guess thats fine but please lets not have it just be SHB all over again.</li>
</ul>
<h1 id="raid">Raid</h1>
<ul>
<li>&ldquo;Feral Fandom&rdquo; -&gt; Yep thats FF14 NA playerbase for you.</li>
<li>Heavyweight 1 (Vamp Fatale) Raid was cool and unique, but a bit too flashy imo. That Half Moon is needlessly large, wish we&rsquo;d stop with mechanics that are designed to trick people even when read correctly.</li>
<li>Heavyweight 2 (Xtremes) I take it back, this is the one with the blinding effects MY EYES. Fire and water one after another. This is a pretty hard normal fight actually (the first time you run it blind). Really punishing for bad AOE placement positions since you can effectively be cut off from the team.</li>
<li>Holy wow these cutscenes are in serious need of voice acting. Its a good story but so dry and awkward without it.</li>
<li>Heavyweight 3 (Tyrant). Really? Behemoth again, double dipping from the instance battle. There&rsquo;s so many other cool FF monsters. I like the arena, it fits the guy well, all about history of the Arcadion/tradition. Fight is underwhelming and too easy imo, apart from 1 single trick mechanic that can cause a wipe&hellip;</li>
<li>Heavyweight 4 (Lindwurm). EVERYTHING BURNS. This fight was honestly too easy, zero deaths everything can be read. 2nd phase was underhelming.</li>
<li>Overall the story here while not as in depth and relevant to the story as Endwalker raids, still had a nice little twist at the end I def did not expect. Enjoyed it!</li>
</ul>
<h1 id="misc">Misc</h1>
<ul>
<li>The new Frontline map is &ldquo;dangerous&rdquo;. Overall the new capturing point system is far better than a non-interruptable interact like in Onsal Hakir. The snowman and aurora events are also good, and I think they come in right when they&rsquo;re needed too (to spice things up/allow for a turning point).</li>
<li>The map design however is far too complex, all these bridges and everywhere and invisible walls. It does add a lot of chokepoints but also makes it difficult to navigate from point A -&gt; B (but partially I guess this is done cause the map does feel smaller than Onsal).</li>
</ul>


<a href="https://micro.pinapelz.moe//tags/ffxiv" class="p-category">#ffxiv</a></description> + <guid>https://micro.pinapelz.com/posts/2025-12-19-08-ffxiv-patch-7-4/</guid> + <description><p><em>This is primarily focused on the content of the patch, not so much the features they&rsquo;ve added.</em></p>
<h1 id="story">Story</h1>
<ul>
<li>Mistwake Dungeon was a good difficulty. Although I&rsquo;m not a fan of the electricity star AOEs, very hard to read for no apparent reason. Please just stick with the old one.</li>
<li>Cutscene quality def. got better. As in animations and uniqueness.</li>
<li>Love the look and feel (Treno). There&rsquo;s a ton of good spots for &ldquo;gpose-ing&rdquo;. Music is nice too.</li>
<li>Seriously Krile? You parents were the ones who dropped you into the Source. I don&rsquo;t think they&rsquo;d care if you wanted to stay in the Source (just make up your mind) -&gt; well glad that got sorted out</li>
<li>&ldquo;Hell on Rails&rdquo; Trial (Doomtrain) is very nicely designed. Its got some nice unique mechanics, the &ldquo;sucking&rdquo; mechanic definetly trips you up the first time because the distance to move back + timing has been tuned so that you need to pre-position for it.</li>
<li>The transition from inside the engine to outside was really cool!!! This is probably one of my top normal trials now.</li>
<li>The instance battle was well done too. The roleplaying part was on point, and when it was finally time to fight a real boss you get to play as yourelf (I think this is the best flow). Love the idea using the spriggan to avoid Behemoth&rsquo;s meteor.</li>
<li>Cool so we just get to keep the key. If this were any bit realistic, we&rsquo;ve surely learned that no one this powerful should be allowed to keep the key on themsleves 24/7. Because surely the WoL being the most powerful being will never run rogue with a interdimensional travel capable tool. Then again, seeing how stuff gets stolen all the time in the story&hellip; Well I guess it can go either way.</li>
<li>I&rsquo;m guessing this key is gonna be how the writers justify being able to travel to new worlds for post-Zodiark/Hydaelyn story. Its fine I guess, but a little disappointing it isn&rsquo;t something more unique.</li>
<li>And what do you know. Ascians. I hope we get something unqiue for 8.0&hellip; I guess thats fine but please lets not have it just be SHB all over again.</li>
</ul>
<h1 id="raid">Raid</h1>
<ul>
<li>&ldquo;Feral Fandom&rdquo; -&gt; Yep thats FF14 NA playerbase for you.</li>
<li>Heavyweight 1 (Vamp Fatale) Raid was cool and unique, but a bit too flashy imo. That Half Moon is needlessly large, wish we&rsquo;d stop with mechanics that are designed to trick people even when read correctly.</li>
<li>Heavyweight 2 (Xtremes) I take it back, this is the one with the blinding effects MY EYES. Fire and water one after another. This is a pretty hard normal fight actually (the first time you run it blind). Really punishing for bad AOE placement positions since you can effectively be cut off from the team.</li>
<li>Holy wow these cutscenes are in serious need of voice acting. Its a good story but so dry and awkward without it.</li>
<li>Heavyweight 3 (Tyrant). Really? Behemoth again, double dipping from the instance battle. There&rsquo;s so many other cool FF monsters. I like the arena, it fits the guy well, all about history of the Arcadion/tradition. Fight is underwhelming and too easy imo, apart from 1 single trick mechanic that can cause a wipe&hellip;</li>
<li>Heavyweight 4 (Lindwurm). EVERYTHING BURNS. This fight was honestly too easy, zero deaths everything can be read. 2nd phase was underhelming.</li>
<li>Overall the story here while not as in depth and relevant to the story as Endwalker raids, still had a nice little twist at the end I def did not expect. Enjoyed it!</li>
</ul>
<h1 id="misc">Misc</h1>
<ul>
<li>The new Frontline map is &ldquo;dangerous&rdquo;. Overall the new capturing point system is far better than a non-interruptable interact like in Onsal Hakir. The snowman and aurora events are also good, and I think they come in right when they&rsquo;re needed too (to spice things up/allow for a turning point).</li>
<li>The map design however is far too complex, all these bridges and everywhere and invisible walls. It does add a lot of chokepoints but also makes it difficult to navigate from point A -&gt; B (but partially I guess this is done cause the map does feel smaller than Onsal).</li>
</ul>


<a href="https://micro.pinapelz.com//tags/ffxiv" class="p-category">#ffxiv</a></description> </item> <item> <title>Arcade Monsters</title> - <link>https://micro.pinapelz.moe/posts/2025-12-18-07-arcade-monsters-sd/</link> + <link>https://micro.pinapelz.com/posts/2025-12-18-07-arcade-monsters-sd/</link> <pubDate>Thu, 18 Dec 2025 21:38:23 -0800</pubDate><author>yukais@pinapelz.com (Pinapelz)</author> - <guid>https://micro.pinapelz.moe/posts/2025-12-18-07-arcade-monsters-sd/</guid> + <guid>https://micro.pinapelz.com/posts/2025-12-18-07-arcade-monsters-sd/</guid> <description><p>If you live in Socal and are also into arcade gaming (both retro and modern), one of the great weekend day-trips I&rsquo;ve found is taking the Pacific Surfliner train down to San Diego.</p>
<h1 id="getting-there">Getting There</h1>
<p>There are a number of departures in the morning, and while not as fast as a car when there&rsquo;s no traffic, you can save your energy and do other stuff on the train. The timetable also works nicely since you can pretty much get there around opening if you want to beat the crowds.</p></description> </item> <item> <title>First MXM 18 Cleared!</title> - <link>https://micro.pinapelz.moe/posts/2025-12-06-first-sdvx-18/</link> + <link>https://micro.pinapelz.com/posts/2025-12-06-first-sdvx-18/</link> <pubDate>Sat, 06 Dec 2025 22:33:23 -0800</pubDate><author>yukais@pinapelz.com (Pinapelz)</author> - <guid>https://micro.pinapelz.moe/posts/2025-12-06-first-sdvx-18/</guid> - <description><p>Cleared my first 18 difficulty chart in 

<a href="https://micro.pinapelz.moe//tags/sdvx" class="p-category">#sdvx</a>
</p>
<p>Albeit its not a very difficult one, but I think I&rsquo;m finally starting to chip away at the 17-18 difficulty wall.
<figure><img src="https://micro.pinapelz.moe/posts/2025-12-06-first-sdvx-18/18.webp"
 alt="Sound Voltex Enchant 6 Clear" width="500">
</figure>
</p></description> + <guid>https://micro.pinapelz.com/posts/2025-12-06-first-sdvx-18/</guid> + <description><p>Cleared my first 18 difficulty chart in 

<a href="https://micro.pinapelz.com//tags/sdvx" class="p-category">#sdvx</a>
</p>
<p>Albeit its not a very difficult one, but I think I&rsquo;m finally starting to chip away at the 17-18 difficulty wall.
<figure><img src="https://micro.pinapelz.com/posts/2025-12-06-first-sdvx-18/18.webp"
 alt="Sound Voltex Enchant 6 Clear" width="500">
</figure>
</p></description> </item> <item> <title>Enable HID Mode on Nintendo Pro Controller 2</title> - <link>https://micro.pinapelz.moe/posts/2025-12-04-procon2-hid-tool/</link> + <link>https://micro.pinapelz.com/posts/2025-12-04-procon2-hid-tool/</link> <pubDate>Thu, 04 Dec 2025 23:19:29 -0800</pubDate><author>yukais@pinapelz.com (Pinapelz)</author> - <guid>https://micro.pinapelz.moe/posts/2025-12-04-procon2-hid-tool/</guid> + <guid>https://micro.pinapelz.com/posts/2025-12-04-procon2-hid-tool/</guid> <description><p>Switch 2 Pro Controller is very comfy in my hands, but unfortunately it didn&rsquo;t work out of box on PC (Linux) for me like it&rsquo;s predacessor. Until there&rsquo;s actual better driver support for this thing in the kernel (or Valve does something), here&rsquo;s a hacky Python script to initialize HID-mode on the controller</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-python" data-lang="python"><span style="display:flex;"><span><span style="color:#75715e"># I only tested this script on Linux w/ Steam but in theory it shoud work on Windows?</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> usb.core <span style="color:#75715e"># install pyusb first: pip install pyusb</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> usb.util
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> time
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> sys
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>VENDOR_ID <span style="color:#f92672">=</span> <span style="color:#ae81ff">0x057E</span>
</span></span><span style="display:flex;"><span>PRODUCT_IDS <span style="color:#f92672">=</span> {
</span></span><span style="display:flex;"><span> <span style="color:#ae81ff">0x2066</span>: <span style="color:#e6db74">&#34;Joy-Con (L)&#34;</span>,
</span></span><span style="display:flex;"><span> <span style="color:#ae81ff">0x2067</span>: <span style="color:#e6db74">&#34;Joy-Con (R)&#34;</span>,
</span></span><span style="display:flex;"><span> <span style="color:#ae81ff">0x2069</span>: <span style="color:#e6db74">&#34;Pro Controller&#34;</span>,
</span></span><span style="display:flex;"><span> <span style="color:#ae81ff">0x2073</span>: <span style="color:#e6db74">&#34;GCN Controller&#34;</span>
</span></span><span style="display:flex;"><span>}
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>USB_INTERFACE_NUMBER <span style="color:#f92672">=</span> <span style="color:#ae81ff">1</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>INIT_COMMAND_0x03 <span style="color:#f92672">=</span> bytes([<span style="color:#ae81ff">0x03</span>, <span style="color:#ae81ff">0x91</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x0d</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x08</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x01</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>])
</span></span><span style="display:flex;"><span>UNKNOWN_COMMAND_0x07 <span style="color:#f92672">=</span> bytes([<span style="color:#ae81ff">0x07</span>, <span style="color:#ae81ff">0x91</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x01</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>])
</span></span><span style="display:flex;"><span>UNKNOWN_COMMAND_0x16 <span style="color:#f92672">=</span> bytes([<span style="color:#ae81ff">0x16</span>, <span style="color:#ae81ff">0x91</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x01</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>])
</span></span><span style="display:flex;"><span>REQUEST_CONTROLLER_MAC <span style="color:#f92672">=</span> bytes([<span style="color:#ae81ff">0x15</span>, <span style="color:#ae81ff">0x91</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x01</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x0e</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x02</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>])
</span></span><span style="display:flex;"><span>LTK_REQUEST <span style="color:#f92672">=</span> bytes([<span style="color:#ae81ff">0x15</span>, <span style="color:#ae81ff">0x91</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x02</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x11</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>])
</span></span><span style="display:flex;"><span>UNKNOWN_COMMAND_0x15_ARG_0x03 <span style="color:#f92672">=</span> bytes([<span style="color:#ae81ff">0x15</span>, <span style="color:#ae81ff">0x91</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x03</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x01</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>])
</span></span><span style="display:flex;"><span>UNKNOWN_COMMAND_0x09 <span style="color:#f92672">=</span> bytes([<span style="color:#ae81ff">0x09</span>, <span style="color:#ae81ff">0x91</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x07</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x08</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>])
</span></span><span style="display:flex;"><span>IMU_COMMAND_0x02 <span style="color:#f92672">=</span> bytes([<span style="color:#ae81ff">0x0c</span>, <span style="color:#ae81ff">0x91</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x02</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x04</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x27</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>])
</span></span><span style="display:flex;"><span>OUT_UNKNOWN_COMMAND_0x11 <span style="color:#f92672">=</span> bytes([<span style="color:#ae81ff">0x11</span>, <span style="color:#ae81ff">0x91</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x03</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>])
</span></span><span style="display:flex;"><span>UNKNOWN_COMMAND_0x0A <span style="color:#f92672">=</span> bytes([<span style="color:#ae81ff">0x0a</span>, <span style="color:#ae81ff">0x91</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x08</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x14</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x01</span>, <span style="color:#ae81ff">0xff</span>, <span style="color:#ae81ff">0xff</span>, <span style="color:#ae81ff">0xff</span>, <span style="color:#ae81ff">0xff</span>, <span style="color:#ae81ff">0xff</span>, <span style="color:#ae81ff">0xff</span>, <span style="color:#ae81ff">0xff</span>, <span style="color:#ae81ff">0xff</span>, <span style="color:#ae81ff">0x35</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x46</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>])
</span></span><span style="display:flex;"><span>IMU_COMMAND_0x04 <span style="color:#f92672">=</span> bytes([<span style="color:#ae81ff">0x0c</span>, <span style="color:#ae81ff">0x91</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x04</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x04</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x27</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>])
</span></span><span style="display:flex;"><span>ENABLE_HAPTICS <span style="color:#f92672">=</span> bytes([<span style="color:#ae81ff">0x03</span>, <span style="color:#ae81ff">0x91</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x0a</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x04</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x09</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>])
</span></span><span style="display:flex;"><span>OUT_UNKNOWN_COMMAND_0x10 <span style="color:#f92672">=</span> bytes([<span style="color:#ae81ff">0x10</span>, <span style="color:#ae81ff">0x91</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x01</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>])
</span></span><span style="display:flex;"><span>OUT_UNKNOWN_COMMAND_0x01 <span style="color:#f92672">=</span> bytes([<span style="color:#ae81ff">0x01</span>, <span style="color:#ae81ff">0x91</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x0c</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>])
</span></span><span style="display:flex;"><span>OUT_UNKNOWN_COMMAND_0x03 <span style="color:#f92672">=</span> bytes([<span style="color:#ae81ff">0x03</span>, <span style="color:#ae81ff">0x91</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x01</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>])
</span></span><span style="display:flex;"><span>OUT_UNKNOWN_COMMAND_0x0A_ALT <span style="color:#f92672">=</span> bytes([<span style="color:#ae81ff">0x0a</span>, <span style="color:#ae81ff">0x91</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x02</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x04</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x03</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>])
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">def</span> <span style="color:#a6e22e">send_usb_data</span>(ep_out, ep_in, data, description<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;&#34;</span>):
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">try</span>:
</span></span><span style="display:flex;"><span> ep_out<span style="color:#f92672">.</span>write(data)
</span></span><span style="display:flex;"><span> time<span style="color:#f92672">.</span>sleep(<span style="color:#ae81ff">0.01</span>)
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">try</span>:
</span></span><span style="display:flex;"><span> response <span style="color:#f92672">=</span> ep_in<span style="color:#f92672">.</span>read(<span style="color:#ae81ff">32</span>, timeout<span style="color:#f92672">=</span><span style="color:#ae81ff">100</span>)
</span></span><span style="display:flex;"><span> hex_resp <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34; &#34;</span><span style="color:#f92672">.</span>join([<span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;</span><span style="color:#e6db74">{</span>x<span style="color:#e6db74">:</span><span style="color:#e6db74">02x</span><span style="color:#e6db74">}</span><span style="color:#e6db74">&#34;</span> <span style="color:#66d9ef">for</span> x <span style="color:#f92672">in</span> response])
</span></span><span style="display:flex;"><span> print(<span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;[</span><span style="color:#e6db74">{</span>description<span style="color:#e6db74">}</span><span style="color:#e6db74">] Response: </span><span style="color:#e6db74">{</span>hex_resp<span style="color:#e6db74">}</span><span style="color:#e6db74">&#34;</span>)
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">except</span> usb<span style="color:#f92672">.</span>core<span style="color:#f92672">.</span>USBError <span style="color:#66d9ef">as</span> e:
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">if</span> e<span style="color:#f92672">.</span>errno <span style="color:#f92672">==</span> <span style="color:#ae81ff">110</span>:
</span></span><span style="display:flex;"><span> print(<span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;[</span><span style="color:#e6db74">{</span>description<span style="color:#e6db74">}</span><span style="color:#e6db74">] No response (Timeout)&#34;</span>)
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">else</span>:
</span></span><span style="display:flex;"><span> print(<span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;[</span><span style="color:#e6db74">{</span>description<span style="color:#e6db74">}</span><span style="color:#e6db74">] Read Error: </span><span style="color:#e6db74">{</span>e<span style="color:#e6db74">}</span><span style="color:#e6db74">&#34;</span>)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">except</span> usb<span style="color:#f92672">.</span>core<span style="color:#f92672">.</span>USBError <span style="color:#66d9ef">as</span> e:
</span></span><span style="display:flex;"><span> print(<span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;[</span><span style="color:#e6db74">{</span>description<span style="color:#e6db74">}</span><span style="color:#e6db74">] Write Error: </span><span style="color:#e6db74">{</span>e<span style="color:#e6db74">}</span><span style="color:#e6db74">&#34;</span>)
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">raise</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">def</span> <span style="color:#a6e22e">set_player_leds</span>(ep_out, ep_in, led_mask):
</span></span><span style="display:flex;"><span> command <span style="color:#f92672">=</span> [
</span></span><span style="display:flex;"><span> <span style="color:#ae81ff">0x09</span>, <span style="color:#ae81ff">0x91</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x07</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x08</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>,
</span></span><span style="display:flex;"><span> led_mask,
</span></span><span style="display:flex;"><span> <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>
</span></span><span style="display:flex;"><span> ]
</span></span><span style="display:flex;"><span> send_usb_data(ep_out, ep_in, bytes(command), <span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;Set LED Mask: 0x</span><span style="color:#e6db74">{</span>led_mask<span style="color:#e6db74">:</span><span style="color:#e6db74">02x</span><span style="color:#e6db74">}</span><span style="color:#e6db74">&#34;</span>)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">def</span> <span style="color:#a6e22e">connect_usb</span>():
</span></span><span style="display:flex;"><span> print(<span style="color:#e6db74">&#34;Searching for Nintendo Switch Controllers...&#34;</span>)
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">def</span> <span style="color:#a6e22e">match_device</span>(dev):
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">return</span> dev<span style="color:#f92672">.</span>idVendor <span style="color:#f92672">==</span> VENDOR_ID <span style="color:#f92672">and</span> dev<span style="color:#f92672">.</span>idProduct <span style="color:#f92672">in</span> PRODUCT_IDS
</span></span><span style="display:flex;"><span> dev <span style="color:#f92672">=</span> usb<span style="color:#f92672">.</span>core<span style="color:#f92672">.</span>find(custom_match<span style="color:#f92672">=</span>match_device)
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">if</span> dev <span style="color:#f92672">is</span> <span style="color:#66d9ef">None</span>:
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">raise</span> <span style="color:#a6e22e">ValueError</span>(<span style="color:#e6db74">&#34;Device not found&#34;</span>)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span> product_name <span style="color:#f92672">=</span> PRODUCT_IDS<span style="color:#f92672">.</span>get(dev<span style="color:#f92672">.</span>idProduct, <span style="color:#e6db74">&#34;Unknown Device&#34;</span>)
</span></span><span style="display:flex;"><span> print(<span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;Found </span><span style="color:#e6db74">{</span>product_name<span style="color:#e6db74">}</span><span style="color:#e6db74"> (ID: </span><span style="color:#e6db74">{</span>dev<span style="color:#f92672">.</span>idProduct<span style="color:#e6db74">:</span><span style="color:#e6db74">04x</span><span style="color:#e6db74">}</span><span style="color:#e6db74">)&#34;</span>)
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">if</span> dev<span style="color:#f92672">.</span>is_kernel_driver_active(USB_INTERFACE_NUMBER):
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">try</span>:
</span></span><span style="display:flex;"><span> print(<span style="color:#e6db74">&#34;Detaching kernel driver...&#34;</span>)
</span></span><span style="display:flex;"><span> dev<span style="color:#f92672">.</span>detach_kernel_driver(USB_INTERFACE_NUMBER)
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">except</span> usb<span style="color:#f92672">.</span>core<span style="color:#f92672">.</span>USBError <span style="color:#66d9ef">as</span> e:
</span></span><span style="display:flex;"><span> sys<span style="color:#f92672">.</span>exit(<span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;Could not detach kernel driver: </span><span style="color:#e6db74">{</span>e<span style="color:#e6db74">}</span><span style="color:#e6db74">&#34;</span>)
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">try</span>:
</span></span><span style="display:flex;"><span> dev<span style="color:#f92672">.</span>set_configuration()
</span></span><span style="display:flex;"><span> print(<span style="color:#e6db74">&#34;Configuration set.&#34;</span>)
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">except</span> usb<span style="color:#f92672">.</span>core<span style="color:#f92672">.</span>USBError <span style="color:#66d9ef">as</span> e:
</span></span><span style="display:flex;"><span> print(<span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;Error setting configuration: </span><span style="color:#e6db74">{</span>e<span style="color:#e6db74">}</span><span style="color:#e6db74">&#34;</span>)
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">try</span>:
</span></span><span style="display:flex;"><span> usb<span style="color:#f92672">.</span>util<span style="color:#f92672">.</span>claim_interface(dev, USB_INTERFACE_NUMBER)
</span></span><span style="display:flex;"><span> print(<span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;Interface </span><span style="color:#e6db74">{</span>USB_INTERFACE_NUMBER<span style="color:#e6db74">}</span><span style="color:#e6db74"> claimed.&#34;</span>)
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">except</span> usb<span style="color:#f92672">.</span>core<span style="color:#f92672">.</span>USBError <span style="color:#66d9ef">as</span> e:
</span></span><span style="display:flex;"><span> sys<span style="color:#f92672">.</span>exit(<span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;Could not claim interface: </span><span style="color:#e6db74">{</span>e<span style="color:#e6db74">}</span><span style="color:#e6db74">&#34;</span>)
</span></span><span style="display:flex;"><span> cfg <span style="color:#f92672">=</span> dev<span style="color:#f92672">.</span>get_active_configuration()
</span></span><span style="display:flex;"><span> intf <span style="color:#f92672">=</span> cfg[(USB_INTERFACE_NUMBER,<span style="color:#ae81ff">0</span>)]
</span></span><span style="display:flex;"><span> ep_out <span style="color:#f92672">=</span> usb<span style="color:#f92672">.</span>util<span style="color:#f92672">.</span>find_descriptor(
</span></span><span style="display:flex;"><span> intf,
</span></span><span style="display:flex;"><span> custom_match <span style="color:#f92672">=</span> <span style="color:#66d9ef">lambda</span> e: usb<span style="color:#f92672">.</span>util<span style="color:#f92672">.</span>endpoint_direction(e<span style="color:#f92672">.</span>bEndpointAddress) <span style="color:#f92672">==</span> usb<span style="color:#f92672">.</span>util<span style="color:#f92672">.</span>ENDPOINT_OUT)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span> ep_in <span style="color:#f92672">=</span> usb<span style="color:#f92672">.</span>util<span style="color:#f92672">.</span>find_descriptor(
</span></span><span style="display:flex;"><span> intf,
</span></span><span style="display:flex;"><span> custom_match <span style="color:#f92672">=</span>
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">lambda</span> e: usb<span style="color:#f92672">.</span>util<span style="color:#f92672">.</span>endpoint_direction(e<span style="color:#f92672">.</span>bEndpointAddress) <span style="color:#f92672">==</span> usb<span style="color:#f92672">.</span>util<span style="color:#f92672">.</span>ENDPOINT_IN
</span></span><span style="display:flex;"><span> )
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">if</span> <span style="color:#f92672">not</span> ep_out:
</span></span><span style="display:flex;"><span> sys<span style="color:#f92672">.</span>exit(<span style="color:#e6db74">&#34;Could not find OUT endpoint&#34;</span>)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span> print(<span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;Found Endpoint OUT: 0x</span><span style="color:#e6db74">{</span>ep_out<span style="color:#f92672">.</span>bEndpointAddress<span style="color:#e6db74">:</span><span style="color:#e6db74">02x</span><span style="color:#e6db74">}</span><span style="color:#e6db74">&#34;</span>)
</span></span><span style="display:flex;"><span> print(<span style="color:#e6db74">&#34;Starting Initialization Sequence...&#34;</span>)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">try</span>:
</span></span><span style="display:flex;"><span> send_usb_data(ep_out, ep_in, INIT_COMMAND_0x03, <span style="color:#e6db74">&#34;Init 0x03&#34;</span>)
</span></span><span style="display:flex;"><span> send_usb_data(ep_out, ep_in, UNKNOWN_COMMAND_0x07, <span style="color:#e6db74">&#34;Unknown 0x07&#34;</span>)
</span></span><span style="display:flex;"><span> send_usb_data(ep_out, ep_in, UNKNOWN_COMMAND_0x16, <span style="color:#e6db74">&#34;Unknown 0x16&#34;</span>)
</span></span><span style="display:flex;"><span> send_usb_data(ep_out, ep_in, REQUEST_CONTROLLER_MAC, <span style="color:#e6db74">&#34;Req MAC&#34;</span>)
</span></span><span style="display:flex;"><span> send_usb_data(ep_out, ep_in, LTK_REQUEST, <span style="color:#e6db74">&#34;Req LTK&#34;</span>)
</span></span><span style="display:flex;"><span> send_usb_data(ep_out, ep_in, UNKNOWN_COMMAND_0x15_ARG_0x03, <span style="color:#e6db74">&#34;Unknown 0x15&#34;</span>)
</span></span><span style="display:flex;"><span> send_usb_data(ep_out, ep_in, UNKNOWN_COMMAND_0x09, <span style="color:#e6db74">&#34;Unknown 0x09&#34;</span>)
</span></span><span style="display:flex;"><span> send_usb_data(ep_out, ep_in, IMU_COMMAND_0x02, <span style="color:#e6db74">&#34;IMU 0x02&#34;</span>)
</span></span><span style="display:flex;"><span> send_usb_data(ep_out, ep_in, OUT_UNKNOWN_COMMAND_0x11, <span style="color:#e6db74">&#34;OUT Unknown 0x11&#34;</span>)
</span></span><span style="display:flex;"><span> send_usb_data(ep_out, ep_in, UNKNOWN_COMMAND_0x0A, <span style="color:#e6db74">&#34;Unknown 0x0A&#34;</span>)
</span></span><span style="display:flex;"><span> send_usb_data(ep_out, ep_in, IMU_COMMAND_0x04, <span style="color:#e6db74">&#34;IMU 0x04&#34;</span>)
</span></span><span style="display:flex;"><span> send_usb_data(ep_out, ep_in, ENABLE_HAPTICS, <span style="color:#e6db74">&#34;Enable Haptics&#34;</span>)
</span></span><span style="display:flex;"><span> send_usb_data(ep_out, ep_in, OUT_UNKNOWN_COMMAND_0x10, <span style="color:#e6db74">&#34;OUT Unknown 0x10&#34;</span>)
</span></span><span style="display:flex;"><span> send_usb_data(ep_out, ep_in, OUT_UNKNOWN_COMMAND_0x01, <span style="color:#e6db74">&#34;OUT Unknown 0x01&#34;</span>)
</span></span><span style="display:flex;"><span> send_usb_data(ep_out, ep_in, OUT_UNKNOWN_COMMAND_0x03, <span style="color:#e6db74">&#34;OUT Unknown 0x03&#34;</span>)
</span></span><span style="display:flex;"><span> send_usb_data(ep_out, ep_in, OUT_UNKNOWN_COMMAND_0x0A_ALT, <span style="color:#e6db74">&#34;OUT Unknown 0x0A Alt&#34;</span>)
</span></span><span style="display:flex;"><span> set_player_leds(ep_out, ep_in, <span style="color:#ae81ff">0x0F</span>)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span> print(<span style="color:#e6db74">&#34;Controller initialization sequence complete! All LEDs should be on.&#34;</span>)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">except</span> <span style="color:#a6e22e">Exception</span> <span style="color:#66d9ef">as</span> e:
</span></span><span style="display:flex;"><span> print(<span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;Error during sequence: </span><span style="color:#e6db74">{</span>e<span style="color:#e6db74">}</span><span style="color:#e6db74">&#34;</span>)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">if</span> __name__ <span style="color:#f92672">==</span> <span style="color:#e6db74">&#34;__main__&#34;</span>:
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">try</span>:
</span></span><span style="display:flex;"><span> connect_usb()
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">except</span> <span style="color:#a6e22e">ValueError</span> <span style="color:#66d9ef">as</span> e:
</span></span><span style="display:flex;"><span> print(e)
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">except</span> <span style="color:#a6e22e">Exception</span> <span style="color:#66d9ef">as</span> e:
</span></span><span style="display:flex;"><span> print(<span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;Unexpected error: </span><span style="color:#e6db74">{</span>e<span style="color:#e6db74">}</span><span style="color:#e6db74">&#34;</span>)
</span></span></code></pre></div><p><strong>Steps</strong></p></description> </item> <item> <title>YouTube Music Recap 2025</title> - <link>https://micro.pinapelz.moe/posts/2025-12-03-04-yt-music-rewind/</link> + <link>https://micro.pinapelz.com/posts/2025-12-03-04-yt-music-rewind/</link> <pubDate>Wed, 03 Dec 2025 19:38:52 -0800</pubDate><author>yukais@pinapelz.com (Pinapelz)</author> - <guid>https://micro.pinapelz.moe/posts/2025-12-03-04-yt-music-rewind/</guid> + <guid>https://micro.pinapelz.com/posts/2025-12-03-04-yt-music-rewind/</guid> <description><p>Its all Bandori. At least 75% of that MyGO!!!!! listening time was probably Haruhikage since I came back to Bandori and had to catch up before watching Ave Mujica anime.</p>
<figure><img src="https://files.catbox.moe/tsquqc.jpg"
 alt="YouTube Music Recap Top 5 Artists In Order: MyGO!!!!!, Yumenokessho, Ave Mujica, KMNZ, Roselia" width="300">
</figure></description> </item> <item> <title>Follows</title> - <link>https://micro.pinapelz.moe/indie/follows/</link> + <link>https://micro.pinapelz.com/indie/follows/</link> <pubDate>Wed, 03 Dec 2025 01:17:39 -0800</pubDate><author>yukais@pinapelz.com (Pinapelz)</author> - <guid>https://micro.pinapelz.moe/indie/follows/</guid> + <guid>https://micro.pinapelz.com/indie/follows/</guid> <description><p>Here are all the pages/accounts I follow.</p>
<p>This is mostly here for pages that can receive <a href="https://indieweb.org/webmention">Webmentions</a> and the <a href="https://fed.brid.gy">Bridgy Fed</a> service.</p>
<h2 id="fediverse">Fediverse</h2>
<p>


<div class="follow-card">
 <a class="follow-target u-follow-of" href="https://sakurajima.moe/@Mofumatic">
 https://sakurajima.moe/@Mofumatic
 </a>

 <time class="follow-date dt-published" datetime="2025-12-03T00:00:00Z">
 2025-12-03
 </time>
</div>




<div class="follow-card">
 <a class="follow-target u-follow-of" href="https://mathstodon.xyz/@tao">
 https://mathstodon.xyz/@tao
 </a>

 <time class="follow-date dt-published" datetime="2025-12-03T00:00:00Z">
 2025-12-03
 </time>
</div>




<div class="follow-card">
 <a class="follow-target u-follow-of" href="https://sakurajima.moe/@chikorita157">
 https://sakurajima.moe/@chikorita157
 </a>

 <time class="follow-date dt-published" datetime="2025-12-03T00:00:00Z">
 2025-12-03
 </time>
</div>




<div class="follow-card">
 <a class="follow-target u-follow-of" href="https://sakurajima.moe/@sakurajima">
 https://sakurajima.moe/@sakurajima
 </a>

 <time class="follow-date dt-published" datetime="2025-12-03T00:00:00Z">
 2025-12-03
 </time>
</div>




<div class="follow-card">
 <a class="follow-target u-follow-of" href="https://floss.social/@kde">
 https://floss.social/@kde
 </a>

 <time class="follow-date dt-published" datetime="2025-12-03T00:00:00Z">
 2025-12-03
 </time>
</div>




<div class="follow-card">
 <a class="follow-target u-follow-of" href="https://mastodon.social/@gamingonlinux">
 https://mastodon.social/@gamingonlinux
 </a>

 <time class="follow-date dt-published" datetime="2025-12-03T00:00:00Z">
 2025-12-03
 </time>
</div>




<div class="follow-card">
 <a class="follow-target u-follow-of" href="https://threads.net/@nintendeal">
 https://threads.net/@nintendeal
 </a>

 <time class="follow-date dt-published" datetime="2025-12-03T00:00:00Z">
 2025-12-03
 </time>
</div>




<div class="follow-card">
 <a class="follow-target u-follow-of" href="https://mastodon.social/@Mastodon">
 https://mastodon.social/@Mastodon
 </a>

 <time class="follow-date dt-published" datetime="2025-12-04T00:00:00Z">
 2025-12-04
 </time>
</div>




<div class="follow-card">
 <a class="follow-target u-follow-of" href="https://jvns.ca/@b0rk">
 https://jvns.ca/@b0rk
 </a>

 <time class="follow-date dt-published" datetime="2025-12-04T00:00:00Z">
 2025-12-04
 </time>
</div>




<div class="follow-card">
 <a class="follow-target u-follow-of" href="https://tippy.rabbithouse.garden/@serebii">
 https://tippy.rabbithouse.garden/@serebii
 </a>

 <time class="follow-date dt-published" datetime="2025-12-04T00:00:00Z">
 2025-12-04
 </time>
</div>




<div class="follow-card">
 <a class="follow-target u-follow-of" href="https://retro.pizza/@outofprintarchive">
 https://retro.pizza/@outofprintarchive
 </a>

 <time class="follow-date dt-published" datetime="2025-12-04T00:00:00Z">
 2025-12-04
 </time>
</div>




<div class="follow-card">
 <a class="follow-target u-follow-of" href="https://peoplemaking.games/@nindiespotlight">
 https://peoplemaking.games/@nindiespotlight
 </a>

 <time class="follow-date dt-published" datetime="2025-12-04T00:00:00Z">
 2025-12-04
 </time>
</div>
</p>
<h2 id="bluesky">Bluesky</h2>



<div class="follow-card">
 <a class="follow-target u-follow-of" href="https://bsky.app/profile/anew.social">
 https://bsky.app/profile/anew.social
 </a>

 <time class="follow-date dt-published" datetime="2025-12-03T00:00:00Z">
 2025-12-03
 </time>
</div>

<blockquote>
<p>Learn more about the <a href="https://indieweb.org">Indieweb</a></p></description> </item> <item> <title>INIU Power Bank Gets Recall</title> - <link>https://micro.pinapelz.moe/posts/2025-12-02-power-bank-recall/</link> + <link>https://micro.pinapelz.com/posts/2025-12-02-power-bank-recall/</link> <pubDate>Tue, 02 Dec 2025 19:45:01 -0800</pubDate><author>yukais@pinapelz.com (Pinapelz)</author> - <guid>https://micro.pinapelz.moe/posts/2025-12-02-power-bank-recall/</guid> + <guid>https://micro.pinapelz.com/posts/2025-12-02-power-bank-recall/</guid> <description><p>It would seem that I, along with what seems like the entirety of <a href="https://www.reddit.com/r/amazonprime/comments/1pcq5ug/how_to_get_customer_support_for_recall_iniu/">Reddit</a> bought the same cheap 10000mAh power bank and now its getting recalled.</p>
<p>I wonder if it has anything to do with the poor quality they found in that viral <a href="https://www.lumafield.com/first-article/posts/whats-hiding-inside-haribos-power-bank-and-headphones">Haribo Powerbank</a>. Not sure since I&rsquo;ve had this one for a long time. I guess I really got what I paid for, shame cause it really is super slim and works well.</p></description> </item> <item> <title>China Town Fair</title> - <link>https://micro.pinapelz.moe/posts/2025-12-02-china-town-fair/</link> + <link>https://micro.pinapelz.com/posts/2025-12-02-china-town-fair/</link> <pubDate>Tue, 02 Dec 2025 00:22:32 -0800</pubDate><author>yukais@pinapelz.com (Pinapelz)</author> - <guid>https://micro.pinapelz.moe/posts/2025-12-02-china-town-fair/</guid> - <description><p>Visited New York during the Thanksgiving break and had a chance to stopped by one of the most legendary landmarks North American arcade gaming history.</p>
<figure><img src="https://micro.pinapelz.moe/posts/2025-12-02-china-town-fair/outside-ctf.webp"
 alt="China Town Fair Outside">
</figure>

<p>Also yep you&rsquo;re reading that right, it indeed once home to a <a href="https://davidpotorti.substack.com/p/the-dancing-chicken">dancing chicken as well as one that played tic tac toe</a>.</p>
<p>But apart from just being an old arcade, it was also home to one of the largest competitive arcade game fighting scene (Marvel vs Capcom, Street Fighter, etc.). Many of NAs top players frequented this arcade. However, as we all already know video arcades began to die down during the early 2000s and China Town Fair was no exception having closed in 2011.</p></description> + <guid>https://micro.pinapelz.com/posts/2025-12-02-china-town-fair/</guid> + <description><p>Visited New York during the Thanksgiving break and had a chance to stopped by one of the most legendary landmarks North American arcade gaming history.</p>
<figure><img src="https://micro.pinapelz.com/posts/2025-12-02-china-town-fair/outside-ctf.webp"
 alt="China Town Fair Outside">
</figure>

<p>Also yep you&rsquo;re reading that right, it indeed once home to a <a href="https://davidpotorti.substack.com/p/the-dancing-chicken">dancing chicken as well as one that played tic tac toe</a>.</p>
<p>But apart from just being an old arcade, it was also home to one of the largest competitive arcade game fighting scene (Marvel vs Capcom, Street Fighter, etc.). Many of NAs top players frequented this arcade. However, as we all already know video arcades began to die down during the early 2000s and China Town Fair was no exception having closed in 2011.</p></description> </item> <item> <title>Hello World - Why This</title> - <link>https://micro.pinapelz.moe/posts/2025-12-01-hello-world/</link> + <link>https://micro.pinapelz.com/posts/2025-12-01-hello-world/</link> <pubDate>Mon, 01 Dec 2025 20:11:57 -0800</pubDate><author>yukais@pinapelz.com (Pinapelz)</author> - <guid>https://micro.pinapelz.moe/posts/2025-12-01-hello-world/</guid> + <guid>https://micro.pinapelz.com/posts/2025-12-01-hello-world/</guid> <description><p>I think having control of your own data is great. The same is true for decentralized social media. I&rsquo;ve always been a primary user of microblog platforms (like Twitter/X). Having experienced both the traditional and &ldquo;decentralized&rdquo; approaches to microblogs, they both have some particular shortcoming in terms of what I want to get out of &ldquo;social media&rdquo;.</p>
<h2 id="twitterx">Twitter/X</h2>
<p>This is fairly self explanatory. The rebranding of Twitter to X and Musk&rsquo;s new ownership of the platform shifted the direction of the platform to be ever more political. X Premium boosting visibility is also something I wasn&rsquo;t a particular fan of. You can&rsquo;t view anything without signing in either, so goodbye viewing stuff anonymously. There&rsquo;s just a lot of &ldquo;features&rdquo; here I&rsquo;m not a fan of. Needless to say, there&rsquo;s a lot of reasons to not post stuff there.</p></description> </item> </channel> diff --git a/micro.pinapelz.moe/indie/follows/index.html b/micro.pinapelz.com/indie/follows/index.html index a2d2502..4d54ca1 100644 --- a/micro.pinapelz.moe/indie/follows/index.html +++ b/micro.pinapelz.com/indie/follows/index.html @@ -5,7 +5,7 @@ <meta name="viewport" content="width=device-width, initial-scale=1"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <style type=text/css>body{font-family:monospace;}</style> - <title>Follows | micro.pinapelz.moe</title> + <title>Follows | micro.pinapelz.com</title> <meta name="author" content="map[avatar:https://files.catbox.moe/5r1pue.jpg banner:https://files.pinapelz.com/pso2ngs-2232-collab.png bio:yo! and he's more than a cover he's a quilt<br/> General arcade rhythm game enjoyer (SDVX, IIDX, CHUNITHM)<br/> @@ -29,7 +29,7 @@ rel="token_endpoint" href="https://tokens.indieauth.com/token" /> - <link rel="webmention" href="https://webmention.io/micro.pinapelz.moe/webmention" /> + <link rel="webmention" href="https://webmention.io/micro.pinapelz.com/webmention" /> @@ -39,7 +39,7 @@ <div style="display:flex;flex-flow:row wrap;justify-content:space-between"> <div style="align-self:flex-start;"> ==============<br> - == <a href="https://micro.pinapelz.moe/">Pinapelz</a> ==<br> + == <a href="https://micro.pinapelz.com/">Pinapelz</a> ==<br> ============== </div> <div style="align-self:center;">check it out. I'm in the house like carpet</div> @@ -78,7 +78,7 @@ Arch Linux + Hyprland user (btw)<br/> Hi from the <a href="https://indieweb.org/">indieweb</a>, if you are seeing me bridged elsewhere!</p> </div> - <p class="bio-name"><a href="https://micro.pinapelz.moe/" rel="me" class="p-nickname p-name u-url">Pinapelz</a></p> + <p class="bio-name"><a href="https://micro.pinapelz.com/" rel="me" class="p-nickname p-name u-url">Pinapelz</a></p> </div> <hr/> </div><div class="e-content"> @@ -280,7 +280,7 @@ <p style="text-align: center" class="copyright"> - © <a href="https://micro.pinapelz.moe/"><b>micro.pinapelz.moe</b></a>. + © <a href="https://micro.pinapelz.com/"><b>micro.pinapelz.com</b></a>. </p> </footer> diff --git a/micro.pinapelz.moe/indie/index.html b/micro.pinapelz.com/indie/index.html index 6f09757..79eec48 100644 --- a/micro.pinapelz.moe/indie/index.html +++ b/micro.pinapelz.com/indie/index.html @@ -5,7 +5,7 @@ <meta name="viewport" content="width=device-width, initial-scale=1"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <style type=text/css>body{font-family:monospace;}</style> - <title>Indies | micro.pinapelz.moe</title> + <title>Indies | micro.pinapelz.com</title> <meta name="author" content="map[avatar:https://files.catbox.moe/5r1pue.jpg banner:https://files.pinapelz.com/pso2ngs-2232-collab.png bio:yo! and he's more than a cover he's a quilt<br/> General arcade rhythm game enjoyer (SDVX, IIDX, CHUNITHM)<br/> @@ -14,7 +14,7 @@ Arch Linux + Hyprland user (btw)<br/> Hi from the <a href="https://indieweb.org/">indieweb</a>, if you are seeing me bridged elsewhere! email:yukais@pinapelz.com name:Pinapelz]"> <link rel="stylesheet" href="/css/style.css"> - <link rel="alternate" type="application/rss+xml" href="/indie/index.xml" title="micro.pinapelz.moe"> + <link rel="alternate" type="application/rss+xml" href="/indie/index.xml" title="micro.pinapelz.com"> <link rel="me" href="https://github.com/pinapelz" /> @@ -29,7 +29,7 @@ rel="token_endpoint" href="https://tokens.indieauth.com/token" /> - <link rel="webmention" href="https://webmention.io/micro.pinapelz.moe/webmention" /> + <link rel="webmention" href="https://webmention.io/micro.pinapelz.com/webmention" /> @@ -39,7 +39,7 @@ <div style="display:flex;flex-flow:row wrap;justify-content:space-between"> <div style="align-self:flex-start;"> ==============<br> - == <a href="https://micro.pinapelz.moe/">Pinapelz</a> ==<br> + == <a href="https://micro.pinapelz.com/">Pinapelz</a> ==<br> ============== </div> <div style="align-self:center;">check it out. I'm in the house like carpet</div> @@ -111,7 +111,7 @@ Arch Linux + Hyprland user (btw)<br/> Hi from the <a href="https://indieweb.org/">indieweb</a>, if you are seeing me bridged elsewhere!</p> </div> - <p class="bio-name"><a href="https://micro.pinapelz.moe/" rel="me" class="p-nickname p-name u-url">Pinapelz</a></p> + <p class="bio-name"><a href="https://micro.pinapelz.com/" rel="me" class="p-nickname p-name u-url">Pinapelz</a></p> </div> <hr/> @@ -119,7 +119,7 @@ <div class="post-title"> <time class="date dt-published" datetime="2025-12-03T01:17:39-08:00">03</time>: - <a href="https://micro.pinapelz.moe/indie/follows/" class="u-url p-name title"> + <a href="https://micro.pinapelz.com/indie/follows/" class="u-url p-name title"> Follows </a> </div> @@ -150,7 +150,7 @@ <p style="text-align: center" class="copyright"> - © <a href="https://micro.pinapelz.moe/"><b>micro.pinapelz.moe</b></a>. + © <a href="https://micro.pinapelz.com/"><b>micro.pinapelz.com</b></a>. </p> </footer> diff --git a/micro.pinapelz.moe/indie/index.xml b/micro.pinapelz.com/indie/index.xml index e338b2d..4c39c90 100644 --- a/micro.pinapelz.moe/indie/index.xml +++ b/micro.pinapelz.com/indie/index.xml @@ -1,20 +1,20 @@ <?xml version="1.0" encoding="utf-8" standalone="yes"?> <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"> <channel> - <title>Indies on micro.pinapelz.moe</title> - <link>https://micro.pinapelz.moe/indie/</link> - <description>Recent content in Indies on micro.pinapelz.moe</description> + <title>Indies on micro.pinapelz.com</title> + <link>https://micro.pinapelz.com/indie/</link> + <description>Recent content in Indies on micro.pinapelz.com</description> <generator>Hugo</generator> <language>en-us</language> <managingEditor>yukais@pinapelz.com (Pinapelz)</managingEditor> <webMaster>yukais@pinapelz.com (Pinapelz)</webMaster> <lastBuildDate>Wed, 03 Dec 2025 01:17:39 -0800</lastBuildDate> - <atom:link href="https://micro.pinapelz.moe/indie/index.xml" rel="self" type="application/rss+xml" /> + <atom:link href="https://micro.pinapelz.com/indie/index.xml" rel="self" type="application/rss+xml" /> <item> <title>Follows</title> - <link>https://micro.pinapelz.moe/indie/follows/</link> + <link>https://micro.pinapelz.com/indie/follows/</link> <pubDate>Wed, 03 Dec 2025 01:17:39 -0800</pubDate><author>yukais@pinapelz.com (Pinapelz)</author> - <guid>https://micro.pinapelz.moe/indie/follows/</guid> + <guid>https://micro.pinapelz.com/indie/follows/</guid> <description><p>Here are all the pages/accounts I follow.</p>
<p>This is mostly here for pages that can receive <a href="https://indieweb.org/webmention">Webmentions</a> and the <a href="https://fed.brid.gy">Bridgy Fed</a> service.</p>
<h2 id="fediverse">Fediverse</h2>
<p>


<div class="follow-card">
 <a class="follow-target u-follow-of" href="https://sakurajima.moe/@Mofumatic">
 https://sakurajima.moe/@Mofumatic
 </a>

 <time class="follow-date dt-published" datetime="2025-12-03T00:00:00Z">
 2025-12-03
 </time>
</div>




<div class="follow-card">
 <a class="follow-target u-follow-of" href="https://mathstodon.xyz/@tao">
 https://mathstodon.xyz/@tao
 </a>

 <time class="follow-date dt-published" datetime="2025-12-03T00:00:00Z">
 2025-12-03
 </time>
</div>




<div class="follow-card">
 <a class="follow-target u-follow-of" href="https://sakurajima.moe/@chikorita157">
 https://sakurajima.moe/@chikorita157
 </a>

 <time class="follow-date dt-published" datetime="2025-12-03T00:00:00Z">
 2025-12-03
 </time>
</div>




<div class="follow-card">
 <a class="follow-target u-follow-of" href="https://sakurajima.moe/@sakurajima">
 https://sakurajima.moe/@sakurajima
 </a>

 <time class="follow-date dt-published" datetime="2025-12-03T00:00:00Z">
 2025-12-03
 </time>
</div>




<div class="follow-card">
 <a class="follow-target u-follow-of" href="https://floss.social/@kde">
 https://floss.social/@kde
 </a>

 <time class="follow-date dt-published" datetime="2025-12-03T00:00:00Z">
 2025-12-03
 </time>
</div>




<div class="follow-card">
 <a class="follow-target u-follow-of" href="https://mastodon.social/@gamingonlinux">
 https://mastodon.social/@gamingonlinux
 </a>

 <time class="follow-date dt-published" datetime="2025-12-03T00:00:00Z">
 2025-12-03
 </time>
</div>




<div class="follow-card">
 <a class="follow-target u-follow-of" href="https://threads.net/@nintendeal">
 https://threads.net/@nintendeal
 </a>

 <time class="follow-date dt-published" datetime="2025-12-03T00:00:00Z">
 2025-12-03
 </time>
</div>




<div class="follow-card">
 <a class="follow-target u-follow-of" href="https://mastodon.social/@Mastodon">
 https://mastodon.social/@Mastodon
 </a>

 <time class="follow-date dt-published" datetime="2025-12-04T00:00:00Z">
 2025-12-04
 </time>
</div>




<div class="follow-card">
 <a class="follow-target u-follow-of" href="https://jvns.ca/@b0rk">
 https://jvns.ca/@b0rk
 </a>

 <time class="follow-date dt-published" datetime="2025-12-04T00:00:00Z">
 2025-12-04
 </time>
</div>




<div class="follow-card">
 <a class="follow-target u-follow-of" href="https://tippy.rabbithouse.garden/@serebii">
 https://tippy.rabbithouse.garden/@serebii
 </a>

 <time class="follow-date dt-published" datetime="2025-12-04T00:00:00Z">
 2025-12-04
 </time>
</div>




<div class="follow-card">
 <a class="follow-target u-follow-of" href="https://retro.pizza/@outofprintarchive">
 https://retro.pizza/@outofprintarchive
 </a>

 <time class="follow-date dt-published" datetime="2025-12-04T00:00:00Z">
 2025-12-04
 </time>
</div>




<div class="follow-card">
 <a class="follow-target u-follow-of" href="https://peoplemaking.games/@nindiespotlight">
 https://peoplemaking.games/@nindiespotlight
 </a>

 <time class="follow-date dt-published" datetime="2025-12-04T00:00:00Z">
 2025-12-04
 </time>
</div>
</p>
<h2 id="bluesky">Bluesky</h2>



<div class="follow-card">
 <a class="follow-target u-follow-of" href="https://bsky.app/profile/anew.social">
 https://bsky.app/profile/anew.social
 </a>

 <time class="follow-date dt-published" datetime="2025-12-03T00:00:00Z">
 2025-12-03
 </time>
</div>

<blockquote>
<p>Learn more about the <a href="https://indieweb.org">Indieweb</a></p></description> </item> </channel> diff --git a/micro.pinapelz.moe/indie/page/1/index.html b/micro.pinapelz.com/indie/page/1/index.html index cdf2090..13c45ec 100644 --- a/micro.pinapelz.moe/indie/page/1/index.html +++ b/micro.pinapelz.com/indie/page/1/index.html @@ -1,9 +1,9 @@ <!DOCTYPE html> <html lang="en-us"> <head> - <title>https://micro.pinapelz.moe/indie/</title> - <link rel="canonical" href="https://micro.pinapelz.moe/indie/"> + <title>https://micro.pinapelz.com/indie/</title> + <link rel="canonical" href="https://micro.pinapelz.com/indie/"> <meta charset="utf-8"> - <meta http-equiv="refresh" content="0; url=https://micro.pinapelz.moe/indie/"> + <meta http-equiv="refresh" content="0; url=https://micro.pinapelz.com/indie/"> </head> </html> diff --git a/micro.pinapelz.moe/page/1/index.html b/micro.pinapelz.com/page/1/index.html index cc34fa8..2e6aac4 100644 --- a/micro.pinapelz.moe/page/1/index.html +++ b/micro.pinapelz.com/page/1/index.html @@ -1,9 +1,9 @@ <!DOCTYPE html> <html lang="en-us"> <head> - <title>https://micro.pinapelz.moe/</title> - <link rel="canonical" href="https://micro.pinapelz.moe/"> + <title>https://micro.pinapelz.com/</title> + <link rel="canonical" href="https://micro.pinapelz.com/"> <meta charset="utf-8"> - <meta http-equiv="refresh" content="0; url=https://micro.pinapelz.moe/"> + <meta http-equiv="refresh" content="0; url=https://micro.pinapelz.com/"> </head> </html> diff --git a/micro.pinapelz.moe/page/2/index.html b/micro.pinapelz.com/page/2/index.html index c25e8fd..8bae8aa 100644 --- a/micro.pinapelz.moe/page/2/index.html +++ b/micro.pinapelz.com/page/2/index.html @@ -6,7 +6,7 @@ <meta name="viewport" content="width=device-width, initial-scale=1"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <style type=text/css>body{font-family:monospace;}</style> - <title>micro.pinapelz.moe | micro.pinapelz.moe</title> + <title>micro.pinapelz.com | micro.pinapelz.com</title> <meta name="author" content="map[avatar:https://files.catbox.moe/5r1pue.jpg banner:https://files.pinapelz.com/pso2ngs-2232-collab.png bio:yo! and he's more than a cover he's a quilt<br/> General arcade rhythm game enjoyer (SDVX, IIDX, CHUNITHM)<br/> @@ -15,7 +15,7 @@ Arch Linux + Hyprland user (btw)<br/> Hi from the <a href="https://indieweb.org/">indieweb</a>, if you are seeing me bridged elsewhere! email:yukais@pinapelz.com name:Pinapelz]"> <link rel="stylesheet" href="/css/style.css"> - <link rel="alternate" type="application/rss+xml" href="/index.xml" title="micro.pinapelz.moe"> + <link rel="alternate" type="application/rss+xml" href="/index.xml" title="micro.pinapelz.com"> <link rel="me" href="https://github.com/pinapelz" /> @@ -30,7 +30,7 @@ rel="token_endpoint" href="https://tokens.indieauth.com/token" /> - <link rel="webmention" href="https://webmention.io/micro.pinapelz.moe/webmention" /> + <link rel="webmention" href="https://webmention.io/micro.pinapelz.com/webmention" /> @@ -40,7 +40,7 @@ <div style="display:flex;flex-flow:row wrap;justify-content:space-between"> <div style="align-self:flex-start;"> ==============<br> - == <a href="https://micro.pinapelz.moe/">Pinapelz</a> ==<br> + == <a href="https://micro.pinapelz.com/">Pinapelz</a> ==<br> ============== </div> <div style="align-self:center;">check it out. I'm in the house like carpet</div> @@ -61,7 +61,7 @@ <main> <hr /> - <h1 class="site-title">micro.pinapelz.moe</h1><div class="h-card p-author bio-card" style="text-align:center;"> + <h1 class="site-title">micro.pinapelz.com</h1><div class="h-card p-author bio-card" style="text-align:center;"> <div class="banner" style="margin-bottom: 1rem; position: relative;"> <img class="u-featured" src="https://files.pinapelz.com/pso2ngs-2232-collab.png" alt="Banner" style="width: 100%; max-width: 400px; height: auto; border-radius: 8px; opacity: 0.6;"> @@ -76,13 +76,13 @@ Arch Linux + Hyprland user (btw)<br/> Hi from the <a href="https://indieweb.org/">indieweb</a>, if you are seeing me bridged elsewhere!</p> </div> - <p class="bio-name"><a href="https://micro.pinapelz.moe/" rel="me" class="p-nickname p-name u-url">Pinapelz</a></p> + <p class="bio-name"><a href="https://micro.pinapelz.com/" rel="me" class="p-nickname p-name u-url">Pinapelz</a></p> </div> <hr/> <article> - <h1><a href="https://micro.pinapelz.moe/posts/2025-12-02-power-bank-recall/">INIU Power Bank Gets Recall</a></h1> + <h1><a href="https://micro.pinapelz.com/posts/2025-12-02-power-bank-recall/">INIU Power Bank Gets Recall</a></h1> <b><time>Tuesday, December 2, 2025</time></b> <a href="/tags/default">default</a> @@ -91,14 +91,14 @@ <p>It would seem that I, along with what seems like the entirety of <a href="https://www.reddit.com/r/amazonprime/comments/1pcq5ug/how_to_get_customer_support_for_recall_iniu/">Reddit</a> bought the same cheap 10000mAh power bank and now its getting recalled.</p> <p>I wonder if it has anything to do with the poor quality they found in that viral <a href="https://www.lumafield.com/first-article/posts/whats-hiding-inside-haribos-power-bank-and-headphones">Haribo Powerbank</a>. Not sure since I’ve had this one for a long time. I guess I really got what I paid for, shame cause it really is super slim and works well.</p> - <a href="https://micro.pinapelz.moe/posts/2025-12-02-power-bank-recall/">Read more...</a> + <a href="https://micro.pinapelz.com/posts/2025-12-02-power-bank-recall/">Read more...</a> </div> </article> <article> - <h1><a href="https://micro.pinapelz.moe/posts/2025-12-02-china-town-fair/">China Town Fair</a></h1> + <h1><a href="https://micro.pinapelz.com/posts/2025-12-02-china-town-fair/">China Town Fair</a></h1> <b><time>Tuesday, December 2, 2025</time></b> <a href="/tags/arcade">arcade</a> @@ -112,14 +112,14 @@ <p>Also yep you’re reading that right, it indeed once home to a <a href="https://davidpotorti.substack.com/p/the-dancing-chicken">dancing chicken as well as one that played tic tac toe</a>.</p> <p>But apart from just being an old arcade, it was also home to one of the largest competitive arcade game fighting scene (Marvel vs Capcom, Street Fighter, etc.). Many of NAs top players frequented this arcade. However, as we all already know video arcades began to die down during the early 2000s and China Town Fair was no exception having closed in 2011.</p> - <a href="https://micro.pinapelz.moe/posts/2025-12-02-china-town-fair/">Read more...</a> + <a href="https://micro.pinapelz.com/posts/2025-12-02-china-town-fair/">Read more...</a> </div> </article> <article> - <h1><a href="https://micro.pinapelz.moe/posts/2025-12-01-hello-world/">Hello World - Why This</a></h1> + <h1><a href="https://micro.pinapelz.com/posts/2025-12-01-hello-world/">Hello World - Why This</a></h1> <b><time>Monday, December 1, 2025</time></b> <a href="/tags/default">default</a> @@ -129,7 +129,7 @@ <h2 id="twitterx">Twitter/X</h2> <p>This is fairly self explanatory. The rebranding of Twitter to X and Musk’s new ownership of the platform shifted the direction of the platform to be ever more political. X Premium boosting visibility is also something I wasn’t a particular fan of. You can’t view anything without signing in either, so goodbye viewing stuff anonymously. There’s just a lot of “features” here I’m not a fan of. Needless to say, there’s a lot of reasons to not post stuff there.</p> - <a href="https://micro.pinapelz.moe/posts/2025-12-01-hello-world/">Read more...</a> + <a href="https://micro.pinapelz.com/posts/2025-12-01-hello-world/">Read more...</a> </div> </article> @@ -155,7 +155,7 @@ <p style="text-align: center" class="copyright"> - © <a href="https://micro.pinapelz.moe/"><b>micro.pinapelz.moe</b></a>. + © <a href="https://micro.pinapelz.com/"><b>micro.pinapelz.com</b></a>. </p> </footer> diff --git a/micro.pinapelz.moe/posts/2025-12-01-hello-world/index.html b/micro.pinapelz.com/posts/2025-12-01-hello-world/index.html index 779d6dd..51eb74c 100644 --- a/micro.pinapelz.moe/posts/2025-12-01-hello-world/index.html +++ b/micro.pinapelz.com/posts/2025-12-01-hello-world/index.html @@ -5,7 +5,7 @@ <meta name="viewport" content="width=device-width, initial-scale=1"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <style type=text/css>body{font-family:monospace;}</style> - <title>Hello World - Why This | micro.pinapelz.moe</title> + <title>Hello World - Why This | micro.pinapelz.com</title> <meta name="author" content="map[avatar:https://files.catbox.moe/5r1pue.jpg banner:https://files.pinapelz.com/pso2ngs-2232-collab.png bio:yo! and he's more than a cover he's a quilt<br/> General arcade rhythm game enjoyer (SDVX, IIDX, CHUNITHM)<br/> @@ -29,7 +29,7 @@ rel="token_endpoint" href="https://tokens.indieauth.com/token" /> - <link rel="webmention" href="https://webmention.io/micro.pinapelz.moe/webmention" /> + <link rel="webmention" href="https://webmention.io/micro.pinapelz.com/webmention" /> @@ -39,7 +39,7 @@ <div style="display:flex;flex-flow:row wrap;justify-content:space-between"> <div style="align-self:flex-start;"> ==============<br> - == <a href="https://micro.pinapelz.moe/">Pinapelz</a> ==<br> + == <a href="https://micro.pinapelz.com/">Pinapelz</a> ==<br> ============== </div> <div style="align-self:center;">check it out. I'm in the house like carpet</div> @@ -78,7 +78,7 @@ Arch Linux + Hyprland user (btw)<br/> Hi from the <a href="https://indieweb.org/">indieweb</a>, if you are seeing me bridged elsewhere!</p> </div> - <p class="bio-name"><a href="https://micro.pinapelz.moe/" rel="me" class="p-nickname p-name u-url">Pinapelz</a></p> + <p class="bio-name"><a href="https://micro.pinapelz.com/" rel="me" class="p-nickname p-name u-url">Pinapelz</a></p> </div> <hr/> </div> @@ -88,7 +88,7 @@ <time class="dt-published" datetime="2025-12-01T20:11:57-08:00"> Monday, December 1, 2025 </time> - - <a href="https://micro.pinapelz.moe/posts/2025-12-01-hello-world/" class="u-url u-uid" >Permalink</a> + - <a href="https://micro.pinapelz.com/posts/2025-12-01-hello-world/" class="u-url u-uid" >Permalink</a> </b></div> <div class="article-meta"><span class="categories"> Categories: @@ -303,11 +303,11 @@ AtProto allows you to host a <code>PDS (Personal Data Server)</code> which store </style> <script> -const PAGE_URL = "https:\/\/micro.pinapelz.moe\/posts\/2025-12-01-hello-world\/"; +const PAGE_URL = "https:\/\/micro.pinapelz.com\/posts\/2025-12-01-hello-world\/"; async function loadMentions() { const url = - "https://webmention.io/api/mentions.jf2?domain=micro.pinapelz.moe&token=hdjQAqlZwgJmSuPSiU8h8w"; + "https://webmention.io/api/mentions.jf2?domain=micro.pinapelz.com&token=hdjQAqlZwgJmSuPSiU8h8w"; const res = await fetch(url); const data = await res.json(); @@ -493,7 +493,7 @@ loadMentions(); <p style="text-align: center" class="copyright"> - © <a href="https://micro.pinapelz.moe/"><b>micro.pinapelz.moe</b></a>. + © <a href="https://micro.pinapelz.com/"><b>micro.pinapelz.com</b></a>. </p> </footer> diff --git a/micro.pinapelz.moe/posts/2025-12-02-china-town-fair/gloves.webp b/micro.pinapelz.com/posts/2025-12-02-china-town-fair/gloves.webp Binary files differindex fd42b6c..fd42b6c 100644 --- a/micro.pinapelz.moe/posts/2025-12-02-china-town-fair/gloves.webp +++ b/micro.pinapelz.com/posts/2025-12-02-china-town-fair/gloves.webp diff --git a/micro.pinapelz.moe/posts/2025-12-02-china-town-fair/index.html b/micro.pinapelz.com/posts/2025-12-02-china-town-fair/index.html index d19c277..8c6ccfb 100644 --- a/micro.pinapelz.moe/posts/2025-12-02-china-town-fair/index.html +++ b/micro.pinapelz.com/posts/2025-12-02-china-town-fair/index.html @@ -5,7 +5,7 @@ <meta name="viewport" content="width=device-width, initial-scale=1"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <style type=text/css>body{font-family:monospace;}</style> - <title>China Town Fair | micro.pinapelz.moe</title> + <title>China Town Fair | micro.pinapelz.com</title> <meta name="author" content="map[avatar:https://files.catbox.moe/5r1pue.jpg banner:https://files.pinapelz.com/pso2ngs-2232-collab.png bio:yo! and he's more than a cover he's a quilt<br/> General arcade rhythm game enjoyer (SDVX, IIDX, CHUNITHM)<br/> @@ -29,7 +29,7 @@ rel="token_endpoint" href="https://tokens.indieauth.com/token" /> - <link rel="webmention" href="https://webmention.io/micro.pinapelz.moe/webmention" /> + <link rel="webmention" href="https://webmention.io/micro.pinapelz.com/webmention" /> @@ -39,7 +39,7 @@ <div style="display:flex;flex-flow:row wrap;justify-content:space-between"> <div style="align-self:flex-start;"> ==============<br> - == <a href="https://micro.pinapelz.moe/">Pinapelz</a> ==<br> + == <a href="https://micro.pinapelz.com/">Pinapelz</a> ==<br> ============== </div> <div style="align-self:center;">check it out. I'm in the house like carpet</div> @@ -78,7 +78,7 @@ Arch Linux + Hyprland user (btw)<br/> Hi from the <a href="https://indieweb.org/">indieweb</a>, if you are seeing me bridged elsewhere!</p> </div> - <p class="bio-name"><a href="https://micro.pinapelz.moe/" rel="me" class="p-nickname p-name u-url">Pinapelz</a></p> + <p class="bio-name"><a href="https://micro.pinapelz.com/" rel="me" class="p-nickname p-name u-url">Pinapelz</a></p> </div> <hr/> </div> @@ -88,7 +88,7 @@ <time class="dt-published" datetime="2025-12-02T00:22:32-08:00"> Tuesday, December 2, 2025 </time> - - <a href="https://micro.pinapelz.moe/posts/2025-12-02-china-town-fair/" class="u-url u-uid" >Permalink</a> + - <a href="https://micro.pinapelz.com/posts/2025-12-02-china-town-fair/" class="u-url u-uid" >Permalink</a> </b></div> <div class="article-meta"><span class="categories"> Categories: @@ -308,11 +308,11 @@ </style> <script> -const PAGE_URL = "https:\/\/micro.pinapelz.moe\/posts\/2025-12-02-china-town-fair\/"; +const PAGE_URL = "https:\/\/micro.pinapelz.com\/posts\/2025-12-02-china-town-fair\/"; async function loadMentions() { const url = - "https://webmention.io/api/mentions.jf2?domain=micro.pinapelz.moe&token=hdjQAqlZwgJmSuPSiU8h8w"; + "https://webmention.io/api/mentions.jf2?domain=micro.pinapelz.com&token=hdjQAqlZwgJmSuPSiU8h8w"; const res = await fetch(url); const data = await res.json(); @@ -498,7 +498,7 @@ loadMentions(); <p style="text-align: center" class="copyright"> - © <a href="https://micro.pinapelz.moe/"><b>micro.pinapelz.moe</b></a>. + © <a href="https://micro.pinapelz.com/"><b>micro.pinapelz.com</b></a>. </p> </footer> diff --git a/micro.pinapelz.moe/posts/2025-12-02-china-town-fair/inside-ctf.webp b/micro.pinapelz.com/posts/2025-12-02-china-town-fair/inside-ctf.webp Binary files differindex d08d15f..d08d15f 100644 --- a/micro.pinapelz.moe/posts/2025-12-02-china-town-fair/inside-ctf.webp +++ b/micro.pinapelz.com/posts/2025-12-02-china-town-fair/inside-ctf.webp diff --git a/micro.pinapelz.moe/posts/2025-12-02-china-town-fair/outside-ctf.webp b/micro.pinapelz.com/posts/2025-12-02-china-town-fair/outside-ctf.webp Binary files differindex aacc4e2..aacc4e2 100644 --- a/micro.pinapelz.moe/posts/2025-12-02-china-town-fair/outside-ctf.webp +++ b/micro.pinapelz.com/posts/2025-12-02-china-town-fair/outside-ctf.webp diff --git a/micro.pinapelz.moe/posts/2025-12-02-power-bank-recall/index.html b/micro.pinapelz.com/posts/2025-12-02-power-bank-recall/index.html index d2d503f..d0e5ac6 100644 --- a/micro.pinapelz.moe/posts/2025-12-02-power-bank-recall/index.html +++ b/micro.pinapelz.com/posts/2025-12-02-power-bank-recall/index.html @@ -5,7 +5,7 @@ <meta name="viewport" content="width=device-width, initial-scale=1"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <style type=text/css>body{font-family:monospace;}</style> - <title>INIU Power Bank Gets Recall | micro.pinapelz.moe</title> + <title>INIU Power Bank Gets Recall | micro.pinapelz.com</title> <meta name="author" content="map[avatar:https://files.catbox.moe/5r1pue.jpg banner:https://files.pinapelz.com/pso2ngs-2232-collab.png bio:yo! and he's more than a cover he's a quilt<br/> General arcade rhythm game enjoyer (SDVX, IIDX, CHUNITHM)<br/> @@ -29,7 +29,7 @@ rel="token_endpoint" href="https://tokens.indieauth.com/token" /> - <link rel="webmention" href="https://webmention.io/micro.pinapelz.moe/webmention" /> + <link rel="webmention" href="https://webmention.io/micro.pinapelz.com/webmention" /> @@ -39,7 +39,7 @@ <div style="display:flex;flex-flow:row wrap;justify-content:space-between"> <div style="align-self:flex-start;"> ==============<br> - == <a href="https://micro.pinapelz.moe/">Pinapelz</a> ==<br> + == <a href="https://micro.pinapelz.com/">Pinapelz</a> ==<br> ============== </div> <div style="align-self:center;">check it out. I'm in the house like carpet</div> @@ -78,7 +78,7 @@ Arch Linux + Hyprland user (btw)<br/> Hi from the <a href="https://indieweb.org/">indieweb</a>, if you are seeing me bridged elsewhere!</p> </div> - <p class="bio-name"><a href="https://micro.pinapelz.moe/" rel="me" class="p-nickname p-name u-url">Pinapelz</a></p> + <p class="bio-name"><a href="https://micro.pinapelz.com/" rel="me" class="p-nickname p-name u-url">Pinapelz</a></p> </div> <hr/> </div> @@ -88,7 +88,7 @@ <time class="dt-published" datetime="2025-12-02T19:45:01-08:00"> Tuesday, December 2, 2025 </time> - - <a href="https://micro.pinapelz.moe/posts/2025-12-02-power-bank-recall/" class="u-url u-uid" >Permalink</a> + - <a href="https://micro.pinapelz.com/posts/2025-12-02-power-bank-recall/" class="u-url u-uid" >Permalink</a> </b></div> <div class="article-meta"><span class="categories"> Categories: @@ -301,11 +301,11 @@ </style> <script> -const PAGE_URL = "https:\/\/micro.pinapelz.moe\/posts\/2025-12-02-power-bank-recall\/"; +const PAGE_URL = "https:\/\/micro.pinapelz.com\/posts\/2025-12-02-power-bank-recall\/"; async function loadMentions() { const url = - "https://webmention.io/api/mentions.jf2?domain=micro.pinapelz.moe&token=hdjQAqlZwgJmSuPSiU8h8w"; + "https://webmention.io/api/mentions.jf2?domain=micro.pinapelz.com&token=hdjQAqlZwgJmSuPSiU8h8w"; const res = await fetch(url); const data = await res.json(); @@ -491,7 +491,7 @@ loadMentions(); <p style="text-align: center" class="copyright"> - © <a href="https://micro.pinapelz.moe/"><b>micro.pinapelz.moe</b></a>. + © <a href="https://micro.pinapelz.com/"><b>micro.pinapelz.com</b></a>. </p> </footer> diff --git a/micro.pinapelz.moe/posts/2025-12-03-04-yt-music-rewind/index.html b/micro.pinapelz.com/posts/2025-12-03-04-yt-music-rewind/index.html index 1d1e1a0..d389cdc 100644 --- a/micro.pinapelz.moe/posts/2025-12-03-04-yt-music-rewind/index.html +++ b/micro.pinapelz.com/posts/2025-12-03-04-yt-music-rewind/index.html @@ -5,7 +5,7 @@ <meta name="viewport" content="width=device-width, initial-scale=1"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <style type=text/css>body{font-family:monospace;}</style> - <title>YouTube Music Recap 2025 | micro.pinapelz.moe</title> + <title>YouTube Music Recap 2025 | micro.pinapelz.com</title> <meta name="author" content="map[avatar:https://files.catbox.moe/5r1pue.jpg banner:https://files.pinapelz.com/pso2ngs-2232-collab.png bio:yo! and he's more than a cover he's a quilt<br/> General arcade rhythm game enjoyer (SDVX, IIDX, CHUNITHM)<br/> @@ -29,7 +29,7 @@ rel="token_endpoint" href="https://tokens.indieauth.com/token" /> - <link rel="webmention" href="https://webmention.io/micro.pinapelz.moe/webmention" /> + <link rel="webmention" href="https://webmention.io/micro.pinapelz.com/webmention" /> @@ -39,7 +39,7 @@ <div style="display:flex;flex-flow:row wrap;justify-content:space-between"> <div style="align-self:flex-start;"> ==============<br> - == <a href="https://micro.pinapelz.moe/">Pinapelz</a> ==<br> + == <a href="https://micro.pinapelz.com/">Pinapelz</a> ==<br> ============== </div> <div style="align-self:center;">check it out. I'm in the house like carpet</div> @@ -78,7 +78,7 @@ Arch Linux + Hyprland user (btw)<br/> Hi from the <a href="https://indieweb.org/">indieweb</a>, if you are seeing me bridged elsewhere!</p> </div> - <p class="bio-name"><a href="https://micro.pinapelz.moe/" rel="me" class="p-nickname p-name u-url">Pinapelz</a></p> + <p class="bio-name"><a href="https://micro.pinapelz.com/" rel="me" class="p-nickname p-name u-url">Pinapelz</a></p> </div> <hr/> </div> @@ -88,7 +88,7 @@ <time class="dt-published" datetime="2025-12-03T19:38:52-08:00"> Wednesday, December 3, 2025 </time> - - <a href="https://micro.pinapelz.moe/posts/2025-12-03-04-yt-music-rewind/" class="u-url u-uid" >Permalink</a> + - <a href="https://micro.pinapelz.com/posts/2025-12-03-04-yt-music-rewind/" class="u-url u-uid" >Permalink</a> </b></div> <div class="article-meta"><span class="categories"> Categories: @@ -294,11 +294,11 @@ </style> <script> -const PAGE_URL = "https:\/\/micro.pinapelz.moe\/posts\/2025-12-03-04-yt-music-rewind\/"; +const PAGE_URL = "https:\/\/micro.pinapelz.com\/posts\/2025-12-03-04-yt-music-rewind\/"; async function loadMentions() { const url = - "https://webmention.io/api/mentions.jf2?domain=micro.pinapelz.moe&token=hdjQAqlZwgJmSuPSiU8h8w"; + "https://webmention.io/api/mentions.jf2?domain=micro.pinapelz.com&token=hdjQAqlZwgJmSuPSiU8h8w"; const res = await fetch(url); const data = await res.json(); @@ -484,7 +484,7 @@ loadMentions(); <p style="text-align: center" class="copyright"> - © <a href="https://micro.pinapelz.moe/"><b>micro.pinapelz.moe</b></a>. + © <a href="https://micro.pinapelz.com/"><b>micro.pinapelz.com</b></a>. </p> </footer> diff --git a/micro.pinapelz.moe/posts/2025-12-04-procon2-hid-tool/index.html b/micro.pinapelz.com/posts/2025-12-04-procon2-hid-tool/index.html index 921301e..7d1a70f 100644 --- a/micro.pinapelz.moe/posts/2025-12-04-procon2-hid-tool/index.html +++ b/micro.pinapelz.com/posts/2025-12-04-procon2-hid-tool/index.html @@ -5,7 +5,7 @@ <meta name="viewport" content="width=device-width, initial-scale=1"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <style type=text/css>body{font-family:monospace;}</style> - <title>Enable HID Mode on Nintendo Pro Controller 2 | micro.pinapelz.moe</title> + <title>Enable HID Mode on Nintendo Pro Controller 2 | micro.pinapelz.com</title> <meta name="author" content="map[avatar:https://files.catbox.moe/5r1pue.jpg banner:https://files.pinapelz.com/pso2ngs-2232-collab.png bio:yo! and he's more than a cover he's a quilt<br/> General arcade rhythm game enjoyer (SDVX, IIDX, CHUNITHM)<br/> @@ -29,7 +29,7 @@ rel="token_endpoint" href="https://tokens.indieauth.com/token" /> - <link rel="webmention" href="https://webmention.io/micro.pinapelz.moe/webmention" /> + <link rel="webmention" href="https://webmention.io/micro.pinapelz.com/webmention" /> @@ -39,7 +39,7 @@ <div style="display:flex;flex-flow:row wrap;justify-content:space-between"> <div style="align-self:flex-start;"> ==============<br> - == <a href="https://micro.pinapelz.moe/">Pinapelz</a> ==<br> + == <a href="https://micro.pinapelz.com/">Pinapelz</a> ==<br> ============== </div> <div style="align-self:center;">check it out. I'm in the house like carpet</div> @@ -78,7 +78,7 @@ Arch Linux + Hyprland user (btw)<br/> Hi from the <a href="https://indieweb.org/">indieweb</a>, if you are seeing me bridged elsewhere!</p> </div> - <p class="bio-name"><a href="https://micro.pinapelz.moe/" rel="me" class="p-nickname p-name u-url">Pinapelz</a></p> + <p class="bio-name"><a href="https://micro.pinapelz.com/" rel="me" class="p-nickname p-name u-url">Pinapelz</a></p> </div> <hr/> </div> @@ -88,7 +88,7 @@ <time class="dt-published" datetime="2025-12-04T23:19:29-08:00"> Thursday, December 4, 2025 </time> - - <a href="https://micro.pinapelz.moe/posts/2025-12-04-procon2-hid-tool/" class="u-url u-uid" >Permalink</a> + - <a href="https://micro.pinapelz.com/posts/2025-12-04-procon2-hid-tool/" class="u-url u-uid" >Permalink</a> </b></div> <div class="article-meta"><span class="categories"> Categories: @@ -436,11 +436,11 @@ </style> <script> -const PAGE_URL = "https:\/\/micro.pinapelz.moe\/posts\/2025-12-04-procon2-hid-tool\/"; +const PAGE_URL = "https:\/\/micro.pinapelz.com\/posts\/2025-12-04-procon2-hid-tool\/"; async function loadMentions() { const url = - "https://webmention.io/api/mentions.jf2?domain=micro.pinapelz.moe&token=hdjQAqlZwgJmSuPSiU8h8w"; + "https://webmention.io/api/mentions.jf2?domain=micro.pinapelz.com&token=hdjQAqlZwgJmSuPSiU8h8w"; const res = await fetch(url); const data = await res.json(); @@ -626,7 +626,7 @@ loadMentions(); <p style="text-align: center" class="copyright"> - © <a href="https://micro.pinapelz.moe/"><b>micro.pinapelz.moe</b></a>. + © <a href="https://micro.pinapelz.com/"><b>micro.pinapelz.com</b></a>. </p> </footer> diff --git a/micro.pinapelz.moe/posts/2025-12-06-first-sdvx-18/18.webp b/micro.pinapelz.com/posts/2025-12-06-first-sdvx-18/18.webp Binary files differindex 83768f7..83768f7 100644 --- a/micro.pinapelz.moe/posts/2025-12-06-first-sdvx-18/18.webp +++ b/micro.pinapelz.com/posts/2025-12-06-first-sdvx-18/18.webp diff --git a/micro.pinapelz.moe/posts/2025-12-06-first-sdvx-18/index.html b/micro.pinapelz.com/posts/2025-12-06-first-sdvx-18/index.html index f566c15..0d0594a 100644 --- a/micro.pinapelz.moe/posts/2025-12-06-first-sdvx-18/index.html +++ b/micro.pinapelz.com/posts/2025-12-06-first-sdvx-18/index.html @@ -5,7 +5,7 @@ <meta name="viewport" content="width=device-width, initial-scale=1"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <style type=text/css>body{font-family:monospace;}</style> - <title>First MXM 18 Cleared! | micro.pinapelz.moe</title> + <title>First MXM 18 Cleared! | micro.pinapelz.com</title> <meta name="author" content="map[avatar:https://files.catbox.moe/5r1pue.jpg banner:https://files.pinapelz.com/pso2ngs-2232-collab.png bio:yo! and he's more than a cover he's a quilt<br/> General arcade rhythm game enjoyer (SDVX, IIDX, CHUNITHM)<br/> @@ -29,7 +29,7 @@ rel="token_endpoint" href="https://tokens.indieauth.com/token" /> - <link rel="webmention" href="https://webmention.io/micro.pinapelz.moe/webmention" /> + <link rel="webmention" href="https://webmention.io/micro.pinapelz.com/webmention" /> @@ -39,7 +39,7 @@ <div style="display:flex;flex-flow:row wrap;justify-content:space-between"> <div style="align-self:flex-start;"> ==============<br> - == <a href="https://micro.pinapelz.moe/">Pinapelz</a> ==<br> + == <a href="https://micro.pinapelz.com/">Pinapelz</a> ==<br> ============== </div> <div style="align-self:center;">check it out. I'm in the house like carpet</div> @@ -78,7 +78,7 @@ Arch Linux + Hyprland user (btw)<br/> Hi from the <a href="https://indieweb.org/">indieweb</a>, if you are seeing me bridged elsewhere!</p> </div> - <p class="bio-name"><a href="https://micro.pinapelz.moe/" rel="me" class="p-nickname p-name u-url">Pinapelz</a></p> + <p class="bio-name"><a href="https://micro.pinapelz.com/" rel="me" class="p-nickname p-name u-url">Pinapelz</a></p> </div> <hr/> </div> @@ -88,7 +88,7 @@ <time class="dt-published" datetime="2025-12-06T22:33:23-08:00"> Saturday, December 6, 2025 </time> - - <a href="https://micro.pinapelz.moe/posts/2025-12-06-first-sdvx-18/" class="u-url u-uid" >Permalink</a> + - <a href="https://micro.pinapelz.com/posts/2025-12-06-first-sdvx-18/" class="u-url u-uid" >Permalink</a> </b></div> <div class="article-meta"><span class="categories"> Categories: @@ -103,7 +103,7 @@ </span></div><div class="e-content"> <p>Cleared my first 18 difficulty chart in -<a href="https://micro.pinapelz.moe//tags/sdvx" class="p-category">#sdvx</a> +<a href="https://micro.pinapelz.com//tags/sdvx" class="p-category">#sdvx</a> </p> <p>Albeit its not a very difficult one, but I think I’m finally starting to chip away at the 17-18 difficulty wall. <figure><img src="/posts/2025-12-06-first-sdvx-18/18.webp" @@ -298,11 +298,11 @@ </style> <script> -const PAGE_URL = "https:\/\/micro.pinapelz.moe\/posts\/2025-12-06-first-sdvx-18\/"; +const PAGE_URL = "https:\/\/micro.pinapelz.com\/posts\/2025-12-06-first-sdvx-18\/"; async function loadMentions() { const url = - "https://webmention.io/api/mentions.jf2?domain=micro.pinapelz.moe&token=hdjQAqlZwgJmSuPSiU8h8w"; + "https://webmention.io/api/mentions.jf2?domain=micro.pinapelz.com&token=hdjQAqlZwgJmSuPSiU8h8w"; const res = await fetch(url); const data = await res.json(); @@ -488,7 +488,7 @@ loadMentions(); <p style="text-align: center" class="copyright"> - © <a href="https://micro.pinapelz.moe/"><b>micro.pinapelz.moe</b></a>. + © <a href="https://micro.pinapelz.com/"><b>micro.pinapelz.com</b></a>. </p> </footer> diff --git a/micro.pinapelz.moe/posts/2025-12-18-07-arcade-monsters-sd/cab1.webp b/micro.pinapelz.com/posts/2025-12-18-07-arcade-monsters-sd/cab1.webp Binary files differindex 6f30510..6f30510 100644 --- a/micro.pinapelz.moe/posts/2025-12-18-07-arcade-monsters-sd/cab1.webp +++ b/micro.pinapelz.com/posts/2025-12-18-07-arcade-monsters-sd/cab1.webp diff --git a/micro.pinapelz.moe/posts/2025-12-18-07-arcade-monsters-sd/cab2.webp b/micro.pinapelz.com/posts/2025-12-18-07-arcade-monsters-sd/cab2.webp Binary files differindex 6b5f02f..6b5f02f 100644 --- a/micro.pinapelz.moe/posts/2025-12-18-07-arcade-monsters-sd/cab2.webp +++ b/micro.pinapelz.com/posts/2025-12-18-07-arcade-monsters-sd/cab2.webp diff --git a/micro.pinapelz.moe/posts/2025-12-18-07-arcade-monsters-sd/danevo.webp b/micro.pinapelz.com/posts/2025-12-18-07-arcade-monsters-sd/danevo.webp Binary files differindex c15d1f5..c15d1f5 100644 --- a/micro.pinapelz.moe/posts/2025-12-18-07-arcade-monsters-sd/danevo.webp +++ b/micro.pinapelz.com/posts/2025-12-18-07-arcade-monsters-sd/danevo.webp diff --git a/micro.pinapelz.moe/posts/2025-12-18-07-arcade-monsters-sd/index.html b/micro.pinapelz.com/posts/2025-12-18-07-arcade-monsters-sd/index.html index 8fcdded..28b63d0 100644 --- a/micro.pinapelz.moe/posts/2025-12-18-07-arcade-monsters-sd/index.html +++ b/micro.pinapelz.com/posts/2025-12-18-07-arcade-monsters-sd/index.html @@ -5,7 +5,7 @@ <meta name="viewport" content="width=device-width, initial-scale=1"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <style type=text/css>body{font-family:monospace;}</style> - <title>Arcade Monsters | micro.pinapelz.moe</title> + <title>Arcade Monsters | micro.pinapelz.com</title> <meta name="author" content="map[avatar:https://files.catbox.moe/5r1pue.jpg banner:https://files.pinapelz.com/pso2ngs-2232-collab.png bio:yo! and he's more than a cover he's a quilt<br/> General arcade rhythm game enjoyer (SDVX, IIDX, CHUNITHM)<br/> @@ -29,7 +29,7 @@ rel="token_endpoint" href="https://tokens.indieauth.com/token" /> - <link rel="webmention" href="https://webmention.io/micro.pinapelz.moe/webmention" /> + <link rel="webmention" href="https://webmention.io/micro.pinapelz.com/webmention" /> @@ -39,7 +39,7 @@ <div style="display:flex;flex-flow:row wrap;justify-content:space-between"> <div style="align-self:flex-start;"> ==============<br> - == <a href="https://micro.pinapelz.moe/">Pinapelz</a> ==<br> + == <a href="https://micro.pinapelz.com/">Pinapelz</a> ==<br> ============== </div> <div style="align-self:center;">check it out. I'm in the house like carpet</div> @@ -78,7 +78,7 @@ Arch Linux + Hyprland user (btw)<br/> Hi from the <a href="https://indieweb.org/">indieweb</a>, if you are seeing me bridged elsewhere!</p> </div> - <p class="bio-name"><a href="https://micro.pinapelz.moe/" rel="me" class="p-nickname p-name u-url">Pinapelz</a></p> + <p class="bio-name"><a href="https://micro.pinapelz.com/" rel="me" class="p-nickname p-name u-url">Pinapelz</a></p> </div> <hr/> </div> @@ -88,7 +88,7 @@ <time class="dt-published" datetime="2025-12-18T21:38:23-08:00"> Thursday, December 18, 2025 </time> - - <a href="https://micro.pinapelz.moe/posts/2025-12-18-07-arcade-monsters-sd/" class="u-url u-uid" >Permalink</a> + - <a href="https://micro.pinapelz.com/posts/2025-12-18-07-arcade-monsters-sd/" class="u-url u-uid" >Permalink</a> </b></div> <div class="article-meta"><span class="categories"> Categories: @@ -149,7 +149,7 @@ -<a href="https://micro.pinapelz.moe//tags/arcade" class="p-category">#arcade</a> +<a href="https://micro.pinapelz.com//tags/arcade" class="p-category">#arcade</a> </div> @@ -339,11 +339,11 @@ </style> <script> -const PAGE_URL = "https:\/\/micro.pinapelz.moe\/posts\/2025-12-18-07-arcade-monsters-sd\/"; +const PAGE_URL = "https:\/\/micro.pinapelz.com\/posts\/2025-12-18-07-arcade-monsters-sd\/"; async function loadMentions() { const url = - "https://webmention.io/api/mentions.jf2?domain=micro.pinapelz.moe&token=hdjQAqlZwgJmSuPSiU8h8w"; + "https://webmention.io/api/mentions.jf2?domain=micro.pinapelz.com&token=hdjQAqlZwgJmSuPSiU8h8w"; const res = await fetch(url); const data = await res.json(); @@ -529,7 +529,7 @@ loadMentions(); <p style="text-align: center" class="copyright"> - © <a href="https://micro.pinapelz.moe/"><b>micro.pinapelz.moe</b></a>. + © <a href="https://micro.pinapelz.com/"><b>micro.pinapelz.com</b></a>. </p> </footer> diff --git a/micro.pinapelz.moe/posts/2025-12-18-07-arcade-monsters-sd/view1.webp b/micro.pinapelz.com/posts/2025-12-18-07-arcade-monsters-sd/view1.webp Binary files differindex b7463ba..b7463ba 100644 --- a/micro.pinapelz.moe/posts/2025-12-18-07-arcade-monsters-sd/view1.webp +++ b/micro.pinapelz.com/posts/2025-12-18-07-arcade-monsters-sd/view1.webp diff --git a/micro.pinapelz.moe/posts/2025-12-18-07-arcade-monsters-sd/view2.webp b/micro.pinapelz.com/posts/2025-12-18-07-arcade-monsters-sd/view2.webp Binary files differindex 21956d9..21956d9 100644 --- a/micro.pinapelz.moe/posts/2025-12-18-07-arcade-monsters-sd/view2.webp +++ b/micro.pinapelz.com/posts/2025-12-18-07-arcade-monsters-sd/view2.webp diff --git a/micro.pinapelz.moe/posts/2025-12-19-08-ffxiv-patch-7-4/index.html b/micro.pinapelz.com/posts/2025-12-19-08-ffxiv-patch-7-4/index.html index 7db18f5..dbe44e6 100644 --- a/micro.pinapelz.moe/posts/2025-12-19-08-ffxiv-patch-7-4/index.html +++ b/micro.pinapelz.com/posts/2025-12-19-08-ffxiv-patch-7-4/index.html @@ -5,7 +5,7 @@ <meta name="viewport" content="width=device-width, initial-scale=1"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <style type=text/css>body{font-family:monospace;}</style> - <title>Playlog: FFXIV Dawntrail Patch 7.4 Thoughts (spoilers) | micro.pinapelz.moe</title> + <title>Playlog: FFXIV Dawntrail Patch 7.4 Thoughts (spoilers) | micro.pinapelz.com</title> <meta name="author" content="map[avatar:https://files.catbox.moe/5r1pue.jpg banner:https://files.pinapelz.com/pso2ngs-2232-collab.png bio:yo! and he's more than a cover he's a quilt<br/> General arcade rhythm game enjoyer (SDVX, IIDX, CHUNITHM)<br/> @@ -29,7 +29,7 @@ rel="token_endpoint" href="https://tokens.indieauth.com/token" /> - <link rel="webmention" href="https://webmention.io/micro.pinapelz.moe/webmention" /> + <link rel="webmention" href="https://webmention.io/micro.pinapelz.com/webmention" /> @@ -39,7 +39,7 @@ <div style="display:flex;flex-flow:row wrap;justify-content:space-between"> <div style="align-self:flex-start;"> ==============<br> - == <a href="https://micro.pinapelz.moe/">Pinapelz</a> ==<br> + == <a href="https://micro.pinapelz.com/">Pinapelz</a> ==<br> ============== </div> <div style="align-self:center;">check it out. I'm in the house like carpet</div> @@ -78,7 +78,7 @@ Arch Linux + Hyprland user (btw)<br/> Hi from the <a href="https://indieweb.org/">indieweb</a>, if you are seeing me bridged elsewhere!</p> </div> - <p class="bio-name"><a href="https://micro.pinapelz.moe/" rel="me" class="p-nickname p-name u-url">Pinapelz</a></p> + <p class="bio-name"><a href="https://micro.pinapelz.com/" rel="me" class="p-nickname p-name u-url">Pinapelz</a></p> </div> <hr/> </div> @@ -88,7 +88,7 @@ <time class="dt-published" datetime="2025-12-19T22:15:50-08:00"> Friday, December 19, 2025 </time> - - <a href="https://micro.pinapelz.moe/posts/2025-12-19-08-ffxiv-patch-7-4/" class="u-url u-uid" >Permalink</a> + - <a href="https://micro.pinapelz.com/posts/2025-12-19-08-ffxiv-patch-7-4/" class="u-url u-uid" >Permalink</a> </b></div> <div class="article-meta"><span class="categories"> Categories: @@ -132,7 +132,7 @@ </ul> -<a href="https://micro.pinapelz.moe//tags/ffxiv" class="p-category">#ffxiv</a> +<a href="https://micro.pinapelz.com//tags/ffxiv" class="p-category">#ffxiv</a> </div> @@ -322,11 +322,11 @@ </style> <script> -const PAGE_URL = "https:\/\/micro.pinapelz.moe\/posts\/2025-12-19-08-ffxiv-patch-7-4\/"; +const PAGE_URL = "https:\/\/micro.pinapelz.com\/posts\/2025-12-19-08-ffxiv-patch-7-4\/"; async function loadMentions() { const url = - "https://webmention.io/api/mentions.jf2?domain=micro.pinapelz.moe&token=hdjQAqlZwgJmSuPSiU8h8w"; + "https://webmention.io/api/mentions.jf2?domain=micro.pinapelz.com&token=hdjQAqlZwgJmSuPSiU8h8w"; const res = await fetch(url); const data = await res.json(); @@ -512,7 +512,7 @@ loadMentions(); <p style="text-align: center" class="copyright"> - © <a href="https://micro.pinapelz.moe/"><b>micro.pinapelz.moe</b></a>. + © <a href="https://micro.pinapelz.com/"><b>micro.pinapelz.com</b></a>. </p> </footer> diff --git a/micro.pinapelz.moe/posts/2025-12-31-09-dbox-review/index.html b/micro.pinapelz.com/posts/2025-12-31-09-dbox-review/index.html index f2578f3..643ed74 100644 --- a/micro.pinapelz.moe/posts/2025-12-31-09-dbox-review/index.html +++ b/micro.pinapelz.com/posts/2025-12-31-09-dbox-review/index.html @@ -5,7 +5,7 @@ <meta name="viewport" content="width=device-width, initial-scale=1"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <style type=text/css>body{font-family:monospace;}</style> - <title>DBOX Movie Seats | micro.pinapelz.moe</title> + <title>DBOX Movie Seats | micro.pinapelz.com</title> <meta name="author" content="map[avatar:https://files.catbox.moe/5r1pue.jpg banner:https://files.pinapelz.com/pso2ngs-2232-collab.png bio:yo! and he's more than a cover he's a quilt<br/> General arcade rhythm game enjoyer (SDVX, IIDX, CHUNITHM)<br/> @@ -29,7 +29,7 @@ rel="token_endpoint" href="https://tokens.indieauth.com/token" /> - <link rel="webmention" href="https://webmention.io/micro.pinapelz.moe/webmention" /> + <link rel="webmention" href="https://webmention.io/micro.pinapelz.com/webmention" /> @@ -39,7 +39,7 @@ <div style="display:flex;flex-flow:row wrap;justify-content:space-between"> <div style="align-self:flex-start;"> ==============<br> - == <a href="https://micro.pinapelz.moe/">Pinapelz</a> ==<br> + == <a href="https://micro.pinapelz.com/">Pinapelz</a> ==<br> ============== </div> <div style="align-self:center;">check it out. I'm in the house like carpet</div> @@ -78,7 +78,7 @@ Arch Linux + Hyprland user (btw)<br/> Hi from the <a href="https://indieweb.org/">indieweb</a>, if you are seeing me bridged elsewhere!</p> </div> - <p class="bio-name"><a href="https://micro.pinapelz.moe/" rel="me" class="p-nickname p-name u-url">Pinapelz</a></p> + <p class="bio-name"><a href="https://micro.pinapelz.com/" rel="me" class="p-nickname p-name u-url">Pinapelz</a></p> </div> <hr/> </div> @@ -88,7 +88,7 @@ <time class="dt-published" datetime="2025-12-31T22:03:51-08:00"> Wednesday, December 31, 2025 </time> - - <a href="https://micro.pinapelz.moe/posts/2025-12-31-09-dbox-review/" class="u-url u-uid" >Permalink</a> + - <a href="https://micro.pinapelz.com/posts/2025-12-31-09-dbox-review/" class="u-url u-uid" >Permalink</a> </b></div> <div class="article-meta"><span class="categories"> Categories: @@ -299,11 +299,11 @@ </style> <script> -const PAGE_URL = "https:\/\/micro.pinapelz.moe\/posts\/2025-12-31-09-dbox-review\/"; +const PAGE_URL = "https:\/\/micro.pinapelz.com\/posts\/2025-12-31-09-dbox-review\/"; async function loadMentions() { const url = - "https://webmention.io/api/mentions.jf2?domain=micro.pinapelz.moe&token=hdjQAqlZwgJmSuPSiU8h8w"; + "https://webmention.io/api/mentions.jf2?domain=micro.pinapelz.com&token=hdjQAqlZwgJmSuPSiU8h8w"; const res = await fetch(url); const data = await res.json(); @@ -489,7 +489,7 @@ loadMentions(); <p style="text-align: center" class="copyright"> - © <a href="https://micro.pinapelz.moe/"><b>micro.pinapelz.moe</b></a>. + © <a href="https://micro.pinapelz.com/"><b>micro.pinapelz.com</b></a>. </p> </footer> diff --git a/micro.pinapelz.moe/posts/2026-02-19-10-discord-rant/index.html b/micro.pinapelz.com/posts/2026-02-19-10-discord-rant/index.html index 7aa4b3b..53119e9 100644 --- a/micro.pinapelz.moe/posts/2026-02-19-10-discord-rant/index.html +++ b/micro.pinapelz.com/posts/2026-02-19-10-discord-rant/index.html @@ -5,7 +5,7 @@ <meta name="viewport" content="width=device-width, initial-scale=1"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <style type=text/css>body{font-family:monospace;}</style> - <title>Discord Rant | micro.pinapelz.moe</title> + <title>Discord Rant | micro.pinapelz.com</title> <meta name="author" content="map[avatar:https://files.catbox.moe/5r1pue.jpg banner:https://files.pinapelz.com/pso2ngs-2232-collab.png bio:yo! and he's more than a cover he's a quilt<br/> General arcade rhythm game enjoyer (SDVX, IIDX, CHUNITHM)<br/> @@ -29,7 +29,7 @@ rel="token_endpoint" href="https://tokens.indieauth.com/token" /> - <link rel="webmention" href="https://webmention.io/micro.pinapelz.moe/webmention" /> + <link rel="webmention" href="https://webmention.io/micro.pinapelz.com/webmention" /> @@ -39,7 +39,7 @@ <div style="display:flex;flex-flow:row wrap;justify-content:space-between"> <div style="align-self:flex-start;"> ==============<br> - == <a href="https://micro.pinapelz.moe/">Pinapelz</a> ==<br> + == <a href="https://micro.pinapelz.com/">Pinapelz</a> ==<br> ============== </div> <div style="align-self:center;">check it out. I'm in the house like carpet</div> @@ -78,7 +78,7 @@ Arch Linux + Hyprland user (btw)<br/> Hi from the <a href="https://indieweb.org/">indieweb</a>, if you are seeing me bridged elsewhere!</p> </div> - <p class="bio-name"><a href="https://micro.pinapelz.moe/" rel="me" class="p-nickname p-name u-url">Pinapelz</a></p> + <p class="bio-name"><a href="https://micro.pinapelz.com/" rel="me" class="p-nickname p-name u-url">Pinapelz</a></p> </div> <hr/> </div> @@ -88,7 +88,7 @@ <time class="dt-published" datetime="2026-02-19T19:17:04-08:00"> Thursday, February 19, 2026 </time> - - <a href="https://micro.pinapelz.moe/posts/2026-02-19-10-discord-rant/" class="u-url u-uid" >Permalink</a> + - <a href="https://micro.pinapelz.com/posts/2026-02-19-10-discord-rant/" class="u-url u-uid" >Permalink</a> </b></div> <div class="article-meta"><span class="categories"> Categories: @@ -303,11 +303,11 @@ </style> <script> -const PAGE_URL = "https:\/\/micro.pinapelz.moe\/posts\/2026-02-19-10-discord-rant\/"; +const PAGE_URL = "https:\/\/micro.pinapelz.com\/posts\/2026-02-19-10-discord-rant\/"; async function loadMentions() { const url = - "https://webmention.io/api/mentions.jf2?domain=micro.pinapelz.moe&token=hdjQAqlZwgJmSuPSiU8h8w"; + "https://webmention.io/api/mentions.jf2?domain=micro.pinapelz.com&token=hdjQAqlZwgJmSuPSiU8h8w"; const res = await fetch(url); const data = await res.json(); @@ -493,7 +493,7 @@ loadMentions(); <p style="text-align: center" class="copyright"> - © <a href="https://micro.pinapelz.moe/"><b>micro.pinapelz.moe</b></a>. + © <a href="https://micro.pinapelz.com/"><b>micro.pinapelz.com</b></a>. </p> </footer> diff --git a/micro.pinapelz.moe/posts/2026-03-17-11-hundred-lines-last-defense-playlog/index.html b/micro.pinapelz.com/posts/2026-03-17-11-hundred-lines-last-defense-playlog/index.html index 2828da9..c702832 100644 --- a/micro.pinapelz.moe/posts/2026-03-17-11-hundred-lines-last-defense-playlog/index.html +++ b/micro.pinapelz.com/posts/2026-03-17-11-hundred-lines-last-defense-playlog/index.html @@ -5,7 +5,7 @@ <meta name="viewport" content="width=device-width, initial-scale=1"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <style type=text/css>body{font-family:monospace;}</style> - <title>Playlog: Hundred Lines Last Defense Academy | micro.pinapelz.moe</title> + <title>Playlog: Hundred Lines Last Defense Academy | micro.pinapelz.com</title> <meta name="author" content="map[avatar:https://files.catbox.moe/5r1pue.jpg banner:https://files.pinapelz.com/pso2ngs-2232-collab.png bio:yo! and he's more than a cover he's a quilt<br/> General arcade rhythm game enjoyer (SDVX, IIDX, CHUNITHM)<br/> @@ -29,7 +29,7 @@ rel="token_endpoint" href="https://tokens.indieauth.com/token" /> - <link rel="webmention" href="https://webmention.io/micro.pinapelz.moe/webmention" /> + <link rel="webmention" href="https://webmention.io/micro.pinapelz.com/webmention" /> @@ -39,7 +39,7 @@ <div style="display:flex;flex-flow:row wrap;justify-content:space-between"> <div style="align-self:flex-start;"> ==============<br> - == <a href="https://micro.pinapelz.moe/">Pinapelz</a> ==<br> + == <a href="https://micro.pinapelz.com/">Pinapelz</a> ==<br> ============== </div> <div style="align-self:center;">check it out. I'm in the house like carpet</div> @@ -78,7 +78,7 @@ Arch Linux + Hyprland user (btw)<br/> Hi from the <a href="https://indieweb.org/">indieweb</a>, if you are seeing me bridged elsewhere!</p> </div> - <p class="bio-name"><a href="https://micro.pinapelz.moe/" rel="me" class="p-nickname p-name u-url">Pinapelz</a></p> + <p class="bio-name"><a href="https://micro.pinapelz.com/" rel="me" class="p-nickname p-name u-url">Pinapelz</a></p> </div> <hr/> </div> @@ -88,7 +88,7 @@ <time class="dt-published" datetime="2026-03-17T17:19:03-07:00"> Tuesday, March 17, 2026 </time> - - <a href="https://micro.pinapelz.moe/posts/2026-03-17-11-hundred-lines-last-defense-playlog/" class="u-url u-uid" >Permalink</a> + - <a href="https://micro.pinapelz.com/posts/2026-03-17-11-hundred-lines-last-defense-playlog/" class="u-url u-uid" >Permalink</a> </b></div> <div class="article-meta"><span class="categories"> Categories: @@ -318,11 +318,11 @@ </style> <script> -const PAGE_URL = "https:\/\/micro.pinapelz.moe\/posts\/2026-03-17-11-hundred-lines-last-defense-playlog\/"; +const PAGE_URL = "https:\/\/micro.pinapelz.com\/posts\/2026-03-17-11-hundred-lines-last-defense-playlog\/"; async function loadMentions() { const url = - "https://webmention.io/api/mentions.jf2?domain=micro.pinapelz.moe&token=hdjQAqlZwgJmSuPSiU8h8w"; + "https://webmention.io/api/mentions.jf2?domain=micro.pinapelz.com&token=hdjQAqlZwgJmSuPSiU8h8w"; const res = await fetch(url); const data = await res.json(); @@ -508,7 +508,7 @@ loadMentions(); <p style="text-align: center" class="copyright"> - © <a href="https://micro.pinapelz.moe/"><b>micro.pinapelz.moe</b></a>. + © <a href="https://micro.pinapelz.com/"><b>micro.pinapelz.com</b></a>. </p> </footer> diff --git a/micro.pinapelz.moe/posts/2026-03-17-11-hundred-lines-last-defense-playlog/playtime.png b/micro.pinapelz.com/posts/2026-03-17-11-hundred-lines-last-defense-playlog/playtime.png Binary files differindex bde1097..bde1097 100644 --- a/micro.pinapelz.moe/posts/2026-03-17-11-hundred-lines-last-defense-playlog/playtime.png +++ b/micro.pinapelz.com/posts/2026-03-17-11-hundred-lines-last-defense-playlog/playtime.png diff --git a/micro.pinapelz.moe/posts/2026-04-26-12-april-playlog/index.html b/micro.pinapelz.com/posts/2026-04-26-12-april-playlog/index.html index cad48a4..cbdfcb5 100644 --- a/micro.pinapelz.moe/posts/2026-04-26-12-april-playlog/index.html +++ b/micro.pinapelz.com/posts/2026-04-26-12-april-playlog/index.html @@ -5,7 +5,7 @@ <meta name="viewport" content="width=device-width, initial-scale=1"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <style type=text/css>body{font-family:monospace;}</style> - <title>Playlog: April 2026 (No Sleep for Kaname Date, Xenoblade 1 DE, Catherine Full Body) | micro.pinapelz.moe</title> + <title>Playlog: April 2026 (No Sleep for Kaname Date, Xenoblade 1 DE, Catherine Full Body) | micro.pinapelz.com</title> <meta name="author" content="map[avatar:https://files.catbox.moe/5r1pue.jpg banner:https://files.pinapelz.com/pso2ngs-2232-collab.png bio:yo! and he's more than a cover he's a quilt<br/> General arcade rhythm game enjoyer (SDVX, IIDX, CHUNITHM)<br/> @@ -29,7 +29,7 @@ rel="token_endpoint" href="https://tokens.indieauth.com/token" /> - <link rel="webmention" href="https://webmention.io/micro.pinapelz.moe/webmention" /> + <link rel="webmention" href="https://webmention.io/micro.pinapelz.com/webmention" /> @@ -39,7 +39,7 @@ <div style="display:flex;flex-flow:row wrap;justify-content:space-between"> <div style="align-self:flex-start;"> ==============<br> - == <a href="https://micro.pinapelz.moe/">Pinapelz</a> ==<br> + == <a href="https://micro.pinapelz.com/">Pinapelz</a> ==<br> ============== </div> <div style="align-self:center;">check it out. I'm in the house like carpet</div> @@ -78,7 +78,7 @@ Arch Linux + Hyprland user (btw)<br/> Hi from the <a href="https://indieweb.org/">indieweb</a>, if you are seeing me bridged elsewhere!</p> </div> - <p class="bio-name"><a href="https://micro.pinapelz.moe/" rel="me" class="p-nickname p-name u-url">Pinapelz</a></p> + <p class="bio-name"><a href="https://micro.pinapelz.com/" rel="me" class="p-nickname p-name u-url">Pinapelz</a></p> </div> <hr/> </div> @@ -88,7 +88,7 @@ <time class="dt-published" datetime="2026-04-26T18:20:09-07:00"> Sunday, April 26, 2026 </time> - - <a href="https://micro.pinapelz.moe/posts/2026-04-26-12-april-playlog/" class="u-url u-uid" >Permalink</a> + - <a href="https://micro.pinapelz.com/posts/2026-04-26-12-april-playlog/" class="u-url u-uid" >Permalink</a> </b></div> <div class="article-meta"><span class="categories"> Categories: @@ -376,11 +376,11 @@ </style> <script> -const PAGE_URL = "https:\/\/micro.pinapelz.moe\/posts\/2026-04-26-12-april-playlog\/"; +const PAGE_URL = "https:\/\/micro.pinapelz.com\/posts\/2026-04-26-12-april-playlog\/"; async function loadMentions() { const url = - "https://webmention.io/api/mentions.jf2?domain=micro.pinapelz.moe&token=hdjQAqlZwgJmSuPSiU8h8w"; + "https://webmention.io/api/mentions.jf2?domain=micro.pinapelz.com&token=hdjQAqlZwgJmSuPSiU8h8w"; const res = await fetch(url); const data = await res.json(); @@ -566,7 +566,7 @@ loadMentions(); <p style="text-align: center" class="copyright"> - © <a href="https://micro.pinapelz.moe/"><b>micro.pinapelz.moe</b></a>. + © <a href="https://micro.pinapelz.com/"><b>micro.pinapelz.com</b></a>. </p> </footer> diff --git a/micro.pinapelz.moe/posts/2026-04-29-13-dac-vs-wireless-dap/index.html b/micro.pinapelz.com/posts/2026-04-29-13-dac-vs-wireless-dap/index.html index 9b15840..c6c0c37 100644 --- a/micro.pinapelz.moe/posts/2026-04-29-13-dac-vs-wireless-dap/index.html +++ b/micro.pinapelz.com/posts/2026-04-29-13-dac-vs-wireless-dap/index.html @@ -5,7 +5,7 @@ <meta name="viewport" content="width=device-width, initial-scale=1"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <style type=text/css>body{font-family:monospace;}</style> - <title>Portable Audio: Phone, Wireless DAC, or DAP | micro.pinapelz.moe</title> + <title>Portable Audio: Phone, Wireless DAC, or DAP | micro.pinapelz.com</title> <meta name="author" content="map[avatar:https://files.catbox.moe/5r1pue.jpg banner:https://files.pinapelz.com/pso2ngs-2232-collab.png bio:yo! and he's more than a cover he's a quilt<br/> General arcade rhythm game enjoyer (SDVX, IIDX, CHUNITHM)<br/> @@ -29,7 +29,7 @@ rel="token_endpoint" href="https://tokens.indieauth.com/token" /> - <link rel="webmention" href="https://webmention.io/micro.pinapelz.moe/webmention" /> + <link rel="webmention" href="https://webmention.io/micro.pinapelz.com/webmention" /> @@ -39,7 +39,7 @@ <div style="display:flex;flex-flow:row wrap;justify-content:space-between"> <div style="align-self:flex-start;"> ==============<br> - == <a href="https://micro.pinapelz.moe/">Pinapelz</a> ==<br> + == <a href="https://micro.pinapelz.com/">Pinapelz</a> ==<br> ============== </div> <div style="align-self:center;">check it out. I'm in the house like carpet</div> @@ -78,7 +78,7 @@ Arch Linux + Hyprland user (btw)<br/> Hi from the <a href="https://indieweb.org/">indieweb</a>, if you are seeing me bridged elsewhere!</p> </div> - <p class="bio-name"><a href="https://micro.pinapelz.moe/" rel="me" class="p-nickname p-name u-url">Pinapelz</a></p> + <p class="bio-name"><a href="https://micro.pinapelz.com/" rel="me" class="p-nickname p-name u-url">Pinapelz</a></p> </div> <hr/> </div> @@ -88,7 +88,7 @@ <time class="dt-published" datetime="2026-05-03T03:16:09-07:00"> Sunday, May 3, 2026 </time> - - <a href="https://micro.pinapelz.moe/posts/2026-04-29-13-dac-vs-wireless-dap/" class="u-url u-uid" >Permalink</a> + - <a href="https://micro.pinapelz.com/posts/2026-04-29-13-dac-vs-wireless-dap/" class="u-url u-uid" >Permalink</a> </b></div> <div class="article-meta"><span class="categories"> Categories: @@ -343,11 +343,11 @@ </style> <script> -const PAGE_URL = "https:\/\/micro.pinapelz.moe\/posts\/2026-04-29-13-dac-vs-wireless-dap\/"; +const PAGE_URL = "https:\/\/micro.pinapelz.com\/posts\/2026-04-29-13-dac-vs-wireless-dap\/"; async function loadMentions() { const url = - "https://webmention.io/api/mentions.jf2?domain=micro.pinapelz.moe&token=hdjQAqlZwgJmSuPSiU8h8w"; + "https://webmention.io/api/mentions.jf2?domain=micro.pinapelz.com&token=hdjQAqlZwgJmSuPSiU8h8w"; const res = await fetch(url); const data = await res.json(); @@ -533,7 +533,7 @@ loadMentions(); <p style="text-align: center" class="copyright"> - © <a href="https://micro.pinapelz.moe/"><b>micro.pinapelz.moe</b></a>. + © <a href="https://micro.pinapelz.com/"><b>micro.pinapelz.com</b></a>. </p> </footer> diff --git a/micro.pinapelz.moe/posts/index.html b/micro.pinapelz.com/posts/index.html index bbe67fa..953da2d 100644 --- a/micro.pinapelz.moe/posts/index.html +++ b/micro.pinapelz.com/posts/index.html @@ -5,7 +5,7 @@ <meta name="viewport" content="width=device-width, initial-scale=1"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <style type=text/css>body{font-family:monospace;}</style> - <title>Posts | micro.pinapelz.moe</title> + <title>Posts | micro.pinapelz.com</title> <meta name="author" content="map[avatar:https://files.catbox.moe/5r1pue.jpg banner:https://files.pinapelz.com/pso2ngs-2232-collab.png bio:yo! and he's more than a cover he's a quilt<br/> General arcade rhythm game enjoyer (SDVX, IIDX, CHUNITHM)<br/> @@ -14,7 +14,7 @@ Arch Linux + Hyprland user (btw)<br/> Hi from the <a href="https://indieweb.org/">indieweb</a>, if you are seeing me bridged elsewhere! email:yukais@pinapelz.com name:Pinapelz]"> <link rel="stylesheet" href="/css/style.css"> - <link rel="alternate" type="application/rss+xml" href="/posts/index.xml" title="micro.pinapelz.moe"> + <link rel="alternate" type="application/rss+xml" href="/posts/index.xml" title="micro.pinapelz.com"> <link rel="me" href="https://github.com/pinapelz" /> @@ -29,7 +29,7 @@ rel="token_endpoint" href="https://tokens.indieauth.com/token" /> - <link rel="webmention" href="https://webmention.io/micro.pinapelz.moe/webmention" /> + <link rel="webmention" href="https://webmention.io/micro.pinapelz.com/webmention" /> @@ -39,7 +39,7 @@ <div style="display:flex;flex-flow:row wrap;justify-content:space-between"> <div style="align-self:flex-start;"> ==============<br> - == <a href="https://micro.pinapelz.moe/">Pinapelz</a> ==<br> + == <a href="https://micro.pinapelz.com/">Pinapelz</a> ==<br> ============== </div> <div style="align-self:center;">check it out. I'm in the house like carpet</div> @@ -111,7 +111,7 @@ Arch Linux + Hyprland user (btw)<br/> Hi from the <a href="https://indieweb.org/">indieweb</a>, if you are seeing me bridged elsewhere!</p> </div> - <p class="bio-name"><a href="https://micro.pinapelz.moe/" rel="me" class="p-nickname p-name u-url">Pinapelz</a></p> + <p class="bio-name"><a href="https://micro.pinapelz.com/" rel="me" class="p-nickname p-name u-url">Pinapelz</a></p> </div> <hr/> @@ -119,7 +119,7 @@ <div class="post-title"> <time class="date dt-published" datetime="2026-05-03T03:16:09-07:00">03</time>: - <a href="https://micro.pinapelz.moe/posts/2026-04-29-13-dac-vs-wireless-dap/" class="u-url p-name title"> + <a href="https://micro.pinapelz.com/posts/2026-04-29-13-dac-vs-wireless-dap/" class="u-url p-name title"> Portable Audio: Phone, Wireless DAC, or DAP </a> </div> @@ -160,7 +160,7 @@ Arch Linux + Hyprland user (btw)<br/> Hi from the <a href="https://indieweb.org/">indieweb</a>, if you are seeing me bridged elsewhere!</p> </div> - <p class="bio-name"><a href="https://micro.pinapelz.moe/" rel="me" class="p-nickname p-name u-url">Pinapelz</a></p> + <p class="bio-name"><a href="https://micro.pinapelz.com/" rel="me" class="p-nickname p-name u-url">Pinapelz</a></p> </div> <hr/> @@ -168,7 +168,7 @@ <div class="post-title"> <time class="date dt-published" datetime="2026-04-26T18:20:09-07:00">26</time>: - <a href="https://micro.pinapelz.moe/posts/2026-04-26-12-april-playlog/" class="u-url p-name title"> + <a href="https://micro.pinapelz.com/posts/2026-04-26-12-april-playlog/" class="u-url p-name title"> Playlog: April 2026 (No Sleep for Kaname Date, Xenoblade 1 DE, Catherine Full Body) </a> </div> @@ -209,7 +209,7 @@ Arch Linux + Hyprland user (btw)<br/> Hi from the <a href="https://indieweb.org/">indieweb</a>, if you are seeing me bridged elsewhere!</p> </div> - <p class="bio-name"><a href="https://micro.pinapelz.moe/" rel="me" class="p-nickname p-name u-url">Pinapelz</a></p> + <p class="bio-name"><a href="https://micro.pinapelz.com/" rel="me" class="p-nickname p-name u-url">Pinapelz</a></p> </div> <hr/> @@ -217,7 +217,7 @@ <div class="post-title"> <time class="date dt-published" datetime="2026-03-17T17:19:03-07:00">17</time>: - <a href="https://micro.pinapelz.moe/posts/2026-03-17-11-hundred-lines-last-defense-playlog/" class="u-url p-name title"> + <a href="https://micro.pinapelz.com/posts/2026-03-17-11-hundred-lines-last-defense-playlog/" class="u-url p-name title"> Playlog: Hundred Lines Last Defense Academy </a> </div> @@ -258,7 +258,7 @@ Arch Linux + Hyprland user (btw)<br/> Hi from the <a href="https://indieweb.org/">indieweb</a>, if you are seeing me bridged elsewhere!</p> </div> - <p class="bio-name"><a href="https://micro.pinapelz.moe/" rel="me" class="p-nickname p-name u-url">Pinapelz</a></p> + <p class="bio-name"><a href="https://micro.pinapelz.com/" rel="me" class="p-nickname p-name u-url">Pinapelz</a></p> </div> <hr/> @@ -266,7 +266,7 @@ <div class="post-title"> <time class="date dt-published" datetime="2026-02-19T19:17:04-08:00">19</time>: - <a href="https://micro.pinapelz.moe/posts/2026-02-19-10-discord-rant/" class="u-url p-name title"> + <a href="https://micro.pinapelz.com/posts/2026-02-19-10-discord-rant/" class="u-url p-name title"> Discord Rant </a> </div> @@ -307,7 +307,7 @@ Arch Linux + Hyprland user (btw)<br/> Hi from the <a href="https://indieweb.org/">indieweb</a>, if you are seeing me bridged elsewhere!</p> </div> - <p class="bio-name"><a href="https://micro.pinapelz.moe/" rel="me" class="p-nickname p-name u-url">Pinapelz</a></p> + <p class="bio-name"><a href="https://micro.pinapelz.com/" rel="me" class="p-nickname p-name u-url">Pinapelz</a></p> </div> <hr/> @@ -315,7 +315,7 @@ <div class="post-title"> <time class="date dt-published" datetime="2025-12-31T22:03:51-08:00">31</time>: - <a href="https://micro.pinapelz.moe/posts/2025-12-31-09-dbox-review/" class="u-url p-name title"> + <a href="https://micro.pinapelz.com/posts/2025-12-31-09-dbox-review/" class="u-url p-name title"> DBOX Movie Seats </a> </div> @@ -346,7 +346,7 @@ Arch Linux + Hyprland user (btw)<br/> Hi from the <a href="https://indieweb.org/">indieweb</a>, if you are seeing me bridged elsewhere!</p> </div> - <p class="bio-name"><a href="https://micro.pinapelz.moe/" rel="me" class="p-nickname p-name u-url">Pinapelz</a></p> + <p class="bio-name"><a href="https://micro.pinapelz.com/" rel="me" class="p-nickname p-name u-url">Pinapelz</a></p> </div> <hr/> @@ -354,7 +354,7 @@ <div class="post-title"> <time class="date dt-published" datetime="2025-12-19T22:15:50-08:00">19</time>: - <a href="https://micro.pinapelz.moe/posts/2025-12-19-08-ffxiv-patch-7-4/" class="u-url p-name title"> + <a href="https://micro.pinapelz.com/posts/2025-12-19-08-ffxiv-patch-7-4/" class="u-url p-name title"> Playlog: FFXIV Dawntrail Patch 7.4 Thoughts (spoilers) </a> </div> @@ -385,7 +385,7 @@ Arch Linux + Hyprland user (btw)<br/> Hi from the <a href="https://indieweb.org/">indieweb</a>, if you are seeing me bridged elsewhere!</p> </div> - <p class="bio-name"><a href="https://micro.pinapelz.moe/" rel="me" class="p-nickname p-name u-url">Pinapelz</a></p> + <p class="bio-name"><a href="https://micro.pinapelz.com/" rel="me" class="p-nickname p-name u-url">Pinapelz</a></p> </div> <hr/> @@ -393,7 +393,7 @@ <div class="post-title"> <time class="date dt-published" datetime="2025-12-18T21:38:23-08:00">18</time>: - <a href="https://micro.pinapelz.moe/posts/2025-12-18-07-arcade-monsters-sd/" class="u-url p-name title"> + <a href="https://micro.pinapelz.com/posts/2025-12-18-07-arcade-monsters-sd/" class="u-url p-name title"> Arcade Monsters </a> </div> @@ -424,7 +424,7 @@ Arch Linux + Hyprland user (btw)<br/> Hi from the <a href="https://indieweb.org/">indieweb</a>, if you are seeing me bridged elsewhere!</p> </div> - <p class="bio-name"><a href="https://micro.pinapelz.moe/" rel="me" class="p-nickname p-name u-url">Pinapelz</a></p> + <p class="bio-name"><a href="https://micro.pinapelz.com/" rel="me" class="p-nickname p-name u-url">Pinapelz</a></p> </div> <hr/> @@ -432,7 +432,7 @@ <div class="post-title"> <time class="date dt-published" datetime="2025-12-06T22:33:23-08:00">06</time>: - <a href="https://micro.pinapelz.moe/posts/2025-12-06-first-sdvx-18/" class="u-url p-name title"> + <a href="https://micro.pinapelz.com/posts/2025-12-06-first-sdvx-18/" class="u-url p-name title"> First MXM 18 Cleared! </a> </div> @@ -463,7 +463,7 @@ Arch Linux + Hyprland user (btw)<br/> Hi from the <a href="https://indieweb.org/">indieweb</a>, if you are seeing me bridged elsewhere!</p> </div> - <p class="bio-name"><a href="https://micro.pinapelz.moe/" rel="me" class="p-nickname p-name u-url">Pinapelz</a></p> + <p class="bio-name"><a href="https://micro.pinapelz.com/" rel="me" class="p-nickname p-name u-url">Pinapelz</a></p> </div> <hr/> @@ -471,7 +471,7 @@ <div class="post-title"> <time class="date dt-published" datetime="2025-12-04T23:19:29-08:00">04</time>: - <a href="https://micro.pinapelz.moe/posts/2025-12-04-procon2-hid-tool/" class="u-url p-name title"> + <a href="https://micro.pinapelz.com/posts/2025-12-04-procon2-hid-tool/" class="u-url p-name title"> Enable HID Mode on Nintendo Pro Controller 2 </a> </div> @@ -502,7 +502,7 @@ Arch Linux + Hyprland user (btw)<br/> Hi from the <a href="https://indieweb.org/">indieweb</a>, if you are seeing me bridged elsewhere!</p> </div> - <p class="bio-name"><a href="https://micro.pinapelz.moe/" rel="me" class="p-nickname p-name u-url">Pinapelz</a></p> + <p class="bio-name"><a href="https://micro.pinapelz.com/" rel="me" class="p-nickname p-name u-url">Pinapelz</a></p> </div> <hr/> @@ -510,7 +510,7 @@ <div class="post-title"> <time class="date dt-published" datetime="2025-12-03T19:38:52-08:00">03</time>: - <a href="https://micro.pinapelz.moe/posts/2025-12-03-04-yt-music-rewind/" class="u-url p-name title"> + <a href="https://micro.pinapelz.com/posts/2025-12-03-04-yt-music-rewind/" class="u-url p-name title"> YouTube Music Recap 2025 </a> </div> @@ -543,7 +543,7 @@ <p style="text-align: center" class="copyright"> - © <a href="https://micro.pinapelz.moe/"><b>micro.pinapelz.moe</b></a>. + © <a href="https://micro.pinapelz.com/"><b>micro.pinapelz.com</b></a>. </p> </footer> diff --git a/micro.pinapelz.moe/posts/index.xml b/micro.pinapelz.com/posts/index.xml index 22c2a93..bf543b5 100644 --- a/micro.pinapelz.moe/posts/index.xml +++ b/micro.pinapelz.com/posts/index.xml @@ -1,104 +1,104 @@ <?xml version="1.0" encoding="utf-8" standalone="yes"?> <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"> <channel> - <title>Posts on micro.pinapelz.moe</title> - <link>https://micro.pinapelz.moe/posts/</link> - <description>Recent content in Posts on micro.pinapelz.moe</description> + <title>Posts on micro.pinapelz.com</title> + <link>https://micro.pinapelz.com/posts/</link> + <description>Recent content in Posts on micro.pinapelz.com</description> <generator>Hugo</generator> <language>en-us</language> <managingEditor>yukais@pinapelz.com (Pinapelz)</managingEditor> <webMaster>yukais@pinapelz.com (Pinapelz)</webMaster> <lastBuildDate>Sun, 03 May 2026 03:16:09 -0700</lastBuildDate> - <atom:link href="https://micro.pinapelz.moe/posts/index.xml" rel="self" type="application/rss+xml" /> + <atom:link href="https://micro.pinapelz.com/posts/index.xml" rel="self" type="application/rss+xml" /> <item> <title>Portable Audio: Phone, Wireless DAC, or DAP</title> - <link>https://micro.pinapelz.moe/posts/2026-04-29-13-dac-vs-wireless-dap/</link> + <link>https://micro.pinapelz.com/posts/2026-04-29-13-dac-vs-wireless-dap/</link> <pubDate>Sun, 03 May 2026 03:16:09 -0700</pubDate><author>yukais@pinapelz.com (Pinapelz)</author> - <guid>https://micro.pinapelz.moe/posts/2026-04-29-13-dac-vs-wireless-dap/</guid> + <guid>https://micro.pinapelz.com/posts/2026-04-29-13-dac-vs-wireless-dap/</guid> <description><p>Supposedly, there&rsquo;s been a <a href="https://www.facebook.com/APNews/videos/secondhand-sales-of-apple-ipods-are-surging-four-years-after-it-was-killed-off-w/1278247987103509/">resurgence in the popularity of the iPod</a> in the recent months for all sorts of reasons. While I&rsquo;m well aware of &ldquo;MP3 Players&rdquo;, such as the original iPod and the old Sony Walkman, these are not devices I grew up using. As a &ldquo;new-gen&rdquo; audiophile myself, getting a DAP (Dedicated Audio Player, its the new term for these sort of devices as they can play much more than just MP3s) was certainly an interesting idea. However, modern day audiophiles now have an arsenal of methods to enjoy music, even when it comes to portable playback.</p></description> </item> <item> <title>Playlog: April 2026 (No Sleep for Kaname Date, Xenoblade 1 DE, Catherine Full Body)</title> - <link>https://micro.pinapelz.moe/posts/2026-04-26-12-april-playlog/</link> + <link>https://micro.pinapelz.com/posts/2026-04-26-12-april-playlog/</link> <pubDate>Sun, 26 Apr 2026 18:20:09 -0700</pubDate><author>yukais@pinapelz.com (Pinapelz)</author> - <guid>https://micro.pinapelz.moe/posts/2026-04-26-12-april-playlog/</guid> + <guid>https://micro.pinapelz.com/posts/2026-04-26-12-april-playlog/</guid> <description><p>I&rsquo;ve gotten quite good at actually making progress on my backlog. Turns out the answer was to just uninstall all social media and get rid of doom scrolling. I invested in a rudimentary capture card as well so that I can have my Switch games show up as an application on my PC rather than having to swap display inputs (which makes it easy to get up and running for a quick session).</p></description> </item> <item> <title>Playlog: Hundred Lines Last Defense Academy</title> - <link>https://micro.pinapelz.moe/posts/2026-03-17-11-hundred-lines-last-defense-playlog/</link> + <link>https://micro.pinapelz.com/posts/2026-03-17-11-hundred-lines-last-defense-playlog/</link> <pubDate>Tue, 17 Mar 2026 17:19:03 -0700</pubDate><author>yukais@pinapelz.com (Pinapelz)</author> - <guid>https://micro.pinapelz.moe/posts/2026-03-17-11-hundred-lines-last-defense-playlog/</guid> - <description><p>After about a year of playing on and off, I&rsquo;ve finally finished all 100 (and 1, counting the first one). In total it took roughly 105 hours or so.
<figure><img src="https://micro.pinapelz.moe/posts/2026-03-17-11-hundred-lines-last-defense-playlog/playtime.png"
 alt="105 hours or more played">
</figure>
</p>
<h2 id="core-mechanics">Core Mechanics</h2>
<ul>
<li>This is basically a visual novel, there&rsquo;s very little fun to be had if you are a &ldquo;cutscene skipper&rdquo;. If you enjoyed Kodaka&rsquo;s other works like Danganronpa then you&rsquo;ll be right at home.</li>
<li>There&rsquo;s a bunch of smaller &ldquo;minigames&rdquo; but are mostly a one-off thing, they feel mostly like an afterthought (+25)</li>
</ul>
<h2 id="structure">Structure</h2>
<ul>
<li>There&rsquo;s 2 main parts of the game, the battling and the story itself</li>
<li>The battling itself has a decent amount of strategy to it, and you can in fact easily lose if you&rsquo;re not careful for some of them</li>
<li>In my opinion though given how little variety there is it kinda gets old fast, luckily the 2nd half of the game lets you skip battles you&rsquo;ve already done</li>
<li>As far as the story goes, its standard visual novel stuff but with a Kodaka twist. Each ending belongs to a particular &ldquo;route&rdquo; which is centered around a particular storyline, each one is also explicitly named in the game&rsquo;s flowchart. (+20)</li>
</ul>
<h2 id="content">Content</h2>
<ul>
<li>The story itself is quite good, but not all the routes are really worth doing if you just want what I consider to be the &ldquo;core&rdquo; of the plot. Some of them basically lead to nothing and are there just for fun.</li>
<li>Everyone has to play through <code>Last Defense Academy 1</code> which basically acts as a very long prologue for the actual game</li>
<li><strong>Not Necessary:</strong> Serial Battles Route (PLEASE skip this one, the game forces you to play unskippable battles and it forshadows literately the tiniest thing), Box of Blessings, Conspiracy (does nothing but is very quick to do), Romance, Comedy, V’ehxness Route (mainly character building), Reset Route</li>
<li>I would recommend playing through the prologue, then explicitly following a guide for the <code>Last Defense Academy 2nd Scenario</code>, then if you still want more start the S.F Route and follow a guide to unlock the pre-requisite routes while you progress through that. Everything else is largely optional IMO and is just for world-building. (12)</li>
</ul>
<h2 id="technical-execution">Technical Execution</h2>
<p>Its fine overall. You can def. tell they didn&rsquo;t have as big of a budget as Danganronpa to work with. There were some issues with leaving the game in suspense for too long on Switch but no major performance issues (+15)</p></description> + <guid>https://micro.pinapelz.com/posts/2026-03-17-11-hundred-lines-last-defense-playlog/</guid> + <description><p>After about a year of playing on and off, I&rsquo;ve finally finished all 100 (and 1, counting the first one). In total it took roughly 105 hours or so.
<figure><img src="https://micro.pinapelz.com/posts/2026-03-17-11-hundred-lines-last-defense-playlog/playtime.png"
 alt="105 hours or more played">
</figure>
</p>
<h2 id="core-mechanics">Core Mechanics</h2>
<ul>
<li>This is basically a visual novel, there&rsquo;s very little fun to be had if you are a &ldquo;cutscene skipper&rdquo;. If you enjoyed Kodaka&rsquo;s other works like Danganronpa then you&rsquo;ll be right at home.</li>
<li>There&rsquo;s a bunch of smaller &ldquo;minigames&rdquo; but are mostly a one-off thing, they feel mostly like an afterthought (+25)</li>
</ul>
<h2 id="structure">Structure</h2>
<ul>
<li>There&rsquo;s 2 main parts of the game, the battling and the story itself</li>
<li>The battling itself has a decent amount of strategy to it, and you can in fact easily lose if you&rsquo;re not careful for some of them</li>
<li>In my opinion though given how little variety there is it kinda gets old fast, luckily the 2nd half of the game lets you skip battles you&rsquo;ve already done</li>
<li>As far as the story goes, its standard visual novel stuff but with a Kodaka twist. Each ending belongs to a particular &ldquo;route&rdquo; which is centered around a particular storyline, each one is also explicitly named in the game&rsquo;s flowchart. (+20)</li>
</ul>
<h2 id="content">Content</h2>
<ul>
<li>The story itself is quite good, but not all the routes are really worth doing if you just want what I consider to be the &ldquo;core&rdquo; of the plot. Some of them basically lead to nothing and are there just for fun.</li>
<li>Everyone has to play through <code>Last Defense Academy 1</code> which basically acts as a very long prologue for the actual game</li>
<li><strong>Not Necessary:</strong> Serial Battles Route (PLEASE skip this one, the game forces you to play unskippable battles and it forshadows literately the tiniest thing), Box of Blessings, Conspiracy (does nothing but is very quick to do), Romance, Comedy, V’ehxness Route (mainly character building), Reset Route</li>
<li>I would recommend playing through the prologue, then explicitly following a guide for the <code>Last Defense Academy 2nd Scenario</code>, then if you still want more start the S.F Route and follow a guide to unlock the pre-requisite routes while you progress through that. Everything else is largely optional IMO and is just for world-building. (12)</li>
</ul>
<h2 id="technical-execution">Technical Execution</h2>
<p>Its fine overall. You can def. tell they didn&rsquo;t have as big of a budget as Danganronpa to work with. There were some issues with leaving the game in suspense for too long on Switch but no major performance issues (+15)</p></description> </item> <item> <title>Discord Rant</title> - <link>https://micro.pinapelz.moe/posts/2026-02-19-10-discord-rant/</link> + <link>https://micro.pinapelz.com/posts/2026-02-19-10-discord-rant/</link> <pubDate>Thu, 19 Feb 2026 19:17:04 -0800</pubDate><author>yukais@pinapelz.com (Pinapelz)</author> - <guid>https://micro.pinapelz.moe/posts/2026-02-19-10-discord-rant/</guid> + <guid>https://micro.pinapelz.com/posts/2026-02-19-10-discord-rant/</guid> <description><p>We&rsquo;ve seen time and time again that there is &ldquo;no such thing as a free lunch&rdquo;. The same is true for Discord.</p>
<ol>
<li>Offer a service that is much better than all the competitors</li>
<li>Attract a bunch of users</li>
<li>Burn VC money</li>
<li>Repeat 1-3 until its time to pay them back</li>
<li>Figure out how to make money</li>
</ol>
<p>Nitro doesn&rsquo;t fund the platform, hosting free voice and screenshare is more expensive than you think. Ultimately, any choice of software for me boils down to &ldquo;what value do I get out of it&rdquo;.</p></description> </item> <item> <title>DBOX Movie Seats</title> - <link>https://micro.pinapelz.moe/posts/2025-12-31-09-dbox-review/</link> + <link>https://micro.pinapelz.com/posts/2025-12-31-09-dbox-review/</link> <pubDate>Wed, 31 Dec 2025 22:03:51 -0800</pubDate><author>yukais@pinapelz.com (Pinapelz)</author> - <guid>https://micro.pinapelz.moe/posts/2025-12-31-09-dbox-review/</guid> + <guid>https://micro.pinapelz.com/posts/2025-12-31-09-dbox-review/</guid> <description><p>There&rsquo;s a thing here in Canada where certain theaters have these special seats that rumble and move in motion with whats happening on screen.</p>
<p>I recently saw the new Avatar (Fire and Ash) in one of these seats. It wasn&rsquo;t a bad experience but given the markup, I don&rsquo;t think its worth it:</p>
<ul>
<li>First it is fun (sometimes). For example when they were flying through the air, the seat would tilt in the motion of them flying. Or when there was an explosion/gunfire, the seat would rumble</li>
<li>However, for me I think they overdid it at times, literately the seat would move and rumble for the smallest things. So it was kind of like a constant thing throughout the whole film. For me its a bit annoying</li>
<li>For the $10-15 extra (I think I paid a bit more cause the movie was also in 3D), I&rsquo;d much rather just go to a theater that has the big comfy recliner seats</li>
<li>I think for the right movie (maybe something heavy on action or horror) this could be a solid purchase if its a movie you&rsquo;re really looking forward to</li>
<li>Or I also know that some people see movies multiple times, so maybe this can be a good option for a 2nd viewing?</li>
</ul>
<p>Generally, though&hellip; I think I&rsquo;ll live without them.</p></description> </item> <item> <title>Playlog: FFXIV Dawntrail Patch 7.4 Thoughts (spoilers)</title> - <link>https://micro.pinapelz.moe/posts/2025-12-19-08-ffxiv-patch-7-4/</link> + <link>https://micro.pinapelz.com/posts/2025-12-19-08-ffxiv-patch-7-4/</link> <pubDate>Fri, 19 Dec 2025 22:15:50 -0800</pubDate><author>yukais@pinapelz.com (Pinapelz)</author> - <guid>https://micro.pinapelz.moe/posts/2025-12-19-08-ffxiv-patch-7-4/</guid> - <description><p><em>This is primarily focused on the content of the patch, not so much the features they&rsquo;ve added.</em></p>
<h1 id="story">Story</h1>
<ul>
<li>Mistwake Dungeon was a good difficulty. Although I&rsquo;m not a fan of the electricity star AOEs, very hard to read for no apparent reason. Please just stick with the old one.</li>
<li>Cutscene quality def. got better. As in animations and uniqueness.</li>
<li>Love the look and feel (Treno). There&rsquo;s a ton of good spots for &ldquo;gpose-ing&rdquo;. Music is nice too.</li>
<li>Seriously Krile? You parents were the ones who dropped you into the Source. I don&rsquo;t think they&rsquo;d care if you wanted to stay in the Source (just make up your mind) -&gt; well glad that got sorted out</li>
<li>&ldquo;Hell on Rails&rdquo; Trial (Doomtrain) is very nicely designed. Its got some nice unique mechanics, the &ldquo;sucking&rdquo; mechanic definetly trips you up the first time because the distance to move back + timing has been tuned so that you need to pre-position for it.</li>
<li>The transition from inside the engine to outside was really cool!!! This is probably one of my top normal trials now.</li>
<li>The instance battle was well done too. The roleplaying part was on point, and when it was finally time to fight a real boss you get to play as yourelf (I think this is the best flow). Love the idea using the spriggan to avoid Behemoth&rsquo;s meteor.</li>
<li>Cool so we just get to keep the key. If this were any bit realistic, we&rsquo;ve surely learned that no one this powerful should be allowed to keep the key on themsleves 24/7. Because surely the WoL being the most powerful being will never run rogue with a interdimensional travel capable tool. Then again, seeing how stuff gets stolen all the time in the story&hellip; Well I guess it can go either way.</li>
<li>I&rsquo;m guessing this key is gonna be how the writers justify being able to travel to new worlds for post-Zodiark/Hydaelyn story. Its fine I guess, but a little disappointing it isn&rsquo;t something more unique.</li>
<li>And what do you know. Ascians. I hope we get something unqiue for 8.0&hellip; I guess thats fine but please lets not have it just be SHB all over again.</li>
</ul>
<h1 id="raid">Raid</h1>
<ul>
<li>&ldquo;Feral Fandom&rdquo; -&gt; Yep thats FF14 NA playerbase for you.</li>
<li>Heavyweight 1 (Vamp Fatale) Raid was cool and unique, but a bit too flashy imo. That Half Moon is needlessly large, wish we&rsquo;d stop with mechanics that are designed to trick people even when read correctly.</li>
<li>Heavyweight 2 (Xtremes) I take it back, this is the one with the blinding effects MY EYES. Fire and water one after another. This is a pretty hard normal fight actually (the first time you run it blind). Really punishing for bad AOE placement positions since you can effectively be cut off from the team.</li>
<li>Holy wow these cutscenes are in serious need of voice acting. Its a good story but so dry and awkward without it.</li>
<li>Heavyweight 3 (Tyrant). Really? Behemoth again, double dipping from the instance battle. There&rsquo;s so many other cool FF monsters. I like the arena, it fits the guy well, all about history of the Arcadion/tradition. Fight is underwhelming and too easy imo, apart from 1 single trick mechanic that can cause a wipe&hellip;</li>
<li>Heavyweight 4 (Lindwurm). EVERYTHING BURNS. This fight was honestly too easy, zero deaths everything can be read. 2nd phase was underhelming.</li>
<li>Overall the story here while not as in depth and relevant to the story as Endwalker raids, still had a nice little twist at the end I def did not expect. Enjoyed it!</li>
</ul>
<h1 id="misc">Misc</h1>
<ul>
<li>The new Frontline map is &ldquo;dangerous&rdquo;. Overall the new capturing point system is far better than a non-interruptable interact like in Onsal Hakir. The snowman and aurora events are also good, and I think they come in right when they&rsquo;re needed too (to spice things up/allow for a turning point).</li>
<li>The map design however is far too complex, all these bridges and everywhere and invisible walls. It does add a lot of chokepoints but also makes it difficult to navigate from point A -&gt; B (but partially I guess this is done cause the map does feel smaller than Onsal).</li>
</ul>


<a href="https://micro.pinapelz.moe//tags/ffxiv" class="p-category">#ffxiv</a></description> + <guid>https://micro.pinapelz.com/posts/2025-12-19-08-ffxiv-patch-7-4/</guid> + <description><p><em>This is primarily focused on the content of the patch, not so much the features they&rsquo;ve added.</em></p>
<h1 id="story">Story</h1>
<ul>
<li>Mistwake Dungeon was a good difficulty. Although I&rsquo;m not a fan of the electricity star AOEs, very hard to read for no apparent reason. Please just stick with the old one.</li>
<li>Cutscene quality def. got better. As in animations and uniqueness.</li>
<li>Love the look and feel (Treno). There&rsquo;s a ton of good spots for &ldquo;gpose-ing&rdquo;. Music is nice too.</li>
<li>Seriously Krile? You parents were the ones who dropped you into the Source. I don&rsquo;t think they&rsquo;d care if you wanted to stay in the Source (just make up your mind) -&gt; well glad that got sorted out</li>
<li>&ldquo;Hell on Rails&rdquo; Trial (Doomtrain) is very nicely designed. Its got some nice unique mechanics, the &ldquo;sucking&rdquo; mechanic definetly trips you up the first time because the distance to move back + timing has been tuned so that you need to pre-position for it.</li>
<li>The transition from inside the engine to outside was really cool!!! This is probably one of my top normal trials now.</li>
<li>The instance battle was well done too. The roleplaying part was on point, and when it was finally time to fight a real boss you get to play as yourelf (I think this is the best flow). Love the idea using the spriggan to avoid Behemoth&rsquo;s meteor.</li>
<li>Cool so we just get to keep the key. If this were any bit realistic, we&rsquo;ve surely learned that no one this powerful should be allowed to keep the key on themsleves 24/7. Because surely the WoL being the most powerful being will never run rogue with a interdimensional travel capable tool. Then again, seeing how stuff gets stolen all the time in the story&hellip; Well I guess it can go either way.</li>
<li>I&rsquo;m guessing this key is gonna be how the writers justify being able to travel to new worlds for post-Zodiark/Hydaelyn story. Its fine I guess, but a little disappointing it isn&rsquo;t something more unique.</li>
<li>And what do you know. Ascians. I hope we get something unqiue for 8.0&hellip; I guess thats fine but please lets not have it just be SHB all over again.</li>
</ul>
<h1 id="raid">Raid</h1>
<ul>
<li>&ldquo;Feral Fandom&rdquo; -&gt; Yep thats FF14 NA playerbase for you.</li>
<li>Heavyweight 1 (Vamp Fatale) Raid was cool and unique, but a bit too flashy imo. That Half Moon is needlessly large, wish we&rsquo;d stop with mechanics that are designed to trick people even when read correctly.</li>
<li>Heavyweight 2 (Xtremes) I take it back, this is the one with the blinding effects MY EYES. Fire and water one after another. This is a pretty hard normal fight actually (the first time you run it blind). Really punishing for bad AOE placement positions since you can effectively be cut off from the team.</li>
<li>Holy wow these cutscenes are in serious need of voice acting. Its a good story but so dry and awkward without it.</li>
<li>Heavyweight 3 (Tyrant). Really? Behemoth again, double dipping from the instance battle. There&rsquo;s so many other cool FF monsters. I like the arena, it fits the guy well, all about history of the Arcadion/tradition. Fight is underwhelming and too easy imo, apart from 1 single trick mechanic that can cause a wipe&hellip;</li>
<li>Heavyweight 4 (Lindwurm). EVERYTHING BURNS. This fight was honestly too easy, zero deaths everything can be read. 2nd phase was underhelming.</li>
<li>Overall the story here while not as in depth and relevant to the story as Endwalker raids, still had a nice little twist at the end I def did not expect. Enjoyed it!</li>
</ul>
<h1 id="misc">Misc</h1>
<ul>
<li>The new Frontline map is &ldquo;dangerous&rdquo;. Overall the new capturing point system is far better than a non-interruptable interact like in Onsal Hakir. The snowman and aurora events are also good, and I think they come in right when they&rsquo;re needed too (to spice things up/allow for a turning point).</li>
<li>The map design however is far too complex, all these bridges and everywhere and invisible walls. It does add a lot of chokepoints but also makes it difficult to navigate from point A -&gt; B (but partially I guess this is done cause the map does feel smaller than Onsal).</li>
</ul>


<a href="https://micro.pinapelz.com//tags/ffxiv" class="p-category">#ffxiv</a></description> </item> <item> <title>Arcade Monsters</title> - <link>https://micro.pinapelz.moe/posts/2025-12-18-07-arcade-monsters-sd/</link> + <link>https://micro.pinapelz.com/posts/2025-12-18-07-arcade-monsters-sd/</link> <pubDate>Thu, 18 Dec 2025 21:38:23 -0800</pubDate><author>yukais@pinapelz.com (Pinapelz)</author> - <guid>https://micro.pinapelz.moe/posts/2025-12-18-07-arcade-monsters-sd/</guid> + <guid>https://micro.pinapelz.com/posts/2025-12-18-07-arcade-monsters-sd/</guid> <description><p>If you live in Socal and are also into arcade gaming (both retro and modern), one of the great weekend day-trips I&rsquo;ve found is taking the Pacific Surfliner train down to San Diego.</p>
<h1 id="getting-there">Getting There</h1>
<p>There are a number of departures in the morning, and while not as fast as a car when there&rsquo;s no traffic, you can save your energy and do other stuff on the train. The timetable also works nicely since you can pretty much get there around opening if you want to beat the crowds.</p></description> </item> <item> <title>First MXM 18 Cleared!</title> - <link>https://micro.pinapelz.moe/posts/2025-12-06-first-sdvx-18/</link> + <link>https://micro.pinapelz.com/posts/2025-12-06-first-sdvx-18/</link> <pubDate>Sat, 06 Dec 2025 22:33:23 -0800</pubDate><author>yukais@pinapelz.com (Pinapelz)</author> - <guid>https://micro.pinapelz.moe/posts/2025-12-06-first-sdvx-18/</guid> - <description><p>Cleared my first 18 difficulty chart in 

<a href="https://micro.pinapelz.moe//tags/sdvx" class="p-category">#sdvx</a>
</p>
<p>Albeit its not a very difficult one, but I think I&rsquo;m finally starting to chip away at the 17-18 difficulty wall.
<figure><img src="https://micro.pinapelz.moe/posts/2025-12-06-first-sdvx-18/18.webp"
 alt="Sound Voltex Enchant 6 Clear" width="500">
</figure>
</p></description> + <guid>https://micro.pinapelz.com/posts/2025-12-06-first-sdvx-18/</guid> + <description><p>Cleared my first 18 difficulty chart in 

<a href="https://micro.pinapelz.com//tags/sdvx" class="p-category">#sdvx</a>
</p>
<p>Albeit its not a very difficult one, but I think I&rsquo;m finally starting to chip away at the 17-18 difficulty wall.
<figure><img src="https://micro.pinapelz.com/posts/2025-12-06-first-sdvx-18/18.webp"
 alt="Sound Voltex Enchant 6 Clear" width="500">
</figure>
</p></description> </item> <item> <title>Enable HID Mode on Nintendo Pro Controller 2</title> - <link>https://micro.pinapelz.moe/posts/2025-12-04-procon2-hid-tool/</link> + <link>https://micro.pinapelz.com/posts/2025-12-04-procon2-hid-tool/</link> <pubDate>Thu, 04 Dec 2025 23:19:29 -0800</pubDate><author>yukais@pinapelz.com (Pinapelz)</author> - <guid>https://micro.pinapelz.moe/posts/2025-12-04-procon2-hid-tool/</guid> + <guid>https://micro.pinapelz.com/posts/2025-12-04-procon2-hid-tool/</guid> <description><p>Switch 2 Pro Controller is very comfy in my hands, but unfortunately it didn&rsquo;t work out of box on PC (Linux) for me like it&rsquo;s predacessor. Until there&rsquo;s actual better driver support for this thing in the kernel (or Valve does something), here&rsquo;s a hacky Python script to initialize HID-mode on the controller</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-python" data-lang="python"><span style="display:flex;"><span><span style="color:#75715e"># I only tested this script on Linux w/ Steam but in theory it shoud work on Windows?</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> usb.core <span style="color:#75715e"># install pyusb first: pip install pyusb</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> usb.util
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> time
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> sys
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>VENDOR_ID <span style="color:#f92672">=</span> <span style="color:#ae81ff">0x057E</span>
</span></span><span style="display:flex;"><span>PRODUCT_IDS <span style="color:#f92672">=</span> {
</span></span><span style="display:flex;"><span> <span style="color:#ae81ff">0x2066</span>: <span style="color:#e6db74">&#34;Joy-Con (L)&#34;</span>,
</span></span><span style="display:flex;"><span> <span style="color:#ae81ff">0x2067</span>: <span style="color:#e6db74">&#34;Joy-Con (R)&#34;</span>,
</span></span><span style="display:flex;"><span> <span style="color:#ae81ff">0x2069</span>: <span style="color:#e6db74">&#34;Pro Controller&#34;</span>,
</span></span><span style="display:flex;"><span> <span style="color:#ae81ff">0x2073</span>: <span style="color:#e6db74">&#34;GCN Controller&#34;</span>
</span></span><span style="display:flex;"><span>}
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>USB_INTERFACE_NUMBER <span style="color:#f92672">=</span> <span style="color:#ae81ff">1</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>INIT_COMMAND_0x03 <span style="color:#f92672">=</span> bytes([<span style="color:#ae81ff">0x03</span>, <span style="color:#ae81ff">0x91</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x0d</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x08</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x01</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>])
</span></span><span style="display:flex;"><span>UNKNOWN_COMMAND_0x07 <span style="color:#f92672">=</span> bytes([<span style="color:#ae81ff">0x07</span>, <span style="color:#ae81ff">0x91</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x01</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>])
</span></span><span style="display:flex;"><span>UNKNOWN_COMMAND_0x16 <span style="color:#f92672">=</span> bytes([<span style="color:#ae81ff">0x16</span>, <span style="color:#ae81ff">0x91</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x01</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>])
</span></span><span style="display:flex;"><span>REQUEST_CONTROLLER_MAC <span style="color:#f92672">=</span> bytes([<span style="color:#ae81ff">0x15</span>, <span style="color:#ae81ff">0x91</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x01</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x0e</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x02</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>])
</span></span><span style="display:flex;"><span>LTK_REQUEST <span style="color:#f92672">=</span> bytes([<span style="color:#ae81ff">0x15</span>, <span style="color:#ae81ff">0x91</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x02</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x11</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>])
</span></span><span style="display:flex;"><span>UNKNOWN_COMMAND_0x15_ARG_0x03 <span style="color:#f92672">=</span> bytes([<span style="color:#ae81ff">0x15</span>, <span style="color:#ae81ff">0x91</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x03</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x01</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>])
</span></span><span style="display:flex;"><span>UNKNOWN_COMMAND_0x09 <span style="color:#f92672">=</span> bytes([<span style="color:#ae81ff">0x09</span>, <span style="color:#ae81ff">0x91</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x07</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x08</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>])
</span></span><span style="display:flex;"><span>IMU_COMMAND_0x02 <span style="color:#f92672">=</span> bytes([<span style="color:#ae81ff">0x0c</span>, <span style="color:#ae81ff">0x91</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x02</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x04</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x27</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>])
</span></span><span style="display:flex;"><span>OUT_UNKNOWN_COMMAND_0x11 <span style="color:#f92672">=</span> bytes([<span style="color:#ae81ff">0x11</span>, <span style="color:#ae81ff">0x91</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x03</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>])
</span></span><span style="display:flex;"><span>UNKNOWN_COMMAND_0x0A <span style="color:#f92672">=</span> bytes([<span style="color:#ae81ff">0x0a</span>, <span style="color:#ae81ff">0x91</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x08</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x14</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x01</span>, <span style="color:#ae81ff">0xff</span>, <span style="color:#ae81ff">0xff</span>, <span style="color:#ae81ff">0xff</span>, <span style="color:#ae81ff">0xff</span>, <span style="color:#ae81ff">0xff</span>, <span style="color:#ae81ff">0xff</span>, <span style="color:#ae81ff">0xff</span>, <span style="color:#ae81ff">0xff</span>, <span style="color:#ae81ff">0x35</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x46</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>])
</span></span><span style="display:flex;"><span>IMU_COMMAND_0x04 <span style="color:#f92672">=</span> bytes([<span style="color:#ae81ff">0x0c</span>, <span style="color:#ae81ff">0x91</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x04</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x04</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x27</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>])
</span></span><span style="display:flex;"><span>ENABLE_HAPTICS <span style="color:#f92672">=</span> bytes([<span style="color:#ae81ff">0x03</span>, <span style="color:#ae81ff">0x91</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x0a</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x04</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x09</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>])
</span></span><span style="display:flex;"><span>OUT_UNKNOWN_COMMAND_0x10 <span style="color:#f92672">=</span> bytes([<span style="color:#ae81ff">0x10</span>, <span style="color:#ae81ff">0x91</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x01</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>])
</span></span><span style="display:flex;"><span>OUT_UNKNOWN_COMMAND_0x01 <span style="color:#f92672">=</span> bytes([<span style="color:#ae81ff">0x01</span>, <span style="color:#ae81ff">0x91</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x0c</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>])
</span></span><span style="display:flex;"><span>OUT_UNKNOWN_COMMAND_0x03 <span style="color:#f92672">=</span> bytes([<span style="color:#ae81ff">0x03</span>, <span style="color:#ae81ff">0x91</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x01</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>])
</span></span><span style="display:flex;"><span>OUT_UNKNOWN_COMMAND_0x0A_ALT <span style="color:#f92672">=</span> bytes([<span style="color:#ae81ff">0x0a</span>, <span style="color:#ae81ff">0x91</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x02</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x04</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x03</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>])
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">def</span> <span style="color:#a6e22e">send_usb_data</span>(ep_out, ep_in, data, description<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;&#34;</span>):
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">try</span>:
</span></span><span style="display:flex;"><span> ep_out<span style="color:#f92672">.</span>write(data)
</span></span><span style="display:flex;"><span> time<span style="color:#f92672">.</span>sleep(<span style="color:#ae81ff">0.01</span>)
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">try</span>:
</span></span><span style="display:flex;"><span> response <span style="color:#f92672">=</span> ep_in<span style="color:#f92672">.</span>read(<span style="color:#ae81ff">32</span>, timeout<span style="color:#f92672">=</span><span style="color:#ae81ff">100</span>)
</span></span><span style="display:flex;"><span> hex_resp <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34; &#34;</span><span style="color:#f92672">.</span>join([<span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;</span><span style="color:#e6db74">{</span>x<span style="color:#e6db74">:</span><span style="color:#e6db74">02x</span><span style="color:#e6db74">}</span><span style="color:#e6db74">&#34;</span> <span style="color:#66d9ef">for</span> x <span style="color:#f92672">in</span> response])
</span></span><span style="display:flex;"><span> print(<span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;[</span><span style="color:#e6db74">{</span>description<span style="color:#e6db74">}</span><span style="color:#e6db74">] Response: </span><span style="color:#e6db74">{</span>hex_resp<span style="color:#e6db74">}</span><span style="color:#e6db74">&#34;</span>)
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">except</span> usb<span style="color:#f92672">.</span>core<span style="color:#f92672">.</span>USBError <span style="color:#66d9ef">as</span> e:
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">if</span> e<span style="color:#f92672">.</span>errno <span style="color:#f92672">==</span> <span style="color:#ae81ff">110</span>:
</span></span><span style="display:flex;"><span> print(<span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;[</span><span style="color:#e6db74">{</span>description<span style="color:#e6db74">}</span><span style="color:#e6db74">] No response (Timeout)&#34;</span>)
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">else</span>:
</span></span><span style="display:flex;"><span> print(<span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;[</span><span style="color:#e6db74">{</span>description<span style="color:#e6db74">}</span><span style="color:#e6db74">] Read Error: </span><span style="color:#e6db74">{</span>e<span style="color:#e6db74">}</span><span style="color:#e6db74">&#34;</span>)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">except</span> usb<span style="color:#f92672">.</span>core<span style="color:#f92672">.</span>USBError <span style="color:#66d9ef">as</span> e:
</span></span><span style="display:flex;"><span> print(<span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;[</span><span style="color:#e6db74">{</span>description<span style="color:#e6db74">}</span><span style="color:#e6db74">] Write Error: </span><span style="color:#e6db74">{</span>e<span style="color:#e6db74">}</span><span style="color:#e6db74">&#34;</span>)
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">raise</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">def</span> <span style="color:#a6e22e">set_player_leds</span>(ep_out, ep_in, led_mask):
</span></span><span style="display:flex;"><span> command <span style="color:#f92672">=</span> [
</span></span><span style="display:flex;"><span> <span style="color:#ae81ff">0x09</span>, <span style="color:#ae81ff">0x91</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x07</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x08</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>,
</span></span><span style="display:flex;"><span> led_mask,
</span></span><span style="display:flex;"><span> <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>
</span></span><span style="display:flex;"><span> ]
</span></span><span style="display:flex;"><span> send_usb_data(ep_out, ep_in, bytes(command), <span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;Set LED Mask: 0x</span><span style="color:#e6db74">{</span>led_mask<span style="color:#e6db74">:</span><span style="color:#e6db74">02x</span><span style="color:#e6db74">}</span><span style="color:#e6db74">&#34;</span>)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">def</span> <span style="color:#a6e22e">connect_usb</span>():
</span></span><span style="display:flex;"><span> print(<span style="color:#e6db74">&#34;Searching for Nintendo Switch Controllers...&#34;</span>)
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">def</span> <span style="color:#a6e22e">match_device</span>(dev):
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">return</span> dev<span style="color:#f92672">.</span>idVendor <span style="color:#f92672">==</span> VENDOR_ID <span style="color:#f92672">and</span> dev<span style="color:#f92672">.</span>idProduct <span style="color:#f92672">in</span> PRODUCT_IDS
</span></span><span style="display:flex;"><span> dev <span style="color:#f92672">=</span> usb<span style="color:#f92672">.</span>core<span style="color:#f92672">.</span>find(custom_match<span style="color:#f92672">=</span>match_device)
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">if</span> dev <span style="color:#f92672">is</span> <span style="color:#66d9ef">None</span>:
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">raise</span> <span style="color:#a6e22e">ValueError</span>(<span style="color:#e6db74">&#34;Device not found&#34;</span>)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span> product_name <span style="color:#f92672">=</span> PRODUCT_IDS<span style="color:#f92672">.</span>get(dev<span style="color:#f92672">.</span>idProduct, <span style="color:#e6db74">&#34;Unknown Device&#34;</span>)
</span></span><span style="display:flex;"><span> print(<span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;Found </span><span style="color:#e6db74">{</span>product_name<span style="color:#e6db74">}</span><span style="color:#e6db74"> (ID: </span><span style="color:#e6db74">{</span>dev<span style="color:#f92672">.</span>idProduct<span style="color:#e6db74">:</span><span style="color:#e6db74">04x</span><span style="color:#e6db74">}</span><span style="color:#e6db74">)&#34;</span>)
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">if</span> dev<span style="color:#f92672">.</span>is_kernel_driver_active(USB_INTERFACE_NUMBER):
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">try</span>:
</span></span><span style="display:flex;"><span> print(<span style="color:#e6db74">&#34;Detaching kernel driver...&#34;</span>)
</span></span><span style="display:flex;"><span> dev<span style="color:#f92672">.</span>detach_kernel_driver(USB_INTERFACE_NUMBER)
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">except</span> usb<span style="color:#f92672">.</span>core<span style="color:#f92672">.</span>USBError <span style="color:#66d9ef">as</span> e:
</span></span><span style="display:flex;"><span> sys<span style="color:#f92672">.</span>exit(<span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;Could not detach kernel driver: </span><span style="color:#e6db74">{</span>e<span style="color:#e6db74">}</span><span style="color:#e6db74">&#34;</span>)
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">try</span>:
</span></span><span style="display:flex;"><span> dev<span style="color:#f92672">.</span>set_configuration()
</span></span><span style="display:flex;"><span> print(<span style="color:#e6db74">&#34;Configuration set.&#34;</span>)
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">except</span> usb<span style="color:#f92672">.</span>core<span style="color:#f92672">.</span>USBError <span style="color:#66d9ef">as</span> e:
</span></span><span style="display:flex;"><span> print(<span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;Error setting configuration: </span><span style="color:#e6db74">{</span>e<span style="color:#e6db74">}</span><span style="color:#e6db74">&#34;</span>)
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">try</span>:
</span></span><span style="display:flex;"><span> usb<span style="color:#f92672">.</span>util<span style="color:#f92672">.</span>claim_interface(dev, USB_INTERFACE_NUMBER)
</span></span><span style="display:flex;"><span> print(<span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;Interface </span><span style="color:#e6db74">{</span>USB_INTERFACE_NUMBER<span style="color:#e6db74">}</span><span style="color:#e6db74"> claimed.&#34;</span>)
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">except</span> usb<span style="color:#f92672">.</span>core<span style="color:#f92672">.</span>USBError <span style="color:#66d9ef">as</span> e:
</span></span><span style="display:flex;"><span> sys<span style="color:#f92672">.</span>exit(<span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;Could not claim interface: </span><span style="color:#e6db74">{</span>e<span style="color:#e6db74">}</span><span style="color:#e6db74">&#34;</span>)
</span></span><span style="display:flex;"><span> cfg <span style="color:#f92672">=</span> dev<span style="color:#f92672">.</span>get_active_configuration()
</span></span><span style="display:flex;"><span> intf <span style="color:#f92672">=</span> cfg[(USB_INTERFACE_NUMBER,<span style="color:#ae81ff">0</span>)]
</span></span><span style="display:flex;"><span> ep_out <span style="color:#f92672">=</span> usb<span style="color:#f92672">.</span>util<span style="color:#f92672">.</span>find_descriptor(
</span></span><span style="display:flex;"><span> intf,
</span></span><span style="display:flex;"><span> custom_match <span style="color:#f92672">=</span> <span style="color:#66d9ef">lambda</span> e: usb<span style="color:#f92672">.</span>util<span style="color:#f92672">.</span>endpoint_direction(e<span style="color:#f92672">.</span>bEndpointAddress) <span style="color:#f92672">==</span> usb<span style="color:#f92672">.</span>util<span style="color:#f92672">.</span>ENDPOINT_OUT)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span> ep_in <span style="color:#f92672">=</span> usb<span style="color:#f92672">.</span>util<span style="color:#f92672">.</span>find_descriptor(
</span></span><span style="display:flex;"><span> intf,
</span></span><span style="display:flex;"><span> custom_match <span style="color:#f92672">=</span>
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">lambda</span> e: usb<span style="color:#f92672">.</span>util<span style="color:#f92672">.</span>endpoint_direction(e<span style="color:#f92672">.</span>bEndpointAddress) <span style="color:#f92672">==</span> usb<span style="color:#f92672">.</span>util<span style="color:#f92672">.</span>ENDPOINT_IN
</span></span><span style="display:flex;"><span> )
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">if</span> <span style="color:#f92672">not</span> ep_out:
</span></span><span style="display:flex;"><span> sys<span style="color:#f92672">.</span>exit(<span style="color:#e6db74">&#34;Could not find OUT endpoint&#34;</span>)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span> print(<span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;Found Endpoint OUT: 0x</span><span style="color:#e6db74">{</span>ep_out<span style="color:#f92672">.</span>bEndpointAddress<span style="color:#e6db74">:</span><span style="color:#e6db74">02x</span><span style="color:#e6db74">}</span><span style="color:#e6db74">&#34;</span>)
</span></span><span style="display:flex;"><span> print(<span style="color:#e6db74">&#34;Starting Initialization Sequence...&#34;</span>)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">try</span>:
</span></span><span style="display:flex;"><span> send_usb_data(ep_out, ep_in, INIT_COMMAND_0x03, <span style="color:#e6db74">&#34;Init 0x03&#34;</span>)
</span></span><span style="display:flex;"><span> send_usb_data(ep_out, ep_in, UNKNOWN_COMMAND_0x07, <span style="color:#e6db74">&#34;Unknown 0x07&#34;</span>)
</span></span><span style="display:flex;"><span> send_usb_data(ep_out, ep_in, UNKNOWN_COMMAND_0x16, <span style="color:#e6db74">&#34;Unknown 0x16&#34;</span>)
</span></span><span style="display:flex;"><span> send_usb_data(ep_out, ep_in, REQUEST_CONTROLLER_MAC, <span style="color:#e6db74">&#34;Req MAC&#34;</span>)
</span></span><span style="display:flex;"><span> send_usb_data(ep_out, ep_in, LTK_REQUEST, <span style="color:#e6db74">&#34;Req LTK&#34;</span>)
</span></span><span style="display:flex;"><span> send_usb_data(ep_out, ep_in, UNKNOWN_COMMAND_0x15_ARG_0x03, <span style="color:#e6db74">&#34;Unknown 0x15&#34;</span>)
</span></span><span style="display:flex;"><span> send_usb_data(ep_out, ep_in, UNKNOWN_COMMAND_0x09, <span style="color:#e6db74">&#34;Unknown 0x09&#34;</span>)
</span></span><span style="display:flex;"><span> send_usb_data(ep_out, ep_in, IMU_COMMAND_0x02, <span style="color:#e6db74">&#34;IMU 0x02&#34;</span>)
</span></span><span style="display:flex;"><span> send_usb_data(ep_out, ep_in, OUT_UNKNOWN_COMMAND_0x11, <span style="color:#e6db74">&#34;OUT Unknown 0x11&#34;</span>)
</span></span><span style="display:flex;"><span> send_usb_data(ep_out, ep_in, UNKNOWN_COMMAND_0x0A, <span style="color:#e6db74">&#34;Unknown 0x0A&#34;</span>)
</span></span><span style="display:flex;"><span> send_usb_data(ep_out, ep_in, IMU_COMMAND_0x04, <span style="color:#e6db74">&#34;IMU 0x04&#34;</span>)
</span></span><span style="display:flex;"><span> send_usb_data(ep_out, ep_in, ENABLE_HAPTICS, <span style="color:#e6db74">&#34;Enable Haptics&#34;</span>)
</span></span><span style="display:flex;"><span> send_usb_data(ep_out, ep_in, OUT_UNKNOWN_COMMAND_0x10, <span style="color:#e6db74">&#34;OUT Unknown 0x10&#34;</span>)
</span></span><span style="display:flex;"><span> send_usb_data(ep_out, ep_in, OUT_UNKNOWN_COMMAND_0x01, <span style="color:#e6db74">&#34;OUT Unknown 0x01&#34;</span>)
</span></span><span style="display:flex;"><span> send_usb_data(ep_out, ep_in, OUT_UNKNOWN_COMMAND_0x03, <span style="color:#e6db74">&#34;OUT Unknown 0x03&#34;</span>)
</span></span><span style="display:flex;"><span> send_usb_data(ep_out, ep_in, OUT_UNKNOWN_COMMAND_0x0A_ALT, <span style="color:#e6db74">&#34;OUT Unknown 0x0A Alt&#34;</span>)
</span></span><span style="display:flex;"><span> set_player_leds(ep_out, ep_in, <span style="color:#ae81ff">0x0F</span>)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span> print(<span style="color:#e6db74">&#34;Controller initialization sequence complete! All LEDs should be on.&#34;</span>)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">except</span> <span style="color:#a6e22e">Exception</span> <span style="color:#66d9ef">as</span> e:
</span></span><span style="display:flex;"><span> print(<span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;Error during sequence: </span><span style="color:#e6db74">{</span>e<span style="color:#e6db74">}</span><span style="color:#e6db74">&#34;</span>)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">if</span> __name__ <span style="color:#f92672">==</span> <span style="color:#e6db74">&#34;__main__&#34;</span>:
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">try</span>:
</span></span><span style="display:flex;"><span> connect_usb()
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">except</span> <span style="color:#a6e22e">ValueError</span> <span style="color:#66d9ef">as</span> e:
</span></span><span style="display:flex;"><span> print(e)
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">except</span> <span style="color:#a6e22e">Exception</span> <span style="color:#66d9ef">as</span> e:
</span></span><span style="display:flex;"><span> print(<span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;Unexpected error: </span><span style="color:#e6db74">{</span>e<span style="color:#e6db74">}</span><span style="color:#e6db74">&#34;</span>)
</span></span></code></pre></div><p><strong>Steps</strong></p></description> </item> <item> <title>YouTube Music Recap 2025</title> - <link>https://micro.pinapelz.moe/posts/2025-12-03-04-yt-music-rewind/</link> + <link>https://micro.pinapelz.com/posts/2025-12-03-04-yt-music-rewind/</link> <pubDate>Wed, 03 Dec 2025 19:38:52 -0800</pubDate><author>yukais@pinapelz.com (Pinapelz)</author> - <guid>https://micro.pinapelz.moe/posts/2025-12-03-04-yt-music-rewind/</guid> + <guid>https://micro.pinapelz.com/posts/2025-12-03-04-yt-music-rewind/</guid> <description><p>Its all Bandori. At least 75% of that MyGO!!!!! listening time was probably Haruhikage since I came back to Bandori and had to catch up before watching Ave Mujica anime.</p>
<figure><img src="https://files.catbox.moe/tsquqc.jpg"
 alt="YouTube Music Recap Top 5 Artists In Order: MyGO!!!!!, Yumenokessho, Ave Mujica, KMNZ, Roselia" width="300">
</figure></description> </item> <item> <title>INIU Power Bank Gets Recall</title> - <link>https://micro.pinapelz.moe/posts/2025-12-02-power-bank-recall/</link> + <link>https://micro.pinapelz.com/posts/2025-12-02-power-bank-recall/</link> <pubDate>Tue, 02 Dec 2025 19:45:01 -0800</pubDate><author>yukais@pinapelz.com (Pinapelz)</author> - <guid>https://micro.pinapelz.moe/posts/2025-12-02-power-bank-recall/</guid> + <guid>https://micro.pinapelz.com/posts/2025-12-02-power-bank-recall/</guid> <description><p>It would seem that I, along with what seems like the entirety of <a href="https://www.reddit.com/r/amazonprime/comments/1pcq5ug/how_to_get_customer_support_for_recall_iniu/">Reddit</a> bought the same cheap 10000mAh power bank and now its getting recalled.</p>
<p>I wonder if it has anything to do with the poor quality they found in that viral <a href="https://www.lumafield.com/first-article/posts/whats-hiding-inside-haribos-power-bank-and-headphones">Haribo Powerbank</a>. Not sure since I&rsquo;ve had this one for a long time. I guess I really got what I paid for, shame cause it really is super slim and works well.</p></description> </item> <item> <title>China Town Fair</title> - <link>https://micro.pinapelz.moe/posts/2025-12-02-china-town-fair/</link> + <link>https://micro.pinapelz.com/posts/2025-12-02-china-town-fair/</link> <pubDate>Tue, 02 Dec 2025 00:22:32 -0800</pubDate><author>yukais@pinapelz.com (Pinapelz)</author> - <guid>https://micro.pinapelz.moe/posts/2025-12-02-china-town-fair/</guid> - <description><p>Visited New York during the Thanksgiving break and had a chance to stopped by one of the most legendary landmarks North American arcade gaming history.</p>
<figure><img src="https://micro.pinapelz.moe/posts/2025-12-02-china-town-fair/outside-ctf.webp"
 alt="China Town Fair Outside">
</figure>

<p>Also yep you&rsquo;re reading that right, it indeed once home to a <a href="https://davidpotorti.substack.com/p/the-dancing-chicken">dancing chicken as well as one that played tic tac toe</a>.</p>
<p>But apart from just being an old arcade, it was also home to one of the largest competitive arcade game fighting scene (Marvel vs Capcom, Street Fighter, etc.). Many of NAs top players frequented this arcade. However, as we all already know video arcades began to die down during the early 2000s and China Town Fair was no exception having closed in 2011.</p></description> + <guid>https://micro.pinapelz.com/posts/2025-12-02-china-town-fair/</guid> + <description><p>Visited New York during the Thanksgiving break and had a chance to stopped by one of the most legendary landmarks North American arcade gaming history.</p>
<figure><img src="https://micro.pinapelz.com/posts/2025-12-02-china-town-fair/outside-ctf.webp"
 alt="China Town Fair Outside">
</figure>

<p>Also yep you&rsquo;re reading that right, it indeed once home to a <a href="https://davidpotorti.substack.com/p/the-dancing-chicken">dancing chicken as well as one that played tic tac toe</a>.</p>
<p>But apart from just being an old arcade, it was also home to one of the largest competitive arcade game fighting scene (Marvel vs Capcom, Street Fighter, etc.). Many of NAs top players frequented this arcade. However, as we all already know video arcades began to die down during the early 2000s and China Town Fair was no exception having closed in 2011.</p></description> </item> <item> <title>Hello World - Why This</title> - <link>https://micro.pinapelz.moe/posts/2025-12-01-hello-world/</link> + <link>https://micro.pinapelz.com/posts/2025-12-01-hello-world/</link> <pubDate>Mon, 01 Dec 2025 20:11:57 -0800</pubDate><author>yukais@pinapelz.com (Pinapelz)</author> - <guid>https://micro.pinapelz.moe/posts/2025-12-01-hello-world/</guid> + <guid>https://micro.pinapelz.com/posts/2025-12-01-hello-world/</guid> <description><p>I think having control of your own data is great. The same is true for decentralized social media. I&rsquo;ve always been a primary user of microblog platforms (like Twitter/X). Having experienced both the traditional and &ldquo;decentralized&rdquo; approaches to microblogs, they both have some particular shortcoming in terms of what I want to get out of &ldquo;social media&rdquo;.</p>
<h2 id="twitterx">Twitter/X</h2>
<p>This is fairly self explanatory. The rebranding of Twitter to X and Musk&rsquo;s new ownership of the platform shifted the direction of the platform to be ever more political. X Premium boosting visibility is also something I wasn&rsquo;t a particular fan of. You can&rsquo;t view anything without signing in either, so goodbye viewing stuff anonymously. There&rsquo;s just a lot of &ldquo;features&rdquo; here I&rsquo;m not a fan of. Needless to say, there&rsquo;s a lot of reasons to not post stuff there.</p></description> </item> </channel> diff --git a/micro.pinapelz.moe/posts/page/1/index.html b/micro.pinapelz.com/posts/page/1/index.html index 1c21f92..803dfa8 100644 --- a/micro.pinapelz.moe/posts/page/1/index.html +++ b/micro.pinapelz.com/posts/page/1/index.html @@ -1,9 +1,9 @@ <!DOCTYPE html> <html lang="en-us"> <head> - <title>https://micro.pinapelz.moe/posts/</title> - <link rel="canonical" href="https://micro.pinapelz.moe/posts/"> + <title>https://micro.pinapelz.com/posts/</title> + <link rel="canonical" href="https://micro.pinapelz.com/posts/"> <meta charset="utf-8"> - <meta http-equiv="refresh" content="0; url=https://micro.pinapelz.moe/posts/"> + <meta http-equiv="refresh" content="0; url=https://micro.pinapelz.com/posts/"> </head> </html> diff --git a/micro.pinapelz.moe/posts/page/2/index.html b/micro.pinapelz.com/posts/page/2/index.html index fde0ec4..ff3e49b 100644 --- a/micro.pinapelz.moe/posts/page/2/index.html +++ b/micro.pinapelz.com/posts/page/2/index.html @@ -5,7 +5,7 @@ <meta name="viewport" content="width=device-width, initial-scale=1"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <style type=text/css>body{font-family:monospace;}</style> - <title>Posts | micro.pinapelz.moe</title> + <title>Posts | micro.pinapelz.com</title> <meta name="author" content="map[avatar:https://files.catbox.moe/5r1pue.jpg banner:https://files.pinapelz.com/pso2ngs-2232-collab.png bio:yo! and he's more than a cover he's a quilt<br/> General arcade rhythm game enjoyer (SDVX, IIDX, CHUNITHM)<br/> @@ -14,7 +14,7 @@ Arch Linux + Hyprland user (btw)<br/> Hi from the <a href="https://indieweb.org/">indieweb</a>, if you are seeing me bridged elsewhere! email:yukais@pinapelz.com name:Pinapelz]"> <link rel="stylesheet" href="/css/style.css"> - <link rel="alternate" type="application/rss+xml" href="/posts/index.xml" title="micro.pinapelz.moe"> + <link rel="alternate" type="application/rss+xml" href="/posts/index.xml" title="micro.pinapelz.com"> <link rel="me" href="https://github.com/pinapelz" /> @@ -29,7 +29,7 @@ rel="token_endpoint" href="https://tokens.indieauth.com/token" /> - <link rel="webmention" href="https://webmention.io/micro.pinapelz.moe/webmention" /> + <link rel="webmention" href="https://webmention.io/micro.pinapelz.com/webmention" /> @@ -39,7 +39,7 @@ <div style="display:flex;flex-flow:row wrap;justify-content:space-between"> <div style="align-self:flex-start;"> ==============<br> - == <a href="https://micro.pinapelz.moe/">Pinapelz</a> ==<br> + == <a href="https://micro.pinapelz.com/">Pinapelz</a> ==<br> ============== </div> <div style="align-self:center;">check it out. I'm in the house like carpet</div> @@ -111,7 +111,7 @@ Arch Linux + Hyprland user (btw)<br/> Hi from the <a href="https://indieweb.org/">indieweb</a>, if you are seeing me bridged elsewhere!</p> </div> - <p class="bio-name"><a href="https://micro.pinapelz.moe/" rel="me" class="p-nickname p-name u-url">Pinapelz</a></p> + <p class="bio-name"><a href="https://micro.pinapelz.com/" rel="me" class="p-nickname p-name u-url">Pinapelz</a></p> </div> <hr/> @@ -119,7 +119,7 @@ <div class="post-title"> <time class="date dt-published" datetime="2025-12-02T19:45:01-08:00">02</time>: - <a href="https://micro.pinapelz.moe/posts/2025-12-02-power-bank-recall/" class="u-url p-name title"> + <a href="https://micro.pinapelz.com/posts/2025-12-02-power-bank-recall/" class="u-url p-name title"> INIU Power Bank Gets Recall </a> </div> @@ -150,7 +150,7 @@ Arch Linux + Hyprland user (btw)<br/> Hi from the <a href="https://indieweb.org/">indieweb</a>, if you are seeing me bridged elsewhere!</p> </div> - <p class="bio-name"><a href="https://micro.pinapelz.moe/" rel="me" class="p-nickname p-name u-url">Pinapelz</a></p> + <p class="bio-name"><a href="https://micro.pinapelz.com/" rel="me" class="p-nickname p-name u-url">Pinapelz</a></p> </div> <hr/> @@ -158,7 +158,7 @@ <div class="post-title"> <time class="date dt-published" datetime="2025-12-02T00:22:32-08:00">02</time>: - <a href="https://micro.pinapelz.moe/posts/2025-12-02-china-town-fair/" class="u-url p-name title"> + <a href="https://micro.pinapelz.com/posts/2025-12-02-china-town-fair/" class="u-url p-name title"> China Town Fair </a> </div> @@ -189,7 +189,7 @@ Arch Linux + Hyprland user (btw)<br/> Hi from the <a href="https://indieweb.org/">indieweb</a>, if you are seeing me bridged elsewhere!</p> </div> - <p class="bio-name"><a href="https://micro.pinapelz.moe/" rel="me" class="p-nickname p-name u-url">Pinapelz</a></p> + <p class="bio-name"><a href="https://micro.pinapelz.com/" rel="me" class="p-nickname p-name u-url">Pinapelz</a></p> </div> <hr/> @@ -197,7 +197,7 @@ <div class="post-title"> <time class="date dt-published" datetime="2025-12-01T20:11:57-08:00">01</time>: - <a href="https://micro.pinapelz.moe/posts/2025-12-01-hello-world/" class="u-url p-name title"> + <a href="https://micro.pinapelz.com/posts/2025-12-01-hello-world/" class="u-url p-name title"> Hello World - Why This </a> </div> @@ -230,7 +230,7 @@ <p style="text-align: center" class="copyright"> - © <a href="https://micro.pinapelz.moe/"><b>micro.pinapelz.moe</b></a>. + © <a href="https://micro.pinapelz.com/"><b>micro.pinapelz.com</b></a>. </p> </footer> diff --git a/micro.pinapelz.moe/sitemap.xml b/micro.pinapelz.com/sitemap.xml index 38d387c..710170a 100644 --- a/micro.pinapelz.moe/sitemap.xml +++ b/micro.pinapelz.com/sitemap.xml @@ -2,91 +2,91 @@ <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml"> <url> - <loc>https://micro.pinapelz.moe/categories/</loc> + <loc>https://micro.pinapelz.com/categories/</loc> <lastmod>2026-05-03T03:16:09-07:00</lastmod> </url><url> - <loc>https://micro.pinapelz.moe/categories/default/</loc> + <loc>https://micro.pinapelz.com/categories/default/</loc> <lastmod>2026-05-03T03:16:09-07:00</lastmod> </url><url> - <loc>https://micro.pinapelz.moe/tags/default/</loc> + <loc>https://micro.pinapelz.com/tags/default/</loc> <lastmod>2026-05-03T03:16:09-07:00</lastmod> </url><url> - <loc>https://micro.pinapelz.moe/</loc> + <loc>https://micro.pinapelz.com/</loc> <lastmod>2026-05-03T03:16:09-07:00</lastmod> </url><url> - <loc>https://micro.pinapelz.moe/posts/2026-04-29-13-dac-vs-wireless-dap/</loc> + <loc>https://micro.pinapelz.com/posts/2026-04-29-13-dac-vs-wireless-dap/</loc> <lastmod>2026-05-03T03:16:09-07:00</lastmod> </url><url> - <loc>https://micro.pinapelz.moe/posts/</loc> + <loc>https://micro.pinapelz.com/posts/</loc> <lastmod>2026-05-03T03:16:09-07:00</lastmod> </url><url> - <loc>https://micro.pinapelz.moe/tags/</loc> + <loc>https://micro.pinapelz.com/tags/</loc> <lastmod>2026-05-03T03:16:09-07:00</lastmod> </url><url> - <loc>https://micro.pinapelz.moe/categories/games/</loc> + <loc>https://micro.pinapelz.com/categories/games/</loc> <lastmod>2026-04-26T18:20:09-07:00</lastmod> </url><url> - <loc>https://micro.pinapelz.moe/tags/playlog/</loc> + <loc>https://micro.pinapelz.com/tags/playlog/</loc> <lastmod>2026-04-26T18:20:09-07:00</lastmod> </url><url> - <loc>https://micro.pinapelz.moe/posts/2026-04-26-12-april-playlog/</loc> + <loc>https://micro.pinapelz.com/posts/2026-04-26-12-april-playlog/</loc> <lastmod>2026-04-26T18:20:09-07:00</lastmod> </url><url> - <loc>https://micro.pinapelz.moe/posts/2026-03-17-11-hundred-lines-last-defense-playlog/</loc> + <loc>https://micro.pinapelz.com/posts/2026-03-17-11-hundred-lines-last-defense-playlog/</loc> <lastmod>2026-03-17T17:19:03-07:00</lastmod> </url><url> - <loc>https://micro.pinapelz.moe/posts/2026-02-19-10-discord-rant/</loc> + <loc>https://micro.pinapelz.com/posts/2026-02-19-10-discord-rant/</loc> <lastmod>2026-02-19T19:17:04-08:00</lastmod> </url><url> - <loc>https://micro.pinapelz.moe/posts/2025-12-31-09-dbox-review/</loc> + <loc>https://micro.pinapelz.com/posts/2025-12-31-09-dbox-review/</loc> <lastmod>2025-12-31T22:03:51-08:00</lastmod> </url><url> - <loc>https://micro.pinapelz.moe/posts/2025-12-19-08-ffxiv-patch-7-4/</loc> + <loc>https://micro.pinapelz.com/posts/2025-12-19-08-ffxiv-patch-7-4/</loc> <lastmod>2025-12-19T22:15:50-08:00</lastmod> </url><url> - <loc>https://micro.pinapelz.moe/tags/arcade/</loc> + <loc>https://micro.pinapelz.com/tags/arcade/</loc> <lastmod>2025-12-18T21:38:23-08:00</lastmod> </url><url> - <loc>https://micro.pinapelz.moe/posts/2025-12-18-07-arcade-monsters-sd/</loc> + <loc>https://micro.pinapelz.com/posts/2025-12-18-07-arcade-monsters-sd/</loc> <lastmod>2025-12-18T21:38:23-08:00</lastmod> </url><url> - <loc>https://micro.pinapelz.moe/posts/2025-12-06-first-sdvx-18/</loc> + <loc>https://micro.pinapelz.com/posts/2025-12-06-first-sdvx-18/</loc> <lastmod>2025-12-06T22:33:23-08:00</lastmod> </url><url> - <loc>https://micro.pinapelz.moe/tags/code/</loc> + <loc>https://micro.pinapelz.com/tags/code/</loc> <lastmod>2025-12-04T23:19:29-08:00</lastmod> </url><url> - <loc>https://micro.pinapelz.moe/posts/2025-12-04-procon2-hid-tool/</loc> + <loc>https://micro.pinapelz.com/posts/2025-12-04-procon2-hid-tool/</loc> <lastmod>2025-12-04T23:19:29-08:00</lastmod> </url><url> - <loc>https://micro.pinapelz.moe/tags/nintendo/</loc> + <loc>https://micro.pinapelz.com/tags/nintendo/</loc> <lastmod>2025-12-04T23:19:29-08:00</lastmod> </url><url> - <loc>https://micro.pinapelz.moe/categories/tools/</loc> + <loc>https://micro.pinapelz.com/categories/tools/</loc> <lastmod>2025-12-04T23:19:29-08:00</lastmod> </url><url> - <loc>https://micro.pinapelz.moe/tags/anime/</loc> + <loc>https://micro.pinapelz.com/tags/anime/</loc> <lastmod>2025-12-03T19:38:52-08:00</lastmod> </url><url> - <loc>https://micro.pinapelz.moe/posts/2025-12-03-04-yt-music-rewind/</loc> + <loc>https://micro.pinapelz.com/posts/2025-12-03-04-yt-music-rewind/</loc> <lastmod>2025-12-03T19:38:52-08:00</lastmod> </url><url> - <loc>https://micro.pinapelz.moe/indie/follows/</loc> + <loc>https://micro.pinapelz.com/indie/follows/</loc> <lastmod>2025-12-03T01:17:39-08:00</lastmod> </url><url> - <loc>https://micro.pinapelz.moe/indie/</loc> + <loc>https://micro.pinapelz.com/indie/</loc> <lastmod>2025-12-03T01:17:39-08:00</lastmod> </url><url> - <loc>https://micro.pinapelz.moe/posts/2025-12-02-power-bank-recall/</loc> + <loc>https://micro.pinapelz.com/posts/2025-12-02-power-bank-recall/</loc> <lastmod>2025-12-02T19:45:01-08:00</lastmod> </url><url> - <loc>https://micro.pinapelz.moe/posts/2025-12-02-china-town-fair/</loc> + <loc>https://micro.pinapelz.com/posts/2025-12-02-china-town-fair/</loc> <lastmod>2025-12-02T00:22:32-08:00</lastmod> </url><url> - <loc>https://micro.pinapelz.moe/categories/life/</loc> + <loc>https://micro.pinapelz.com/categories/life/</loc> <lastmod>2025-12-02T00:22:32-08:00</lastmod> </url><url> - <loc>https://micro.pinapelz.moe/posts/2025-12-01-hello-world/</loc> + <loc>https://micro.pinapelz.com/posts/2025-12-01-hello-world/</loc> <lastmod>2025-12-01T20:11:57-08:00</lastmod> </url> </urlset> diff --git a/micro.pinapelz.moe/tags/anime/index.html b/micro.pinapelz.com/tags/anime/index.html index 3d22213..a8099e4 100644 --- a/micro.pinapelz.moe/tags/anime/index.html +++ b/micro.pinapelz.com/tags/anime/index.html @@ -5,7 +5,7 @@ <meta name="viewport" content="width=device-width, initial-scale=1"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <style type=text/css>body{font-family:monospace;}</style> - <title>Anime | micro.pinapelz.moe</title> + <title>Anime | micro.pinapelz.com</title> <meta name="author" content="map[avatar:https://files.catbox.moe/5r1pue.jpg banner:https://files.pinapelz.com/pso2ngs-2232-collab.png bio:yo! and he's more than a cover he's a quilt<br/> General arcade rhythm game enjoyer (SDVX, IIDX, CHUNITHM)<br/> @@ -14,7 +14,7 @@ Arch Linux + Hyprland user (btw)<br/> Hi from the <a href="https://indieweb.org/">indieweb</a>, if you are seeing me bridged elsewhere! email:yukais@pinapelz.com name:Pinapelz]"> <link rel="stylesheet" href="/css/style.css"> - <link rel="alternate" type="application/rss+xml" href="/tags/anime/index.xml" title="micro.pinapelz.moe"> + <link rel="alternate" type="application/rss+xml" href="/tags/anime/index.xml" title="micro.pinapelz.com"> <link rel="me" href="https://github.com/pinapelz" /> @@ -29,7 +29,7 @@ rel="token_endpoint" href="https://tokens.indieauth.com/token" /> - <link rel="webmention" href="https://webmention.io/micro.pinapelz.moe/webmention" /> + <link rel="webmention" href="https://webmention.io/micro.pinapelz.com/webmention" /> @@ -39,7 +39,7 @@ <div style="display:flex;flex-flow:row wrap;justify-content:space-between"> <div style="align-self:flex-start;"> ==============<br> - == <a href="https://micro.pinapelz.moe/">Pinapelz</a> ==<br> + == <a href="https://micro.pinapelz.com/">Pinapelz</a> ==<br> ============== </div> <div style="align-self:center;">check it out. I'm in the house like carpet</div> @@ -63,7 +63,7 @@ <div> <h1> Anime - <a href="https://micro.pinapelz.moe/tags/anime/index.xml"> + <a href="https://micro.pinapelz.com/tags/anime/index.xml"> <img style="height:1.5rem; display: inline;" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-label='RSS' role='img' viewBox='0 0 512 512'%3E%3Cpath d='M0 0h512v512H0' fill='%23f80'/%3E%3Cpath d='M109 271A132 133 0 0 1 241 403h60A192 193 0 0 0 109 211v-54A246 247 0 0 1 355 403h60A306 307 0 0 0 109 97m35 235a35 35 0 1 0 2 0' fill='%23fff'/%3E%3C/svg%3E" alt="RSS icon" /> </a> </h1> @@ -98,7 +98,7 @@ <p style="text-align: center" class="copyright"> - © <a href="https://micro.pinapelz.moe/"><b>micro.pinapelz.moe</b></a>. + © <a href="https://micro.pinapelz.com/"><b>micro.pinapelz.com</b></a>. </p> </footer> diff --git a/micro.pinapelz.moe/tags/anime/index.xml b/micro.pinapelz.com/tags/anime/index.xml index 66a1547..147c917 100644 --- a/micro.pinapelz.moe/tags/anime/index.xml +++ b/micro.pinapelz.com/tags/anime/index.xml @@ -1,20 +1,20 @@ <?xml version="1.0" encoding="utf-8" standalone="yes"?> <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"> <channel> - <title>Anime on micro.pinapelz.moe</title> - <link>https://micro.pinapelz.moe/tags/anime/</link> - <description>Recent content in Anime on micro.pinapelz.moe</description> + <title>Anime on micro.pinapelz.com</title> + <link>https://micro.pinapelz.com/tags/anime/</link> + <description>Recent content in Anime on micro.pinapelz.com</description> <generator>Hugo</generator> <language>en-us</language> <managingEditor>yukais@pinapelz.com (Pinapelz)</managingEditor> <webMaster>yukais@pinapelz.com (Pinapelz)</webMaster> <lastBuildDate>Wed, 03 Dec 2025 19:38:52 -0800</lastBuildDate> - <atom:link href="https://micro.pinapelz.moe/tags/anime/index.xml" rel="self" type="application/rss+xml" /> + <atom:link href="https://micro.pinapelz.com/tags/anime/index.xml" rel="self" type="application/rss+xml" /> <item> <title>YouTube Music Recap 2025</title> - <link>https://micro.pinapelz.moe/posts/2025-12-03-04-yt-music-rewind/</link> + <link>https://micro.pinapelz.com/posts/2025-12-03-04-yt-music-rewind/</link> <pubDate>Wed, 03 Dec 2025 19:38:52 -0800</pubDate><author>yukais@pinapelz.com (Pinapelz)</author> - <guid>https://micro.pinapelz.moe/posts/2025-12-03-04-yt-music-rewind/</guid> + <guid>https://micro.pinapelz.com/posts/2025-12-03-04-yt-music-rewind/</guid> <description><p>Its all Bandori. At least 75% of that MyGO!!!!! listening time was probably Haruhikage since I came back to Bandori and had to catch up before watching Ave Mujica anime.</p>
<figure><img src="https://files.catbox.moe/tsquqc.jpg"
 alt="YouTube Music Recap Top 5 Artists In Order: MyGO!!!!!, Yumenokessho, Ave Mujica, KMNZ, Roselia" width="300">
</figure></description> </item> </channel> diff --git a/micro.pinapelz.moe/tags/arcade/index.html b/micro.pinapelz.com/tags/arcade/index.html index 1c2374f..88530d8 100644 --- a/micro.pinapelz.moe/tags/arcade/index.html +++ b/micro.pinapelz.com/tags/arcade/index.html @@ -5,7 +5,7 @@ <meta name="viewport" content="width=device-width, initial-scale=1"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <style type=text/css>body{font-family:monospace;}</style> - <title>Arcade | micro.pinapelz.moe</title> + <title>Arcade | micro.pinapelz.com</title> <meta name="author" content="map[avatar:https://files.catbox.moe/5r1pue.jpg banner:https://files.pinapelz.com/pso2ngs-2232-collab.png bio:yo! and he's more than a cover he's a quilt<br/> General arcade rhythm game enjoyer (SDVX, IIDX, CHUNITHM)<br/> @@ -14,7 +14,7 @@ Arch Linux + Hyprland user (btw)<br/> Hi from the <a href="https://indieweb.org/">indieweb</a>, if you are seeing me bridged elsewhere! email:yukais@pinapelz.com name:Pinapelz]"> <link rel="stylesheet" href="/css/style.css"> - <link rel="alternate" type="application/rss+xml" href="/tags/arcade/index.xml" title="micro.pinapelz.moe"> + <link rel="alternate" type="application/rss+xml" href="/tags/arcade/index.xml" title="micro.pinapelz.com"> <link rel="me" href="https://github.com/pinapelz" /> @@ -29,7 +29,7 @@ rel="token_endpoint" href="https://tokens.indieauth.com/token" /> - <link rel="webmention" href="https://webmention.io/micro.pinapelz.moe/webmention" /> + <link rel="webmention" href="https://webmention.io/micro.pinapelz.com/webmention" /> @@ -39,7 +39,7 @@ <div style="display:flex;flex-flow:row wrap;justify-content:space-between"> <div style="align-self:flex-start;"> ==============<br> - == <a href="https://micro.pinapelz.moe/">Pinapelz</a> ==<br> + == <a href="https://micro.pinapelz.com/">Pinapelz</a> ==<br> ============== </div> <div style="align-self:center;">check it out. I'm in the house like carpet</div> @@ -63,7 +63,7 @@ <div> <h1> Arcade - <a href="https://micro.pinapelz.moe/tags/arcade/index.xml"> + <a href="https://micro.pinapelz.com/tags/arcade/index.xml"> <img style="height:1.5rem; display: inline;" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-label='RSS' role='img' viewBox='0 0 512 512'%3E%3Cpath d='M0 0h512v512H0' fill='%23f80'/%3E%3Cpath d='M109 271A132 133 0 0 1 241 403h60A192 193 0 0 0 109 211v-54A246 247 0 0 1 355 403h60A306 307 0 0 0 109 97m35 235a35 35 0 1 0 2 0' fill='%23fff'/%3E%3C/svg%3E" alt="RSS icon" /> </a> </h1> @@ -112,7 +112,7 @@ <p style="text-align: center" class="copyright"> - © <a href="https://micro.pinapelz.moe/"><b>micro.pinapelz.moe</b></a>. + © <a href="https://micro.pinapelz.com/"><b>micro.pinapelz.com</b></a>. </p> </footer> diff --git a/micro.pinapelz.moe/tags/arcade/index.xml b/micro.pinapelz.com/tags/arcade/index.xml index 0845666..350799e 100644 --- a/micro.pinapelz.moe/tags/arcade/index.xml +++ b/micro.pinapelz.com/tags/arcade/index.xml @@ -1,35 +1,35 @@ <?xml version="1.0" encoding="utf-8" standalone="yes"?> <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"> <channel> - <title>Arcade on micro.pinapelz.moe</title> - <link>https://micro.pinapelz.moe/tags/arcade/</link> - <description>Recent content in Arcade on micro.pinapelz.moe</description> + <title>Arcade on micro.pinapelz.com</title> + <link>https://micro.pinapelz.com/tags/arcade/</link> + <description>Recent content in Arcade on micro.pinapelz.com</description> <generator>Hugo</generator> <language>en-us</language> <managingEditor>yukais@pinapelz.com (Pinapelz)</managingEditor> <webMaster>yukais@pinapelz.com (Pinapelz)</webMaster> <lastBuildDate>Thu, 18 Dec 2025 21:38:23 -0800</lastBuildDate> - <atom:link href="https://micro.pinapelz.moe/tags/arcade/index.xml" rel="self" type="application/rss+xml" /> + <atom:link href="https://micro.pinapelz.com/tags/arcade/index.xml" rel="self" type="application/rss+xml" /> <item> <title>Arcade Monsters</title> - <link>https://micro.pinapelz.moe/posts/2025-12-18-07-arcade-monsters-sd/</link> + <link>https://micro.pinapelz.com/posts/2025-12-18-07-arcade-monsters-sd/</link> <pubDate>Thu, 18 Dec 2025 21:38:23 -0800</pubDate><author>yukais@pinapelz.com (Pinapelz)</author> - <guid>https://micro.pinapelz.moe/posts/2025-12-18-07-arcade-monsters-sd/</guid> + <guid>https://micro.pinapelz.com/posts/2025-12-18-07-arcade-monsters-sd/</guid> <description><p>If you live in Socal and are also into arcade gaming (both retro and modern), one of the great weekend day-trips I&rsquo;ve found is taking the Pacific Surfliner train down to San Diego.</p>
<h1 id="getting-there">Getting There</h1>
<p>There are a number of departures in the morning, and while not as fast as a car when there&rsquo;s no traffic, you can save your energy and do other stuff on the train. The timetable also works nicely since you can pretty much get there around opening if you want to beat the crowds.</p></description> </item> <item> <title>First MXM 18 Cleared!</title> - <link>https://micro.pinapelz.moe/posts/2025-12-06-first-sdvx-18/</link> + <link>https://micro.pinapelz.com/posts/2025-12-06-first-sdvx-18/</link> <pubDate>Sat, 06 Dec 2025 22:33:23 -0800</pubDate><author>yukais@pinapelz.com (Pinapelz)</author> - <guid>https://micro.pinapelz.moe/posts/2025-12-06-first-sdvx-18/</guid> - <description><p>Cleared my first 18 difficulty chart in 

<a href="https://micro.pinapelz.moe//tags/sdvx" class="p-category">#sdvx</a>
</p>
<p>Albeit its not a very difficult one, but I think I&rsquo;m finally starting to chip away at the 17-18 difficulty wall.
<figure><img src="https://micro.pinapelz.moe/posts/2025-12-06-first-sdvx-18/18.webp"
 alt="Sound Voltex Enchant 6 Clear" width="500">
</figure>
</p></description> + <guid>https://micro.pinapelz.com/posts/2025-12-06-first-sdvx-18/</guid> + <description><p>Cleared my first 18 difficulty chart in 

<a href="https://micro.pinapelz.com//tags/sdvx" class="p-category">#sdvx</a>
</p>
<p>Albeit its not a very difficult one, but I think I&rsquo;m finally starting to chip away at the 17-18 difficulty wall.
<figure><img src="https://micro.pinapelz.com/posts/2025-12-06-first-sdvx-18/18.webp"
 alt="Sound Voltex Enchant 6 Clear" width="500">
</figure>
</p></description> </item> <item> <title>China Town Fair</title> - <link>https://micro.pinapelz.moe/posts/2025-12-02-china-town-fair/</link> + <link>https://micro.pinapelz.com/posts/2025-12-02-china-town-fair/</link> <pubDate>Tue, 02 Dec 2025 00:22:32 -0800</pubDate><author>yukais@pinapelz.com (Pinapelz)</author> - <guid>https://micro.pinapelz.moe/posts/2025-12-02-china-town-fair/</guid> - <description><p>Visited New York during the Thanksgiving break and had a chance to stopped by one of the most legendary landmarks North American arcade gaming history.</p>
<figure><img src="https://micro.pinapelz.moe/posts/2025-12-02-china-town-fair/outside-ctf.webp"
 alt="China Town Fair Outside">
</figure>

<p>Also yep you&rsquo;re reading that right, it indeed once home to a <a href="https://davidpotorti.substack.com/p/the-dancing-chicken">dancing chicken as well as one that played tic tac toe</a>.</p>
<p>But apart from just being an old arcade, it was also home to one of the largest competitive arcade game fighting scene (Marvel vs Capcom, Street Fighter, etc.). Many of NAs top players frequented this arcade. However, as we all already know video arcades began to die down during the early 2000s and China Town Fair was no exception having closed in 2011.</p></description> + <guid>https://micro.pinapelz.com/posts/2025-12-02-china-town-fair/</guid> + <description><p>Visited New York during the Thanksgiving break and had a chance to stopped by one of the most legendary landmarks North American arcade gaming history.</p>
<figure><img src="https://micro.pinapelz.com/posts/2025-12-02-china-town-fair/outside-ctf.webp"
 alt="China Town Fair Outside">
</figure>

<p>Also yep you&rsquo;re reading that right, it indeed once home to a <a href="https://davidpotorti.substack.com/p/the-dancing-chicken">dancing chicken as well as one that played tic tac toe</a>.</p>
<p>But apart from just being an old arcade, it was also home to one of the largest competitive arcade game fighting scene (Marvel vs Capcom, Street Fighter, etc.). Many of NAs top players frequented this arcade. However, as we all already know video arcades began to die down during the early 2000s and China Town Fair was no exception having closed in 2011.</p></description> </item> </channel> </rss> diff --git a/micro.pinapelz.moe/tags/code/index.html b/micro.pinapelz.com/tags/code/index.html index 364c5f4..31787a6 100644 --- a/micro.pinapelz.moe/tags/code/index.html +++ b/micro.pinapelz.com/tags/code/index.html @@ -5,7 +5,7 @@ <meta name="viewport" content="width=device-width, initial-scale=1"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <style type=text/css>body{font-family:monospace;}</style> - <title>Code | micro.pinapelz.moe</title> + <title>Code | micro.pinapelz.com</title> <meta name="author" content="map[avatar:https://files.catbox.moe/5r1pue.jpg banner:https://files.pinapelz.com/pso2ngs-2232-collab.png bio:yo! and he's more than a cover he's a quilt<br/> General arcade rhythm game enjoyer (SDVX, IIDX, CHUNITHM)<br/> @@ -14,7 +14,7 @@ Arch Linux + Hyprland user (btw)<br/> Hi from the <a href="https://indieweb.org/">indieweb</a>, if you are seeing me bridged elsewhere! email:yukais@pinapelz.com name:Pinapelz]"> <link rel="stylesheet" href="/css/style.css"> - <link rel="alternate" type="application/rss+xml" href="/tags/code/index.xml" title="micro.pinapelz.moe"> + <link rel="alternate" type="application/rss+xml" href="/tags/code/index.xml" title="micro.pinapelz.com"> <link rel="me" href="https://github.com/pinapelz" /> @@ -29,7 +29,7 @@ rel="token_endpoint" href="https://tokens.indieauth.com/token" /> - <link rel="webmention" href="https://webmention.io/micro.pinapelz.moe/webmention" /> + <link rel="webmention" href="https://webmention.io/micro.pinapelz.com/webmention" /> @@ -39,7 +39,7 @@ <div style="display:flex;flex-flow:row wrap;justify-content:space-between"> <div style="align-self:flex-start;"> ==============<br> - == <a href="https://micro.pinapelz.moe/">Pinapelz</a> ==<br> + == <a href="https://micro.pinapelz.com/">Pinapelz</a> ==<br> ============== </div> <div style="align-self:center;">check it out. I'm in the house like carpet</div> @@ -63,7 +63,7 @@ <div> <h1> Code - <a href="https://micro.pinapelz.moe/tags/code/index.xml"> + <a href="https://micro.pinapelz.com/tags/code/index.xml"> <img style="height:1.5rem; display: inline;" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-label='RSS' role='img' viewBox='0 0 512 512'%3E%3Cpath d='M0 0h512v512H0' fill='%23f80'/%3E%3Cpath d='M109 271A132 133 0 0 1 241 403h60A192 193 0 0 0 109 211v-54A246 247 0 0 1 355 403h60A306 307 0 0 0 109 97m35 235a35 35 0 1 0 2 0' fill='%23fff'/%3E%3C/svg%3E" alt="RSS icon" /> </a> </h1> @@ -98,7 +98,7 @@ <p style="text-align: center" class="copyright"> - © <a href="https://micro.pinapelz.moe/"><b>micro.pinapelz.moe</b></a>. + © <a href="https://micro.pinapelz.com/"><b>micro.pinapelz.com</b></a>. </p> </footer> diff --git a/micro.pinapelz.moe/tags/code/index.xml b/micro.pinapelz.com/tags/code/index.xml index 342d678..98c9ee1 100644 --- a/micro.pinapelz.moe/tags/code/index.xml +++ b/micro.pinapelz.com/tags/code/index.xml @@ -1,20 +1,20 @@ <?xml version="1.0" encoding="utf-8" standalone="yes"?> <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"> <channel> - <title>Code on micro.pinapelz.moe</title> - <link>https://micro.pinapelz.moe/tags/code/</link> - <description>Recent content in Code on micro.pinapelz.moe</description> + <title>Code on micro.pinapelz.com</title> + <link>https://micro.pinapelz.com/tags/code/</link> + <description>Recent content in Code on micro.pinapelz.com</description> <generator>Hugo</generator> <language>en-us</language> <managingEditor>yukais@pinapelz.com (Pinapelz)</managingEditor> <webMaster>yukais@pinapelz.com (Pinapelz)</webMaster> <lastBuildDate>Thu, 04 Dec 2025 23:19:29 -0800</lastBuildDate> - <atom:link href="https://micro.pinapelz.moe/tags/code/index.xml" rel="self" type="application/rss+xml" /> + <atom:link href="https://micro.pinapelz.com/tags/code/index.xml" rel="self" type="application/rss+xml" /> <item> <title>Enable HID Mode on Nintendo Pro Controller 2</title> - <link>https://micro.pinapelz.moe/posts/2025-12-04-procon2-hid-tool/</link> + <link>https://micro.pinapelz.com/posts/2025-12-04-procon2-hid-tool/</link> <pubDate>Thu, 04 Dec 2025 23:19:29 -0800</pubDate><author>yukais@pinapelz.com (Pinapelz)</author> - <guid>https://micro.pinapelz.moe/posts/2025-12-04-procon2-hid-tool/</guid> + <guid>https://micro.pinapelz.com/posts/2025-12-04-procon2-hid-tool/</guid> <description><p>Switch 2 Pro Controller is very comfy in my hands, but unfortunately it didn&rsquo;t work out of box on PC (Linux) for me like it&rsquo;s predacessor. Until there&rsquo;s actual better driver support for this thing in the kernel (or Valve does something), here&rsquo;s a hacky Python script to initialize HID-mode on the controller</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-python" data-lang="python"><span style="display:flex;"><span><span style="color:#75715e"># I only tested this script on Linux w/ Steam but in theory it shoud work on Windows?</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> usb.core <span style="color:#75715e"># install pyusb first: pip install pyusb</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> usb.util
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> time
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> sys
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>VENDOR_ID <span style="color:#f92672">=</span> <span style="color:#ae81ff">0x057E</span>
</span></span><span style="display:flex;"><span>PRODUCT_IDS <span style="color:#f92672">=</span> {
</span></span><span style="display:flex;"><span> <span style="color:#ae81ff">0x2066</span>: <span style="color:#e6db74">&#34;Joy-Con (L)&#34;</span>,
</span></span><span style="display:flex;"><span> <span style="color:#ae81ff">0x2067</span>: <span style="color:#e6db74">&#34;Joy-Con (R)&#34;</span>,
</span></span><span style="display:flex;"><span> <span style="color:#ae81ff">0x2069</span>: <span style="color:#e6db74">&#34;Pro Controller&#34;</span>,
</span></span><span style="display:flex;"><span> <span style="color:#ae81ff">0x2073</span>: <span style="color:#e6db74">&#34;GCN Controller&#34;</span>
</span></span><span style="display:flex;"><span>}
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>USB_INTERFACE_NUMBER <span style="color:#f92672">=</span> <span style="color:#ae81ff">1</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>INIT_COMMAND_0x03 <span style="color:#f92672">=</span> bytes([<span style="color:#ae81ff">0x03</span>, <span style="color:#ae81ff">0x91</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x0d</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x08</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x01</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>])
</span></span><span style="display:flex;"><span>UNKNOWN_COMMAND_0x07 <span style="color:#f92672">=</span> bytes([<span style="color:#ae81ff">0x07</span>, <span style="color:#ae81ff">0x91</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x01</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>])
</span></span><span style="display:flex;"><span>UNKNOWN_COMMAND_0x16 <span style="color:#f92672">=</span> bytes([<span style="color:#ae81ff">0x16</span>, <span style="color:#ae81ff">0x91</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x01</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>])
</span></span><span style="display:flex;"><span>REQUEST_CONTROLLER_MAC <span style="color:#f92672">=</span> bytes([<span style="color:#ae81ff">0x15</span>, <span style="color:#ae81ff">0x91</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x01</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x0e</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x02</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>])
</span></span><span style="display:flex;"><span>LTK_REQUEST <span style="color:#f92672">=</span> bytes([<span style="color:#ae81ff">0x15</span>, <span style="color:#ae81ff">0x91</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x02</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x11</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>])
</span></span><span style="display:flex;"><span>UNKNOWN_COMMAND_0x15_ARG_0x03 <span style="color:#f92672">=</span> bytes([<span style="color:#ae81ff">0x15</span>, <span style="color:#ae81ff">0x91</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x03</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x01</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>])
</span></span><span style="display:flex;"><span>UNKNOWN_COMMAND_0x09 <span style="color:#f92672">=</span> bytes([<span style="color:#ae81ff">0x09</span>, <span style="color:#ae81ff">0x91</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x07</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x08</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>])
</span></span><span style="display:flex;"><span>IMU_COMMAND_0x02 <span style="color:#f92672">=</span> bytes([<span style="color:#ae81ff">0x0c</span>, <span style="color:#ae81ff">0x91</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x02</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x04</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x27</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>])
</span></span><span style="display:flex;"><span>OUT_UNKNOWN_COMMAND_0x11 <span style="color:#f92672">=</span> bytes([<span style="color:#ae81ff">0x11</span>, <span style="color:#ae81ff">0x91</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x03</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>])
</span></span><span style="display:flex;"><span>UNKNOWN_COMMAND_0x0A <span style="color:#f92672">=</span> bytes([<span style="color:#ae81ff">0x0a</span>, <span style="color:#ae81ff">0x91</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x08</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x14</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x01</span>, <span style="color:#ae81ff">0xff</span>, <span style="color:#ae81ff">0xff</span>, <span style="color:#ae81ff">0xff</span>, <span style="color:#ae81ff">0xff</span>, <span style="color:#ae81ff">0xff</span>, <span style="color:#ae81ff">0xff</span>, <span style="color:#ae81ff">0xff</span>, <span style="color:#ae81ff">0xff</span>, <span style="color:#ae81ff">0x35</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x46</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>])
</span></span><span style="display:flex;"><span>IMU_COMMAND_0x04 <span style="color:#f92672">=</span> bytes([<span style="color:#ae81ff">0x0c</span>, <span style="color:#ae81ff">0x91</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x04</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x04</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x27</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>])
</span></span><span style="display:flex;"><span>ENABLE_HAPTICS <span style="color:#f92672">=</span> bytes([<span style="color:#ae81ff">0x03</span>, <span style="color:#ae81ff">0x91</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x0a</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x04</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x09</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>])
</span></span><span style="display:flex;"><span>OUT_UNKNOWN_COMMAND_0x10 <span style="color:#f92672">=</span> bytes([<span style="color:#ae81ff">0x10</span>, <span style="color:#ae81ff">0x91</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x01</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>])
</span></span><span style="display:flex;"><span>OUT_UNKNOWN_COMMAND_0x01 <span style="color:#f92672">=</span> bytes([<span style="color:#ae81ff">0x01</span>, <span style="color:#ae81ff">0x91</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x0c</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>])
</span></span><span style="display:flex;"><span>OUT_UNKNOWN_COMMAND_0x03 <span style="color:#f92672">=</span> bytes([<span style="color:#ae81ff">0x03</span>, <span style="color:#ae81ff">0x91</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x01</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>])
</span></span><span style="display:flex;"><span>OUT_UNKNOWN_COMMAND_0x0A_ALT <span style="color:#f92672">=</span> bytes([<span style="color:#ae81ff">0x0a</span>, <span style="color:#ae81ff">0x91</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x02</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x04</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x03</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>])
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">def</span> <span style="color:#a6e22e">send_usb_data</span>(ep_out, ep_in, data, description<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;&#34;</span>):
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">try</span>:
</span></span><span style="display:flex;"><span> ep_out<span style="color:#f92672">.</span>write(data)
</span></span><span style="display:flex;"><span> time<span style="color:#f92672">.</span>sleep(<span style="color:#ae81ff">0.01</span>)
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">try</span>:
</span></span><span style="display:flex;"><span> response <span style="color:#f92672">=</span> ep_in<span style="color:#f92672">.</span>read(<span style="color:#ae81ff">32</span>, timeout<span style="color:#f92672">=</span><span style="color:#ae81ff">100</span>)
</span></span><span style="display:flex;"><span> hex_resp <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34; &#34;</span><span style="color:#f92672">.</span>join([<span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;</span><span style="color:#e6db74">{</span>x<span style="color:#e6db74">:</span><span style="color:#e6db74">02x</span><span style="color:#e6db74">}</span><span style="color:#e6db74">&#34;</span> <span style="color:#66d9ef">for</span> x <span style="color:#f92672">in</span> response])
</span></span><span style="display:flex;"><span> print(<span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;[</span><span style="color:#e6db74">{</span>description<span style="color:#e6db74">}</span><span style="color:#e6db74">] Response: </span><span style="color:#e6db74">{</span>hex_resp<span style="color:#e6db74">}</span><span style="color:#e6db74">&#34;</span>)
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">except</span> usb<span style="color:#f92672">.</span>core<span style="color:#f92672">.</span>USBError <span style="color:#66d9ef">as</span> e:
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">if</span> e<span style="color:#f92672">.</span>errno <span style="color:#f92672">==</span> <span style="color:#ae81ff">110</span>:
</span></span><span style="display:flex;"><span> print(<span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;[</span><span style="color:#e6db74">{</span>description<span style="color:#e6db74">}</span><span style="color:#e6db74">] No response (Timeout)&#34;</span>)
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">else</span>:
</span></span><span style="display:flex;"><span> print(<span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;[</span><span style="color:#e6db74">{</span>description<span style="color:#e6db74">}</span><span style="color:#e6db74">] Read Error: </span><span style="color:#e6db74">{</span>e<span style="color:#e6db74">}</span><span style="color:#e6db74">&#34;</span>)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">except</span> usb<span style="color:#f92672">.</span>core<span style="color:#f92672">.</span>USBError <span style="color:#66d9ef">as</span> e:
</span></span><span style="display:flex;"><span> print(<span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;[</span><span style="color:#e6db74">{</span>description<span style="color:#e6db74">}</span><span style="color:#e6db74">] Write Error: </span><span style="color:#e6db74">{</span>e<span style="color:#e6db74">}</span><span style="color:#e6db74">&#34;</span>)
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">raise</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">def</span> <span style="color:#a6e22e">set_player_leds</span>(ep_out, ep_in, led_mask):
</span></span><span style="display:flex;"><span> command <span style="color:#f92672">=</span> [
</span></span><span style="display:flex;"><span> <span style="color:#ae81ff">0x09</span>, <span style="color:#ae81ff">0x91</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x07</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x08</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>,
</span></span><span style="display:flex;"><span> led_mask,
</span></span><span style="display:flex;"><span> <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>
</span></span><span style="display:flex;"><span> ]
</span></span><span style="display:flex;"><span> send_usb_data(ep_out, ep_in, bytes(command), <span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;Set LED Mask: 0x</span><span style="color:#e6db74">{</span>led_mask<span style="color:#e6db74">:</span><span style="color:#e6db74">02x</span><span style="color:#e6db74">}</span><span style="color:#e6db74">&#34;</span>)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">def</span> <span style="color:#a6e22e">connect_usb</span>():
</span></span><span style="display:flex;"><span> print(<span style="color:#e6db74">&#34;Searching for Nintendo Switch Controllers...&#34;</span>)
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">def</span> <span style="color:#a6e22e">match_device</span>(dev):
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">return</span> dev<span style="color:#f92672">.</span>idVendor <span style="color:#f92672">==</span> VENDOR_ID <span style="color:#f92672">and</span> dev<span style="color:#f92672">.</span>idProduct <span style="color:#f92672">in</span> PRODUCT_IDS
</span></span><span style="display:flex;"><span> dev <span style="color:#f92672">=</span> usb<span style="color:#f92672">.</span>core<span style="color:#f92672">.</span>find(custom_match<span style="color:#f92672">=</span>match_device)
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">if</span> dev <span style="color:#f92672">is</span> <span style="color:#66d9ef">None</span>:
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">raise</span> <span style="color:#a6e22e">ValueError</span>(<span style="color:#e6db74">&#34;Device not found&#34;</span>)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span> product_name <span style="color:#f92672">=</span> PRODUCT_IDS<span style="color:#f92672">.</span>get(dev<span style="color:#f92672">.</span>idProduct, <span style="color:#e6db74">&#34;Unknown Device&#34;</span>)
</span></span><span style="display:flex;"><span> print(<span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;Found </span><span style="color:#e6db74">{</span>product_name<span style="color:#e6db74">}</span><span style="color:#e6db74"> (ID: </span><span style="color:#e6db74">{</span>dev<span style="color:#f92672">.</span>idProduct<span style="color:#e6db74">:</span><span style="color:#e6db74">04x</span><span style="color:#e6db74">}</span><span style="color:#e6db74">)&#34;</span>)
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">if</span> dev<span style="color:#f92672">.</span>is_kernel_driver_active(USB_INTERFACE_NUMBER):
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">try</span>:
</span></span><span style="display:flex;"><span> print(<span style="color:#e6db74">&#34;Detaching kernel driver...&#34;</span>)
</span></span><span style="display:flex;"><span> dev<span style="color:#f92672">.</span>detach_kernel_driver(USB_INTERFACE_NUMBER)
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">except</span> usb<span style="color:#f92672">.</span>core<span style="color:#f92672">.</span>USBError <span style="color:#66d9ef">as</span> e:
</span></span><span style="display:flex;"><span> sys<span style="color:#f92672">.</span>exit(<span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;Could not detach kernel driver: </span><span style="color:#e6db74">{</span>e<span style="color:#e6db74">}</span><span style="color:#e6db74">&#34;</span>)
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">try</span>:
</span></span><span style="display:flex;"><span> dev<span style="color:#f92672">.</span>set_configuration()
</span></span><span style="display:flex;"><span> print(<span style="color:#e6db74">&#34;Configuration set.&#34;</span>)
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">except</span> usb<span style="color:#f92672">.</span>core<span style="color:#f92672">.</span>USBError <span style="color:#66d9ef">as</span> e:
</span></span><span style="display:flex;"><span> print(<span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;Error setting configuration: </span><span style="color:#e6db74">{</span>e<span style="color:#e6db74">}</span><span style="color:#e6db74">&#34;</span>)
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">try</span>:
</span></span><span style="display:flex;"><span> usb<span style="color:#f92672">.</span>util<span style="color:#f92672">.</span>claim_interface(dev, USB_INTERFACE_NUMBER)
</span></span><span style="display:flex;"><span> print(<span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;Interface </span><span style="color:#e6db74">{</span>USB_INTERFACE_NUMBER<span style="color:#e6db74">}</span><span style="color:#e6db74"> claimed.&#34;</span>)
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">except</span> usb<span style="color:#f92672">.</span>core<span style="color:#f92672">.</span>USBError <span style="color:#66d9ef">as</span> e:
</span></span><span style="display:flex;"><span> sys<span style="color:#f92672">.</span>exit(<span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;Could not claim interface: </span><span style="color:#e6db74">{</span>e<span style="color:#e6db74">}</span><span style="color:#e6db74">&#34;</span>)
</span></span><span style="display:flex;"><span> cfg <span style="color:#f92672">=</span> dev<span style="color:#f92672">.</span>get_active_configuration()
</span></span><span style="display:flex;"><span> intf <span style="color:#f92672">=</span> cfg[(USB_INTERFACE_NUMBER,<span style="color:#ae81ff">0</span>)]
</span></span><span style="display:flex;"><span> ep_out <span style="color:#f92672">=</span> usb<span style="color:#f92672">.</span>util<span style="color:#f92672">.</span>find_descriptor(
</span></span><span style="display:flex;"><span> intf,
</span></span><span style="display:flex;"><span> custom_match <span style="color:#f92672">=</span> <span style="color:#66d9ef">lambda</span> e: usb<span style="color:#f92672">.</span>util<span style="color:#f92672">.</span>endpoint_direction(e<span style="color:#f92672">.</span>bEndpointAddress) <span style="color:#f92672">==</span> usb<span style="color:#f92672">.</span>util<span style="color:#f92672">.</span>ENDPOINT_OUT)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span> ep_in <span style="color:#f92672">=</span> usb<span style="color:#f92672">.</span>util<span style="color:#f92672">.</span>find_descriptor(
</span></span><span style="display:flex;"><span> intf,
</span></span><span style="display:flex;"><span> custom_match <span style="color:#f92672">=</span>
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">lambda</span> e: usb<span style="color:#f92672">.</span>util<span style="color:#f92672">.</span>endpoint_direction(e<span style="color:#f92672">.</span>bEndpointAddress) <span style="color:#f92672">==</span> usb<span style="color:#f92672">.</span>util<span style="color:#f92672">.</span>ENDPOINT_IN
</span></span><span style="display:flex;"><span> )
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">if</span> <span style="color:#f92672">not</span> ep_out:
</span></span><span style="display:flex;"><span> sys<span style="color:#f92672">.</span>exit(<span style="color:#e6db74">&#34;Could not find OUT endpoint&#34;</span>)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span> print(<span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;Found Endpoint OUT: 0x</span><span style="color:#e6db74">{</span>ep_out<span style="color:#f92672">.</span>bEndpointAddress<span style="color:#e6db74">:</span><span style="color:#e6db74">02x</span><span style="color:#e6db74">}</span><span style="color:#e6db74">&#34;</span>)
</span></span><span style="display:flex;"><span> print(<span style="color:#e6db74">&#34;Starting Initialization Sequence...&#34;</span>)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">try</span>:
</span></span><span style="display:flex;"><span> send_usb_data(ep_out, ep_in, INIT_COMMAND_0x03, <span style="color:#e6db74">&#34;Init 0x03&#34;</span>)
</span></span><span style="display:flex;"><span> send_usb_data(ep_out, ep_in, UNKNOWN_COMMAND_0x07, <span style="color:#e6db74">&#34;Unknown 0x07&#34;</span>)
</span></span><span style="display:flex;"><span> send_usb_data(ep_out, ep_in, UNKNOWN_COMMAND_0x16, <span style="color:#e6db74">&#34;Unknown 0x16&#34;</span>)
</span></span><span style="display:flex;"><span> send_usb_data(ep_out, ep_in, REQUEST_CONTROLLER_MAC, <span style="color:#e6db74">&#34;Req MAC&#34;</span>)
</span></span><span style="display:flex;"><span> send_usb_data(ep_out, ep_in, LTK_REQUEST, <span style="color:#e6db74">&#34;Req LTK&#34;</span>)
</span></span><span style="display:flex;"><span> send_usb_data(ep_out, ep_in, UNKNOWN_COMMAND_0x15_ARG_0x03, <span style="color:#e6db74">&#34;Unknown 0x15&#34;</span>)
</span></span><span style="display:flex;"><span> send_usb_data(ep_out, ep_in, UNKNOWN_COMMAND_0x09, <span style="color:#e6db74">&#34;Unknown 0x09&#34;</span>)
</span></span><span style="display:flex;"><span> send_usb_data(ep_out, ep_in, IMU_COMMAND_0x02, <span style="color:#e6db74">&#34;IMU 0x02&#34;</span>)
</span></span><span style="display:flex;"><span> send_usb_data(ep_out, ep_in, OUT_UNKNOWN_COMMAND_0x11, <span style="color:#e6db74">&#34;OUT Unknown 0x11&#34;</span>)
</span></span><span style="display:flex;"><span> send_usb_data(ep_out, ep_in, UNKNOWN_COMMAND_0x0A, <span style="color:#e6db74">&#34;Unknown 0x0A&#34;</span>)
</span></span><span style="display:flex;"><span> send_usb_data(ep_out, ep_in, IMU_COMMAND_0x04, <span style="color:#e6db74">&#34;IMU 0x04&#34;</span>)
</span></span><span style="display:flex;"><span> send_usb_data(ep_out, ep_in, ENABLE_HAPTICS, <span style="color:#e6db74">&#34;Enable Haptics&#34;</span>)
</span></span><span style="display:flex;"><span> send_usb_data(ep_out, ep_in, OUT_UNKNOWN_COMMAND_0x10, <span style="color:#e6db74">&#34;OUT Unknown 0x10&#34;</span>)
</span></span><span style="display:flex;"><span> send_usb_data(ep_out, ep_in, OUT_UNKNOWN_COMMAND_0x01, <span style="color:#e6db74">&#34;OUT Unknown 0x01&#34;</span>)
</span></span><span style="display:flex;"><span> send_usb_data(ep_out, ep_in, OUT_UNKNOWN_COMMAND_0x03, <span style="color:#e6db74">&#34;OUT Unknown 0x03&#34;</span>)
</span></span><span style="display:flex;"><span> send_usb_data(ep_out, ep_in, OUT_UNKNOWN_COMMAND_0x0A_ALT, <span style="color:#e6db74">&#34;OUT Unknown 0x0A Alt&#34;</span>)
</span></span><span style="display:flex;"><span> set_player_leds(ep_out, ep_in, <span style="color:#ae81ff">0x0F</span>)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span> print(<span style="color:#e6db74">&#34;Controller initialization sequence complete! All LEDs should be on.&#34;</span>)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">except</span> <span style="color:#a6e22e">Exception</span> <span style="color:#66d9ef">as</span> e:
</span></span><span style="display:flex;"><span> print(<span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;Error during sequence: </span><span style="color:#e6db74">{</span>e<span style="color:#e6db74">}</span><span style="color:#e6db74">&#34;</span>)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">if</span> __name__ <span style="color:#f92672">==</span> <span style="color:#e6db74">&#34;__main__&#34;</span>:
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">try</span>:
</span></span><span style="display:flex;"><span> connect_usb()
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">except</span> <span style="color:#a6e22e">ValueError</span> <span style="color:#66d9ef">as</span> e:
</span></span><span style="display:flex;"><span> print(e)
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">except</span> <span style="color:#a6e22e">Exception</span> <span style="color:#66d9ef">as</span> e:
</span></span><span style="display:flex;"><span> print(<span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;Unexpected error: </span><span style="color:#e6db74">{</span>e<span style="color:#e6db74">}</span><span style="color:#e6db74">&#34;</span>)
</span></span></code></pre></div><p><strong>Steps</strong></p></description> </item> </channel> diff --git a/micro.pinapelz.moe/tags/default/index.html b/micro.pinapelz.com/tags/default/index.html index 3fde53c..7f46721 100644 --- a/micro.pinapelz.moe/tags/default/index.html +++ b/micro.pinapelz.com/tags/default/index.html @@ -5,7 +5,7 @@ <meta name="viewport" content="width=device-width, initial-scale=1"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <style type=text/css>body{font-family:monospace;}</style> - <title>Default | micro.pinapelz.moe</title> + <title>Default | micro.pinapelz.com</title> <meta name="author" content="map[avatar:https://files.catbox.moe/5r1pue.jpg banner:https://files.pinapelz.com/pso2ngs-2232-collab.png bio:yo! and he's more than a cover he's a quilt<br/> General arcade rhythm game enjoyer (SDVX, IIDX, CHUNITHM)<br/> @@ -14,7 +14,7 @@ Arch Linux + Hyprland user (btw)<br/> Hi from the <a href="https://indieweb.org/">indieweb</a>, if you are seeing me bridged elsewhere! email:yukais@pinapelz.com name:Pinapelz]"> <link rel="stylesheet" href="/css/style.css"> - <link rel="alternate" type="application/rss+xml" href="/tags/default/index.xml" title="micro.pinapelz.moe"> + <link rel="alternate" type="application/rss+xml" href="/tags/default/index.xml" title="micro.pinapelz.com"> <link rel="me" href="https://github.com/pinapelz" /> @@ -29,7 +29,7 @@ rel="token_endpoint" href="https://tokens.indieauth.com/token" /> - <link rel="webmention" href="https://webmention.io/micro.pinapelz.moe/webmention" /> + <link rel="webmention" href="https://webmention.io/micro.pinapelz.com/webmention" /> @@ -39,7 +39,7 @@ <div style="display:flex;flex-flow:row wrap;justify-content:space-between"> <div style="align-self:flex-start;"> ==============<br> - == <a href="https://micro.pinapelz.moe/">Pinapelz</a> ==<br> + == <a href="https://micro.pinapelz.com/">Pinapelz</a> ==<br> ============== </div> <div style="align-self:center;">check it out. I'm in the house like carpet</div> @@ -63,7 +63,7 @@ <div> <h1> Default - <a href="https://micro.pinapelz.moe/tags/default/index.xml"> + <a href="https://micro.pinapelz.com/tags/default/index.xml"> <img style="height:1.5rem; display: inline;" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-label='RSS' role='img' viewBox='0 0 512 512'%3E%3Cpath d='M0 0h512v512H0' fill='%23f80'/%3E%3Cpath d='M109 271A132 133 0 0 1 241 403h60A192 193 0 0 0 109 211v-54A246 247 0 0 1 355 403h60A306 307 0 0 0 109 97m35 235a35 35 0 1 0 2 0' fill='%23fff'/%3E%3C/svg%3E" alt="RSS icon" /> </a> </h1> @@ -126,7 +126,7 @@ <p style="text-align: center" class="copyright"> - © <a href="https://micro.pinapelz.moe/"><b>micro.pinapelz.moe</b></a>. + © <a href="https://micro.pinapelz.com/"><b>micro.pinapelz.com</b></a>. </p> </footer> diff --git a/micro.pinapelz.moe/tags/default/index.xml b/micro.pinapelz.com/tags/default/index.xml index a024505..05adfba 100644 --- a/micro.pinapelz.moe/tags/default/index.xml +++ b/micro.pinapelz.com/tags/default/index.xml @@ -1,48 +1,48 @@ <?xml version="1.0" encoding="utf-8" standalone="yes"?> <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"> <channel> - <title>Default on micro.pinapelz.moe</title> - <link>https://micro.pinapelz.moe/tags/default/</link> - <description>Recent content in Default on micro.pinapelz.moe</description> + <title>Default on micro.pinapelz.com</title> + <link>https://micro.pinapelz.com/tags/default/</link> + <description>Recent content in Default on micro.pinapelz.com</description> <generator>Hugo</generator> <language>en-us</language> <managingEditor>yukais@pinapelz.com (Pinapelz)</managingEditor> <webMaster>yukais@pinapelz.com (Pinapelz)</webMaster> <lastBuildDate>Sun, 03 May 2026 03:16:09 -0700</lastBuildDate> - <atom:link href="https://micro.pinapelz.moe/tags/default/index.xml" rel="self" type="application/rss+xml" /> + <atom:link href="https://micro.pinapelz.com/tags/default/index.xml" rel="self" type="application/rss+xml" /> <item> <title>Portable Audio: Phone, Wireless DAC, or DAP</title> - <link>https://micro.pinapelz.moe/posts/2026-04-29-13-dac-vs-wireless-dap/</link> + <link>https://micro.pinapelz.com/posts/2026-04-29-13-dac-vs-wireless-dap/</link> <pubDate>Sun, 03 May 2026 03:16:09 -0700</pubDate><author>yukais@pinapelz.com (Pinapelz)</author> - <guid>https://micro.pinapelz.moe/posts/2026-04-29-13-dac-vs-wireless-dap/</guid> + <guid>https://micro.pinapelz.com/posts/2026-04-29-13-dac-vs-wireless-dap/</guid> <description><p>Supposedly, there&rsquo;s been a <a href="https://www.facebook.com/APNews/videos/secondhand-sales-of-apple-ipods-are-surging-four-years-after-it-was-killed-off-w/1278247987103509/">resurgence in the popularity of the iPod</a> in the recent months for all sorts of reasons. While I&rsquo;m well aware of &ldquo;MP3 Players&rdquo;, such as the original iPod and the old Sony Walkman, these are not devices I grew up using. As a &ldquo;new-gen&rdquo; audiophile myself, getting a DAP (Dedicated Audio Player, its the new term for these sort of devices as they can play much more than just MP3s) was certainly an interesting idea. However, modern day audiophiles now have an arsenal of methods to enjoy music, even when it comes to portable playback.</p></description> </item> <item> <title>Discord Rant</title> - <link>https://micro.pinapelz.moe/posts/2026-02-19-10-discord-rant/</link> + <link>https://micro.pinapelz.com/posts/2026-02-19-10-discord-rant/</link> <pubDate>Thu, 19 Feb 2026 19:17:04 -0800</pubDate><author>yukais@pinapelz.com (Pinapelz)</author> - <guid>https://micro.pinapelz.moe/posts/2026-02-19-10-discord-rant/</guid> + <guid>https://micro.pinapelz.com/posts/2026-02-19-10-discord-rant/</guid> <description><p>We&rsquo;ve seen time and time again that there is &ldquo;no such thing as a free lunch&rdquo;. The same is true for Discord.</p>
<ol>
<li>Offer a service that is much better than all the competitors</li>
<li>Attract a bunch of users</li>
<li>Burn VC money</li>
<li>Repeat 1-3 until its time to pay them back</li>
<li>Figure out how to make money</li>
</ol>
<p>Nitro doesn&rsquo;t fund the platform, hosting free voice and screenshare is more expensive than you think. Ultimately, any choice of software for me boils down to &ldquo;what value do I get out of it&rdquo;.</p></description> </item> <item> <title>DBOX Movie Seats</title> - <link>https://micro.pinapelz.moe/posts/2025-12-31-09-dbox-review/</link> + <link>https://micro.pinapelz.com/posts/2025-12-31-09-dbox-review/</link> <pubDate>Wed, 31 Dec 2025 22:03:51 -0800</pubDate><author>yukais@pinapelz.com (Pinapelz)</author> - <guid>https://micro.pinapelz.moe/posts/2025-12-31-09-dbox-review/</guid> + <guid>https://micro.pinapelz.com/posts/2025-12-31-09-dbox-review/</guid> <description><p>There&rsquo;s a thing here in Canada where certain theaters have these special seats that rumble and move in motion with whats happening on screen.</p>
<p>I recently saw the new Avatar (Fire and Ash) in one of these seats. It wasn&rsquo;t a bad experience but given the markup, I don&rsquo;t think its worth it:</p>
<ul>
<li>First it is fun (sometimes). For example when they were flying through the air, the seat would tilt in the motion of them flying. Or when there was an explosion/gunfire, the seat would rumble</li>
<li>However, for me I think they overdid it at times, literately the seat would move and rumble for the smallest things. So it was kind of like a constant thing throughout the whole film. For me its a bit annoying</li>
<li>For the $10-15 extra (I think I paid a bit more cause the movie was also in 3D), I&rsquo;d much rather just go to a theater that has the big comfy recliner seats</li>
<li>I think for the right movie (maybe something heavy on action or horror) this could be a solid purchase if its a movie you&rsquo;re really looking forward to</li>
<li>Or I also know that some people see movies multiple times, so maybe this can be a good option for a 2nd viewing?</li>
</ul>
<p>Generally, though&hellip; I think I&rsquo;ll live without them.</p></description> </item> <item> <title>INIU Power Bank Gets Recall</title> - <link>https://micro.pinapelz.moe/posts/2025-12-02-power-bank-recall/</link> + <link>https://micro.pinapelz.com/posts/2025-12-02-power-bank-recall/</link> <pubDate>Tue, 02 Dec 2025 19:45:01 -0800</pubDate><author>yukais@pinapelz.com (Pinapelz)</author> - <guid>https://micro.pinapelz.moe/posts/2025-12-02-power-bank-recall/</guid> + <guid>https://micro.pinapelz.com/posts/2025-12-02-power-bank-recall/</guid> <description><p>It would seem that I, along with what seems like the entirety of <a href="https://www.reddit.com/r/amazonprime/comments/1pcq5ug/how_to_get_customer_support_for_recall_iniu/">Reddit</a> bought the same cheap 10000mAh power bank and now its getting recalled.</p>
<p>I wonder if it has anything to do with the poor quality they found in that viral <a href="https://www.lumafield.com/first-article/posts/whats-hiding-inside-haribos-power-bank-and-headphones">Haribo Powerbank</a>. Not sure since I&rsquo;ve had this one for a long time. I guess I really got what I paid for, shame cause it really is super slim and works well.</p></description> </item> <item> <title>Hello World - Why This</title> - <link>https://micro.pinapelz.moe/posts/2025-12-01-hello-world/</link> + <link>https://micro.pinapelz.com/posts/2025-12-01-hello-world/</link> <pubDate>Mon, 01 Dec 2025 20:11:57 -0800</pubDate><author>yukais@pinapelz.com (Pinapelz)</author> - <guid>https://micro.pinapelz.moe/posts/2025-12-01-hello-world/</guid> + <guid>https://micro.pinapelz.com/posts/2025-12-01-hello-world/</guid> <description><p>I think having control of your own data is great. The same is true for decentralized social media. I&rsquo;ve always been a primary user of microblog platforms (like Twitter/X). Having experienced both the traditional and &ldquo;decentralized&rdquo; approaches to microblogs, they both have some particular shortcoming in terms of what I want to get out of &ldquo;social media&rdquo;.</p>
<h2 id="twitterx">Twitter/X</h2>
<p>This is fairly self explanatory. The rebranding of Twitter to X and Musk&rsquo;s new ownership of the platform shifted the direction of the platform to be ever more political. X Premium boosting visibility is also something I wasn&rsquo;t a particular fan of. You can&rsquo;t view anything without signing in either, so goodbye viewing stuff anonymously. There&rsquo;s just a lot of &ldquo;features&rdquo; here I&rsquo;m not a fan of. Needless to say, there&rsquo;s a lot of reasons to not post stuff there.</p></description> </item> </channel> diff --git a/micro.pinapelz.moe/tags/index.html b/micro.pinapelz.com/tags/index.html index a384a4d..eb9d972 100644 --- a/micro.pinapelz.moe/tags/index.html +++ b/micro.pinapelz.com/tags/index.html @@ -5,7 +5,7 @@ <meta name="viewport" content="width=device-width, initial-scale=1"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <style type=text/css>body{font-family:monospace;}</style> - <title>Tags | micro.pinapelz.moe</title> + <title>Tags | micro.pinapelz.com</title> <meta name="author" content="map[avatar:https://files.catbox.moe/5r1pue.jpg banner:https://files.pinapelz.com/pso2ngs-2232-collab.png bio:yo! and he's more than a cover he's a quilt<br/> General arcade rhythm game enjoyer (SDVX, IIDX, CHUNITHM)<br/> @@ -14,7 +14,7 @@ Arch Linux + Hyprland user (btw)<br/> Hi from the <a href="https://indieweb.org/">indieweb</a>, if you are seeing me bridged elsewhere! email:yukais@pinapelz.com name:Pinapelz]"> <link rel="stylesheet" href="/css/style.css"> - <link rel="alternate" type="application/rss+xml" href="/tags/index.xml" title="micro.pinapelz.moe"> + <link rel="alternate" type="application/rss+xml" href="/tags/index.xml" title="micro.pinapelz.com"> <link rel="me" href="https://github.com/pinapelz" /> @@ -29,7 +29,7 @@ rel="token_endpoint" href="https://tokens.indieauth.com/token" /> - <link rel="webmention" href="https://webmention.io/micro.pinapelz.moe/webmention" /> + <link rel="webmention" href="https://webmention.io/micro.pinapelz.com/webmention" /> @@ -39,7 +39,7 @@ <div style="display:flex;flex-flow:row wrap;justify-content:space-between"> <div style="align-self:flex-start;"> ==============<br> - == <a href="https://micro.pinapelz.moe/">Pinapelz</a> ==<br> + == <a href="https://micro.pinapelz.com/">Pinapelz</a> ==<br> ============== </div> <div style="align-self:center;">check it out. I'm in the house like carpet</div> @@ -63,7 +63,7 @@ <div> <h1> Tags - <a href="https://micro.pinapelz.moe/tags/index.xml"> + <a href="https://micro.pinapelz.com/tags/index.xml"> <img style="height:1.5rem; display: inline;" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-label='RSS' role='img' viewBox='0 0 512 512'%3E%3Cpath d='M0 0h512v512H0' fill='%23f80'/%3E%3Cpath d='M109 271A132 133 0 0 1 241 403h60A192 193 0 0 0 109 211v-54A246 247 0 0 1 355 403h60A306 307 0 0 0 109 97m35 235a35 35 0 1 0 2 0' fill='%23fff'/%3E%3C/svg%3E" alt="RSS icon" /> </a> </h1> @@ -97,7 +97,7 @@ <p style="text-align: center" class="copyright"> - © <a href="https://micro.pinapelz.moe/"><b>micro.pinapelz.moe</b></a>. + © <a href="https://micro.pinapelz.com/"><b>micro.pinapelz.com</b></a>. </p> </footer> diff --git a/micro.pinapelz.moe/tags/index.xml b/micro.pinapelz.com/tags/index.xml index 915c838..1c45ade 100644 --- a/micro.pinapelz.moe/tags/index.xml +++ b/micro.pinapelz.com/tags/index.xml @@ -1,55 +1,55 @@ <?xml version="1.0" encoding="utf-8" standalone="yes"?> <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"> <channel> - <title>Tags on micro.pinapelz.moe</title> - <link>https://micro.pinapelz.moe/tags/</link> - <description>Recent content in Tags on micro.pinapelz.moe</description> + <title>Tags on micro.pinapelz.com</title> + <link>https://micro.pinapelz.com/tags/</link> + <description>Recent content in Tags on micro.pinapelz.com</description> <generator>Hugo</generator> <language>en-us</language> <managingEditor>yukais@pinapelz.com (Pinapelz)</managingEditor> <webMaster>yukais@pinapelz.com (Pinapelz)</webMaster> <lastBuildDate>Sun, 03 May 2026 03:16:09 -0700</lastBuildDate> - <atom:link href="https://micro.pinapelz.moe/tags/index.xml" rel="self" type="application/rss+xml" /> + <atom:link href="https://micro.pinapelz.com/tags/index.xml" rel="self" type="application/rss+xml" /> <item> <title>Default</title> - <link>https://micro.pinapelz.moe/tags/default/</link> + <link>https://micro.pinapelz.com/tags/default/</link> <pubDate>Sun, 03 May 2026 03:16:09 -0700</pubDate><author>yukais@pinapelz.com (Pinapelz)</author> - <guid>https://micro.pinapelz.moe/tags/default/</guid> + <guid>https://micro.pinapelz.com/tags/default/</guid> <description></description> </item> <item> <title>Playlog</title> - <link>https://micro.pinapelz.moe/tags/playlog/</link> + <link>https://micro.pinapelz.com/tags/playlog/</link> <pubDate>Sun, 26 Apr 2026 18:20:09 -0700</pubDate><author>yukais@pinapelz.com (Pinapelz)</author> - <guid>https://micro.pinapelz.moe/tags/playlog/</guid> + <guid>https://micro.pinapelz.com/tags/playlog/</guid> <description></description> </item> <item> <title>Arcade</title> - <link>https://micro.pinapelz.moe/tags/arcade/</link> + <link>https://micro.pinapelz.com/tags/arcade/</link> <pubDate>Thu, 18 Dec 2025 21:38:23 -0800</pubDate><author>yukais@pinapelz.com (Pinapelz)</author> - <guid>https://micro.pinapelz.moe/tags/arcade/</guid> + <guid>https://micro.pinapelz.com/tags/arcade/</guid> <description></description> </item> <item> <title>Code</title> - <link>https://micro.pinapelz.moe/tags/code/</link> + <link>https://micro.pinapelz.com/tags/code/</link> <pubDate>Thu, 04 Dec 2025 23:19:29 -0800</pubDate><author>yukais@pinapelz.com (Pinapelz)</author> - <guid>https://micro.pinapelz.moe/tags/code/</guid> + <guid>https://micro.pinapelz.com/tags/code/</guid> <description></description> </item> <item> <title>Nintendo</title> - <link>https://micro.pinapelz.moe/tags/nintendo/</link> + <link>https://micro.pinapelz.com/tags/nintendo/</link> <pubDate>Thu, 04 Dec 2025 23:19:29 -0800</pubDate><author>yukais@pinapelz.com (Pinapelz)</author> - <guid>https://micro.pinapelz.moe/tags/nintendo/</guid> + <guid>https://micro.pinapelz.com/tags/nintendo/</guid> <description></description> </item> <item> <title>Anime</title> - <link>https://micro.pinapelz.moe/tags/anime/</link> + <link>https://micro.pinapelz.com/tags/anime/</link> <pubDate>Wed, 03 Dec 2025 19:38:52 -0800</pubDate><author>yukais@pinapelz.com (Pinapelz)</author> - <guid>https://micro.pinapelz.moe/tags/anime/</guid> + <guid>https://micro.pinapelz.com/tags/anime/</guid> <description></description> </item> </channel> diff --git a/micro.pinapelz.moe/tags/nintendo/index.html b/micro.pinapelz.com/tags/nintendo/index.html index 3680dcf..3027e31 100644 --- a/micro.pinapelz.moe/tags/nintendo/index.html +++ b/micro.pinapelz.com/tags/nintendo/index.html @@ -5,7 +5,7 @@ <meta name="viewport" content="width=device-width, initial-scale=1"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <style type=text/css>body{font-family:monospace;}</style> - <title>Nintendo | micro.pinapelz.moe</title> + <title>Nintendo | micro.pinapelz.com</title> <meta name="author" content="map[avatar:https://files.catbox.moe/5r1pue.jpg banner:https://files.pinapelz.com/pso2ngs-2232-collab.png bio:yo! and he's more than a cover he's a quilt<br/> General arcade rhythm game enjoyer (SDVX, IIDX, CHUNITHM)<br/> @@ -14,7 +14,7 @@ Arch Linux + Hyprland user (btw)<br/> Hi from the <a href="https://indieweb.org/">indieweb</a>, if you are seeing me bridged elsewhere! email:yukais@pinapelz.com name:Pinapelz]"> <link rel="stylesheet" href="/css/style.css"> - <link rel="alternate" type="application/rss+xml" href="/tags/nintendo/index.xml" title="micro.pinapelz.moe"> + <link rel="alternate" type="application/rss+xml" href="/tags/nintendo/index.xml" title="micro.pinapelz.com"> <link rel="me" href="https://github.com/pinapelz" /> @@ -29,7 +29,7 @@ rel="token_endpoint" href="https://tokens.indieauth.com/token" /> - <link rel="webmention" href="https://webmention.io/micro.pinapelz.moe/webmention" /> + <link rel="webmention" href="https://webmention.io/micro.pinapelz.com/webmention" /> @@ -39,7 +39,7 @@ <div style="display:flex;flex-flow:row wrap;justify-content:space-between"> <div style="align-self:flex-start;"> ==============<br> - == <a href="https://micro.pinapelz.moe/">Pinapelz</a> ==<br> + == <a href="https://micro.pinapelz.com/">Pinapelz</a> ==<br> ============== </div> <div style="align-self:center;">check it out. I'm in the house like carpet</div> @@ -63,7 +63,7 @@ <div> <h1> Nintendo - <a href="https://micro.pinapelz.moe/tags/nintendo/index.xml"> + <a href="https://micro.pinapelz.com/tags/nintendo/index.xml"> <img style="height:1.5rem; display: inline;" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-label='RSS' role='img' viewBox='0 0 512 512'%3E%3Cpath d='M0 0h512v512H0' fill='%23f80'/%3E%3Cpath d='M109 271A132 133 0 0 1 241 403h60A192 193 0 0 0 109 211v-54A246 247 0 0 1 355 403h60A306 307 0 0 0 109 97m35 235a35 35 0 1 0 2 0' fill='%23fff'/%3E%3C/svg%3E" alt="RSS icon" /> </a> </h1> @@ -98,7 +98,7 @@ <p style="text-align: center" class="copyright"> - © <a href="https://micro.pinapelz.moe/"><b>micro.pinapelz.moe</b></a>. + © <a href="https://micro.pinapelz.com/"><b>micro.pinapelz.com</b></a>. </p> </footer> diff --git a/micro.pinapelz.moe/tags/nintendo/index.xml b/micro.pinapelz.com/tags/nintendo/index.xml index 11ee8d4..2e42f5e 100644 --- a/micro.pinapelz.moe/tags/nintendo/index.xml +++ b/micro.pinapelz.com/tags/nintendo/index.xml @@ -1,20 +1,20 @@ <?xml version="1.0" encoding="utf-8" standalone="yes"?> <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"> <channel> - <title>Nintendo on micro.pinapelz.moe</title> - <link>https://micro.pinapelz.moe/tags/nintendo/</link> - <description>Recent content in Nintendo on micro.pinapelz.moe</description> + <title>Nintendo on micro.pinapelz.com</title> + <link>https://micro.pinapelz.com/tags/nintendo/</link> + <description>Recent content in Nintendo on micro.pinapelz.com</description> <generator>Hugo</generator> <language>en-us</language> <managingEditor>yukais@pinapelz.com (Pinapelz)</managingEditor> <webMaster>yukais@pinapelz.com (Pinapelz)</webMaster> <lastBuildDate>Thu, 04 Dec 2025 23:19:29 -0800</lastBuildDate> - <atom:link href="https://micro.pinapelz.moe/tags/nintendo/index.xml" rel="self" type="application/rss+xml" /> + <atom:link href="https://micro.pinapelz.com/tags/nintendo/index.xml" rel="self" type="application/rss+xml" /> <item> <title>Enable HID Mode on Nintendo Pro Controller 2</title> - <link>https://micro.pinapelz.moe/posts/2025-12-04-procon2-hid-tool/</link> + <link>https://micro.pinapelz.com/posts/2025-12-04-procon2-hid-tool/</link> <pubDate>Thu, 04 Dec 2025 23:19:29 -0800</pubDate><author>yukais@pinapelz.com (Pinapelz)</author> - <guid>https://micro.pinapelz.moe/posts/2025-12-04-procon2-hid-tool/</guid> + <guid>https://micro.pinapelz.com/posts/2025-12-04-procon2-hid-tool/</guid> <description><p>Switch 2 Pro Controller is very comfy in my hands, but unfortunately it didn&rsquo;t work out of box on PC (Linux) for me like it&rsquo;s predacessor. Until there&rsquo;s actual better driver support for this thing in the kernel (or Valve does something), here&rsquo;s a hacky Python script to initialize HID-mode on the controller</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-python" data-lang="python"><span style="display:flex;"><span><span style="color:#75715e"># I only tested this script on Linux w/ Steam but in theory it shoud work on Windows?</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> usb.core <span style="color:#75715e"># install pyusb first: pip install pyusb</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> usb.util
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> time
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> sys
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>VENDOR_ID <span style="color:#f92672">=</span> <span style="color:#ae81ff">0x057E</span>
</span></span><span style="display:flex;"><span>PRODUCT_IDS <span style="color:#f92672">=</span> {
</span></span><span style="display:flex;"><span> <span style="color:#ae81ff">0x2066</span>: <span style="color:#e6db74">&#34;Joy-Con (L)&#34;</span>,
</span></span><span style="display:flex;"><span> <span style="color:#ae81ff">0x2067</span>: <span style="color:#e6db74">&#34;Joy-Con (R)&#34;</span>,
</span></span><span style="display:flex;"><span> <span style="color:#ae81ff">0x2069</span>: <span style="color:#e6db74">&#34;Pro Controller&#34;</span>,
</span></span><span style="display:flex;"><span> <span style="color:#ae81ff">0x2073</span>: <span style="color:#e6db74">&#34;GCN Controller&#34;</span>
</span></span><span style="display:flex;"><span>}
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>USB_INTERFACE_NUMBER <span style="color:#f92672">=</span> <span style="color:#ae81ff">1</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>INIT_COMMAND_0x03 <span style="color:#f92672">=</span> bytes([<span style="color:#ae81ff">0x03</span>, <span style="color:#ae81ff">0x91</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x0d</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x08</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x01</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>])
</span></span><span style="display:flex;"><span>UNKNOWN_COMMAND_0x07 <span style="color:#f92672">=</span> bytes([<span style="color:#ae81ff">0x07</span>, <span style="color:#ae81ff">0x91</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x01</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>])
</span></span><span style="display:flex;"><span>UNKNOWN_COMMAND_0x16 <span style="color:#f92672">=</span> bytes([<span style="color:#ae81ff">0x16</span>, <span style="color:#ae81ff">0x91</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x01</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>])
</span></span><span style="display:flex;"><span>REQUEST_CONTROLLER_MAC <span style="color:#f92672">=</span> bytes([<span style="color:#ae81ff">0x15</span>, <span style="color:#ae81ff">0x91</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x01</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x0e</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x02</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>])
</span></span><span style="display:flex;"><span>LTK_REQUEST <span style="color:#f92672">=</span> bytes([<span style="color:#ae81ff">0x15</span>, <span style="color:#ae81ff">0x91</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x02</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x11</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>, <span style="color:#ae81ff">0xFF</span>])
</span></span><span style="display:flex;"><span>UNKNOWN_COMMAND_0x15_ARG_0x03 <span style="color:#f92672">=</span> bytes([<span style="color:#ae81ff">0x15</span>, <span style="color:#ae81ff">0x91</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x03</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x01</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>])
</span></span><span style="display:flex;"><span>UNKNOWN_COMMAND_0x09 <span style="color:#f92672">=</span> bytes([<span style="color:#ae81ff">0x09</span>, <span style="color:#ae81ff">0x91</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x07</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x08</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>])
</span></span><span style="display:flex;"><span>IMU_COMMAND_0x02 <span style="color:#f92672">=</span> bytes([<span style="color:#ae81ff">0x0c</span>, <span style="color:#ae81ff">0x91</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x02</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x04</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x27</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>])
</span></span><span style="display:flex;"><span>OUT_UNKNOWN_COMMAND_0x11 <span style="color:#f92672">=</span> bytes([<span style="color:#ae81ff">0x11</span>, <span style="color:#ae81ff">0x91</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x03</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>])
</span></span><span style="display:flex;"><span>UNKNOWN_COMMAND_0x0A <span style="color:#f92672">=</span> bytes([<span style="color:#ae81ff">0x0a</span>, <span style="color:#ae81ff">0x91</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x08</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x14</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x01</span>, <span style="color:#ae81ff">0xff</span>, <span style="color:#ae81ff">0xff</span>, <span style="color:#ae81ff">0xff</span>, <span style="color:#ae81ff">0xff</span>, <span style="color:#ae81ff">0xff</span>, <span style="color:#ae81ff">0xff</span>, <span style="color:#ae81ff">0xff</span>, <span style="color:#ae81ff">0xff</span>, <span style="color:#ae81ff">0x35</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x46</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>])
</span></span><span style="display:flex;"><span>IMU_COMMAND_0x04 <span style="color:#f92672">=</span> bytes([<span style="color:#ae81ff">0x0c</span>, <span style="color:#ae81ff">0x91</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x04</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x04</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x27</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>])
</span></span><span style="display:flex;"><span>ENABLE_HAPTICS <span style="color:#f92672">=</span> bytes([<span style="color:#ae81ff">0x03</span>, <span style="color:#ae81ff">0x91</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x0a</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x04</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x09</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>])
</span></span><span style="display:flex;"><span>OUT_UNKNOWN_COMMAND_0x10 <span style="color:#f92672">=</span> bytes([<span style="color:#ae81ff">0x10</span>, <span style="color:#ae81ff">0x91</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x01</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>])
</span></span><span style="display:flex;"><span>OUT_UNKNOWN_COMMAND_0x01 <span style="color:#f92672">=</span> bytes([<span style="color:#ae81ff">0x01</span>, <span style="color:#ae81ff">0x91</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x0c</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>])
</span></span><span style="display:flex;"><span>OUT_UNKNOWN_COMMAND_0x03 <span style="color:#f92672">=</span> bytes([<span style="color:#ae81ff">0x03</span>, <span style="color:#ae81ff">0x91</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x01</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>])
</span></span><span style="display:flex;"><span>OUT_UNKNOWN_COMMAND_0x0A_ALT <span style="color:#f92672">=</span> bytes([<span style="color:#ae81ff">0x0a</span>, <span style="color:#ae81ff">0x91</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x02</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x04</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x03</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>])
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">def</span> <span style="color:#a6e22e">send_usb_data</span>(ep_out, ep_in, data, description<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;&#34;</span>):
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">try</span>:
</span></span><span style="display:flex;"><span> ep_out<span style="color:#f92672">.</span>write(data)
</span></span><span style="display:flex;"><span> time<span style="color:#f92672">.</span>sleep(<span style="color:#ae81ff">0.01</span>)
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">try</span>:
</span></span><span style="display:flex;"><span> response <span style="color:#f92672">=</span> ep_in<span style="color:#f92672">.</span>read(<span style="color:#ae81ff">32</span>, timeout<span style="color:#f92672">=</span><span style="color:#ae81ff">100</span>)
</span></span><span style="display:flex;"><span> hex_resp <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34; &#34;</span><span style="color:#f92672">.</span>join([<span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;</span><span style="color:#e6db74">{</span>x<span style="color:#e6db74">:</span><span style="color:#e6db74">02x</span><span style="color:#e6db74">}</span><span style="color:#e6db74">&#34;</span> <span style="color:#66d9ef">for</span> x <span style="color:#f92672">in</span> response])
</span></span><span style="display:flex;"><span> print(<span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;[</span><span style="color:#e6db74">{</span>description<span style="color:#e6db74">}</span><span style="color:#e6db74">] Response: </span><span style="color:#e6db74">{</span>hex_resp<span style="color:#e6db74">}</span><span style="color:#e6db74">&#34;</span>)
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">except</span> usb<span style="color:#f92672">.</span>core<span style="color:#f92672">.</span>USBError <span style="color:#66d9ef">as</span> e:
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">if</span> e<span style="color:#f92672">.</span>errno <span style="color:#f92672">==</span> <span style="color:#ae81ff">110</span>:
</span></span><span style="display:flex;"><span> print(<span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;[</span><span style="color:#e6db74">{</span>description<span style="color:#e6db74">}</span><span style="color:#e6db74">] No response (Timeout)&#34;</span>)
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">else</span>:
</span></span><span style="display:flex;"><span> print(<span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;[</span><span style="color:#e6db74">{</span>description<span style="color:#e6db74">}</span><span style="color:#e6db74">] Read Error: </span><span style="color:#e6db74">{</span>e<span style="color:#e6db74">}</span><span style="color:#e6db74">&#34;</span>)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">except</span> usb<span style="color:#f92672">.</span>core<span style="color:#f92672">.</span>USBError <span style="color:#66d9ef">as</span> e:
</span></span><span style="display:flex;"><span> print(<span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;[</span><span style="color:#e6db74">{</span>description<span style="color:#e6db74">}</span><span style="color:#e6db74">] Write Error: </span><span style="color:#e6db74">{</span>e<span style="color:#e6db74">}</span><span style="color:#e6db74">&#34;</span>)
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">raise</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">def</span> <span style="color:#a6e22e">set_player_leds</span>(ep_out, ep_in, led_mask):
</span></span><span style="display:flex;"><span> command <span style="color:#f92672">=</span> [
</span></span><span style="display:flex;"><span> <span style="color:#ae81ff">0x09</span>, <span style="color:#ae81ff">0x91</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x07</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x08</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>,
</span></span><span style="display:flex;"><span> led_mask,
</span></span><span style="display:flex;"><span> <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>, <span style="color:#ae81ff">0x00</span>
</span></span><span style="display:flex;"><span> ]
</span></span><span style="display:flex;"><span> send_usb_data(ep_out, ep_in, bytes(command), <span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;Set LED Mask: 0x</span><span style="color:#e6db74">{</span>led_mask<span style="color:#e6db74">:</span><span style="color:#e6db74">02x</span><span style="color:#e6db74">}</span><span style="color:#e6db74">&#34;</span>)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">def</span> <span style="color:#a6e22e">connect_usb</span>():
</span></span><span style="display:flex;"><span> print(<span style="color:#e6db74">&#34;Searching for Nintendo Switch Controllers...&#34;</span>)
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">def</span> <span style="color:#a6e22e">match_device</span>(dev):
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">return</span> dev<span style="color:#f92672">.</span>idVendor <span style="color:#f92672">==</span> VENDOR_ID <span style="color:#f92672">and</span> dev<span style="color:#f92672">.</span>idProduct <span style="color:#f92672">in</span> PRODUCT_IDS
</span></span><span style="display:flex;"><span> dev <span style="color:#f92672">=</span> usb<span style="color:#f92672">.</span>core<span style="color:#f92672">.</span>find(custom_match<span style="color:#f92672">=</span>match_device)
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">if</span> dev <span style="color:#f92672">is</span> <span style="color:#66d9ef">None</span>:
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">raise</span> <span style="color:#a6e22e">ValueError</span>(<span style="color:#e6db74">&#34;Device not found&#34;</span>)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span> product_name <span style="color:#f92672">=</span> PRODUCT_IDS<span style="color:#f92672">.</span>get(dev<span style="color:#f92672">.</span>idProduct, <span style="color:#e6db74">&#34;Unknown Device&#34;</span>)
</span></span><span style="display:flex;"><span> print(<span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;Found </span><span style="color:#e6db74">{</span>product_name<span style="color:#e6db74">}</span><span style="color:#e6db74"> (ID: </span><span style="color:#e6db74">{</span>dev<span style="color:#f92672">.</span>idProduct<span style="color:#e6db74">:</span><span style="color:#e6db74">04x</span><span style="color:#e6db74">}</span><span style="color:#e6db74">)&#34;</span>)
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">if</span> dev<span style="color:#f92672">.</span>is_kernel_driver_active(USB_INTERFACE_NUMBER):
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">try</span>:
</span></span><span style="display:flex;"><span> print(<span style="color:#e6db74">&#34;Detaching kernel driver...&#34;</span>)
</span></span><span style="display:flex;"><span> dev<span style="color:#f92672">.</span>detach_kernel_driver(USB_INTERFACE_NUMBER)
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">except</span> usb<span style="color:#f92672">.</span>core<span style="color:#f92672">.</span>USBError <span style="color:#66d9ef">as</span> e:
</span></span><span style="display:flex;"><span> sys<span style="color:#f92672">.</span>exit(<span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;Could not detach kernel driver: </span><span style="color:#e6db74">{</span>e<span style="color:#e6db74">}</span><span style="color:#e6db74">&#34;</span>)
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">try</span>:
</span></span><span style="display:flex;"><span> dev<span style="color:#f92672">.</span>set_configuration()
</span></span><span style="display:flex;"><span> print(<span style="color:#e6db74">&#34;Configuration set.&#34;</span>)
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">except</span> usb<span style="color:#f92672">.</span>core<span style="color:#f92672">.</span>USBError <span style="color:#66d9ef">as</span> e:
</span></span><span style="display:flex;"><span> print(<span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;Error setting configuration: </span><span style="color:#e6db74">{</span>e<span style="color:#e6db74">}</span><span style="color:#e6db74">&#34;</span>)
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">try</span>:
</span></span><span style="display:flex;"><span> usb<span style="color:#f92672">.</span>util<span style="color:#f92672">.</span>claim_interface(dev, USB_INTERFACE_NUMBER)
</span></span><span style="display:flex;"><span> print(<span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;Interface </span><span style="color:#e6db74">{</span>USB_INTERFACE_NUMBER<span style="color:#e6db74">}</span><span style="color:#e6db74"> claimed.&#34;</span>)
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">except</span> usb<span style="color:#f92672">.</span>core<span style="color:#f92672">.</span>USBError <span style="color:#66d9ef">as</span> e:
</span></span><span style="display:flex;"><span> sys<span style="color:#f92672">.</span>exit(<span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;Could not claim interface: </span><span style="color:#e6db74">{</span>e<span style="color:#e6db74">}</span><span style="color:#e6db74">&#34;</span>)
</span></span><span style="display:flex;"><span> cfg <span style="color:#f92672">=</span> dev<span style="color:#f92672">.</span>get_active_configuration()
</span></span><span style="display:flex;"><span> intf <span style="color:#f92672">=</span> cfg[(USB_INTERFACE_NUMBER,<span style="color:#ae81ff">0</span>)]
</span></span><span style="display:flex;"><span> ep_out <span style="color:#f92672">=</span> usb<span style="color:#f92672">.</span>util<span style="color:#f92672">.</span>find_descriptor(
</span></span><span style="display:flex;"><span> intf,
</span></span><span style="display:flex;"><span> custom_match <span style="color:#f92672">=</span> <span style="color:#66d9ef">lambda</span> e: usb<span style="color:#f92672">.</span>util<span style="color:#f92672">.</span>endpoint_direction(e<span style="color:#f92672">.</span>bEndpointAddress) <span style="color:#f92672">==</span> usb<span style="color:#f92672">.</span>util<span style="color:#f92672">.</span>ENDPOINT_OUT)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span> ep_in <span style="color:#f92672">=</span> usb<span style="color:#f92672">.</span>util<span style="color:#f92672">.</span>find_descriptor(
</span></span><span style="display:flex;"><span> intf,
</span></span><span style="display:flex;"><span> custom_match <span style="color:#f92672">=</span>
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">lambda</span> e: usb<span style="color:#f92672">.</span>util<span style="color:#f92672">.</span>endpoint_direction(e<span style="color:#f92672">.</span>bEndpointAddress) <span style="color:#f92672">==</span> usb<span style="color:#f92672">.</span>util<span style="color:#f92672">.</span>ENDPOINT_IN
</span></span><span style="display:flex;"><span> )
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">if</span> <span style="color:#f92672">not</span> ep_out:
</span></span><span style="display:flex;"><span> sys<span style="color:#f92672">.</span>exit(<span style="color:#e6db74">&#34;Could not find OUT endpoint&#34;</span>)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span> print(<span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;Found Endpoint OUT: 0x</span><span style="color:#e6db74">{</span>ep_out<span style="color:#f92672">.</span>bEndpointAddress<span style="color:#e6db74">:</span><span style="color:#e6db74">02x</span><span style="color:#e6db74">}</span><span style="color:#e6db74">&#34;</span>)
</span></span><span style="display:flex;"><span> print(<span style="color:#e6db74">&#34;Starting Initialization Sequence...&#34;</span>)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">try</span>:
</span></span><span style="display:flex;"><span> send_usb_data(ep_out, ep_in, INIT_COMMAND_0x03, <span style="color:#e6db74">&#34;Init 0x03&#34;</span>)
</span></span><span style="display:flex;"><span> send_usb_data(ep_out, ep_in, UNKNOWN_COMMAND_0x07, <span style="color:#e6db74">&#34;Unknown 0x07&#34;</span>)
</span></span><span style="display:flex;"><span> send_usb_data(ep_out, ep_in, UNKNOWN_COMMAND_0x16, <span style="color:#e6db74">&#34;Unknown 0x16&#34;</span>)
</span></span><span style="display:flex;"><span> send_usb_data(ep_out, ep_in, REQUEST_CONTROLLER_MAC, <span style="color:#e6db74">&#34;Req MAC&#34;</span>)
</span></span><span style="display:flex;"><span> send_usb_data(ep_out, ep_in, LTK_REQUEST, <span style="color:#e6db74">&#34;Req LTK&#34;</span>)
</span></span><span style="display:flex;"><span> send_usb_data(ep_out, ep_in, UNKNOWN_COMMAND_0x15_ARG_0x03, <span style="color:#e6db74">&#34;Unknown 0x15&#34;</span>)
</span></span><span style="display:flex;"><span> send_usb_data(ep_out, ep_in, UNKNOWN_COMMAND_0x09, <span style="color:#e6db74">&#34;Unknown 0x09&#34;</span>)
</span></span><span style="display:flex;"><span> send_usb_data(ep_out, ep_in, IMU_COMMAND_0x02, <span style="color:#e6db74">&#34;IMU 0x02&#34;</span>)
</span></span><span style="display:flex;"><span> send_usb_data(ep_out, ep_in, OUT_UNKNOWN_COMMAND_0x11, <span style="color:#e6db74">&#34;OUT Unknown 0x11&#34;</span>)
</span></span><span style="display:flex;"><span> send_usb_data(ep_out, ep_in, UNKNOWN_COMMAND_0x0A, <span style="color:#e6db74">&#34;Unknown 0x0A&#34;</span>)
</span></span><span style="display:flex;"><span> send_usb_data(ep_out, ep_in, IMU_COMMAND_0x04, <span style="color:#e6db74">&#34;IMU 0x04&#34;</span>)
</span></span><span style="display:flex;"><span> send_usb_data(ep_out, ep_in, ENABLE_HAPTICS, <span style="color:#e6db74">&#34;Enable Haptics&#34;</span>)
</span></span><span style="display:flex;"><span> send_usb_data(ep_out, ep_in, OUT_UNKNOWN_COMMAND_0x10, <span style="color:#e6db74">&#34;OUT Unknown 0x10&#34;</span>)
</span></span><span style="display:flex;"><span> send_usb_data(ep_out, ep_in, OUT_UNKNOWN_COMMAND_0x01, <span style="color:#e6db74">&#34;OUT Unknown 0x01&#34;</span>)
</span></span><span style="display:flex;"><span> send_usb_data(ep_out, ep_in, OUT_UNKNOWN_COMMAND_0x03, <span style="color:#e6db74">&#34;OUT Unknown 0x03&#34;</span>)
</span></span><span style="display:flex;"><span> send_usb_data(ep_out, ep_in, OUT_UNKNOWN_COMMAND_0x0A_ALT, <span style="color:#e6db74">&#34;OUT Unknown 0x0A Alt&#34;</span>)
</span></span><span style="display:flex;"><span> set_player_leds(ep_out, ep_in, <span style="color:#ae81ff">0x0F</span>)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span> print(<span style="color:#e6db74">&#34;Controller initialization sequence complete! All LEDs should be on.&#34;</span>)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">except</span> <span style="color:#a6e22e">Exception</span> <span style="color:#66d9ef">as</span> e:
</span></span><span style="display:flex;"><span> print(<span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;Error during sequence: </span><span style="color:#e6db74">{</span>e<span style="color:#e6db74">}</span><span style="color:#e6db74">&#34;</span>)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">if</span> __name__ <span style="color:#f92672">==</span> <span style="color:#e6db74">&#34;__main__&#34;</span>:
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">try</span>:
</span></span><span style="display:flex;"><span> connect_usb()
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">except</span> <span style="color:#a6e22e">ValueError</span> <span style="color:#66d9ef">as</span> e:
</span></span><span style="display:flex;"><span> print(e)
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">except</span> <span style="color:#a6e22e">Exception</span> <span style="color:#66d9ef">as</span> e:
</span></span><span style="display:flex;"><span> print(<span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;Unexpected error: </span><span style="color:#e6db74">{</span>e<span style="color:#e6db74">}</span><span style="color:#e6db74">&#34;</span>)
</span></span></code></pre></div><p><strong>Steps</strong></p></description> </item> </channel> diff --git a/micro.pinapelz.moe/tags/playlog/index.html b/micro.pinapelz.com/tags/playlog/index.html index 60cee03..a01aef7 100644 --- a/micro.pinapelz.moe/tags/playlog/index.html +++ b/micro.pinapelz.com/tags/playlog/index.html @@ -5,7 +5,7 @@ <meta name="viewport" content="width=device-width, initial-scale=1"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <style type=text/css>body{font-family:monospace;}</style> - <title>Playlog | micro.pinapelz.moe</title> + <title>Playlog | micro.pinapelz.com</title> <meta name="author" content="map[avatar:https://files.catbox.moe/5r1pue.jpg banner:https://files.pinapelz.com/pso2ngs-2232-collab.png bio:yo! and he's more than a cover he's a quilt<br/> General arcade rhythm game enjoyer (SDVX, IIDX, CHUNITHM)<br/> @@ -14,7 +14,7 @@ Arch Linux + Hyprland user (btw)<br/> Hi from the <a href="https://indieweb.org/">indieweb</a>, if you are seeing me bridged elsewhere! email:yukais@pinapelz.com name:Pinapelz]"> <link rel="stylesheet" href="/css/style.css"> - <link rel="alternate" type="application/rss+xml" href="/tags/playlog/index.xml" title="micro.pinapelz.moe"> + <link rel="alternate" type="application/rss+xml" href="/tags/playlog/index.xml" title="micro.pinapelz.com"> <link rel="me" href="https://github.com/pinapelz" /> @@ -29,7 +29,7 @@ rel="token_endpoint" href="https://tokens.indieauth.com/token" /> - <link rel="webmention" href="https://webmention.io/micro.pinapelz.moe/webmention" /> + <link rel="webmention" href="https://webmention.io/micro.pinapelz.com/webmention" /> @@ -39,7 +39,7 @@ <div style="display:flex;flex-flow:row wrap;justify-content:space-between"> <div style="align-self:flex-start;"> ==============<br> - == <a href="https://micro.pinapelz.moe/">Pinapelz</a> ==<br> + == <a href="https://micro.pinapelz.com/">Pinapelz</a> ==<br> ============== </div> <div style="align-self:center;">check it out. I'm in the house like carpet</div> @@ -63,7 +63,7 @@ <div> <h1> Playlog - <a href="https://micro.pinapelz.moe/tags/playlog/index.xml"> + <a href="https://micro.pinapelz.com/tags/playlog/index.xml"> <img style="height:1.5rem; display: inline;" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-label='RSS' role='img' viewBox='0 0 512 512'%3E%3Cpath d='M0 0h512v512H0' fill='%23f80'/%3E%3Cpath d='M109 271A132 133 0 0 1 241 403h60A192 193 0 0 0 109 211v-54A246 247 0 0 1 355 403h60A306 307 0 0 0 109 97m35 235a35 35 0 1 0 2 0' fill='%23fff'/%3E%3C/svg%3E" alt="RSS icon" /> </a> </h1> @@ -112,7 +112,7 @@ <p style="text-align: center" class="copyright"> - © <a href="https://micro.pinapelz.moe/"><b>micro.pinapelz.moe</b></a>. + © <a href="https://micro.pinapelz.com/"><b>micro.pinapelz.com</b></a>. </p> </footer> diff --git a/micro.pinapelz.moe/tags/playlog/index.xml b/micro.pinapelz.com/tags/playlog/index.xml index 2b114f1..52291c0 100644 --- a/micro.pinapelz.moe/tags/playlog/index.xml +++ b/micro.pinapelz.com/tags/playlog/index.xml @@ -1,35 +1,35 @@ <?xml version="1.0" encoding="utf-8" standalone="yes"?> <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"> <channel> - <title>Playlog on micro.pinapelz.moe</title> - <link>https://micro.pinapelz.moe/tags/playlog/</link> - <description>Recent content in Playlog on micro.pinapelz.moe</description> + <title>Playlog on micro.pinapelz.com</title> + <link>https://micro.pinapelz.com/tags/playlog/</link> + <description>Recent content in Playlog on micro.pinapelz.com</description> <generator>Hugo</generator> <language>en-us</language> <managingEditor>yukais@pinapelz.com (Pinapelz)</managingEditor> <webMaster>yukais@pinapelz.com (Pinapelz)</webMaster> <lastBuildDate>Sun, 26 Apr 2026 18:20:09 -0700</lastBuildDate> - <atom:link href="https://micro.pinapelz.moe/tags/playlog/index.xml" rel="self" type="application/rss+xml" /> + <atom:link href="https://micro.pinapelz.com/tags/playlog/index.xml" rel="self" type="application/rss+xml" /> <item> <title>Playlog: April 2026 (No Sleep for Kaname Date, Xenoblade 1 DE, Catherine Full Body)</title> - <link>https://micro.pinapelz.moe/posts/2026-04-26-12-april-playlog/</link> + <link>https://micro.pinapelz.com/posts/2026-04-26-12-april-playlog/</link> <pubDate>Sun, 26 Apr 2026 18:20:09 -0700</pubDate><author>yukais@pinapelz.com (Pinapelz)</author> - <guid>https://micro.pinapelz.moe/posts/2026-04-26-12-april-playlog/</guid> + <guid>https://micro.pinapelz.com/posts/2026-04-26-12-april-playlog/</guid> <description><p>I&rsquo;ve gotten quite good at actually making progress on my backlog. Turns out the answer was to just uninstall all social media and get rid of doom scrolling. I invested in a rudimentary capture card as well so that I can have my Switch games show up as an application on my PC rather than having to swap display inputs (which makes it easy to get up and running for a quick session).</p></description> </item> <item> <title>Playlog: Hundred Lines Last Defense Academy</title> - <link>https://micro.pinapelz.moe/posts/2026-03-17-11-hundred-lines-last-defense-playlog/</link> + <link>https://micro.pinapelz.com/posts/2026-03-17-11-hundred-lines-last-defense-playlog/</link> <pubDate>Tue, 17 Mar 2026 17:19:03 -0700</pubDate><author>yukais@pinapelz.com (Pinapelz)</author> - <guid>https://micro.pinapelz.moe/posts/2026-03-17-11-hundred-lines-last-defense-playlog/</guid> - <description><p>After about a year of playing on and off, I&rsquo;ve finally finished all 100 (and 1, counting the first one). In total it took roughly 105 hours or so.
<figure><img src="https://micro.pinapelz.moe/posts/2026-03-17-11-hundred-lines-last-defense-playlog/playtime.png"
 alt="105 hours or more played">
</figure>
</p>
<h2 id="core-mechanics">Core Mechanics</h2>
<ul>
<li>This is basically a visual novel, there&rsquo;s very little fun to be had if you are a &ldquo;cutscene skipper&rdquo;. If you enjoyed Kodaka&rsquo;s other works like Danganronpa then you&rsquo;ll be right at home.</li>
<li>There&rsquo;s a bunch of smaller &ldquo;minigames&rdquo; but are mostly a one-off thing, they feel mostly like an afterthought (+25)</li>
</ul>
<h2 id="structure">Structure</h2>
<ul>
<li>There&rsquo;s 2 main parts of the game, the battling and the story itself</li>
<li>The battling itself has a decent amount of strategy to it, and you can in fact easily lose if you&rsquo;re not careful for some of them</li>
<li>In my opinion though given how little variety there is it kinda gets old fast, luckily the 2nd half of the game lets you skip battles you&rsquo;ve already done</li>
<li>As far as the story goes, its standard visual novel stuff but with a Kodaka twist. Each ending belongs to a particular &ldquo;route&rdquo; which is centered around a particular storyline, each one is also explicitly named in the game&rsquo;s flowchart. (+20)</li>
</ul>
<h2 id="content">Content</h2>
<ul>
<li>The story itself is quite good, but not all the routes are really worth doing if you just want what I consider to be the &ldquo;core&rdquo; of the plot. Some of them basically lead to nothing and are there just for fun.</li>
<li>Everyone has to play through <code>Last Defense Academy 1</code> which basically acts as a very long prologue for the actual game</li>
<li><strong>Not Necessary:</strong> Serial Battles Route (PLEASE skip this one, the game forces you to play unskippable battles and it forshadows literately the tiniest thing), Box of Blessings, Conspiracy (does nothing but is very quick to do), Romance, Comedy, V’ehxness Route (mainly character building), Reset Route</li>
<li>I would recommend playing through the prologue, then explicitly following a guide for the <code>Last Defense Academy 2nd Scenario</code>, then if you still want more start the S.F Route and follow a guide to unlock the pre-requisite routes while you progress through that. Everything else is largely optional IMO and is just for world-building. (12)</li>
</ul>
<h2 id="technical-execution">Technical Execution</h2>
<p>Its fine overall. You can def. tell they didn&rsquo;t have as big of a budget as Danganronpa to work with. There were some issues with leaving the game in suspense for too long on Switch but no major performance issues (+15)</p></description> + <guid>https://micro.pinapelz.com/posts/2026-03-17-11-hundred-lines-last-defense-playlog/</guid> + <description><p>After about a year of playing on and off, I&rsquo;ve finally finished all 100 (and 1, counting the first one). In total it took roughly 105 hours or so.
<figure><img src="https://micro.pinapelz.com/posts/2026-03-17-11-hundred-lines-last-defense-playlog/playtime.png"
 alt="105 hours or more played">
</figure>
</p>
<h2 id="core-mechanics">Core Mechanics</h2>
<ul>
<li>This is basically a visual novel, there&rsquo;s very little fun to be had if you are a &ldquo;cutscene skipper&rdquo;. If you enjoyed Kodaka&rsquo;s other works like Danganronpa then you&rsquo;ll be right at home.</li>
<li>There&rsquo;s a bunch of smaller &ldquo;minigames&rdquo; but are mostly a one-off thing, they feel mostly like an afterthought (+25)</li>
</ul>
<h2 id="structure">Structure</h2>
<ul>
<li>There&rsquo;s 2 main parts of the game, the battling and the story itself</li>
<li>The battling itself has a decent amount of strategy to it, and you can in fact easily lose if you&rsquo;re not careful for some of them</li>
<li>In my opinion though given how little variety there is it kinda gets old fast, luckily the 2nd half of the game lets you skip battles you&rsquo;ve already done</li>
<li>As far as the story goes, its standard visual novel stuff but with a Kodaka twist. Each ending belongs to a particular &ldquo;route&rdquo; which is centered around a particular storyline, each one is also explicitly named in the game&rsquo;s flowchart. (+20)</li>
</ul>
<h2 id="content">Content</h2>
<ul>
<li>The story itself is quite good, but not all the routes are really worth doing if you just want what I consider to be the &ldquo;core&rdquo; of the plot. Some of them basically lead to nothing and are there just for fun.</li>
<li>Everyone has to play through <code>Last Defense Academy 1</code> which basically acts as a very long prologue for the actual game</li>
<li><strong>Not Necessary:</strong> Serial Battles Route (PLEASE skip this one, the game forces you to play unskippable battles and it forshadows literately the tiniest thing), Box of Blessings, Conspiracy (does nothing but is very quick to do), Romance, Comedy, V’ehxness Route (mainly character building), Reset Route</li>
<li>I would recommend playing through the prologue, then explicitly following a guide for the <code>Last Defense Academy 2nd Scenario</code>, then if you still want more start the S.F Route and follow a guide to unlock the pre-requisite routes while you progress through that. Everything else is largely optional IMO and is just for world-building. (12)</li>
</ul>
<h2 id="technical-execution">Technical Execution</h2>
<p>Its fine overall. You can def. tell they didn&rsquo;t have as big of a budget as Danganronpa to work with. There were some issues with leaving the game in suspense for too long on Switch but no major performance issues (+15)</p></description> </item> <item> <title>Playlog: FFXIV Dawntrail Patch 7.4 Thoughts (spoilers)</title> - <link>https://micro.pinapelz.moe/posts/2025-12-19-08-ffxiv-patch-7-4/</link> + <link>https://micro.pinapelz.com/posts/2025-12-19-08-ffxiv-patch-7-4/</link> <pubDate>Fri, 19 Dec 2025 22:15:50 -0800</pubDate><author>yukais@pinapelz.com (Pinapelz)</author> - <guid>https://micro.pinapelz.moe/posts/2025-12-19-08-ffxiv-patch-7-4/</guid> - <description><p><em>This is primarily focused on the content of the patch, not so much the features they&rsquo;ve added.</em></p>
<h1 id="story">Story</h1>
<ul>
<li>Mistwake Dungeon was a good difficulty. Although I&rsquo;m not a fan of the electricity star AOEs, very hard to read for no apparent reason. Please just stick with the old one.</li>
<li>Cutscene quality def. got better. As in animations and uniqueness.</li>
<li>Love the look and feel (Treno). There&rsquo;s a ton of good spots for &ldquo;gpose-ing&rdquo;. Music is nice too.</li>
<li>Seriously Krile? You parents were the ones who dropped you into the Source. I don&rsquo;t think they&rsquo;d care if you wanted to stay in the Source (just make up your mind) -&gt; well glad that got sorted out</li>
<li>&ldquo;Hell on Rails&rdquo; Trial (Doomtrain) is very nicely designed. Its got some nice unique mechanics, the &ldquo;sucking&rdquo; mechanic definetly trips you up the first time because the distance to move back + timing has been tuned so that you need to pre-position for it.</li>
<li>The transition from inside the engine to outside was really cool!!! This is probably one of my top normal trials now.</li>
<li>The instance battle was well done too. The roleplaying part was on point, and when it was finally time to fight a real boss you get to play as yourelf (I think this is the best flow). Love the idea using the spriggan to avoid Behemoth&rsquo;s meteor.</li>
<li>Cool so we just get to keep the key. If this were any bit realistic, we&rsquo;ve surely learned that no one this powerful should be allowed to keep the key on themsleves 24/7. Because surely the WoL being the most powerful being will never run rogue with a interdimensional travel capable tool. Then again, seeing how stuff gets stolen all the time in the story&hellip; Well I guess it can go either way.</li>
<li>I&rsquo;m guessing this key is gonna be how the writers justify being able to travel to new worlds for post-Zodiark/Hydaelyn story. Its fine I guess, but a little disappointing it isn&rsquo;t something more unique.</li>
<li>And what do you know. Ascians. I hope we get something unqiue for 8.0&hellip; I guess thats fine but please lets not have it just be SHB all over again.</li>
</ul>
<h1 id="raid">Raid</h1>
<ul>
<li>&ldquo;Feral Fandom&rdquo; -&gt; Yep thats FF14 NA playerbase for you.</li>
<li>Heavyweight 1 (Vamp Fatale) Raid was cool and unique, but a bit too flashy imo. That Half Moon is needlessly large, wish we&rsquo;d stop with mechanics that are designed to trick people even when read correctly.</li>
<li>Heavyweight 2 (Xtremes) I take it back, this is the one with the blinding effects MY EYES. Fire and water one after another. This is a pretty hard normal fight actually (the first time you run it blind). Really punishing for bad AOE placement positions since you can effectively be cut off from the team.</li>
<li>Holy wow these cutscenes are in serious need of voice acting. Its a good story but so dry and awkward without it.</li>
<li>Heavyweight 3 (Tyrant). Really? Behemoth again, double dipping from the instance battle. There&rsquo;s so many other cool FF monsters. I like the arena, it fits the guy well, all about history of the Arcadion/tradition. Fight is underwhelming and too easy imo, apart from 1 single trick mechanic that can cause a wipe&hellip;</li>
<li>Heavyweight 4 (Lindwurm). EVERYTHING BURNS. This fight was honestly too easy, zero deaths everything can be read. 2nd phase was underhelming.</li>
<li>Overall the story here while not as in depth and relevant to the story as Endwalker raids, still had a nice little twist at the end I def did not expect. Enjoyed it!</li>
</ul>
<h1 id="misc">Misc</h1>
<ul>
<li>The new Frontline map is &ldquo;dangerous&rdquo;. Overall the new capturing point system is far better than a non-interruptable interact like in Onsal Hakir. The snowman and aurora events are also good, and I think they come in right when they&rsquo;re needed too (to spice things up/allow for a turning point).</li>
<li>The map design however is far too complex, all these bridges and everywhere and invisible walls. It does add a lot of chokepoints but also makes it difficult to navigate from point A -&gt; B (but partially I guess this is done cause the map does feel smaller than Onsal).</li>
</ul>


<a href="https://micro.pinapelz.moe//tags/ffxiv" class="p-category">#ffxiv</a></description> + <guid>https://micro.pinapelz.com/posts/2025-12-19-08-ffxiv-patch-7-4/</guid> + <description><p><em>This is primarily focused on the content of the patch, not so much the features they&rsquo;ve added.</em></p>
<h1 id="story">Story</h1>
<ul>
<li>Mistwake Dungeon was a good difficulty. Although I&rsquo;m not a fan of the electricity star AOEs, very hard to read for no apparent reason. Please just stick with the old one.</li>
<li>Cutscene quality def. got better. As in animations and uniqueness.</li>
<li>Love the look and feel (Treno). There&rsquo;s a ton of good spots for &ldquo;gpose-ing&rdquo;. Music is nice too.</li>
<li>Seriously Krile? You parents were the ones who dropped you into the Source. I don&rsquo;t think they&rsquo;d care if you wanted to stay in the Source (just make up your mind) -&gt; well glad that got sorted out</li>
<li>&ldquo;Hell on Rails&rdquo; Trial (Doomtrain) is very nicely designed. Its got some nice unique mechanics, the &ldquo;sucking&rdquo; mechanic definetly trips you up the first time because the distance to move back + timing has been tuned so that you need to pre-position for it.</li>
<li>The transition from inside the engine to outside was really cool!!! This is probably one of my top normal trials now.</li>
<li>The instance battle was well done too. The roleplaying part was on point, and when it was finally time to fight a real boss you get to play as yourelf (I think this is the best flow). Love the idea using the spriggan to avoid Behemoth&rsquo;s meteor.</li>
<li>Cool so we just get to keep the key. If this were any bit realistic, we&rsquo;ve surely learned that no one this powerful should be allowed to keep the key on themsleves 24/7. Because surely the WoL being the most powerful being will never run rogue with a interdimensional travel capable tool. Then again, seeing how stuff gets stolen all the time in the story&hellip; Well I guess it can go either way.</li>
<li>I&rsquo;m guessing this key is gonna be how the writers justify being able to travel to new worlds for post-Zodiark/Hydaelyn story. Its fine I guess, but a little disappointing it isn&rsquo;t something more unique.</li>
<li>And what do you know. Ascians. I hope we get something unqiue for 8.0&hellip; I guess thats fine but please lets not have it just be SHB all over again.</li>
</ul>
<h1 id="raid">Raid</h1>
<ul>
<li>&ldquo;Feral Fandom&rdquo; -&gt; Yep thats FF14 NA playerbase for you.</li>
<li>Heavyweight 1 (Vamp Fatale) Raid was cool and unique, but a bit too flashy imo. That Half Moon is needlessly large, wish we&rsquo;d stop with mechanics that are designed to trick people even when read correctly.</li>
<li>Heavyweight 2 (Xtremes) I take it back, this is the one with the blinding effects MY EYES. Fire and water one after another. This is a pretty hard normal fight actually (the first time you run it blind). Really punishing for bad AOE placement positions since you can effectively be cut off from the team.</li>
<li>Holy wow these cutscenes are in serious need of voice acting. Its a good story but so dry and awkward without it.</li>
<li>Heavyweight 3 (Tyrant). Really? Behemoth again, double dipping from the instance battle. There&rsquo;s so many other cool FF monsters. I like the arena, it fits the guy well, all about history of the Arcadion/tradition. Fight is underwhelming and too easy imo, apart from 1 single trick mechanic that can cause a wipe&hellip;</li>
<li>Heavyweight 4 (Lindwurm). EVERYTHING BURNS. This fight was honestly too easy, zero deaths everything can be read. 2nd phase was underhelming.</li>
<li>Overall the story here while not as in depth and relevant to the story as Endwalker raids, still had a nice little twist at the end I def did not expect. Enjoyed it!</li>
</ul>
<h1 id="misc">Misc</h1>
<ul>
<li>The new Frontline map is &ldquo;dangerous&rdquo;. Overall the new capturing point system is far better than a non-interruptable interact like in Onsal Hakir. The snowman and aurora events are also good, and I think they come in right when they&rsquo;re needed too (to spice things up/allow for a turning point).</li>
<li>The map design however is far too complex, all these bridges and everywhere and invisible walls. It does add a lot of chokepoints but also makes it difficult to navigate from point A -&gt; B (but partially I guess this is done cause the map does feel smaller than Onsal).</li>
</ul>


<a href="https://micro.pinapelz.com//tags/ffxiv" class="p-category">#ffxiv</a></description> </item> </channel> </rss> diff --git a/micro.pinapelz.moe/css/follows.css b/micro.pinapelz.moe/css/follows.css deleted file mode 100644 index a6673af..0000000 --- a/micro.pinapelz.moe/css/follows.css +++ /dev/null @@ -1,31 +0,0 @@ -.follow-card { - display: flex; - flex-direction: column; - padding: 0.6rem 0.8rem; - margin: 0.6rem 0 0.6rem 0; - background: var(--card-bg, #f9f9f9); - border-radius: 8px; - border: 1px solid #e5e5e5; - font-size: 0.9rem; -} - -.follow-card:hover { - background: var(--card-bg-hover, #f2f2f2); -} - -.follow-target { - font-weight: 600; - text-decoration: none; - color: var(--link-color, #3366cc); - word-break: break-all; -} - -.follow-target:hover { - text-decoration: underline; -} - -.follow-date { - color: #777; - font-size: 0.8rem; - margin-top: 0.25rem; -} diff --git a/micro.pinapelz.moe/indie/likes/follows/index.html b/micro.pinapelz.moe/indie/likes/follows/index.html deleted file mode 100644 index 08fdbfc..0000000 --- a/micro.pinapelz.moe/indie/likes/follows/index.html +++ /dev/null @@ -1,223 +0,0 @@ -<!DOCTYPE html> -<html lang="en-us"> -<head> - <meta charset="UTF-8"> - <meta name="viewport" content="width=device-width, initial-scale=1"> - <meta http-equiv="X-UA-Compatible" content="IE=edge"> - <style type=text/css>body{font-family:monospace;}</style> - <title>Follows | micro.pinapelz.moe</title> - - <meta name="author" content="map[avatar:https://files.catbox.moe/5r1pue.jpg banner:https://files.pinapelz.com/pso2ngs-2232-collab.png bio:yo! and he's more than a cover he's a quilt<br/> - General arcade rhythm game enjoyer (SDVX, IIDX, CHUNITHM)<br/> - Mostly play MMOs (FFXIV, OSRS), JRPGs, and VNs (anything with a good story)<br/> - I Watch only slice of life (and Bandori)<br/> - Arch Linux + Hyprland user (btw)<br/> - Hi from the <a href="https://indieweb.org/">indieweb</a>, if you are seeing me bridged elsewhere! email:yukais@pinapelz.com name:Pinapelz]"> - <link rel="stylesheet" href="/css/style.css"> - - - - <link rel="me" href="https://github.com/pinapelz" /> - <link rel="me" href="mailto:yukais@pinapelz.com" /> - <link rel="me" href="https://sakurajima.social/@pinapelz" /> - <link rel="me" href="https://bsky.app/profile/pinapelz.moe" /><link rel="pgpkey" href="https://pinapelz.com/Yukai_Shan.asc"> - <link - rel="authorization_endpoint" - href="https://indieauth.com/auth" - /> - <link - rel="token_endpoint" - href="https://tokens.indieauth.com/token" - /> - <link rel="webmention" href="https://webmention.io/micro.pinapelz.moe/webmention" /> - - - -</head> -<body> - <header> - <div style="display:flex;flex-flow:row wrap;justify-content:space-between"> - <div style="align-self:flex-start;"> - ==============<br> - == <a href="https://micro.pinapelz.moe/">Pinapelz</a> ==<br> - ============== - </div> - <div style="align-self:center;">check it out. I'm in the house like carpet</div> - </div> - <nav style="margin: 1rem auto;"> - - - <a href="/posts/"><b>Posts</b></a>. - - <a href="/categories/"><b>Categories</b></a>. - - <a href="/tags/"><b>Tags</b></a>. - - - </nav> -</header> - - - - <main> - <article class="h-entry"> - <a class="u-bridgy-fed" href="https://fed.brid.gy/" hidden="from-humans"></a> - <h1 class="p-name">Follows</h1> - <div hidden><div class="h-card p-author bio-card" style="text-align:center;"> - - <div class="banner" style="margin-bottom: 1rem; position: relative;"> - <img class="u-featured" src="https://files.pinapelz.com/pso2ngs-2232-collab.png" alt="Banner" style="width: 100%; max-width: 400px; height: auto; border-radius: 8px; opacity: 0.6;"> - <img class="u-photo avatar" src="https://files.catbox.moe/5r1pue.jpg" alt="Pinapelz's avatar" style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);"> - </div> - - <div class="bio"> - <p class="p-note">yo! and he's more than a cover he's a quilt<br/> - General arcade rhythm game enjoyer (SDVX, IIDX, CHUNITHM)<br/> - Mostly play MMOs (FFXIV, OSRS), JRPGs, and VNs (anything with a good story)<br/> - I Watch only slice of life (and Bandori)<br/> - Arch Linux + Hyprland user (btw)<br/> - Hi from the <a href="https://indieweb.org/">indieweb</a>, if you are seeing me bridged elsewhere!</p> - </div> - <p class="bio-name"><a href="https://micro.pinapelz.moe/" rel="me" class="p-nickname p-name u-url">Pinapelz</a></p> -</div> -<hr/> -</div><div class="e-content"> - <p>Here are all the pages/accounts I follow.</p> -<p>This is mostly here for pages that can receive <a href="https://indieweb.org/webmention">Webmentions</a> and the <a href="https://fed.brid.gy">Bridgy Fed</a> service.</p> -<h2 id="fediverse">Fediverse</h2> -<p> - - -<div class="follow-card"> - <a class="follow-target u-follow-of" href="https://sakurajima.moe/@Mofumatic"> - https://sakurajima.moe/@Mofumatic - </a> - - <time class="follow-date dt-published" datetime="2025-12-03T00:00:00Z"> - 2025-12-03 - </time> -</div> - - - - -<div class="follow-card"> - <a class="follow-target u-follow-of" href="https://sakurajima.moe/@anianimalsmoe"> - https://sakurajima.moe/@anianimalsmoe - </a> - - <time class="follow-date dt-published" datetime="2025-12-03T00:00:00Z"> - 2025-12-03 - </time> -</div> - - - - -<div class="follow-card"> - <a class="follow-target u-follow-of" href="https://mathstodon.xyz/@tao"> - https://mathstodon.xyz/@tao - </a> - - <time class="follow-date dt-published" datetime="2025-12-03T00:00:00Z"> - 2025-12-03 - </time> -</div> - - - - -<div class="follow-card"> - <a class="follow-target u-follow-of" href="https://sakurajima.moe/@chikorita157"> - https://sakurajima.moe/@chikorita157 - </a> - - <time class="follow-date dt-published" datetime="2025-12-03T00:00:00Z"> - 2025-12-03 - </time> -</div> - - - - -<div class="follow-card"> - <a class="follow-target u-follow-of" href="https://misskey.io/@CAP_Tw"> - https://misskey.io/@CAP_Tw - </a> - - <time class="follow-date dt-published" datetime="2025-12-03T00:00:00Z"> - 2025-12-03 - </time> -</div> - - - - -<div class="follow-card"> - <a class="follow-target u-follow-of" href="https://misskey.io/@meeeeeeco"> - https://misskey.io/@meeeeeeco - </a> - - <time class="follow-date dt-published" datetime="2025-12-03T00:00:00Z"> - 2025-12-03 - </time> -</div> -</p> -<h2 id="bluesky">Bluesky</h2> -<p> - - -<div class="follow-card"> - <a class="follow-target u-follow-of" href="https://bsky.app/profile/mofu.run"> - https://bsky.app/profile/mofu.run - </a> - - <time class="follow-date dt-published" datetime="2025-12-03T00:00:00Z"> - 2025-12-03 - </time> -</div> - - - - -<div class="follow-card"> - <a class="follow-target u-follow-of" href="https://bsky.app/profile/anew.social"> - https://bsky.app/profile/anew.social - </a> - - <time class="follow-date dt-published" datetime="2025-12-03T00:00:00Z"> - 2025-12-03 - </time> -</div> -</p> -<blockquote> -<p>Learn more about the <a href="https://indieweb.org">Indieweb</a></p> -</blockquote> - - </div> - - - - - - - </article> - <a class="u-bridgy-fed" href="https://fed.brid.gy/" hidden="from-humans"></a> - </main> - - <hr /> -<footer> - <p> - <a href="https://github.com/pinapelz"><b>Github</b></a>. - <a href="https://pinapelz.moe"><b>pinapelz.moe</b></a>. - </p> - - - - <p style="text-align: center" class="copyright"> - © <a href="https://micro.pinapelz.moe/"><b>micro.pinapelz.moe</b></a>. - </p> -</footer> - -</body> -</html> diff --git a/micro.pinapelz.moe/tags/rhythm-games/index.html b/micro.pinapelz.moe/tags/rhythm-games/index.html deleted file mode 100644 index f0ee4be..0000000 --- a/micro.pinapelz.moe/tags/rhythm-games/index.html +++ /dev/null @@ -1,106 +0,0 @@ -<!DOCTYPE html> -<html lang="en-us"> -<head><script src="/livereload.js?mindelay=10&v=2&port=1313&path=livereload" data-no-instant defer></script> - <meta charset="UTF-8"> - <meta name="viewport" content="width=device-width, initial-scale=1"> - <meta http-equiv="X-UA-Compatible" content="IE=edge"> - <style type=text/css>body{font-family:monospace;}</style> - <title>Rhythm-Games | micro.pinapelz.moe</title> - - <meta name="author" content="map[avatar:https://files.catbox.moe/5r1pue.jpg banner:https://files.pinapelz.com/pso2ngs-2232-collab.png bio:yo! and he's more than a cover he's a quilt<br/> - General arcade rhythm game enjoyer (SDVX, IIDX, CHUNITHM)<br/> - Mostly play MMOs (FFXIV, OSRS), JRPGs, and VNs (anything with a good story)<br/> - I Watch only slice of life (and Bandori)<br/> - Arch Linux + Hyprland user (btw)<br/> - Hi from the <a href="https://indieweb.org/">indieweb</a>, if you are seeing me bridged elsewhere! email:yukais@pinapelz.com name:Pinapelz]"> - <link rel="stylesheet" href="/css/style.css"> - <link rel="alternate" type="application/rss+xml" href="/tags/rhythm-games/index.xml" title="micro.pinapelz.moe"> - - - <link rel="me" href="https://github.com/pinapelz" /> - <link rel="me" href="mailto:yukais@pinapelz.com" /> - <link rel="me" href="https://sakurajima.social/@pinapelz" /> - <link rel="me" href="https://bsky.app/profile/pinapelz.moe" /><link rel="pgpkey" href="https://pinapelz.com/Yukai_Shan.asc"> - <link - rel="authorization_endpoint" - href="https://indieauth.com/auth" - /> - <link - rel="token_endpoint" - href="https://tokens.indieauth.com/token" - /> - <link rel="webmention" href="https://webmention.io/micro.pinapelz.moe/webmention" /> - - - -</head> -<body> - <header> - <div style="display:flex;flex-flow:row wrap;justify-content:space-between"> - <div style="align-self:flex-start;"> - ==============<br> - == <a href="http://localhost:1313/">Pinapelz</a> ==<br> - ============== - </div> - <div style="align-self:center;">check it out. I'm in the house like carpet</div> - </div> - <nav style="margin: 1rem auto;"> - - - <a href="/posts/"><b>Posts</b></a>. - - <a href="/categories/"><b>Categories</b></a>. - - <a href="/tags/"><b>Tags</b></a>. - - - </nav> -</header> - - - -<main> - <div> - <h1> - Rhythm-Games - <a href="http://localhost:1313/tags/rhythm-games/index.xml"> - <img style="height:1.5rem; display: inline;" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-label='RSS' role='img' viewBox='0 0 512 512'%3E%3Cpath d='M0 0h512v512H0' fill='%23f80'/%3E%3Cpath d='M109 271A132 133 0 0 1 241 403h60A192 193 0 0 0 109 211v-54A246 247 0 0 1 355 403h60A306 307 0 0 0 109 97m35 235a35 35 0 1 0 2 0' fill='%23fff'/%3E%3C/svg%3E" alt="RSS icon" /> - </a> - </h1> - <div> - - </div><p>Content linked to the taxonomy term « RHYTHM-GAMES »:</p> - - - - - <div> - <h3>Posts</h3> - <ul> - - <li> - <time class="date dt-published" datetime="2025-12-06T22:33:23-08:00">2025-12-06</time> - <a href="/posts/2025-12-06-first-sdvx-18/">First MXM 18 Cleared!</a> - </li> - - - </ul> - </div></div> -</main> - - <hr /> -<footer> - <p> - <a href="https://github.com/pinapelz"><b>Github</b></a>. - <a href="https://pinapelz.moe"><b>pinapelz.moe</b></a>. - </p> - - - - <p style="text-align: center" class="copyright"> - © <a href="http://localhost:1313/"><b>micro.pinapelz.moe</b></a>. - </p> -</footer> - -</body> -</html> diff --git a/micro.pinapelz.moe/tags/rhythm-games/index.xml b/micro.pinapelz.moe/tags/rhythm-games/index.xml deleted file mode 100644 index 7bf0730..0000000 --- a/micro.pinapelz.moe/tags/rhythm-games/index.xml +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"> - <channel> - <title>Rhythm-Games on micro.pinapelz.moe</title> - <link>http://localhost:1313/tags/rhythm-games/</link> - <description>Recent content in Rhythm-Games on micro.pinapelz.moe</description> - <generator>Hugo</generator> - <language>en-us</language> - <managingEditor>yukais@pinapelz.com (Pinapelz)</managingEditor> - <webMaster>yukais@pinapelz.com (Pinapelz)</webMaster> - <lastBuildDate>Sat, 06 Dec 2025 22:33:23 -0800</lastBuildDate> - <atom:link href="http://localhost:1313/tags/rhythm-games/index.xml" rel="self" type="application/rss+xml" /> - <item> - <title>First MXM 18 Cleared!</title> - <link>http://localhost:1313/posts/2025-12-06-first-sdvx-18/</link> - <pubDate>Sat, 06 Dec 2025 22:33:23 -0800</pubDate><author>yukais@pinapelz.com (Pinapelz)</author> - <guid>http://localhost:1313/posts/2025-12-06-first-sdvx-18/</guid> - <description><p>Cleared my first 18 difficulty chart in 

<a href="http://localhost:1313//tags/sdvx" class="p-category">#sdvx</a>
</p>
<p>Albeit its not a very difficult one, but I think I&rsquo;m finally starting to chip away at the 17-18 difficulty wall.
<figure><img src="http://localhost:1313/posts/2025-12-06-first-sdvx-18/18.webp"
 alt="Sound Voltex Enchant 6 Clear" width="500">
</figure>
</p></description> - </item> - </channel> -</rss> diff --git a/micro.pinapelz.moe/tags/sdvx/index.html b/micro.pinapelz.moe/tags/sdvx/index.html deleted file mode 100644 index b8c7ff1..0000000 --- a/micro.pinapelz.moe/tags/sdvx/index.html +++ /dev/null @@ -1,94 +0,0 @@ -<!DOCTYPE html> -<html lang="en-us"> -<head><script src="/livereload.js?mindelay=10&v=2&port=1313&path=livereload" data-no-instant defer></script> - <meta charset="UTF-8"> - <meta name="viewport" content="width=device-width, initial-scale=1"> - <meta http-equiv="X-UA-Compatible" content="IE=edge"> - <style type=text/css>body{font-family:monospace;}</style> - <title>Sdvx | micro.pinapelz.moe</title> - - <meta name="author" content="map[avatar:https://files.catbox.moe/5r1pue.jpg banner:https://files.pinapelz.com/pso2ngs-2232-collab.png bio:yo! and he's more than a cover he's a quilt<br/> - General arcade rhythm game enjoyer (SDVX, IIDX, CHUNITHM)<br/> - Mostly play MMOs (FFXIV, OSRS), JRPGs, and VNs (anything with a good story)<br/> - I Watch only slice of life (and Bandori)<br/> - Arch Linux + Hyprland user (btw)<br/> - Hi from the <a href="https://indieweb.org/">indieweb</a>, if you are seeing me bridged elsewhere! email:yukais@pinapelz.com name:Pinapelz]"> - <link rel="stylesheet" href="/css/style.css"> - <link rel="alternate" type="application/rss+xml" href="/tags/sdvx/index.xml" title="micro.pinapelz.moe"> - - - <link rel="me" href="https://github.com/pinapelz" /> - <link rel="me" href="mailto:yukais@pinapelz.com" /> - <link rel="me" href="https://sakurajima.social/@pinapelz" /> - <link rel="me" href="https://bsky.app/profile/pinapelz.moe" /><link rel="pgpkey" href="https://pinapelz.com/Yukai_Shan.asc"> - <link - rel="authorization_endpoint" - href="https://indieauth.com/auth" - /> - <link - rel="token_endpoint" - href="https://tokens.indieauth.com/token" - /> - <link rel="webmention" href="https://webmention.io/micro.pinapelz.moe/webmention" /> - - - -</head> -<body> - <header> - <div style="display:flex;flex-flow:row wrap;justify-content:space-between"> - <div style="align-self:flex-start;"> - ==============<br> - == <a href="http://localhost:1313/">Pinapelz</a> ==<br> - ============== - </div> - <div style="align-self:center;">check it out. I'm in the house like carpet</div> - </div> - <nav style="margin: 1rem auto;"> - - - <a href="/posts/"><b>Posts</b></a>. - - <a href="/categories/"><b>Categories</b></a>. - - <a href="/tags/"><b>Tags</b></a>. - - - </nav> -</header> - - - -<main> - <div> - <h1> - Sdvx - <a href="http://localhost:1313/tags/sdvx/index.xml"> - <img style="height:1.5rem; display: inline;" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-label='RSS' role='img' viewBox='0 0 512 512'%3E%3Cpath d='M0 0h512v512H0' fill='%23f80'/%3E%3Cpath d='M109 271A132 133 0 0 1 241 403h60A192 193 0 0 0 109 211v-54A246 247 0 0 1 355 403h60A306 307 0 0 0 109 97m35 235a35 35 0 1 0 2 0' fill='%23fff'/%3E%3C/svg%3E" alt="RSS icon" /> - </a> - </h1> - <div> - - </div><p>Content linked to the taxonomy term « SDVX »:</p> - - - </ul> - </div></div> -</main> - - <hr /> -<footer> - <p> - <a href="https://github.com/pinapelz"><b>Github</b></a>. - <a href="https://pinapelz.moe"><b>pinapelz.moe</b></a>. - </p> - - - - <p style="text-align: center" class="copyright"> - © <a href="http://localhost:1313/"><b>micro.pinapelz.moe</b></a>. - </p> -</footer> - -</body> -</html> diff --git a/micro.pinapelz.moe/tags/sdvx/index.xml b/micro.pinapelz.moe/tags/sdvx/index.xml deleted file mode 100644 index bb4ea2d..0000000 --- a/micro.pinapelz.moe/tags/sdvx/index.xml +++ /dev/null @@ -1,13 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"> - <channel> - <title>Sdvx on micro.pinapelz.moe</title> - <link>http://localhost:1313/tags/sdvx/</link> - <description>Recent content in Sdvx on micro.pinapelz.moe</description> - <generator>Hugo</generator> - <language>en-us</language> - <managingEditor>yukais@pinapelz.com (Pinapelz)</managingEditor> - <webMaster>yukais@pinapelz.com (Pinapelz)</webMaster> - <atom:link href="http://localhost:1313/tags/sdvx/index.xml" rel="self" type="application/rss+xml" /> - </channel> -</rss> diff --git a/pinapelz.moe/about.html b/moe.pinapelz.com/about.html index 88c2652..06568f2 100644 --- a/pinapelz.moe/about.html +++ b/moe.pinapelz.com/about.html @@ -153,7 +153,7 @@ <li>🧠 im tryna unrot my brain rn</li> </ul> - <p> I post a lot of random stuff <br/> on my "microblog" at: <a href="https://micro.pinapelz.moe/">https://micro.pinapelz.moe</a></p> + <p> I post a lot of random stuff <br/> on my "microblog" at: <a href="https://micro.pinapelz.com/">https://micro.pinapelz.com</a></p> </div> <div class="y2k-border" style="margin-bottom: 20px"> diff --git a/pinapelz.moe/assets/603.webp b/moe.pinapelz.com/assets/603.webp Binary files differindex 1296b09..1296b09 100644 --- a/pinapelz.moe/assets/603.webp +++ b/moe.pinapelz.com/assets/603.webp diff --git a/pinapelz.moe/assets/aiba.webp b/moe.pinapelz.com/assets/aiba.webp Binary files differindex 86049ee..86049ee 100644 --- a/pinapelz.moe/assets/aiba.webp +++ b/moe.pinapelz.com/assets/aiba.webp diff --git a/pinapelz.moe/assets/chuni.png b/moe.pinapelz.com/assets/chuni.png Binary files differindex 6d2dd8e..6d2dd8e 100644 --- a/pinapelz.moe/assets/chuni.png +++ b/moe.pinapelz.com/assets/chuni.png diff --git a/pinapelz.moe/assets/eri.jpg b/moe.pinapelz.com/assets/eri.jpg Binary files differindex 0993c28..0993c28 100644 --- a/pinapelz.moe/assets/eri.jpg +++ b/moe.pinapelz.com/assets/eri.jpg diff --git a/pinapelz.moe/assets/gc.jpg b/moe.pinapelz.com/assets/gc.jpg Binary files differindex 08ed48f..08ed48f 100644 --- a/pinapelz.moe/assets/gc.jpg +++ b/moe.pinapelz.com/assets/gc.jpg diff --git a/pinapelz.moe/assets/growing.gif b/moe.pinapelz.com/assets/growing.gif Binary files differindex 09d0ae2..09d0ae2 100644 --- a/pinapelz.moe/assets/growing.gif +++ b/moe.pinapelz.com/assets/growing.gif diff --git a/pinapelz.moe/assets/pfp.webp b/moe.pinapelz.com/assets/pfp.webp Binary files differindex e6c723e..e6c723e 100644 --- a/pinapelz.moe/assets/pfp.webp +++ b/moe.pinapelz.com/assets/pfp.webp diff --git a/pinapelz.moe/assets/pso2.webp b/moe.pinapelz.com/assets/pso2.webp Binary files differindex 2998816..2998816 100644 --- a/pinapelz.moe/assets/pso2.webp +++ b/moe.pinapelz.com/assets/pso2.webp diff --git a/pinapelz.moe/assets/rappy.webp b/moe.pinapelz.com/assets/rappy.webp Binary files differindex 714de31..714de31 100644 --- a/pinapelz.moe/assets/rappy.webp +++ b/moe.pinapelz.com/assets/rappy.webp diff --git a/pinapelz.moe/assets/reine.jpg b/moe.pinapelz.com/assets/reine.jpg Binary files differindex a9466ba..a9466ba 100644 --- a/pinapelz.moe/assets/reine.jpg +++ b/moe.pinapelz.com/assets/reine.jpg diff --git a/pinapelz.moe/assets/rg-tier.gif b/moe.pinapelz.com/assets/rg-tier.gif Binary files differindex 6735da7..6735da7 100644 --- a/pinapelz.moe/assets/rg-tier.gif +++ b/moe.pinapelz.com/assets/rg-tier.gif diff --git a/pinapelz.moe/assets/sayo-fries.gif b/moe.pinapelz.com/assets/sayo-fries.gif Binary files differindex ad20b75..ad20b75 100644 --- a/pinapelz.moe/assets/sayo-fries.gif +++ b/moe.pinapelz.com/assets/sayo-fries.gif diff --git a/pinapelz.moe/assets/sdvx.png b/moe.pinapelz.com/assets/sdvx.png Binary files differindex 4be26b7..4be26b7 100644 --- a/pinapelz.moe/assets/sdvx.png +++ b/moe.pinapelz.com/assets/sdvx.png diff --git a/pinapelz.moe/assets/usami.webp b/moe.pinapelz.com/assets/usami.webp Binary files differindex 6e1a34e..6e1a34e 100644 --- a/pinapelz.moe/assets/usami.webp +++ b/moe.pinapelz.com/assets/usami.webp diff --git a/pinapelz.moe/assets/vuln.jpg b/moe.pinapelz.com/assets/vuln.jpg Binary files differindex 1cbb192..1cbb192 100644 --- a/pinapelz.moe/assets/vuln.jpg +++ b/moe.pinapelz.com/assets/vuln.jpg diff --git a/pinapelz.moe/assets/xiv.webp b/moe.pinapelz.com/assets/xiv.webp Binary files differindex 4b3fb0d..4b3fb0d 100644 --- a/pinapelz.moe/assets/xiv.webp +++ b/moe.pinapelz.com/assets/xiv.webp diff --git a/pinapelz.moe/assets/xqcl.webp b/moe.pinapelz.com/assets/xqcl.webp Binary files differindex f0e4e2d..f0e4e2d 100644 --- a/pinapelz.moe/assets/xqcl.webp +++ b/moe.pinapelz.com/assets/xqcl.webp diff --git a/pinapelz.moe/encoded-take-no1.html b/moe.pinapelz.com/encoded-take-no1.html index 6358152..6358152 100644 --- a/pinapelz.moe/encoded-take-no1.html +++ b/moe.pinapelz.com/encoded-take-no1.html diff --git a/pinapelz.moe/encoded-take-no2.html b/moe.pinapelz.com/encoded-take-no2.html index 3eb30ea..3eb30ea 100644 --- a/pinapelz.moe/encoded-take-no2.html +++ b/moe.pinapelz.com/encoded-take-no2.html diff --git a/pinapelz.moe/index.html b/moe.pinapelz.com/index.html index 3541bf1..bd634d2 100644 --- a/pinapelz.moe/index.html +++ b/moe.pinapelz.com/index.html @@ -218,8 +218,8 @@ /> </div> <div class="w-full xl:flex-1"> - <h3 class="text-center text-lg font-bold mb-3"> <a href="https://micro.pinapelz.moe" class="hover:underline">micro.pinapelz.moe</a></h3> - <a href="https://micro.pinapelz.moe" class="block text-center"> + <h3 class="text-center text-lg font-bold mb-3"> <a href="https://micro.pinapelz.com" class="hover:underline">micro.pinapelz.com</a></h3> + <a href="https://micro.pinapelz.com" class="block text-center"> <img src="assets/sayo-fries.gif" alt="Sayo Hikawa eating fries" @@ -243,7 +243,7 @@ } </style> <p class="text-center text-sm mb-2">my <a href="https://indieweb.org/" class="hover:underline">indieweb</a> micro blog bridged with fediverse and bluesky. short thoughts, updates, and random stuff</p> - <a href="https://micro.pinapelz.moe" class="block text-center hover:underline">check it out here</a> + <a href="https://micro.pinapelz.com" class="block text-center hover:underline">check it out here</a> </div> </div> <div id="clock" class="clock-widget mb-6"></div> diff --git a/pinapelz.moe/projects.html b/moe.pinapelz.com/projects.html index 730fe6a..730fe6a 100644 --- a/pinapelz.moe/projects.html +++ b/moe.pinapelz.com/projects.html diff --git a/pinapelz.moe/rhythm-games-tierlist.html b/moe.pinapelz.com/rhythm-games-tierlist.html index 02699e1..02699e1 100644 --- a/pinapelz.moe/rhythm-games-tierlist.html +++ b/moe.pinapelz.com/rhythm-games-tierlist.html diff --git a/pinapelz.moe/scripts/index.js b/moe.pinapelz.com/scripts/index.js index dbd7ade..dbd7ade 100644 --- a/pinapelz.moe/scripts/index.js +++ b/moe.pinapelz.com/scripts/index.js diff --git a/pinapelz.moe/styles/bg.webp b/moe.pinapelz.com/styles/bg.webp Binary files differindex 3ed366d..3ed366d 100644 --- a/pinapelz.moe/styles/bg.webp +++ b/moe.pinapelz.com/styles/bg.webp diff --git a/pinapelz.moe/styles/border.webp b/moe.pinapelz.com/styles/border.webp Binary files differindex 14dca4d..14dca4d 100644 --- a/pinapelz.moe/styles/border.webp +++ b/moe.pinapelz.com/styles/border.webp diff --git a/pinapelz.moe/styles/carbon.css b/moe.pinapelz.com/styles/carbon.css index 8d90e2a..8d90e2a 100644 --- a/pinapelz.moe/styles/carbon.css +++ b/moe.pinapelz.com/styles/carbon.css diff --git a/pinapelz.moe/styles/clock.css b/moe.pinapelz.com/styles/clock.css index a69c22c..a69c22c 100644 --- a/pinapelz.moe/styles/clock.css +++ b/moe.pinapelz.com/styles/clock.css diff --git a/pinapelz.moe/styles/projects.css b/moe.pinapelz.com/styles/projects.css index 5b00204..5b00204 100644 --- a/pinapelz.moe/styles/projects.css +++ b/moe.pinapelz.com/styles/projects.css diff --git a/pinapelz.moe/styles/styles.css b/moe.pinapelz.com/styles/styles.css index a8a4f48..a8a4f48 100644 --- a/pinapelz.moe/styles/styles.css +++ b/moe.pinapelz.com/styles/styles.css diff --git a/sticker.pinapelz.moe/esinstall.js b/sticker.pinapelz.com/esinstall.js index 8cb5682..8cb5682 100644 --- a/sticker.pinapelz.moe/esinstall.js +++ b/sticker.pinapelz.com/esinstall.js diff --git a/sticker.pinapelz.moe/index.html b/sticker.pinapelz.com/index.html index 527ea7b..527ea7b 100644 --- a/sticker.pinapelz.moe/index.html +++ b/sticker.pinapelz.com/index.html diff --git a/sticker.pinapelz.moe/lib/htm/preact.js b/sticker.pinapelz.com/lib/htm/preact.js index ebf36ea..ebf36ea 100644 --- a/sticker.pinapelz.moe/lib/htm/preact.js +++ b/sticker.pinapelz.com/lib/htm/preact.js diff --git a/sticker.pinapelz.moe/package.json b/sticker.pinapelz.com/package.json index 44fe1ea..44fe1ea 100644 --- a/sticker.pinapelz.moe/package.json +++ b/sticker.pinapelz.com/package.json diff --git a/sticker.pinapelz.moe/packs/.gitkeep b/sticker.pinapelz.com/packs/.gitkeep index e69de29..e69de29 100644 --- a/sticker.pinapelz.moe/packs/.gitkeep +++ b/sticker.pinapelz.com/packs/.gitkeep diff --git a/sticker.pinapelz.moe/packs/dank.json b/sticker.pinapelz.com/packs/dank.json index e5f2766..e5f2766 100644 --- a/sticker.pinapelz.moe/packs/dank.json +++ b/sticker.pinapelz.com/packs/dank.json diff --git a/sticker.pinapelz.moe/packs/index.json b/sticker.pinapelz.com/packs/index.json index cdb8d7d..cdb8d7d 100644 --- a/sticker.pinapelz.moe/packs/index.json +++ b/sticker.pinapelz.com/packs/index.json diff --git a/sticker.pinapelz.moe/packs/thumbnails/APyHPuZmyRfUwwsEHijRGdjP b/sticker.pinapelz.com/packs/thumbnails/APyHPuZmyRfUwwsEHijRGdjP Binary files differindex 931a057..931a057 100644 --- a/sticker.pinapelz.moe/packs/thumbnails/APyHPuZmyRfUwwsEHijRGdjP +++ b/sticker.pinapelz.com/packs/thumbnails/APyHPuZmyRfUwwsEHijRGdjP diff --git a/sticker.pinapelz.moe/packs/thumbnails/ASWmCLdLLTVqLwXptdkBMtws b/sticker.pinapelz.com/packs/thumbnails/ASWmCLdLLTVqLwXptdkBMtws Binary files differindex cdf240a..cdf240a 100644 --- a/sticker.pinapelz.moe/packs/thumbnails/ASWmCLdLLTVqLwXptdkBMtws +++ b/sticker.pinapelz.com/packs/thumbnails/ASWmCLdLLTVqLwXptdkBMtws diff --git a/sticker.pinapelz.moe/packs/thumbnails/CLkWhgAkDubZmahPWinNMaSc b/sticker.pinapelz.com/packs/thumbnails/CLkWhgAkDubZmahPWinNMaSc Binary files differindex 20ab20f..20ab20f 100644 --- a/sticker.pinapelz.moe/packs/thumbnails/CLkWhgAkDubZmahPWinNMaSc +++ b/sticker.pinapelz.com/packs/thumbnails/CLkWhgAkDubZmahPWinNMaSc diff --git a/sticker.pinapelz.moe/packs/thumbnails/DlLllEJSQYkOCBBzqVzdxuwR b/sticker.pinapelz.com/packs/thumbnails/DlLllEJSQYkOCBBzqVzdxuwR Binary files differindex e486283..e486283 100644 --- a/sticker.pinapelz.moe/packs/thumbnails/DlLllEJSQYkOCBBzqVzdxuwR +++ b/sticker.pinapelz.com/packs/thumbnails/DlLllEJSQYkOCBBzqVzdxuwR diff --git a/sticker.pinapelz.moe/packs/thumbnails/MjoQgqCbNmTRuQfDngBPPoOC b/sticker.pinapelz.com/packs/thumbnails/MjoQgqCbNmTRuQfDngBPPoOC Binary files differindex a912611..a912611 100644 --- a/sticker.pinapelz.moe/packs/thumbnails/MjoQgqCbNmTRuQfDngBPPoOC +++ b/sticker.pinapelz.com/packs/thumbnails/MjoQgqCbNmTRuQfDngBPPoOC diff --git a/sticker.pinapelz.moe/packs/thumbnails/OddXtQLRutxvLZWWxNicguMc b/sticker.pinapelz.com/packs/thumbnails/OddXtQLRutxvLZWWxNicguMc Binary files differindex 5a12b37..5a12b37 100644 --- a/sticker.pinapelz.moe/packs/thumbnails/OddXtQLRutxvLZWWxNicguMc +++ b/sticker.pinapelz.com/packs/thumbnails/OddXtQLRutxvLZWWxNicguMc diff --git a/sticker.pinapelz.moe/packs/thumbnails/PdyEJxgwOfBCxySfSFYlgPzP b/sticker.pinapelz.com/packs/thumbnails/PdyEJxgwOfBCxySfSFYlgPzP Binary files differindex 4ce4ec4..4ce4ec4 100644 --- a/sticker.pinapelz.moe/packs/thumbnails/PdyEJxgwOfBCxySfSFYlgPzP +++ b/sticker.pinapelz.com/packs/thumbnails/PdyEJxgwOfBCxySfSFYlgPzP diff --git a/sticker.pinapelz.moe/packs/thumbnails/QURUNgNThYmIdzyasFdcLJnr b/sticker.pinapelz.com/packs/thumbnails/QURUNgNThYmIdzyasFdcLJnr Binary files differindex f161e15..f161e15 100644 --- a/sticker.pinapelz.moe/packs/thumbnails/QURUNgNThYmIdzyasFdcLJnr +++ b/sticker.pinapelz.com/packs/thumbnails/QURUNgNThYmIdzyasFdcLJnr diff --git a/sticker.pinapelz.moe/packs/thumbnails/SzxfhuJJdFPYzoPvSDIBhWxb b/sticker.pinapelz.com/packs/thumbnails/SzxfhuJJdFPYzoPvSDIBhWxb Binary files differindex 706c10d..706c10d 100644 --- a/sticker.pinapelz.moe/packs/thumbnails/SzxfhuJJdFPYzoPvSDIBhWxb +++ b/sticker.pinapelz.com/packs/thumbnails/SzxfhuJJdFPYzoPvSDIBhWxb diff --git a/sticker.pinapelz.moe/packs/thumbnails/XmPidyRFUqsIUfMJXlyMqKTg b/sticker.pinapelz.com/packs/thumbnails/XmPidyRFUqsIUfMJXlyMqKTg Binary files differindex 2cdcf19..2cdcf19 100644 --- a/sticker.pinapelz.moe/packs/thumbnails/XmPidyRFUqsIUfMJXlyMqKTg +++ b/sticker.pinapelz.com/packs/thumbnails/XmPidyRFUqsIUfMJXlyMqKTg diff --git a/sticker.pinapelz.moe/packs/thumbnails/ZBxiNUARoFZGoETjySzbKoAc b/sticker.pinapelz.com/packs/thumbnails/ZBxiNUARoFZGoETjySzbKoAc Binary files differindex 11f60e7..11f60e7 100644 --- a/sticker.pinapelz.moe/packs/thumbnails/ZBxiNUARoFZGoETjySzbKoAc +++ b/sticker.pinapelz.com/packs/thumbnails/ZBxiNUARoFZGoETjySzbKoAc diff --git a/sticker.pinapelz.moe/packs/thumbnails/ZTckkllzHDrGCbrXBEqzDUYB b/sticker.pinapelz.com/packs/thumbnails/ZTckkllzHDrGCbrXBEqzDUYB Binary files differindex e6e259b..e6e259b 100644 --- a/sticker.pinapelz.moe/packs/thumbnails/ZTckkllzHDrGCbrXBEqzDUYB +++ b/sticker.pinapelz.com/packs/thumbnails/ZTckkllzHDrGCbrXBEqzDUYB diff --git a/sticker.pinapelz.moe/packs/thumbnails/aUBbgTfxxfWapJXDzOGsGWGx b/sticker.pinapelz.com/packs/thumbnails/aUBbgTfxxfWapJXDzOGsGWGx Binary files differindex 79a10b8..79a10b8 100644 --- a/sticker.pinapelz.moe/packs/thumbnails/aUBbgTfxxfWapJXDzOGsGWGx +++ b/sticker.pinapelz.com/packs/thumbnails/aUBbgTfxxfWapJXDzOGsGWGx diff --git a/sticker.pinapelz.moe/packs/thumbnails/xpwjfgHzxJFTiJWIXMEvBBck b/sticker.pinapelz.com/packs/thumbnails/xpwjfgHzxJFTiJWIXMEvBBck Binary files differindex 581048b..581048b 100644 --- a/sticker.pinapelz.moe/packs/thumbnails/xpwjfgHzxJFTiJWIXMEvBBck +++ b/sticker.pinapelz.com/packs/thumbnails/xpwjfgHzxJFTiJWIXMEvBBck diff --git a/sticker.pinapelz.moe/packs/thumbnails/yLAyUjCErrmXBfcAAUxYygsP b/sticker.pinapelz.com/packs/thumbnails/yLAyUjCErrmXBfcAAUxYygsP Binary files differindex 2b949b8..2b949b8 100644 --- a/sticker.pinapelz.moe/packs/thumbnails/yLAyUjCErrmXBfcAAUxYygsP +++ b/sticker.pinapelz.com/packs/thumbnails/yLAyUjCErrmXBfcAAUxYygsP diff --git a/sticker.pinapelz.moe/packs/weeb.json b/sticker.pinapelz.com/packs/weeb.json index 80550cf..80550cf 100644 --- a/sticker.pinapelz.moe/packs/weeb.json +++ b/sticker.pinapelz.com/packs/weeb.json diff --git a/sticker.pinapelz.moe/res/favorite.svg b/sticker.pinapelz.com/res/favorite.svg index 4af2b49..4af2b49 100644 --- a/sticker.pinapelz.moe/res/favorite.svg +++ b/sticker.pinapelz.com/res/favorite.svg diff --git a/sticker.pinapelz.moe/res/giphy-dark.svg b/sticker.pinapelz.com/res/giphy-dark.svg index 9b47567..9b47567 100644 --- a/sticker.pinapelz.moe/res/giphy-dark.svg +++ b/sticker.pinapelz.com/res/giphy-dark.svg diff --git a/sticker.pinapelz.moe/res/giphy-light.svg b/sticker.pinapelz.com/res/giphy-light.svg index 8016e2c..8016e2c 100644 --- a/sticker.pinapelz.moe/res/giphy-light.svg +++ b/sticker.pinapelz.com/res/giphy-light.svg diff --git a/sticker.pinapelz.moe/res/powered-by-giphy.png b/sticker.pinapelz.com/res/powered-by-giphy.png Binary files differindex 41861e6..41861e6 100644 --- a/sticker.pinapelz.moe/res/powered-by-giphy.png +++ b/sticker.pinapelz.com/res/powered-by-giphy.png diff --git a/sticker.pinapelz.moe/res/recent.svg b/sticker.pinapelz.com/res/recent.svg index 59be87d..59be87d 100644 --- a/sticker.pinapelz.moe/res/recent.svg +++ b/sticker.pinapelz.com/res/recent.svg diff --git a/sticker.pinapelz.moe/res/search.svg b/sticker.pinapelz.com/res/search.svg index 7be3396..7be3396 100644 --- a/sticker.pinapelz.moe/res/search.svg +++ b/sticker.pinapelz.com/res/search.svg diff --git a/sticker.pinapelz.moe/res/settings.svg b/sticker.pinapelz.com/res/settings.svg index 51f966f..51f966f 100644 --- a/sticker.pinapelz.moe/res/settings.svg +++ b/sticker.pinapelz.com/res/settings.svg diff --git a/sticker.pinapelz.moe/src/frequently-used.js b/sticker.pinapelz.com/src/frequently-used.js index a754e9a..a754e9a 100644 --- a/sticker.pinapelz.moe/src/frequently-used.js +++ b/sticker.pinapelz.com/src/frequently-used.js diff --git a/sticker.pinapelz.moe/src/giphy.js b/sticker.pinapelz.com/src/giphy.js index 35172bb..35172bb 100644 --- a/sticker.pinapelz.moe/src/giphy.js +++ b/sticker.pinapelz.com/src/giphy.js diff --git a/sticker.pinapelz.moe/src/index.js b/sticker.pinapelz.com/src/index.js index 9f545b8..9f545b8 100644 --- a/sticker.pinapelz.moe/src/index.js +++ b/sticker.pinapelz.com/src/index.js diff --git a/sticker.pinapelz.moe/src/search-box.js b/sticker.pinapelz.com/src/search-box.js index b25769f..b25769f 100644 --- a/sticker.pinapelz.moe/src/search-box.js +++ b/sticker.pinapelz.com/src/search-box.js diff --git a/sticker.pinapelz.moe/src/spinner.js b/sticker.pinapelz.com/src/spinner.js index e89dd02..e89dd02 100644 --- a/sticker.pinapelz.moe/src/spinner.js +++ b/sticker.pinapelz.com/src/spinner.js diff --git a/sticker.pinapelz.moe/src/widget-api.js b/sticker.pinapelz.com/src/widget-api.js index d9964a7..d9964a7 100644 --- a/sticker.pinapelz.moe/src/widget-api.js +++ b/sticker.pinapelz.com/src/widget-api.js diff --git a/sticker.pinapelz.moe/style/index.css b/sticker.pinapelz.com/style/index.css index f73124e..f73124e 100644 --- a/sticker.pinapelz.moe/style/index.css +++ b/sticker.pinapelz.com/style/index.css diff --git a/sticker.pinapelz.moe/style/index.sass b/sticker.pinapelz.com/style/index.sass index 1269be5..1269be5 100644 --- a/sticker.pinapelz.moe/style/index.sass +++ b/sticker.pinapelz.com/style/index.sass diff --git a/sticker.pinapelz.moe/style/spinner.css b/sticker.pinapelz.com/style/spinner.css index de03d9c..de03d9c 100644 --- a/sticker.pinapelz.moe/style/spinner.css +++ b/sticker.pinapelz.com/style/spinner.css diff --git a/sticker.pinapelz.moe/style/spinner.sass b/sticker.pinapelz.com/style/spinner.sass index cbc9042..cbc9042 100644 --- a/sticker.pinapelz.moe/style/spinner.sass +++ b/sticker.pinapelz.com/style/spinner.sass diff --git a/sticker.pinapelz.moe/yarn.lock b/sticker.pinapelz.com/yarn.lock index de00773..de00773 100644 --- a/sticker.pinapelz.moe/yarn.lock +++ b/sticker.pinapelz.com/yarn.lock |
