<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: _sinelaw_</title><link>https://news.ycombinator.com/user?id=_sinelaw_</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Thu, 22 Oct 2026 17:48:59 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=_sinelaw_" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by _sinelaw_ in "Tsrs: A Port of TypeScript to Rust"]]></title><description><![CDATA[
<p>I assume you mean jsdoc + tsc in js type checking mode (tsc --allowJs --checkJs --strict)?<p>inty infers more - including generics (parametric polymorphism), while tsc is more of a simpler local inference.<p>inty is more strict - it accepts less programs than tsc would. This is mostly on purpose (to our benefit) as some of those programs have unsound code like array covariant (downcasting array members of the wrong type). tsc makes it easier to slip through these bugs.<p>And if tsc + jsdoc is good then the same question remains (do we really need the TypeScript language?)</p>
]]></description><pubDate>Tue, 20 Oct 2026 20:54:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=50172534</link><dc:creator>_sinelaw_</dc:creator><comments>https://news.ycombinator.com/item?id=50172534</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50172534</guid></item><item><title><![CDATA[New comment by _sinelaw_ in "Tsrs: A Port of TypeScript to Rust"]]></title><description><![CDATA[
<p>Or we can just drop TypeScript completely and type-check JavaScript directly.<p>With HM-style type inference, row-polymorphism, sum types, type classes for overloading + operations, recursive types for object methods, and type annotations for edge cases.<p>I've been working on this since before TypeScript existed. Latest incarnation: <a href="https://github.com/sinelaw/inty" rel="nofollow">https://github.com/sinelaw/inty</a><p>Demo: <a href="https://sinelaw.github.io/inty/" rel="nofollow">https://sinelaw.github.io/inty/</a> (you may need to reload once)</p>
]]></description><pubDate>Tue, 20 Oct 2026 20:10:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=50171978</link><dc:creator>_sinelaw_</dc:creator><comments>https://news.ycombinator.com/item?id=50171978</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50171978</guid></item><item><title><![CDATA[New comment by _sinelaw_ in "I hate packaging my software for Linux"]]></title><description><![CDATA[
<p>You still need the distro maintainers to cooperate. And the packaging itself can be highly involved (as in the case of rust dependencies on Debian)</p>
]]></description><pubDate>Wed, 12 Aug 2026 13:40:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=49272269</link><dc:creator>_sinelaw_</dc:creator><comments>https://news.ycombinator.com/item?id=49272269</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49272269</guid></item><item><title><![CDATA[New comment by _sinelaw_ in "I hate packaging my software for Linux"]]></title><description><![CDATA[
<p>Exactly. It's ironic that the end result is "windows is easier". Ugh.</p>
]]></description><pubDate>Wed, 12 Aug 2026 13:35:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=49272211</link><dc:creator>_sinelaw_</dc:creator><comments>https://news.ycombinator.com/item?id=49272211</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49272211</guid></item><item><title><![CDATA[New comment by _sinelaw_ in "I hate packaging my software for Linux"]]></title><description><![CDATA[
<p>Still need to handle automatic upgrades. That's my plan. I was wondering if there's a better way...</p>
]]></description><pubDate>Wed, 12 Aug 2026 13:34:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=49272185</link><dc:creator>_sinelaw_</dc:creator><comments>https://news.ycombinator.com/item?id=49272185</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49272185</guid></item><item><title><![CDATA[New comment by _sinelaw_ in "I hate packaging my software for Linux"]]></title><description><![CDATA[
<p>Flathub (not sure if these are the same people behind Flatpak) makes it clear they don't welcome these types of submissions:<p><a href="https://docs.flathub.org/docs/for-app-authors/requirements" rel="nofollow">https://docs.flathub.org/docs/for-app-authors/requirements</a></p>
]]></description><pubDate>Wed, 12 Aug 2026 13:32:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=49272154</link><dc:creator>_sinelaw_</dc:creator><comments>https://news.ycombinator.com/item?id=49272154</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49272154</guid></item><item><title><![CDATA[New comment by _sinelaw_ in "I hate packaging my software for Linux"]]></title><description><![CDATA[
<p>If I don't make my program easy to install, many people won't even try it.<p>Being responsive to maintainers doesn't help if maintainers never reach out or even actively refuse to package your software.</p>
]]></description><pubDate>Wed, 12 Aug 2026 13:25:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=49272070</link><dc:creator>_sinelaw_</dc:creator><comments>https://news.ycombinator.com/item?id=49272070</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49272070</guid></item><item><title><![CDATA[New comment by _sinelaw_ in "I hate packaging my software for Linux"]]></title><description><![CDATA[
<p>It's a problem for my potential users. I don't get this "it's not your job to distribute your own software".</p>
]]></description><pubDate>Wed, 12 Aug 2026 13:23:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=49272037</link><dc:creator>_sinelaw_</dc:creator><comments>https://news.ycombinator.com/item?id=49272037</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49272037</guid></item><item><title><![CDATA[New comment by _sinelaw_ in "I hate packaging my software for Linux"]]></title><description><![CDATA[
<p>Sure, I already do offer deb/rpm via GitHub release page. My problem is ensuring users have an easy way to update</p>
]]></description><pubDate>Wed, 12 Aug 2026 13:20:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=49271999</link><dc:creator>_sinelaw_</dc:creator><comments>https://news.ycombinator.com/item?id=49271999</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49271999</guid></item><item><title><![CDATA[New comment by _sinelaw_ in "I hate packaging my software for Linux"]]></title><description><![CDATA[
<p>I do publish deb files in the GitHub release page. Will take a look at aptly / reprepo</p>
]]></description><pubDate>Wed, 12 Aug 2026 13:04:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=49271795</link><dc:creator>_sinelaw_</dc:creator><comments>https://news.ycombinator.com/item?id=49271795</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49271795</guid></item><item><title><![CDATA[New comment by _sinelaw_ in "I hate packaging my software for Linux"]]></title><description><![CDATA[
<p>"Someone else's job" doesn't help getting the software into my user's hands.<p>I need a solution that works for my users regardless.</p>
]]></description><pubDate>Wed, 12 Aug 2026 12:52:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=49271652</link><dc:creator>_sinelaw_</dc:creator><comments>https://news.ycombinator.com/item?id=49271652</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49271652</guid></item><item><title><![CDATA[New comment by _sinelaw_ in "I hate packaging my software for Linux"]]></title><description><![CDATA[
<p>cargo install (the equivalent command here) is available. Downsides:<p>- very slow<p>- need to install prerequisites<p>- not possible on many machines (to weak, not enough disk for running builds)<p>Many users don't want to deal with this</p>
]]></description><pubDate>Wed, 12 Aug 2026 11:47:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=49270901</link><dc:creator>_sinelaw_</dc:creator><comments>https://news.ycombinator.com/item?id=49270901</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49270901</guid></item><item><title><![CDATA[New comment by _sinelaw_ in "I hate packaging my software for Linux"]]></title><description><![CDATA[
<p>Hi, I'm the author of this post (and of Fresh). I've spent a lot of time getting it distributed cleanly to Linux users of all distros, and it's an uphill battle. I'm curious how other solo maintainers are dealing with this problem. Is a self updating static binary a reasonable solution?</p>
]]></description><pubDate>Wed, 12 Aug 2026 11:42:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=49270860</link><dc:creator>_sinelaw_</dc:creator><comments>https://news.ycombinator.com/item?id=49270860</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49270860</guid></item><item><title><![CDATA[I hate packaging my software for Linux]]></title><description><![CDATA[
<p>Article URL: <a href="https://getfresh.dev/docs/blog/packaging-for-linux/">https://getfresh.dev/docs/blog/packaging-for-linux/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=49270764">https://news.ycombinator.com/item?id=49270764</a></p>
<p>Points: 101</p>
<p># Comments: 150</p>
]]></description><pubDate>Wed, 12 Aug 2026 11:33:48 +0000</pubDate><link>https://getfresh.dev/docs/blog/packaging-for-linux/</link><dc:creator>_sinelaw_</dc:creator><comments>https://news.ycombinator.com/item?id=49270764</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49270764</guid></item><item><title><![CDATA[New comment by _sinelaw_ in "$100 to a Debian Developer who can get Fresh Editor into Trixie"]]></title><description><![CDATA[
<p>(Fresh maintainer here)<p>Fresh itself has a few dozen direct dependencies. About 33 of those already exist on Debian. It boils down to these missing dependencies:<p>- The entire oxc toolchain — oxc_allocator, oxc_ast, oxc_codegen, oxc_diagnostics, oxc_isolated_declarations, oxc_parser, oxc_semantic, oxc_span, oxc_transformer<p>- rquickjs, rquickjs-serde (the QuickJS plugin engine)<p>- ts-rs<p>- jsonc-parser<p>- rust-i18n (this one has an open ITP)<p>If we build Fresh without plugins enabled, it's just the last three.</p>
]]></description><pubDate>Wed, 03 Jun 2026 13:21:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=48383662</link><dc:creator>_sinelaw_</dc:creator><comments>https://news.ycombinator.com/item?id=48383662</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48383662</guid></item><item><title><![CDATA[New comment by _sinelaw_ in "Ask HN: Are you using an agent orchestrator to write code?"]]></title><description><![CDATA[
<p>The harder problem is conflicting design choices, or duplicating similar infra. It means I need to be much more involved in steering individual agents and planning up front (waterfall style), which limits the parallelism further</p>
]]></description><pubDate>Fri, 13 Feb 2026 06:36:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=46999625</link><dc:creator>_sinelaw_</dc:creator><comments>https://news.ycombinator.com/item?id=46999625</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46999625</guid></item><item><title><![CDATA[New comment by _sinelaw_ in "Ask HN: Are you using an agent orchestrator to write code?"]]></title><description><![CDATA[
<p>I did when just starting on a new project, it was working well when I had many new components to implement.
But as the project matured and stabilized every new feature is cross-cutting and it's impossible to parallelize the work without running into conflicts (design conflicts, where two agents would add similar overlapping mechanisms, and also the usual code conflicts, touching the same files). Also, with project maturity I'm much more concerned about keeping it stable and correct, which is hard to do with parallel agents running amok.</p>
]]></description><pubDate>Fri, 13 Feb 2026 05:53:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=46999369</link><dc:creator>_sinelaw_</dc:creator><comments>https://news.ycombinator.com/item?id=46999369</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46999369</guid></item><item><title><![CDATA[New comment by _sinelaw_ in "Termux"]]></title><description><![CDATA[
<p>It even runs Fresh so you can have a mini VSCode-like experience on your phone (pkg update && pkg install fresh-editor)</p>
]]></description><pubDate>Mon, 02 Feb 2026 14:05:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=46856173</link><dc:creator>_sinelaw_</dc:creator><comments>https://news.ycombinator.com/item?id=46856173</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46856173</guid></item><item><title><![CDATA[New comment by _sinelaw_ in "Show HN: PNANA - A TUI Text Editor"]]></title><description><![CDATA[
<p>Let me know if you still have issues, I'll look into it</p>
]]></description><pubDate>Thu, 29 Jan 2026 09:03:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=46807580</link><dc:creator>_sinelaw_</dc:creator><comments>https://news.ycombinator.com/item?id=46807580</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46807580</guid></item><item><title><![CDATA[New comment by _sinelaw_ in "Threat actors expand abuse of Microsoft Visual Studio Code"]]></title><description><![CDATA[
<p>Is this 'task' feature really useful? I'd say applications like IDEs and text editors should not have automatic arbitrary execution of code in the first place. 'eval' should be blocked and extensions/plugins should have only very limited power to execute external logic (such as processes for LSP) or require allowlisting manually every process.</p>
]]></description><pubDate>Thu, 22 Jan 2026 11:45:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=46718010</link><dc:creator>_sinelaw_</dc:creator><comments>https://news.ycombinator.com/item?id=46718010</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46718010</guid></item></channel></rss>