Viewing profile — netcoyote
netcoyote
HN member- Joined
- Wed, Jul 25, 2012, 9:28 PM UTC
- HN karma
- 1,454
- Public activity
- 101 items
- HN profile
- View on Hacker News ↗
About netcoyote
I helped create Warcraft, Diablo, StarCraft, Guild Wars, battle.net and more. I helped publish Aion and Tera, two MMOs created in Korea.
I co-founded ArenaNet (https://www.arena.net) and One More Game (https://www.onemoregame.com).
I have a blog (https://www.codeofhonor.com) about game development and my years at Blizzard Entertainment.
I write open-source software (https://github.com/webcoyote) including:
- SandVault sandbox AI agents inside a limited-user account on macOS (https://github.com/webcoyote/sandvault)
- ClodPod sandbox AI agents inside a macOS virtual machine (https://github.com/webcoyote/clodpod)
- Git-Multi-Hook enables multiple global and per-repository git hooks with no configuration, and existing hooks keep working (https://github.com/webcoyote/git-multi-hook)
My email is pat@codeofhonor.com
Recent public activity
-
comment
Comment #48703894
Git is a DVCS, but many companies have a build server/cluster that depends on Github or Codeberg being available. Teams I've worked on for the last several decades aim to push 10-2…
-
comment
Comment #48512319
My first programming position was a summer job while in college. I worked for a small company that specialized in Stage 1 research grants, and they had secured funding from NIH (US…
-
comment
Comment #48511419
That's a great point, and a fair criticism!
-
comment
Comment #48499726
One of the tricks that we can use as good managers is code ownership. The folks who wrote the code are the ones who get to fix the bugs in the code. While they’re busy fixing their…
-
comment
Comment #48492492
This 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 …
-
comment
Comment #48492458
The 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…
-
comment
Comment #48480827
Here's what gemini says about running hooks in parallel: > Native Git traditionally executes hooks sequentially. However, you can achieve parallel execution by leveraging dedicated…
-
comment
Comment #48469892
You 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…
-
comment
Comment #48469822
Glad you enjoyed playing. It was an amazing journey building the game, and I’m grateful so many folks appreciated the experience we created.
-
comment
Comment #48469794
You 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?
-
comment
Comment #48469774
Glad you’re enjoying it. It started as a tool for my own motivation, and I’m so glad it’s helped you too :)
-
comment
Comment #48469767
That 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 y…
-
comment
Comment #48469754
Thank you, glad you enjoyed the articles. I wish I had the motivation to write more!
-
comment
Comment #48456184
Tools I’ve built for myself: - sandvault https://www.codeofhonor.com/projects/sandvault/ runs agents in a separate macOS user account, hardened with sandbox-exec. It also supports …
-
comment
Comment #48327905
revenue != margins There are 20,000 games released per year that split all that revenue, minus the cost of building those games.
-
comment
Comment #47999953
There must be something in the air, because I just migrated away from WordPress & Bluehost too: https://www.codeofhonor.com/blog/migrating-away-from-wordpre... . I'm so much happie…
-
comment
Comment #47957752
I've tried a lot of editors, including Zed, and always come back to Sublime Text. I use it every day. The #1 reason is because it never loses unsaved files (though I'm still workin…
-
comment
Comment #47826836
Oh, and I forgot to mention that pause had to be synchronized across the network, so the pause button would pause for all players. And in the "this is why we can't have nice things…
-
comment
Comment #47826793
While I don't have the original code, it's something along the lines of this: // for each palette entry: pal.r = pal.b = pal.g = (byte) (0.299 * pal.r + 0.587 * pal.b + 0.114 * pal…
-
comment
Comment #47824861
One of the fun features that I developed for Warcraft (the RTS) was to fade the screen to grayscale when the game is paused. Since the game uses a 256 color palette, it was only ne…
-
comment
Comment #47788860
I so hate the videos YouTube shows me that I wrote a plugin to place a white box over videos called TubeGate [0], which I open-sourced [1]. It does keyword-based filtering so you c…
-
comment
Comment #47754095
I added browser automation capabilities to sandvault [0], a MacOS sandbox, to allow AI agents to control Chrome browser from within the sandbox, which makes coding & testing websit…
-
comment
Comment #47668825
This type of problem plagues all sorts of software. Having experienced this type of problem before, for Guild Wars game servers -- which run deterministic game instances that live …
-
comment
Comment #47569687
Kudos to those NASA engineers for managing to pack React into such a small footprint.
-
comment
Comment #47526774
Whoops! I didn't hear about that one, though it was a common occurrence in the earlier days of the game industry. Please share details, if you're able. On a related note, I worked …