···22title: "Cursorless is alien magic from the future"
33date: 2023-11-09
44tags: ["cursorless", "vscode"]
55+basename: ../../notes/cursorless-alien-magic
56---
6778Just in time for me to start a new job at a new place, my RSI has decided to flare up.
···130131131132Since I'm taking the opportunity to radically redesign the Talon bindings for Go, I want to try unifying the syntax of pointer values into the idea of raising and lowering to see how it makes it easier to understand Go programs. I don't know if this is a good idea, but you have to fuck around in order to find out.
132133133133-Maybe some parts of our industry are actually good. I really hope that I get led into the [GitHub copilot voice beta](https://githubnext.com/projects/copilot-voice/) soon, I want to compare how Talon does voice coding versus how copilot voice does it.134134+Maybe some parts of our industry are actually good. I really hope that I get led into the [GitHub copilot voice beta](https://githubnext.com/projects/copilot-voice/) soon, I want to compare how Talon does voice coding versus how copilot voice does it.
···66 - actions
77 - secrets
88 - tailscale
99+basename: ../../notes/recover-github-action-secret
910---
10111112Sometimes you fuck up and lose your only copy of a GitHub secret that you can't replace easily, such as a [Cachix](https://www.cachix.org/) signing key. However you lucked out and that key is actually saved in GitHub Actions secrets...which won't let you read the contents of that secret for understandable security reasons. Here's how you work around that.
···1617const port = 8080;
17181819const handler = async (req: Request): Promise<Response> => {
1919- const body = (await req.text());
2020- console.log(body);
2121-2222- return new Response()
2020+ const body = await req.text();
2121+ console.log(body);
2222+2323+ return new Response();
2324};
24252526console.log(`HTTP server running. Access it at: http://localhost:${port}/`);
···58595960Replace the contents of `TARGET` as facts and circumstances demand.
60616161-Now you can recover your secret by hitting the "Run workflow" button on the Actions tab of your repo. The secret will be in your terminal, and you can copy it to your password manager as a note.6262+Now you can recover your secret by hitting the "Run workflow" button on the Actions tab of your repo. The secret will be in your terminal, and you can copy it to your password manager as a note.
···22title: "How to use lists in Talon"
33date: 2023-11-11
44tags: [talon, lists]
55+basename: ../../notes/talon-lists
56---
6778When you are making commands in Talon, sometimes you need to have a of things that you say which are turned into things that the computer understands.There are a few ways to implement this but it is easy to do it very wrong.
···133134134135Talon is really cool and a lot of the really cool parts are tragically under-documented I am just barely scratching the surface here, but this is documenting what I am figuring out as I dig more deeply into Talon. I hope this is useful to someone.
135136136136-If you want to see the Talon bindings I've created for my blog characters, you can look [in my `Xe/invocations` repo](https://github.com/Xe/invocations/tree/main/apps/vscode). I'm still working on them, but they're a good starting point for anyone that wants to do something similar.137137+If you want to see the Talon bindings I've created for my blog characters, you can look [in my `Xe/invocations` repo](https://github.com/Xe/invocations/tree/main/apps/vscode). I'm still working on them, but they're a good starting point for anyone that wants to do something similar.
···55 ai: Counterfeit-XL
66 file: galaxy-waifu
77 prompt: A green-haired anime woman with cyberpunk style clothing drinking coffee in a cyberpunk space station
88+basename: ../vscode-go-ext
89---
9101011When I write these articles, I like having an answer to the question at hand before I start writing. I don't feel like it is fair to readers to have a question without an answer.
···17181819Here are all of the steps I've tried:
19202020-* Removing settings sync and re-enabling it on all affected machines
2121-* Looking through system logs around the time of the removal happening
2222-* Starting from scratch on a new machine (my new work computer) and then syncing settings to find that the Go extension is not being synced
2323-* Marking the Go extension as "do not sync" and then marking it as "do sync"
2121+- Removing settings sync and re-enabling it on all affected machines
2222+- Looking through system logs around the time of the removal happening
2323+- Starting from scratch on a new machine (my new work computer) and then syncing settings to find that the Go extension is not being synced
2424+- Marking the Go extension as "do not sync" and then marking it as "do sync"
24252526If anyone is able to figure out what I could have possibly fucked up, I will post the solution here and credit them.
2627