<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: netcoyote</title><link>https://news.ycombinator.com/user?id=netcoyote</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Tue, 28 Jul 2026 11:08:29 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=netcoyote" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by netcoyote in "Codeberg Is Down"]]></title><description><![CDATA[
<p>Git is a DVCS, but many companies have a build server/cluster that depends on Github or Codeberg being available.<p>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.</p>
]]></description><pubDate>Sun, 28 Jun 2026 02:51:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=48703894</link><dc:creator>netcoyote</dc:creator><comments>https://news.ycombinator.com/item?id=48703894</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48703894</guid></item><item><title><![CDATA[New comment by netcoyote in "I spent my savings building a food logging app because none worked"]]></title><description><![CDATA[
<p>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.<p>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:<p>- What part of the chicken? Breast is lower fat than thighs.<p>- Did you remove the skin?<p>- How <i>much</i> chicken did you cook? Did you eat all of it, or leftovers?<p>- Did you cook it in oil? How much oil? What kind? Cooking temp & duration?<p>- You added some spices, right? What kind? How much?<p>- What kind of rice? White, Brown, Arboreal, Jasmine? White rice is basically sugar, might as well have a can of Pepsi.<p>- 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.<p>- Be honest, you horked down the entire container of ice cream, didn't you.<p>- etc.<p>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.<p>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).<p>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.<p>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.<p>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.<p>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.</p>
]]></description><pubDate>Sat, 13 Jun 2026 02:53:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=48512319</link><dc:creator>netcoyote</dc:creator><comments>https://news.ycombinator.com/item?id=48512319</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48512319</guid></item><item><title><![CDATA[New comment by netcoyote in "Doing nothing at work"]]></title><description><![CDATA[
<p>That's a great point, and a fair criticism!</p>
]]></description><pubDate>Sat, 13 Jun 2026 01:28:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=48511419</link><dc:creator>netcoyote</dc:creator><comments>https://news.ycombinator.com/item?id=48511419</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48511419</guid></item><item><title><![CDATA[New comment by netcoyote in "Doing nothing at work"]]></title><description><![CDATA[
<p>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.<p>While they’re busy fixing their own problems, the teams that wrote outage-free code get first dibs on writing new systems.<p>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.</p>
]]></description><pubDate>Fri, 12 Jun 2026 03:53:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=48499726</link><dc:creator>netcoyote</dc:creator><comments>https://news.ycombinator.com/item?id=48499726</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48499726</guid></item><item><title><![CDATA[New comment by netcoyote in "Ask HN: What are tools you have made for yourself since the advent of AI?"]]></title><description><![CDATA[
<p>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!</p>
]]></description><pubDate>Thu, 11 Jun 2026 16:25:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=48492492</link><dc:creator>netcoyote</dc:creator><comments>https://news.ycombinator.com/item?id=48492492</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48492492</guid></item><item><title><![CDATA[New comment by netcoyote in "Ask HN: What are tools you have made for yourself since the advent of AI?"]]></title><description><![CDATA[
<p>The precommit checks I run are:<p>- end-with-blank-line: normalize file endings<p>- find-do-not-commit: do not commit files that include "DO NOT COMMIT"<p>- lint-code: run `$REPO/scripts/lint` if it exists<p>- lint-nodejs: run `$REPO/{pnpm/yarn/npm}` lint if `package.json` exists<p>- lint-shellcheck: shellcheck all the files that have no extensions or end in `.sh` that have a shell-shebang<p>- lint-swift: run swiftlint<p>- prevent-commit-secrets: run ripsecrets to avoid committing secrets and credentials<p>- validate: run `$REPO/scripts/validate` if it exists<p>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: <a href="https://github.com/webcoyote/git-multi-hook" rel="nofollow">https://github.com/webcoyote/git-multi-hook</a>. Glad to take suggestions for more.</p>
]]></description><pubDate>Thu, 11 Jun 2026 16:23:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=48492458</link><dc:creator>netcoyote</dc:creator><comments>https://news.ycombinator.com/item?id=48492458</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48492458</guid></item><item><title><![CDATA[New comment by netcoyote in "Ask HN: What are tools you have made for yourself since the advent of AI?"]]></title><description><![CDATA[
<p>Here's what gemini says about running hooks in parallel:<p>> 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<p>.. and that's what git-multi-hook is: a third-party hook manager, that uses shell background processing :)</p>
]]></description><pubDate>Wed, 10 Jun 2026 18:43:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=48480827</link><dc:creator>netcoyote</dc:creator><comments>https://news.ycombinator.com/item?id=48480827</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48480827</guid></item><item><title><![CDATA[New comment by netcoyote in "Ask HN: What are tools you have made for yourself since the advent of AI?"]]></title><description><![CDATA[
<p>You are correct: git 2.54 supports multiple hooks via a the git repo and global configuration files.<p>Git-multi-hook predates that, but I updated it to use the new 2.54 config-based format.<p>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.<p>I will update the README to make note. Thanks!</p>
]]></description><pubDate>Wed, 10 Jun 2026 01:01:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=48469892</link><dc:creator>netcoyote</dc:creator><comments>https://news.ycombinator.com/item?id=48469892</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48469892</guid></item><item><title><![CDATA[New comment by netcoyote in "Ask HN: What are tools you have made for yourself since the advent of AI?"]]></title><description><![CDATA[
<p>Glad you enjoyed playing. It was an amazing journey building the game, and I’m grateful so many folks appreciated the experience we created.</p>
]]></description><pubDate>Wed, 10 Jun 2026 00:49:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=48469822</link><dc:creator>netcoyote</dc:creator><comments>https://news.ycombinator.com/item?id=48469822</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48469822</guid></item><item><title><![CDATA[New comment by netcoyote in "Ask HN: What are tools you have made for yourself since the advent of AI?"]]></title><description><![CDATA[
<p>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?</p>
]]></description><pubDate>Wed, 10 Jun 2026 00:45:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=48469794</link><dc:creator>netcoyote</dc:creator><comments>https://news.ycombinator.com/item?id=48469794</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48469794</guid></item><item><title><![CDATA[New comment by netcoyote in "Ask HN: What are tools you have made for yourself since the advent of AI?"]]></title><description><![CDATA[
<p>Glad you’re enjoying it. It started as a tool for my own motivation, and I’m so glad it’s helped you too :)</p>
]]></description><pubDate>Wed, 10 Jun 2026 00:44:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=48469774</link><dc:creator>netcoyote</dc:creator><comments>https://news.ycombinator.com/item?id=48469774</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48469774</guid></item><item><title><![CDATA[New comment by netcoyote in "Ask HN: What are tools you have made for yourself since the advent of AI?"]]></title><description><![CDATA[
<p>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 you.</p>
]]></description><pubDate>Wed, 10 Jun 2026 00:43:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=48469767</link><dc:creator>netcoyote</dc:creator><comments>https://news.ycombinator.com/item?id=48469767</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48469767</guid></item><item><title><![CDATA[New comment by netcoyote in "Ask HN: What are tools you have made for yourself since the advent of AI?"]]></title><description><![CDATA[
<p>Thank you, glad you enjoyed the articles. I wish I had the motivation to write more!</p>
]]></description><pubDate>Wed, 10 Jun 2026 00:41:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=48469754</link><dc:creator>netcoyote</dc:creator><comments>https://news.ycombinator.com/item?id=48469754</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48469754</guid></item><item><title><![CDATA[New comment by netcoyote in "Ask HN: What are tools you have made for yourself since the advent of AI?"]]></title><description><![CDATA[
<p>Tools I’ve built for myself:<p>- sandvault <a href="https://www.codeofhonor.com/projects/sandvault/" rel="nofollow">https://www.codeofhonor.com/projects/sandvault/</a>  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.<p>- clodpod <a href="https://www.codeofhonor.com/projects/clodpod/" rel="nofollow">https://www.codeofhonor.com/projects/clodpod/</a> agents run inside a macOS VM.<p>- git-multi-hook <a href="https://www.codeofhonor.com/projects/git-multi-hook/" rel="nofollow">https://www.codeofhonor.com/projects/git-multi-hook/</a> 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.<p>- TubeGate <a href="https://www.codeofhonor.com/projects/tubegate/" rel="nofollow">https://www.codeofhonor.com/projects/tubegate/</a> Chrome extension to block YouTube videos based on keywords (like “sponsored”).<p>- push10k <a href="https://www.codeofhonor.com/projects/push10k/" rel="nofollow">https://www.codeofhonor.com/projects/push10k/</a> iOS app to track my progress toward 10,000 push-ups.<p>My blog is AI-coded: Zola static site, Sveltia CMS, Cloudflare Pages/Workers, with GitHub Actions handling builds and syndication. <a href="https://www.codeofhonor.com" rel="nofollow">https://www.codeofhonor.com</a></p>
]]></description><pubDate>Tue, 09 Jun 2026 03:57:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=48456184</link><dc:creator>netcoyote</dc:creator><comments>https://news.ycombinator.com/item?id=48456184</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48456184</guid></item><item><title><![CDATA[New comment by netcoyote in "GTA 6 Developers Unionize"]]></title><description><![CDATA[
<p>revenue != margins<p>There are 20,000 games released per year that split all that revenue, minus the cost of building those games.</p>
]]></description><pubDate>Fri, 29 May 2026 19:11:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=48327905</link><dc:creator>netcoyote</dc:creator><comments>https://news.ycombinator.com/item?id=48327905</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48327905</guid></item><item><title><![CDATA[New comment by netcoyote in "Breaking up with WordPress after two decades"]]></title><description><![CDATA[
<p>There must be something in the air, because I just migrated away from WordPress & Bluehost too: <a href="https://www.codeofhonor.com/blog/migrating-away-from-wordpress/" rel="nofollow">https://www.codeofhonor.com/blog/migrating-away-from-wordpre...</a>. I'm so much happier with the site.<p>The solution I'm using is certainly not as mature and featureful as WordPress, but I don't have to patch it for security holes so frequently either.</p>
]]></description><pubDate>Sun, 03 May 2026 18:35:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=47999953</link><dc:creator>netcoyote</dc:creator><comments>https://news.ycombinator.com/item?id=47999953</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47999953</guid></item><item><title><![CDATA[New comment by netcoyote in "Zed 1.0"]]></title><description><![CDATA[
<p>I've tried a lot of editors, including Zed, and always come back to Sublime Text.<p>I use it every day. The #1 reason is because it never loses unsaved files (though I'm still working on breaking the habit of typing a few characters and pressing Ctrl-S). Column editing! Macros! Record/Playback! Configuration! Plugins! Responsiveness! Low resource utilization! Etc!<p>Why wouldn't I pay for it? I've bought all four versions. The author deserves to be paid.<p>I guess the question is: why don't you want to pay for it? Assuming here that you're a professional coder being paid a reasonable, US-equivalent salary. I understand not everyone fits that situation; plenty of us pirated software as starving college students / interns, folks in other countries don't get the same pay for the same work, etc.<p>We should all want to pay the authors of great software. We're on HN, which is a celebration of creating great code and awesome businesses.<p>"Pay him. Pay that man his money"
- Teddy KGB</p>
]]></description><pubDate>Thu, 30 Apr 2026 03:31:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=47957752</link><dc:creator>netcoyote</dc:creator><comments>https://news.ycombinator.com/item?id=47957752</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47957752</guid></item><item><title><![CDATA[New comment by netcoyote in "Game devs explain the tricks involved with letting you pause a game"]]></title><description><![CDATA[
<p>Oh, and I forgot to mention that pause had to be synchronized across the network, so the pause button would pause for all players.<p>And in the "this is why we can't have nice things", that also introduced problems, because we didn't want a player who was losing to keep pausing the game until the winning player quit out of frustration, so I think we kept a per-player pause counter, which would only be restored if other players also paused? (I don't quite remember all the details, just that we had to prevent yet another abuse vector).</p>
]]></description><pubDate>Sun, 19 Apr 2026 19:19:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=47826836</link><dc:creator>netcoyote</dc:creator><comments>https://news.ycombinator.com/item?id=47826836</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47826836</guid></item><item><title><![CDATA[New comment by netcoyote in "Game devs explain the tricks involved with letting you pause a game"]]></title><description><![CDATA[
<p>While I don't have the original code, it's something along the lines of this:<p><pre><code>    // for each palette entry:
    pal.r = pal.b = pal.g = (byte) (0.299 * pal.r + 0.587 * pal.b + 0.114 * pal.b)</code></pre></p>
]]></description><pubDate>Sun, 19 Apr 2026 19:13:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=47826793</link><dc:creator>netcoyote</dc:creator><comments>https://news.ycombinator.com/item?id=47826793</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47826793</guid></item><item><title><![CDATA[New comment by netcoyote in "Game devs explain the tricks involved with letting you pause a game"]]></title><description><![CDATA[
<p>One of the fun features that I developed for Warcraft (the RTS) was to fade the screen to grayscale when the game is paused.<p>Since the game uses a 256 color palette, it was only necessary to update a few bytes of data (3x256) instead of redrawing the whole screen, so the effect was quick.<p>I also used this trick when the game stalled due to missing network packets from other players. Initially the game would still be responsive when no messages were received so that you could still interact and send commands. After a few seconds the game would go into paused state with grayscale screen to signify the player that things were stuck. Then several seconds after that a dialog box would show allowing a player to quit the game.<p>This was much less disruptive than displaying a dialog box immediately on network stall.</p>
]]></description><pubDate>Sun, 19 Apr 2026 15:08:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=47824861</link><dc:creator>netcoyote</dc:creator><comments>https://news.ycombinator.com/item?id=47824861</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47824861</guid></item></channel></rss>