netcoyote

Joined 14 years ago

Karma
1,477
Submissions
105
Member since
Jul 25
Hi, I'm Patrick Wyatt, a game developer and programmer.

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 [email protected]

View on Hacker News

Recent submissions

Comment · 2 days ago
> Having the maintenance/ops requirements directly feed back into the design and engineering of the product is genuinely powerful.

You’re so right. This is the key, whether a team is doing devops or not.

One of my major contributions when I took on a CTO role was getting dev, ops, and support teams to talk about the pain points. There were so many easy wins to make things run better because the teams didn’t understand the difficulties the other teams were going through.

Comment · 2 days ago
When we created battle.net at Blizzard for Diablo, there was a bug where the game would launch in full-screen mode and hang, and the only way to escape back to the Win95 desktop was to click the ad displayed by battle.net.

We weren’t aware of this.

The ad company we used notified us of this issue and gave us three days to fix it. Afterwards our click-through rate went from something like 3% to .25%.

Comment · 1 month ago
It was even worse: the Galatica was a museum ship, and it was being decommissioned!
Comment · 2 months ago
Thank you for a great comment; I learned two new words today!
Comment · 4 months ago
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-20 builds per day to external alpha testers, so any downtime in Github is going to be an impediment.

Comment · 4 months ago
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 (USA - National Institutes of Health) to build a prototype food logging app for OS/2, to be used by consumers to log their meals.

Food logging is a ridiculously complicated task. Starting from "I ate chicken with rice, some salad, and some ice cream", this leads to myriad questions:

- What part of the chicken? Breast is lower fat than thighs.

- Did you remove the skin?

- How much chicken did you cook? Did you eat all of it, or leftovers?

- Did you cook it in oil? How much oil? What kind? Cooking temp & duration?

- You added some spices, right? What kind? How much?

- What kind of rice? White, Brown, Arboreal, Jasmine? White rice is basically sugar, might as well have a can of Pepsi.

- Was your salad a real salad with vegetables, or a tepid Caesar salad of iceberg lettuce, cheese and croutons. Did you have dressing? I hope you had vinagrette, but probably ranch.

- Be honest, you horked down the entire container of ice cream, didn't you.

- etc.

My job was to build an app that made it easy for a family member to log their consumption for everyone in the family, in just a few minutes, because the longer it takes, the less likely it is that they'll log anything.

I was given the source code to a previous project from another Stage 1 research grant that had a food/nutrition database (using BTrieve, a Terminate-and-Stay-Resident DOS application).

At the end of the summer, I had a working program that showed it was conceptually possible to do this, if you were a really good typist. While it was a Windows GUI app, using buttons and dropdowns was way too slow for data entry, so the app was designed to make it easy to enter data by typing and tabbing.

I convinced them to use MS Windows 3.0 instead of OS/2 because even then it was clear (even to me, a dumb college kid) that no one would ever use OS/2 in the home market.

Re-envisioning the problem as one where users take pictures is a big step forward, but there's still going to be a whole lot of approximation on calories and nutrition because it's necessary to guess what's inside the food concoction.

On the other hand, just using an app like this to track is great for users just to create more visibility and awareness of what they're actually eating.

Comment · 4 months ago
That's a great point, and a fair criticism!
Comment · 4 months ago
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 own problems, the teams that wrote outage-free code get first dibs on writing new systems.

On the (online game) teams I worked on there are an infinite number of new & exciting systems needed, so this approach means that the best developers are the ones building them.

Comment · 4 months ago
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 looks like. Cheers!
Comment · 4 months ago
Comment · 4 months ago
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 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 :)

Comment · 4 months ago
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 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!

Comment · 4 months ago
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 · 4 months ago
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 · 4 months ago
Glad you’re enjoying it. It started as a tool for my own motivation, and I’m so glad it’s helped you too :)

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton