diff options
Diffstat (limited to 'remarks')
| -rw-r--r-- | remarks/WR-001.txt | 43 | ||||
| -rw-r--r-- | remarks/WR-002.txt | 23 | ||||
| -rw-r--r-- | remarks/WR-003.txt | 22 | ||||
| -rw-r--r-- | remarks/WR-004.txt | 42 | ||||
| -rw-r--r-- | remarks/WR-005.txt | 58 | ||||
| -rw-r--r-- | remarks/WR-006.txt | 70 | ||||
| -rw-r--r-- | remarks/WR-007.txt | 24 | ||||
| -rw-r--r-- | remarks/WR-008.txt | 48 | ||||
| -rw-r--r-- | remarks/WR-009.txt | 18 | ||||
| -rw-r--r-- | remarks/WR-010.txt | 33 | ||||
| -rw-r--r-- | remarks/WR-011.txt | 54 | ||||
| -rw-r--r-- | remarks/WR-012.txt | 43 | ||||
| -rw-r--r-- | remarks/WR-013.txt | 24 | ||||
| -rw-r--r-- | remarks/WR-014.txt | 48 | ||||
| -rw-r--r-- | remarks/WR-015.txt | 22 | ||||
| -rw-r--r-- | remarks/WR-016.txt | 25 | ||||
| -rw-r--r-- | remarks/WR-017.txt | 25 | ||||
| -rw-r--r-- | remarks/WR-018.txt | 19 | ||||
| -rw-r--r-- | remarks/WR-019.txt | 25 | ||||
| -rw-r--r-- | remarks/WR-020.txt | 25 | ||||
| -rw-r--r-- | remarks/WR-021.txt | 24 | ||||
| -rw-r--r-- | remarks/WR-022.txt | 23 | ||||
| -rw-r--r-- | remarks/WR-023.txt | 27 | ||||
| -rw-r--r-- | remarks/WR-024.txt | 21 |
24 files changed, 786 insertions, 0 deletions
diff --git a/remarks/WR-001.txt b/remarks/WR-001.txt new file mode 100644 index 0000000..fca8767 --- /dev/null +++ b/remarks/WR-001.txt @@ -0,0 +1,43 @@ + + + + + + + +Document: WR-001 P. Webb + 2024.11.04 + + Package Control issues? Here's a fix! + +Body + + I recently updated my computers to macOS Sequoia and Sublime Text + went on the fritz. Being my IDE of choice, I spent the better part of + two days trying to get my plugins working. Thankfully, a year-old + issue on Github[1][2] got everything working again: + + > FOR ANYONE STILL STRUGGLING WITH THIS PROBLEM + > Maintainer @deathaxe has explained several times in this thread + > that you can solve the problem simply by downloading the latest + > edition[3] (4.0+) of Package Control! + + Clicking the second link will download + "Package.Control.sublime-package" but we need to replace the period + with a space ("Package Control.sublime-package"). Then we need to + place this file in the correct place. + + The quickest method is to open Sublime Text and navigate to + Settings… → Browse Packages… to open that directory in Finder. Go one + level up, navigate to "Installed Packages," and move that + Package Control.sublime-package file there. + + Restart Sublime Text and you should be back in business. + + 🕸 + +References + + [1] <https://github.com/wbond/package_control/issues/1612#issuecomment-1708802315 + [2] <https://github.com/sublimehq/sublime_text/issues/6037#issuecomment-1674337039 + [3] <https://github.com/wbond/package_control/releases/download/4.0.0-beta2/Package.Control.sublime-package diff --git a/remarks/WR-002.txt b/remarks/WR-002.txt new file mode 100644 index 0000000..986ac73 --- /dev/null +++ b/remarks/WR-002.txt @@ -0,0 +1,23 @@ + + + + + + + +Document: WR-002 P. Webb + 2024.11.04 + + Quincy Jones' favorite quote from Frank Sinatra + +Body + + > Live every day like it's your last and one day you'll be right. + > + > — Frank Sinatra + + As told by Quincy Jones[1] + +References + + [1] <https://youtu.be/Ak5nlNKo2zI?si=lQW8X9UpNFcscnjR&t=720> diff --git a/remarks/WR-003.txt b/remarks/WR-003.txt new file mode 100644 index 0000000..7a04413 --- /dev/null +++ b/remarks/WR-003.txt @@ -0,0 +1,22 @@ + + + + + + + +Document: WR-003 P. Webb + 2024.11.05 + + setInterval - Type "Timer" is not assignable to type "number" + +Body + + Ran into a linting issue with Typescript when using setInterval for + something. This comment from 2017[1] saved me: + + > Use `window.setInterval` instead. + +References + + [1] <https://github.com/TypeStrong/atom-typescript/issues/1053#issuecomment-321126192> diff --git a/remarks/WR-004.txt b/remarks/WR-004.txt new file mode 100644 index 0000000..d257458 --- /dev/null +++ b/remarks/WR-004.txt @@ -0,0 +1,42 @@ + + + + + + + +Document: WR-004 P. Webb + 2024.11.05 + + Breaking Change: `@import` and global built-in functions + +Body + + I updated dependencies of a SvelteKit project and was surprised to + see it complain about the way I import my Sass files. I could've used + the automatic migrator the Sass Lang team mentioned[1] but I don't + like my project potentially getting mangled, so I turned this: + + ```scss + @import "sass/uchu/core/mixin"; + + @include font(100, "/type/geist-mono", "socii sans"); + @include font-plus-italics(400, "/type/serif", "socii serif"); + ``` + + to this: + + ```scss + @use "sass/uchu/core/mixin" as mixin; + + @include mixin.font(100, "/type/geist-mono", "socii sans"); + @include mixin.font-plus-italics(400, "/type/serif", "socii serif"); + ``` + + I find that choosing a namespace[2] makes this new import system + feel better. + +References + + [1] <https://sass-lang.com/documentation/breaking-changes/import> + [2] <https://sass-lang.com/documentation/at-rules/use/#choosing-a-namespace> diff --git a/remarks/WR-005.txt b/remarks/WR-005.txt new file mode 100644 index 0000000..5d42706 --- /dev/null +++ b/remarks/WR-005.txt @@ -0,0 +1,58 @@ + + + + + + + +Document: WR-005 P. Webb + 2024.11.08 + + youtube-dl tips & tricks + +Body + + Everyone knows `youtube-dl` doesn't really work these days. What + **does** work is the successor, `yt-dlp`[1]. I install it + via brew[2]: + + ```sh + brew install yt-dlp + ``` + + Here's the contents of my `~/.config/yt-dlp/config` (it automatically + titles videos I download): + + ```plain + --format-sort "ext" + -o ~/Movies/%(title)s.%(ext)s + ``` + + Finally, here's what's in my `~/.zshrc` (I use zsh[3]): + + ```sh + alias yt="yt-dlp" + + ig() { + yt $1 -f mp4 + } + ``` + + Downloading YouTube videos is as easy as: + + ```sh + yt https://www.youtube.com/watch?v=_5zwYVh8i5w + ``` + + And Instagram videos: + + ```sh + # this is an hour-long video and Instagram pauses playback if you dare multitask + ig https://www.instagram.com/p/DCDRaRoxJYW/ + ``` + +References + + [1] <https://github.com/yt-dlp/yt-dlp> + [2] <https://brew.sh> + [3] <https://ohmyz.sh> diff --git a/remarks/WR-006.txt b/remarks/WR-006.txt new file mode 100644 index 0000000..0d034ab --- /dev/null +++ b/remarks/WR-006.txt @@ -0,0 +1,70 @@ + + + + + + + +Document: WR-006 P. Webb + 2024.11.12 + + Export your Farcaster posts + +Body + + I recently decided to quit Farcaster for several reasons. You can + read about them in the `elon-mind-virus.txt` post. Anyhoo, here's the + Deno script I made, adapted from Neynar's Node.js archiver script[1]: + + ```ts + /*** IMPORT ------------------------------------------- ***/ + + import { appendFile } from "node:fs"; + import { NeynarAPIClient } from "npm:@neynar/nodejs-sdk"; + + /*** UTILITY ------------------------------------------ ***/ + + const client = new NeynarAPIClient("YOUR_NEYNAR_API_KEY"); + const fid = 16152; /// your Farcaster FID + + const dumpCast = (cast) => { + const data = `${JSON.stringify(cast)}\n`; + + appendFile(`${fid}_export.ndjson`, data, (err) => { + if (err) + throw err; + + console.log(`${cast.hash} processed`); + }); + }; + + const fetchAndDump = async(fid, cursor) => { + const data = await client.fetchAllCastsCreatedByUser(fid, { + cursor, + limit: 150 + }); + + data.result.casts.map(dumpCast); + + if (data.result.next.cursor === null) + return; /// if no cursor, fin + + await fetchAndDump(fid, data.result.next.cursor); + }; + + /*** PROGRAM ------------------------------------------ ***/ + + fetchAndDump(fid); + + /*** deno run --allow-env --allow-net --allow-write export_farcaster.ts ***/ + ``` + + This will only export your public posts, not your DMs. If you don't + want to pay Neynar[2], you can use these[3] projects[4]. + +References + + [1] <https://github.com/neynarxyz/farcaster-examples/blob/6922ac07fe7b601e3b1712a7f9c54a396dad66f8/archiver-script/index.js> + [2] <https://neynar.com> + [3] <https://github.com/iammatthias/fcau> + [4] <https://github.com/vrypan/fario> diff --git a/remarks/WR-007.txt b/remarks/WR-007.txt new file mode 100644 index 0000000..87b429a --- /dev/null +++ b/remarks/WR-007.txt @@ -0,0 +1,24 @@ + + + + + + + +Document: WR-007 P. Webb + 2024.11.16 + + Goals & Systems + +Body + + > You don’t rise to the level of your goals, you fall to the level of + > your systems. + > + > — James Clear + + Found via Aniyia[1] on Bluesky + +References + + [1] <https://bsky.app/profile/operaqueenie.social/post/3kcj4agky4q2j> diff --git a/remarks/WR-008.txt b/remarks/WR-008.txt new file mode 100644 index 0000000..7d816e5 --- /dev/null +++ b/remarks/WR-008.txt @@ -0,0 +1,48 @@ + + + + + + + +Document: WR-008 P. Webb + 2024.11.18 + + How to use your own domain on Blueksy! + +Body + + In your Settings tab, scroll down to "Advanced" and click on "Change + Handle" and then "I have my own domain." You'll be presented with two + tabs that show you how to change your username to your domain via a + DNS panel (where your domain is hosted) or without one. I chose the + latter for speed. + + You have to upload a file at `YOUR_SITE/.well-known/atproto-did` + containing some random string Bluesky gives you. Easy-peasy. + + I'm currently using nginx for my homepage so I had to add this to my + nginx config: + + ``` + server { + location /.well-known/ { + # Enable directory listing + autoindex on; + + # Allow all methods + allow all; + + # Set proper MIME type for atproto-did + location /.well-known/atproto-did { + default_type application/json; + add_header Access-Control-Allow-Origin *; + add_header Access-Control-Allow-Methods "GET, OPTIONS"; + add_header Access-Control-Allow-Headers "DNT, X-CustomHeader, Keep-Alive, User-Agent, X-Requested-With, If-Modified-Since, Cache-Control, Content-Type"; + } + } + } + ``` + + Run `nginx -t` to ensure no issues occurred from this change and then + `service nginx reload`. You should be good to go! diff --git a/remarks/WR-009.txt b/remarks/WR-009.txt new file mode 100644 index 0000000..cb1f507 --- /dev/null +++ b/remarks/WR-009.txt @@ -0,0 +1,18 @@ + + + + + + + +Document: WR-009 P. Webb + 2024.12.10 + + Write code for humans + +Body + + > Any fool can write code that a computer can understand. Good + > programmers write code that humans can understand. + > + > — Martin Fowler diff --git a/remarks/WR-010.txt b/remarks/WR-010.txt new file mode 100644 index 0000000..ca59fba --- /dev/null +++ b/remarks/WR-010.txt @@ -0,0 +1,33 @@ + + + + + + + +Document: WR-010 P. Webb + 2025.01.01 + + The day the internet was born + +Body + + Happy Birthday, internet! + + > January 1, 1983 is considered the official birthday of the + > Internet. Prior to this, the various computer networks did not + > have a standard way to communicate with each other. A new + > communications protocol was established called Transfer Control + > Protocol/Internetwork Protocol (TCP/IP). This allowed different + > kinds of computers on different networks to "talk" to each other. + > ARPANET and the Defense Data Network officially changed to the + > TCP/IP standard on January 1, 1983, hence the birth of the + > Internet. All networks could now be connected by a + > universal language. + + Found via Stefan Bohacek[1] on Mastodon (embedded source[2]) + +References + + [1] <https://stefanbohacek.online/@stefan/113754663565613650> + [2] <https://www.usg.edu/galileo/skills/unit07/internet07_02.phtml> diff --git a/remarks/WR-011.txt b/remarks/WR-011.txt new file mode 100644 index 0000000..7c727b0 --- /dev/null +++ b/remarks/WR-011.txt @@ -0,0 +1,54 @@ + + + + + + + +Document: WR-011 P. Webb + 2025.03.27 + + Pixel-perfect ffmpeg gifs + +Body + + I recently decided to take a page from elle's[1] book and create some + 88x31 banners for my homepage. I wanted them animated and to + incorporate Megaman Battle Network sprites. My initial ffmpeg + attempts were blurry af so I played around with arguments until I + figured out the winning incantations. + + For the first[2] two[3] banners I used this incantation: + + ```sh + ffmpeg -framerate 4 -pattern_type glob -i "*.png" -filter_complex "[0:v] split [a][b];[a] palettegen=reserve_transparent=on:transparency_color=ffffff [p];[b][p] paletteuse" pixel_art.gif + ``` + + There were only four frames so it made sense to my the FPS the same. + For the third[4] banner however, there were initially 44 frames of + the jack-in animation from MMBN6 but I removed some frames for a + better loop (36 frames in the end). + + ```sh + ffmpeg -framerate 12 -pattern_type glob -i "*.png" -filter_complex "[0:v] split [a][b];[a] palettegen=reserve_transparent=on:transparency_color=ffffff [p];[b][p] paletteuse" pixel_art.gif + ``` + + To my eyes, an FPS of 12 looks good enough. + + Now I gotta figure out where to put other peoples banners on + my homepage… + + Oh fun fact, AVIF is terrible for pixel-perfect animations, GIF + remains king. + + Thanks to Hank[5] I learned that putting + `image-rendering: pixelated;` on your pixel images via CSS make them + look crisp. + +References + + [1] <https://ellesho.me/page> + [2] <https://webb.page/88x31/a.gif> + [3] <https://webb.page/88x31/b.gif> + [4] <https://webb.page/88x31/c.gif> + [5] <https://mastodon.design/@hank> diff --git a/remarks/WR-012.txt b/remarks/WR-012.txt new file mode 100644 index 0000000..b1f5f50 --- /dev/null +++ b/remarks/WR-012.txt @@ -0,0 +1,43 @@ + + + + + + + +Document: WR-012 P. Webb + 2025.06.26 + + Getting your mechanical keyboard working VIA Mac + +Body + + Much thanks to u/theogdeltag[1], I was finally able to get my Wormier + RD75[2] working on macOS like I'd expect it to (using Option + + Command to quickly navigate tabs in Sublime Text and browsers being + such a workflow). + + VIA[3] is basically how you remap keys, update firmware, &c for + seemingly all indie keyboard manufacturers? Anyhoo: + + > To "force" a keyboard to work in the way you would expect it to on + > a Mac using Via, these keys are the Mac equivalents + > + > Windows Key = Command + > + > Alt = Option + > + > Ctrl = Control + > + > Once I bound the left and right windows keys into the place I would + > expect Command to be, my keyboard functioned as expected on my Mac. + + I think by default, the remapping affects the Windows mode (my + keyboard has toggles), which doesn't matter either way for me (just + an FYI for you). + +References + + [1] <https://www.reddit.com/r/MechanicalKeyboards/comments/m7g8cj/comment/m07sya6> + [2] <https://womierkeyboard.com/products/womier-rd75-pro> + [3] <https://usevia.app> diff --git a/remarks/WR-013.txt b/remarks/WR-013.txt new file mode 100644 index 0000000..cf45825 --- /dev/null +++ b/remarks/WR-013.txt @@ -0,0 +1,24 @@ + + + + + + + +Document: WR-013 P. Webb + 2026.01.01 + + Perspective + +Body + + > And if you choose to hold fast to what is right, do not be irked by + > difficult circumstances, but reflect on how many things have + > already happened to you in life in ways that you did not wish, and + > yet they have turned out for the best. (Fragment XXVII) + + via Doug Belshaw's blog[1] + +References + + [1] <https://blog.dougbelshaw.com/2026-commitment> diff --git a/remarks/WR-014.txt b/remarks/WR-014.txt new file mode 100644 index 0000000..8968e56 --- /dev/null +++ b/remarks/WR-014.txt @@ -0,0 +1,48 @@ + + + + + + + +Document: WR-014 P. Webb + 2026.01.04 + + Workarounds Apple's ScreenTime Workarounds + +Body + + Teenagers think ScreenTime isn’t for them and **will** figure out a + way around them. They forget that we millennials used the internet + decades before they were even a thought. Anyway. + + 📸[Do I look like a bitch?][IMG1] + + A popular method is to change the date and time. This is particularly + stressing when your teen has an iPhone and a MacBook. + + From your teen’s MacBook, head to System Settings → General → Date & + Time. Ensure "Set time and date automatically" is checked. For us, it + was not, the date was set several weeks back and the time was totally + off. Restoring the time and date will also fix an issue in Screen + Time where you might see a message stating that your teen’s computer + cannot be seen or whatever. + + Now you'll want to head to Users & Groups. From there, you can see if + they are an `Admin`[1]. **We don’t want that.** Create a new `Admin` + account for you, log out of your teen’s account, log into your’s, go + to the same place in settings, and change their account to + `Standard`. You also want to uncheck "Allow this user to administer + this computer." + + As for iOS, go into your Settings → Family → Teen’s Name → Screen + Time → App Limits. You probably have a bunch of limits in here + already but you should add the Shortcuts app. For whatever reason, + there’s a way to circumvent limits with certain shortcuts that can be + easily downloaded from the internet. If your teen is an active user + of Shortcuts, they’ll just have to suffer until they move out. + +References + + [1] <https://discussions.apple.com/thread/256108570> + [IMG1] <https://cdn.webb.page/blog/2026/marsellus-wallace.gif> diff --git a/remarks/WR-015.txt b/remarks/WR-015.txt new file mode 100644 index 0000000..77291e4 --- /dev/null +++ b/remarks/WR-015.txt @@ -0,0 +1,22 @@ + + + + + + + +Document: WR-015 P. Webb + 2026.02.04 + + Truth + +Body + + > If it can be destroyed by the truth, it should be destroyed by any + > means necessary. + + via mhoye[1] + +References + + [1] <https://cosocial.ca/@mhoye/116015713832716944> diff --git a/remarks/WR-016.txt b/remarks/WR-016.txt new file mode 100644 index 0000000..dddd688 --- /dev/null +++ b/remarks/WR-016.txt @@ -0,0 +1,25 @@ + + + + + + + +Document: WR-016 P. Webb + 2026.02.28 + + 5 keys to designing AWWWARD winning websites + +Body + + 1. Use few ingredients + 2. Master typography + 3. Master composition + 4. Master animation + 5. Master art direction + + via BONT[1] + +References + + [1] <https://www.youtube.com/watch?v=9TUzpQujYHA> diff --git a/remarks/WR-017.txt b/remarks/WR-017.txt new file mode 100644 index 0000000..2649755 --- /dev/null +++ b/remarks/WR-017.txt @@ -0,0 +1,25 @@ + + + + + + + +Document: WR-017 P. Webb + 2026.03.07 + + Life & Death + +Body + + > We're born looking like our parents, we die looking like + > our decisions. + > + > — O Solo + + Probably my favorite battle rapper, speaking truth[1] between + the jokes. + +References + + [1] <https://www.instagram.com/reels/DVagvnbjR7C/> diff --git a/remarks/WR-018.txt b/remarks/WR-018.txt new file mode 100644 index 0000000..8536488 --- /dev/null +++ b/remarks/WR-018.txt @@ -0,0 +1,19 @@ + + + + + + + +Document: WR-018 P. Webb + 2026.03.15 + + IRL RPG + +Body + + Imagine? That'd be amazing[1]. + +References + + [1] <https://www.youhaventlived.com/qblog/2026/QBlog140326A.html> diff --git a/remarks/WR-019.txt b/remarks/WR-019.txt new file mode 100644 index 0000000..8b57134 --- /dev/null +++ b/remarks/WR-019.txt @@ -0,0 +1,25 @@ + + + + + + + +Document: WR-019 P. Webb + 2026.03.15 + + Procreate app having weird pressure issues on iPad? + +Body + + Your iPad case might be the issue. No, seriously[1]. + + Thought I was going insane, I never had this issue with previous + iPads and I've been using Procreate since the first iPad Pro. + + I wonder if the current iPad Pro has this issue or if they're thick + enough to not? I'm currently on an iPad Air. + +References + + [1] <https://folio.procreate.com/discussions/4/1/64229#:~:text=%2D%20Remove%20your%20iPad%20case%20if%20you%20have%20one.> diff --git a/remarks/WR-020.txt b/remarks/WR-020.txt new file mode 100644 index 0000000..575fbb4 --- /dev/null +++ b/remarks/WR-020.txt @@ -0,0 +1,25 @@ + + + + + + + +Document: WR-020 P. Webb + 2026.03.16 + + Have a Fucking Website + +Body + + > You don’t own shit that you put on social media platforms. You + > don’t own your follower counts, you don’t own your posts. Stop + > giving away all of your shit to data harvesters and advertisers for + > free in exchange for the illusion of importance that comes with + > likes and a follower count. + + Hear hear[1]! + +References + + [1] <https://www.otherstrangeness.com/2026/03/14/have-a-fucking-website> diff --git a/remarks/WR-021.txt b/remarks/WR-021.txt new file mode 100644 index 0000000..cc9be0f --- /dev/null +++ b/remarks/WR-021.txt @@ -0,0 +1,24 @@ + + + + + + + +Document: WR-021 P. Webb + 2026.03.24 + + Remove the egregious icons in menus on macOS Tahoe + +Body + + ```sh + defaults write -g NSMenuEnableActionImages -bool NO + ``` + + Quit and reopen apps or restart your computer for this change to take + effect[1]. Huzzah! + +References + + [1] <https://mastodon.social/@stroughtonsmith/116262411548746327> diff --git a/remarks/WR-022.txt b/remarks/WR-022.txt new file mode 100644 index 0000000..837811c --- /dev/null +++ b/remarks/WR-022.txt @@ -0,0 +1,23 @@ + + + + + + + +Document: WR-022 P. Webb + 2026.03.24 + + Jay-Z Wisdom + +Body + + > Things don't happen to you. Things happen for you. + > + > — Jay-Z + + When Jay-Z sits down for a rare interview[1], I check it out. + +References + + [1] <https://www.youtube.com/watch?v=Uu_MVMOdbvY> diff --git a/remarks/WR-023.txt b/remarks/WR-023.txt new file mode 100644 index 0000000..bf442e3 --- /dev/null +++ b/remarks/WR-023.txt @@ -0,0 +1,27 @@ + + + + + + + +Document: WR-023 P. Webb + 2026.03.25 + + How to target Safari with CSS in 2026 + +Body + + I was trying to figure this out to make this blog look decent on iOS. + Thanks to Wojtek[1] for the solution! + ```css + @supports (hanging-punctuation: first) and (font: -apple-system-body) and (-webkit-appearance: none) { + .safari-only { + background-color: red; + } + } + ``` + +References + + [1] <https://wojtek.im/journal/targeting-safari-with-css-media-query> diff --git a/remarks/WR-024.txt b/remarks/WR-024.txt new file mode 100644 index 0000000..4132784 --- /dev/null +++ b/remarks/WR-024.txt @@ -0,0 +1,21 @@ + + + + + + + +Document: WR-024 P. Webb + 2026.03.27 + + IRL screenshots + +Body + + > photos are just screenshots you take of real life + + via[1] + +References + + [1] <https://cjlm.ca/notes/photos-screenshots> |
