diff --git a/.ruby-version b/.ruby-version new file mode 100644 index 0000000..37c2961 --- /dev/null +++ b/.ruby-version @@ -0,0 +1 @@ +2.7.2 diff --git a/.vscode/settings.json b/.vscode/settings.json index b9e9377..98645f6 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,30 +1,99 @@ { "editor.minimap.enabled": false, - "editor.wrappingIndent": "indent", "editor.overviewRulerBorder": false, "editor.lineHeight": 24, "[markdown]": { "editor.quickSuggestions": true }, + "git.enableSmartCommit": true, "git.postCommitCommand": "sync", - "files.exclude": { - "**/node_modules": true - }, + "files.watcherExclude": { "**/node_modules": true, "_site/*": true }, - "vscodeMarkdownNotes.noteCompletionConvention": "noExtension", "files.exclude": { "_site/*": true, - ".jekyll-cache/*": true + ".jekyll-cache/*": true, + "**/node_modules": true }, + "liquid.format": true, + "foam.openDailyNote.directory": "_posts/journal/", - "foam.openDailyNote.filenameFormat": "yyyy-mm-dd-journal.md", - "foam.openDailyNote.titleFormat": "mmm-d, yyyy", + "foam.openDailyNote.filenameFormat": "yyyy-mm-dd-'journal'", + "foam.openDailyNote.titleFormat": "---\ntitle: mmm d, yyyy\n---", + "foam.openDailyNote.fileExtension": "md", + + "foam.edit.linkReferenceDefinitions": "withoutExtensions", + + "vscodeMarkdownNotes.noteCompletionConvention": "noExtension", "vscodeMarkdownNotes.newNoteDirectory": "_notes", - "vscodeMarkdownNotes.newNoteTemplate": "---\ntitle: ${noteName}\n---\n" + "vscodeMarkdownNotes.newNoteTemplate": "---\ntitle: ${noteName}\n---\n", + + "workbench.colorTheme": "Tomorrow Night", + "editor.tokenColorCustomizations": { + "[Tomorrow Night]": { + "textMateRules": [ + { + "scope": "text.markdown.notes.wiki-link", + "settings": { + "foreground": "#d4b91c" + } + }, + { + "scope": "support.function.text.markdown.notes.wiki-link.title", + "settings": { + "foreground": "#d8cd8f" + } + }, + { + "scope": "string.other.link.title.markdown", + "settings": { + "foreground": "#3d3bac" + } + }, + { + "scope": "markup.quote.markdown", + "settings": { + "foreground": "#666" + } + }, + { + "scope": "markup.inline.raw", + "settings": { + "foreground": "#f19999" + } + }, + { + "scope": "markup.italic.markdown", + "settings": { + "fontStyle": "italic", + } + }, + { + "scope": "punctuation.definition.italic.markdown", + "settings": { + "foreground": "#555" + } + }, + { + "scope": "markup.bold.markdown", + "settings": { + "fontStyle": "bold", + "foreground": "#efefef" + } + }, + { + "scope": "punctuation.definition.bold.markdown", + "settings": { + "foreground": "#555" + } + }, + ] + } + } + } diff --git a/Gemfile.lock b/Gemfile.lock index f680d85..8278eaa 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -6,19 +6,19 @@ GEM colorator (1.1.0) commonmarker (0.17.13) ruby-enum (~> 0.5) - concurrent-ruby (1.1.6) - em-websocket (0.5.1) + concurrent-ruby (1.1.7) + em-websocket (0.5.2) eventmachine (>= 0.12.9) http_parser.rb (~> 0.6.0) eventmachine (1.2.7) eventmachine (1.2.7-x64-mingw32) - ffi (1.12.2) - ffi (1.12.2-x64-mingw32) + ffi (1.13.1) + ffi (1.13.1-x64-mingw32) forwardable-extended (2.6.0) http_parser.rb (0.6.0) - i18n (1.8.2) + i18n (1.8.5) concurrent-ruby (~> 1.0) - jekyll (4.0.0) + jekyll (4.0.1) addressable (~> 2.4) colorator (~> 1.0) em-websocket (~> 0.5) @@ -61,18 +61,18 @@ GEM pathutil (0.16.2) forwardable-extended (~> 2.6) posix-spawn (0.3.15) - public_suffix (4.0.4) - rb-fsevent (0.10.3) + public_suffix (4.0.6) + rb-fsevent (0.10.4) rb-inotify (0.10.1) ffi (~> 1.0) rexml (3.2.4) - rouge (3.18.0) + rouge (3.24.0) ruby-enum (0.8.0) i18n safe_yaml (1.0.5) - sassc (2.3.0) + sassc (2.4.0) ffi (~> 1.9) - sassc (2.3.0-x64-mingw32) + sassc (2.4.0-x64-mingw32) ffi (~> 1.9) terminal-table (1.8.0) unicode-display_width (~> 1.1, >= 1.1.1) diff --git a/_notes/asus-VG289Q.md b/_notes/asus-VG289Q.md new file mode 100644 index 0000000..4de1065 --- /dev/null +++ b/_notes/asus-VG289Q.md @@ -0,0 +1,12 @@ +--- +title: Asus VG289Q Monitor +tags: + - asus + - monitor + - 4K +--- + +ASUS 28" 4K Monitor. Bought it at Best Buy: + +* Asus Canada https://www.asus.com/ca-en/Monitors/TUF-GAMING-VG289Q/ +* Manual https://dlcdnets.asus.com/pub/ASUS/LCD%20Monitors/VG289Q/ASUS_VG289Q_English.pdf \ No newline at end of file diff --git a/_notes/camo.md b/_notes/camo.md new file mode 100644 index 0000000..8614f89 --- /dev/null +++ b/_notes/camo.md @@ -0,0 +1,13 @@ +--- +title: Camo +link: https://reincubate.com/camo/ +tags: + - iOS + - MacOS + - app + - webcam +--- + +[Camo](https://reincubate.com/camo/) let's you use your iOS device as a webcam for your Mac. You run an app on your phone or iPad, and another app on your Mac, and can then use the front or back camera as video input camera in any app that supports cameras on Mac. + +So far I've used it with [[Zoom]] and with [[Discord]] without issues. Discord, being an Electron app, needs a fix applied, which Camo will do for you with your admin password. diff --git a/_notes/chezmoi.md b/_notes/chezmoi.md new file mode 100644 index 0000000..01af997 --- /dev/null +++ b/_notes/chezmoi.md @@ -0,0 +1,16 @@ +--- +title: Chezmoi +link: https://www.chezmoi.io +github: https://github.com/twpayne/chezmoi +tags: + - dotfiles + - opensource +--- +Manage your [[dotfiles]] across multiple diverse machines, securely. + +* https://www.chezmoi.io +* github https://github.com/twpayne/chezmoi + +> If your system is written in a scripting language like Python, Perl, or Ruby, then you also need to install a compatible version of that language's runtime before you can use your system. +> +> chezmoi is distributed as a single stand-alone statically-linked binary with no dependencies that you can simply copy onto your machine and run. chezmoi provides one-line installs, pre-built binaries, packages for Linux and BSD distributions, Homebrew formulae, Scoop and Chocolatey support on Windows, and a initial config file generation mechanism to make installing your dotfiles on a new machine as painless as possible. \ No newline at end of file diff --git a/_notes/discord.md b/_notes/discord.md new file mode 100644 index 0000000..90a2b74 --- /dev/null +++ b/_notes/discord.md @@ -0,0 +1,13 @@ +--- +title: Discord +tags: + - chat + - community + - app +link: https://discord.com +--- + +https://discord.com + +> **From a few to a fandom** +> Get a community of any size running with moderation tools and custom member access. Give members special powers, set up private channels, and more. \ No newline at end of file diff --git a/_notes/discourse.md b/_notes/discourse.md index d59c7ad..2d468ba 100644 --- a/_notes/discourse.md +++ b/_notes/discourse.md @@ -1,7 +1,29 @@ --- title: Discourse -tags: opensource rails selfhosted communitytool ember discourse +tags: + - opensource + - rails + - selfhosted + - community + - ember + - discourse + - forum --- -Discourse is super flexible open source forum software. It's a top [[Community Tool]]. +> Civilized discussion for your community +[Discourse](https://www.discourse.org) is super flexible open source forum software. It's a top [[Community Tool]]. + +The private company behind Discourse is _Civilized Discourse Construction Kit, Inc._. They offer paid hosting for forums starting at $100/month. + +You can [apply for free hosting for open source projects](https://blog.discourse.org/2018/11/free-hosting-for-open-source-v2/) + +## Discourse for Teams + +There is a new (late 2020) [Discourse for Teams](https://teams.discourse.com) offering that starts at $20/month for up to 5 team members on a fully private forum. + +> Discourse for Teams is a private, focused version of Discourse with special tools to enhance remote work, productivity and internal discussions. + +Self-hosting Discourse is quite reasonable to do on a ~$10 month VPS. The instructions and updates are very well done to be automated, and you can just cut-and-paste commands. It uses [[Docker]], plus a pretty simply process to add additional plugins and re-run the Docker process. + +There are instructions for running a second Docker instance to enable [[Discourse email posting]] in an integrated way as well. \ No newline at end of file diff --git a/_notes/dotfiles.md b/_notes/dotfiles.md new file mode 100644 index 0000000..b23a735 --- /dev/null +++ b/_notes/dotfiles.md @@ -0,0 +1,12 @@ +--- +title: Dotfiles +tags: + - unix + - shell + - CLI +--- +The "." (dot) files where the configuration for your shell, editors, apps, and other system tools live. + +Github has [an unofficial guide to dotfiles dotfiles.github.io](http://dotfiles.github.io) where you can see what other people are using. + +I'm just in the midst of rebooting my dotfiles and switching to [[chezmoi]] as the tool for managing them. \ No newline at end of file diff --git a/_notes/razer-core-x-chroma.md b/_notes/razer-core-x-chroma.md new file mode 100644 index 0000000..697df5f --- /dev/null +++ b/_notes/razer-core-x-chroma.md @@ -0,0 +1,3 @@ +--- +title: Razer Core X Chroma +--- diff --git a/_notes/zoom.md b/_notes/zoom.md new file mode 100644 index 0000000..b5fd817 --- /dev/null +++ b/_notes/zoom.md @@ -0,0 +1,10 @@ +--- +title: Zoom +tags: + - app + - video + - videoconferencing +link: https://zoom.us +--- + +https://zoom.us diff --git a/_posts/journal/2020-10-13-journal.md b/_posts/journal/2020-10-13-journal.md index a730aa0..79259cc 100644 --- a/_posts/journal/2020-10-13-journal.md +++ b/_posts/journal/2020-10-13-journal.md @@ -4,9 +4,12 @@ date: 2020-10-13 category: Journal --- -Both Mac Mini and OWC Memory Upgrade kit arrived today. Don't have a monitor yet, going to temporarily use +Both Mac Mini and OWC Memory Upgrade kit arrived today. Don't have a monitor yet, going to temporarily use the 15" portable screen that R uses for her second monitor. Following the [OWC Memory Upgrade video](https://eshop.macsales.com/installvideos/mac-mini-2018-memory/Macmini8-1/), step two is having a torx screwdriver. Hmmm. Sounds like a T4, T5, and T10 needed. OK, looks like Canadian Tire has a complete overkill [66 piece Mastercraft Specialty Precision Electronics Bit](https://www.canadiantire.ca/en/pdp/mastercraft-specialty-precision-electronics-bit-set-66-pc-0573624p.html#srp) +(adding notes almost a month later) + +Right in here is where I put in my 2 bike rides to Canadian Tire in Burnaby in one afternoon / evening, and still don't have the right screwdrivers. \ No newline at end of file diff --git a/_posts/journal/2020-11-07-journal.md b/_posts/journal/2020-11-07-journal.md new file mode 100644 index 0000000..49d4143 --- /dev/null +++ b/_posts/journal/2020-11-07-journal.md @@ -0,0 +1,28 @@ +--- +title: Nov 7, 2020 +date: 2020-11-07 +category: Journal +--- + +OK, I clicked the buttons and made what I think are all my final purchases for my Mac Mini, other than external storage. + +But first: I bought an [[Asus VG289Q Monitor]] at Best Buy earlier this week. Got it home and the screen wouldn't stay on? + +At first I thought the wimpy Mac Mini maybe couldn't drive it through HDMI and I needed a USB-C to DisplayPort adapter, but those adapters don't really exist. I looked around and the various HDMI cables now do have different "ratings" on them. I bought a short gold plated HDMI cable and yes! -- the monitor works fine. + +I looked back and forth at various [[eGPU]] options. I decided the Razer Core X Chroma was the best enclosure for me. I plan on using it for both Windows and Mac over time, and as an external enclosure it's even possible to upgrade the video card. + +I did [read through the Bootcamp for eGPUs](https://egpu.io/boot-camp-egpu-setup-guide/) but I don't think I will attempt Bootcamp. Who knows how much longer it will be around / keep working as Apple transitions to ARM. + +Looking at the [EGPU.io builds filter](https://egpu.io/best-external-graphics-card-builds/) with a Mac Mini and the Razer Core X Chroma selected helped me pick the graphics card to buy. There were only 2 Mac Mini builds listed, both using an AMD RX 5700 XT. I debated about getting a cheaper card, but I'd rather finish off my purchases now. + +Then I was back in graphic card comparison hell, because the AMD RX 5700 XT is just a chipset +(I guess???) and many different manufacturers put together the final cards. + +I ended up with [PowerColor Red Devil AMD Radeon RX 5700 XT 8GB AXRX 5700XT 8GBD6-3DHE/OC](https://www.amazon.ca/gp/product/B07WP6TYQ3/), for $611CAD. No, I don't even totally understand what that means. + +Hopeful that this [Kingsdun Torx Screwdriver Set](https://www.amazon.ca/gp/product/B00MUJU33S/) has what I need. + +And ended up with a [Vitade 1080p webcam with ring light](https://www.amazon.ca/gp/product/B07RRZQBRN/) as well. + +I did experiment with [[Camo]] by [Reincubate](https://reincubate.com/camo/) to use my iPhone as a webcam. I have an iPhone / iPad stand clamped to my desk, and it does work -- and with very good quality! But it's not like I can keep my iPhone clamped in there all the time. \ No newline at end of file diff --git a/_posts/journal/2020-11-08-journal.md b/_posts/journal/2020-11-08-journal.md new file mode 100644 index 0000000..e23366d --- /dev/null +++ b/_posts/journal/2020-11-08-journal.md @@ -0,0 +1,26 @@ +--- +title: Nov 8, 2020 +date: 2020-11-08 +category: Journal +--- + +Went for a bike ride in the morning. Super sunny day, but also cold. Vancouver winters have been getting brighter -- but also colder. Need a balaclava as the final piece of my biking gear, to cover my ears and neck. + +Just spent 30 minutes setting up a UPS Payment Account in order to attempt to pay a bill online for customs brokerage fees. There is a 10-digit account number on the invoice, but of course clicking between the different options, the maximum is for a 9-digit account number (and that's some sort of special account?). UPS Canada, a paper invoice with a tear off, suggesting I stick a paper cheque in postal mail, is not going to work well for me OR you. + +I am now using the [[chezmoi]] [[dotfiles]] manager. I've currently got my dotfiles on Github but private, I should open them up. I am trawling through [walkah's dotfiles](https://github.com/walkah/dotfiles) who is busy going down the [[Nix]] rabbit hole. + +Cleaned up the office today, still stuff to get rid of, but especially with Province of BC announcing no social gatherings, it means the "Zoom room" here is going to be where I'm going to be spending a lot of time. + +The clean up was in part because of getting the Amazon order from [yesterday]({% link _posts/journal/2020-11-07-journal.md %}) -- webcam, torx screwdrivers, and the PowerColor graphics card. Now I'm just waiting for the [[Razer Core X Chroma]] eGPU enclosure. + +Maybe I'll install the 32GB memory upgrade for the Mac Mini? Surprise! Once again the kit I ordered doesn't have the correct T6S (or H or R -- the "security" one with the hole in the middle) torx screwdriver. Aaarggghhhh! + +Screenshot from the [OWC Mac Mini Memory Upgrade video](https://eshop.macsales.com/installvideos/mac-mini-2018-memory/) of where I'm stuck -- can't even get the bottom plate off without the right T6 "Secure" screwdriver! + +![Screenshot of OWC mac mini memory how to -- bottom of mac mini, badge with T6 screwdriver icon]({% link assets/2020/11/owc_macmini_memory_screenshot.png %}) + +Now I'm futzing with the setup of my notes / blog here. Using [[VS Code]] directly seems to make the most sense for me. I am "using" [[Foam]] and still figuring out how I want the various plugins setup. I turned off the Gray Matter theme, didn't quite work for me. + +The author of the Markdown Notes VS Code plugin, Andrew Kortina, [writes up how he has VS Code configured](https://kortina.nyc/essays/suping-up-vs-code-as-a-markdown-notebook/). I'm trying out the [Tomorrow Night Theme](https://marketplace.visualstudio.com/items?itemName=ms-vscode.Theme-TomorrowKit), including some of the tweaks that Kortina uses, plus the [tips on changing formats in VS Code](https://stackoverflow.com/questions/53772087/customize-block-quote-color-in-vscode-theme). + diff --git a/assets/2020/11/owc_macmini_memory_screenshot.png b/assets/2020/11/owc_macmini_memory_screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..2ddfd045724a097b66638ce06a511170395983ac GIT binary patch literal 1776019 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