4 ms·
Tools I’ve built for myself: - sandvault https://www.codeofhonor.com/projects/sandvault/ https://www.codeofhonor.com/projects/sandvault/ runs agents in a sepa
by netcoyote 4mo ago
Tools I’ve built for myself:
- sandvault https://www.codeofhonor.com/projects/sandvault/ https://www.codeofhonor.com/projects/sandvault/ runs agents in a separate macOS user account, hardened with sandbox-exec. It also supports headless browsing and iOS Simulator from inside the sandbox for testing web and iOS apps.
- clodpod https://www.codeofhonor.com/projects/clodpod/ https://www.codeofhonor.com/projects/clodpod/ agents run inside a macOS VM.
- git-multi-hook https://www.codeofhonor.com/projects/git-multi-hook/ https://www.codeofhonor.com/projects/git-multi-hook/ git only allows one script per hook event; this is a dispatcher that discovers and runs every script in a hooks dir, in parallel, for both global and repo hooks.
- TubeGate https://www.codeofhonor.com/projects/tubegate/ https://www.codeofhonor.com/projects/tubegate/ Chrome extension to block YouTube videos based on keywords (like “sponsored”).
- push10k https://www.codeofhonor.com/projects/push10k/ https://www.codeofhonor.com/projects/push10k/ iOS app to track my progress toward 10,000 push-ups.
My blog is AI-coded: Zola static site, Sveltia CMS, Cloudflare Pages/Workers, with GitHub Actions handling builds and syndication. https://www.codeofhonor.com https://www.codeofhonor.com
- ElFitz 4mo agoWait. You worked on Guild Wars, Starcraft, Warcraft, and Diablo? This place is incredible.
- Traubenfuchs 4mo agoGuild Wars was one of the most fun games ever. The crazy combinations of skills you could try in the random arena were so much fun. Guild Wars 2 and most other games are pure slop.
- mschild 4mo agoThey did announce Guild Wars 3 last Friday btw. Not set to release until 2027. Also Guild Wars 1 has been receiving new content updates this year.
- camillomiller 4mo agoCool but mate, this is just not true: >>Some content-management software (CMS), like WordPress, requires using the same presentation layer that the CMS uses Headless wordpress has been a thing for quite a while and it’s trivial for a use case like this
- netcoyote 4mo agoYou are correct, I will amend that. I do think that locks you out of a lot of the plugin ecosystem if using it as a static site generator, yeah?
- camillomiller 4mo agoAs a developer who deploys wordpress often, I can tell you that if you have the resources (experience and time) to setup a headless wordpress you probably don’t need 99% of plugins. The really important ones (ACF Pro, cookies-stuff, SEO etc) are compatible with headless. I regularly deploy non headless high impact wordpress sites with about 6 plugins max. Theme is custom developed as a skeleton starter plus custom fields. I feel you though, it’s imperfect but so far I haven’t found an alternative for client work especially that beats the WP ecosystem
- netcoyote 4mo agoThis sounds like it's worth a blog post. I'm sure lots of folks, including me, would be interested in the details of which plugins to maximize utility, and what the deploy process looks like. Cheers!
- bdickason 4mo agoI just found your blog yesterday reading up on the stories of how Warcraft and Starcraft were made!! Have been hacking on small games and a tool to build 3d environments for a while and get very inspired by hearing stories from back in the day. Thanks for making everything public. I really enjoy your writing.
- netcoyote 4mo agoThank you, glad you enjoyed the articles. I wish I had the motivation to write more!
- bdickason 4mo agoI'm sure it will flow when the time comes :P For me.. the most interesting part of the whole Warcraft saga would be more discussions around the arguments/design decisions of.. "we should include ___." For example... War2 stuck with two races (and introduced alliances w/ other races like elves) instead of adding new races. How did you get to that decision? did you do any prototypes? Was it just a pure argument? What did you find in the process? That kind of behind the scenes design discussion is rarely surfaced (and often messy) but is as interesting (to me) as the technical decisions.
- bdickason 4mo agoOne more idea.. You've worked across great companies and great games. If you were going back now to your former self striking out to ship your first commercial game, what are the 3-4 pieces of wisdom you wish you'd internalized back then?
- debone 4mo agoThanks for the push10k app, I didn't know I was looking for something like this
- netcoyote 4mo agoGlad you’re enjoying it. It started as a tool for my own motivation, and I’m so glad it’s helped you too :)
- keybored 4mo ago> - git-multi-hook https://www.codeofhonor.com/projects/git-multi-hook/ https://www.codeofhonor.com/projects/git-multi-hook/ git only allows one script per hook event; this is a dispatcher that discovers and runs every script in a hooks dir, in parallel, for both global and repo hooks. Newest Git supports hook events.
- netcoyote 4mo agoYou are correct: git 2.54 supports multiple hooks via a the git repo and global configuration files. Git-multi-hook predates that, but I updated it to use the new 2.54 config-based format. The significant advantage of git-multi-hook is that they all run in parallel. I run eight hooks on precommit, so parallelism is a big win. I will update the README to make note. Thanks!
- keybored 4mo agogit-hook documentation says that hook events can be configured to run in parallel.
- netcoyote 4mo agoHere's what gemini says about running hooks in parallel: > Native Git traditionally executes hooks sequentially. However, you can achieve parallel execution by leveraging dedicated third-party hook managers or using built-in shell background processing .. and that's what git-multi-hook is: a third-party hook manager, that uses shell background processing :)
- realitylabs 4mo agoJust out of curiousity, what are the 8 hooks you run?
- netcoyote 4mo agoThe precommit checks I run are: - end-with-blank-line: normalize file endings - find-do-not-commit: do not commit files that include "DO NOT COMMIT" - lint-code: run `$REPO/scripts/lint` if it exists - lint-nodejs: run `$REPO/{pnpm/yarn/npm}` lint if `package.json` exists - lint-shellcheck: shellcheck all the files that have no extensions or end in `.sh` that have a shell-shebang - lint-swift: run swiftlint - prevent-commit-secrets: run ripsecrets to avoid committing secrets and credentials - validate: run `$REPO/scripts/validate` if it exists By default all of the scripts check the files in the git staging area, but they can also be run standalone to check everything. You can find them here: https://github.com/webcoyote/git-multi-hook https://github.com/webcoyote/git-multi-hook. Glad to take suggestions for more.
- somberi 4mo agoThanks to Push10K now I am on my 160th day of streak and 13,135 pushups (or my own version of equivalents) so far. It is the best thing I did after feeling like Glutton after dinner last Christmas.
- netcoyote 4mo agoThat is awesome! Congratulations on completing so many — and such a big streak! Good luck on your journey to the 20k, and let me know if you need any features to make it work for you.
- 55555 4mo agoI grew up playing Warcraft II. Thanks for all of those great times.
- netcoyote 4mo agoGlad you enjoyed playing. It was an amazing journey building the game, and I’m grateful so many folks appreciated the experience we created.
- SeriousM 4mo agoI would love to see the push10k on android playstore/fdroid. It looks so inviting and motivating that I searched for equivalent alternatives for android but found none! Would you, maybe, publish it there as well, pleeeease?