<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: biwills</title><link>https://news.ycombinator.com/user?id=biwills</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Thu, 20 Aug 2026 15:20:23 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=biwills" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by biwills in "Rewriting in Rust"]]></title><description><![CDATA[
<p>> And then there’s the Stack Overflow Developer Survey.<p>Honest question, at what point is the Stack Overflow Developer Survey not representative of the average software engineer, many (most?) of who no longer use Stack Overflow?</p>
]]></description><pubDate>Thu, 20 Aug 2026 07:17:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=49371442</link><dc:creator>biwills</dc:creator><comments>https://news.ycombinator.com/item?id=49371442</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49371442</guid></item><item><title><![CDATA[New comment by biwills in "Show HN: macOS data protection keychain for Electron apps"]]></title><description><![CDATA[
<p>true and I'd love to be able to expand support out for the equivalent versions in linux / windows. For now, you can always fall back to using safeStorage on non macOS platforms!</p>
]]></description><pubDate>Wed, 19 Aug 2026 00:20:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=49354883</link><dc:creator>biwills</dc:creator><comments>https://news.ycombinator.com/item?id=49354883</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49354883</guid></item><item><title><![CDATA[New comment by biwills in "Git at any scale"]]></title><description><![CDATA[
<p>> What about consensus? Elections? Which server is the primary for a given repository? It also doesn't matter! There's no state and no consensus here. Any server can be the primary. All updates to the write-ahead log are synchronized with an atomic compare-and-swap (CAS) operation on S3, so it's always safe for any instance of a repository to receive a push.<p>Again reminded of what an amaizing piece of engineering S3 is (99.999999999% - 11 nines of durability) [1]<p>1: <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/DataDurability.html" rel="nofollow">https://docs.aws.amazon.com/AmazonS3/latest/userguide/DataDu...</a></p>
]]></description><pubDate>Tue, 18 Aug 2026 22:11:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=49353471</link><dc:creator>biwills</dc:creator><comments>https://news.ycombinator.com/item?id=49353471</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49353471</guid></item><item><title><![CDATA[Show HN: macOS data protection keychain for Electron apps]]></title><description><![CDATA[
<p>Hey HN,<p>I've been working on Hansel [1] (an encrypted personal data store you can query with agents), and there wasn't a good way to use the modern macOS Data Protection Keychain.<p>Electron's safeStorage [2] uses the legacy file-based keychain, which allows other apps/agents to query it with the `security` CLI. Not great when you have a dozen agents running in the background! The Data Protection Keychain is nice because it limits access via code-signing access groups and lets you set access rules like Touch ID and/or password.<p>1: <a href="https://hansel.so/" rel="nofollow">https://hansel.so/</a><p>2. <a href="https://www.electronjs.org/docs/latest/api/safe-storage" rel="nofollow">https://www.electronjs.org/docs/latest/api/safe-storage</a></p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=49349159">https://news.ycombinator.com/item?id=49349159</a></p>
<p>Points: 24</p>
<p># Comments: 3</p>
]]></description><pubDate>Tue, 18 Aug 2026 17:25:19 +0000</pubDate><link>https://github.com/biw/keychain-store</link><dc:creator>biwills</dc:creator><comments>https://news.ycombinator.com/item?id=49349159</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49349159</guid></item><item><title><![CDATA[Swift-Node: Write Node.js Native Modules in Swift]]></title><description><![CDATA[
<p>Article URL: <a href="https://github.com/biw/swift-node">https://github.com/biw/swift-node</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=49255700">https://news.ycombinator.com/item?id=49255700</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Tue, 11 Aug 2026 10:01:04 +0000</pubDate><link>https://github.com/biw/swift-node</link><dc:creator>biwills</dc:creator><comments>https://news.ycombinator.com/item?id=49255700</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49255700</guid></item><item><title><![CDATA[Keep agent skills updated across your GitHub repositories]]></title><description><![CDATA[
<p>Article URL: <a href="https://github.com/biw/skills-updater">https://github.com/biw/skills-updater</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=49159587">https://news.ycombinator.com/item?id=49159587</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 03 Aug 2026 18:23:45 +0000</pubDate><link>https://github.com/biw/skills-updater</link><dc:creator>biwills</dc:creator><comments>https://news.ycombinator.com/item?id=49159587</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49159587</guid></item><item><title><![CDATA[New comment by biwills in "Figma files for proposed IPO"]]></title><description><![CDATA[
<p>I disagree, many companies are still great even after going public in the last decade:<p>Shopify, Cloudflare, Zoom, Spotify, Roblox, and Coinbase are all notable examples.</p>
]]></description><pubDate>Wed, 02 Jul 2025 07:22:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=44441008</link><dc:creator>biwills</dc:creator><comments>https://news.ycombinator.com/item?id=44441008</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44441008</guid></item><item><title><![CDATA[New comment by biwills in "We are building the next DocuSign"]]></title><description><![CDATA[
<p>Please add links on your site to your Terms of Service and Privacy Policy.</p>
]]></description><pubDate>Thu, 27 Mar 2025 21:50:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=43498593</link><dc:creator>biwills</dc:creator><comments>https://news.ycombinator.com/item?id=43498593</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43498593</guid></item><item><title><![CDATA[Simple Typed Errors in TypeScript]]></title><description><![CDATA[
<p>Article URL: <a href="https://github.com/biw/enwrap">https://github.com/biw/enwrap</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=43381484">https://news.ycombinator.com/item?id=43381484</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Sun, 16 Mar 2025 19:30:41 +0000</pubDate><link>https://github.com/biw/enwrap</link><dc:creator>biwills</dc:creator><comments>https://news.ycombinator.com/item?id=43381484</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43381484</guid></item><item><title><![CDATA[New comment by biwills in "Why Every Programming Language Sucks at Error Handling"]]></title><description><![CDATA[
<p>The biggest problem I see is that, like static/dynamic typing, it's usually a boil-the-ocean problem. Most languages have historically been static or dynamically typed. Only recently have TypeScript and Python allowed for migration from dynamic to static typing, introducing millions(?) of developers to static types in the process.<p>With errors, it's hard since many languages can throw errors anywhere, so it's hard to feel like any function is "safe" in terms of error handling. That's one of the reasons why `enwrap` returns a generic error alongside any other result: to support incremental adoption.<p>If you have a chance to check out `enwrap` and have feedback, email me! (link in bio)</p>
]]></description><pubDate>Tue, 11 Mar 2025 21:54:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=43337473</link><dc:creator>biwills</dc:creator><comments>https://news.ycombinator.com/item?id=43337473</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43337473</guid></item><item><title><![CDATA[New comment by biwills in "Why Every Programming Language Sucks at Error Handling"]]></title><description><![CDATA[
<p>The more I write software, the more I think errors should be first-class citizens (camp #2 from the OP's post).<p>I've been using <a href="https://github.com/biw/enwrap" rel="nofollow">https://github.com/biw/enwrap</a> (disclaimer: I wrote it) in TypeScript and have found that the overhead it adds is well worth the safety it adds when handling and returning errors to users.<p>That said, I see parallels between the debate about typed vs. non-typed errors and the debate of static typing vs. dynamic typing in programming languages.</p>
]]></description><pubDate>Tue, 11 Mar 2025 19:52:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=43336374</link><dc:creator>biwills</dc:creator><comments>https://news.ycombinator.com/item?id=43336374</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43336374</guid></item><item><title><![CDATA[New comment by biwills in "iTerm2 critical security release"]]></title><description><![CDATA[
<p>Kitty (<a href="https://sw.kovidgoyal.net/kitty" rel="nofollow">https://sw.kovidgoyal.net/kitty</a>) has been my go to for many years and with tmux it's fantastic.<p>I have heard a lot of great things about <a href="https://ghostty.org/" rel="nofollow">https://ghostty.org/</a> but haven't had a chance to check it out<p>edit: oops, I misread your question as "what alternatives are there"</p>
]]></description><pubDate>Thu, 02 Jan 2025 22:43:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=42579810</link><dc:creator>biwills</dc:creator><comments>https://news.ycombinator.com/item?id=42579810</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42579810</guid></item><item><title><![CDATA[New comment by biwills in "Text Editing Hates You Too (2019)"]]></title><description><![CDATA[
<p>I'd say it's less about covering all edge cases and more about showing that text editors are insanely complex, and it doesn't take long to find edge cases that text editors with 10s/100s of millions of users have.</p>
]]></description><pubDate>Tue, 03 Dec 2024 21:08:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=42311455</link><dc:creator>biwills</dc:creator><comments>https://news.ycombinator.com/item?id=42311455</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42311455</guid></item><item><title><![CDATA[New comment by biwills in "Text Editing Hates You Too (2019)"]]></title><description><![CDATA[
<p>This reminds me of Marijn Haverbeke's, the author of CodeMirror and Prosemirror, blog post about making the first version of CodeMirror<p><a href="https://codemirror.net/1/story.html" rel="nofollow">https://codemirror.net/1/story.html</a></p>
]]></description><pubDate>Tue, 03 Dec 2024 21:04:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=42311405</link><dc:creator>biwills</dc:creator><comments>https://news.ycombinator.com/item?id=42311405</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42311405</guid></item><item><title><![CDATA[New comment by biwills in "NPM package is-even has over 140k weekly downloads"]]></title><description><![CDATA[
<p>From the description of the repo on GitHub:<p>> I created this in 2014, the year I learned how to program. All of the downloads are from an old version of <a href="https://github.com/micromatch/micromatch">https://github.com/micromatch/micromatch</a>.</p>
]]></description><pubDate>Mon, 13 May 2024 07:14:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=40340532</link><dc:creator>biwills</dc:creator><comments>https://news.ycombinator.com/item?id=40340532</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40340532</guid></item><item><title><![CDATA[New comment by biwills in "Faraday.dev – Connect your phone to LLMs running on your desktop"]]></title><description><![CDATA[
<p>Yes, but we have more details on our cloud offering coming soon</p>
]]></description><pubDate>Wed, 28 Feb 2024 20:19:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=39542981</link><dc:creator>biwills</dc:creator><comments>https://news.ycombinator.com/item?id=39542981</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39542981</guid></item><item><title><![CDATA[New comment by biwills in "Faraday.dev – Connect your phone to LLMs running on your desktop"]]></title><description><![CDATA[
<p>Hey HN,<p>Excited to share Mobile Tethering, our latest feature release on Faraday.dev. It lets you run local LLMs on your Mac/Windows Computer (Linux soon) and seamlessly use them to chat with AI on mobile. Since all the heavy workloads run directly on your computer (instead of on an expensive cloud server), it's 100% free to use, and your chat data is never stored or logged in the cloud.<p>I'm one of the founders of Faraday.dev, so would love to hear any ideas you have on what we should build next!<p>__<p>PS: For those who've never used Faraday – it's a zero-config desktop app for creating AI characters (custom chatbots) powered by locally running LLMs. Faraday can run on CPU with only 8GB of RAM via llama.cpp by @ggerganov, and the app will automatically use your GPU to speed things up. We also have a community-driven Character Hub, text-to-speech, lorebooks, and more.</p>
]]></description><pubDate>Wed, 28 Feb 2024 19:53:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=39542694</link><dc:creator>biwills</dc:creator><comments>https://news.ycombinator.com/item?id=39542694</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39542694</guid></item><item><title><![CDATA[Faraday.dev – Connect your phone to LLMs running on your desktop]]></title><description><![CDATA[
<p>Article URL: <a href="https://faraday.dev/blog/mobile-tethering">https://faraday.dev/blog/mobile-tethering</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=39542693">https://news.ycombinator.com/item?id=39542693</a></p>
<p>Points: 8</p>
<p># Comments: 3</p>
]]></description><pubDate>Wed, 28 Feb 2024 19:53:19 +0000</pubDate><link>https://faraday.dev/blog/mobile-tethering</link><dc:creator>biwills</dc:creator><comments>https://news.ycombinator.com/item?id=39542693</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39542693</guid></item><item><title><![CDATA[New comment by biwills in "Many options for running Mistral models in your terminal using LLM"]]></title><description><![CDATA[
<p>Yes. Here's a quick rundown of grammar in llama.cpp (link on the docs of faraday.dev which runs llama.cpp under the hood)<p><a href="https://docs.faraday.dev/character-creation/grammars" rel="nofollow noreferrer">https://docs.faraday.dev/character-creation/grammars</a></p>
]]></description><pubDate>Tue, 19 Dec 2023 08:34:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=38693227</link><dc:creator>biwills</dc:creator><comments>https://news.ycombinator.com/item?id=38693227</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38693227</guid></item><item><title><![CDATA[New comment by biwills in "Code Llama, a state-of-the-art large language model for coding"]]></title><description><![CDATA[
<p>We are doing this with <a href="https://Faraday.dev" rel="nofollow noreferrer">https://Faraday.dev</a> - would love to chat more - my email is on my profile!</p>
]]></description><pubDate>Fri, 25 Aug 2023 00:05:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=37256145</link><dc:creator>biwills</dc:creator><comments>https://news.ycombinator.com/item?id=37256145</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37256145</guid></item></channel></rss>