<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: moody__</title><link>https://news.ycombinator.com/user?id=moody__</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sun, 05 Apr 2026 22:13:07 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=moody__" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by moody__ in "Vibechart"]]></title><description><![CDATA[
<p>After all of this hype this is the best they can do? This is the forefront company (arguable) of the forefront tech and no one can review slides before being shipped out? I think the reason why this has resonated with people is that it gives a "vibe" of not giving a shit, they'll ship whatever next slop generator they want and they expect people to gladly lap it up. Either that or they're using their own dog food and the result is this mess. Do the stats even matter anymore? Is that what they're banking on?</p>
]]></description><pubDate>Fri, 08 Aug 2025 01:16:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=44832340</link><dc:creator>moody__</dc:creator><comments>https://news.ycombinator.com/item?id=44832340</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44832340</guid></item><item><title><![CDATA[New comment by moody__ in "Porting Tailscale to Plan 9"]]></title><description><![CDATA[
<p>There aren't really union filesystems per se, the plan 9 kernel provides unions through its namespace model. In my opinion part of the reason why the userspace tools can be as nice as they are, are due to the use of file system interfaces and the simplistic syscall API. Could you elaborate more on the issues you see with the use of these?<p>In regards to using it for a "cloud native" stack, the issue is that people want to run code that isn't designed for Plan 9. You could build whatever backplane type thing you want out of plan 9 but the end goal is still likely to be to run some web app or REST api server. Unless someone does a great deal of effort to port all of those environments that people want (nodejs, modern python, etc) you're going to be stuck using a VM and losing a lot of the benefit.<p>This feels similar to what Joyent did with lxzones in SmartOS, where the backplane was solaris based but the apps they were running for clients were using Linux. It's hard to make the plan 9 backplane better enough to warrant dealing with integrating the guest and host environment.</p>
]]></description><pubDate>Wed, 02 Apr 2025 19:34:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=43560615</link><dc:creator>moody__</dc:creator><comments>https://news.ycombinator.com/item?id=43560615</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43560615</guid></item><item><title><![CDATA[New comment by moody__ in "Porting Tailscale to Plan 9"]]></title><description><![CDATA[
<p>Yes you're correct, my apologies. There has been work on this going the other way as well: <a href="https://github.com/michaelforney/wl9" rel="nofollow">https://github.com/michaelforney/wl9</a>. But there's still a lot more than can be done. There are vague plans to test the waters implementing something like this in to our vmx(1).</p>
]]></description><pubDate>Wed, 02 Apr 2025 17:37:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=43559173</link><dc:creator>moody__</dc:creator><comments>https://news.ycombinator.com/item?id=43559173</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43559173</guid></item><item><title><![CDATA[New comment by moody__ in "Porting Tailscale to Plan 9"]]></title><description><![CDATA[
<p>Could you expand more on what you would like out of an "enterprise Plan 9"?</p>
]]></description><pubDate>Wed, 02 Apr 2025 17:34:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=43559150</link><dc:creator>moody__</dc:creator><comments>https://news.ycombinator.com/item?id=43559150</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43559150</guid></item><item><title><![CDATA[New comment by moody__ in "Porting Tailscale to Plan 9"]]></title><description><![CDATA[
<p>This has been done already: <a href="https://github.com/aiju/jsdrawterm" rel="nofollow">https://github.com/aiju/jsdrawterm</a></p>
]]></description><pubDate>Wed, 02 Apr 2025 17:24:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=43559072</link><dc:creator>moody__</dc:creator><comments>https://news.ycombinator.com/item?id=43559072</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43559072</guid></item><item><title><![CDATA[New comment by moody__ in "Smuggling arbitrary data through an emoji"]]></title><description><![CDATA[
<p>Sure, but the security concerns of that I feel are much less concerning than having multiple domain names with the same visual appearance that point to different servers. That has immediate impact for things like phishing whereas lookalike path or query portions would at least ensure you are still connecting to the server that you think you are.</p>
]]></description><pubDate>Thu, 13 Feb 2025 04:29:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=43032679</link><dc:creator>moody__</dc:creator><comments>https://news.ycombinator.com/item?id=43032679</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43032679</guid></item><item><title><![CDATA[New comment by moody__ in "Smuggling arbitrary data through an emoji"]]></title><description><![CDATA[
<p>As the sibling comment has mentioned Unicode in DNS uses a punycode encoding but even further then that the standard specifies that the Unicode data must be normalized to NFC[0] before being converted to punycode. This means that your second example (decomposed e with combining acute accent vs the composed variant) is not a valid concern. The Cyrillic one is however.<p>[0] <a href="https://www.rfc-editor.org/rfc/rfc5891" rel="nofollow">https://www.rfc-editor.org/rfc/rfc5891</a> § 4.1 "By the time a string enters the IDNA registration process as described in this specification, it MUST be in Unicode and in Normalization Form C"</p>
]]></description><pubDate>Wed, 12 Feb 2025 22:27:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=43030444</link><dc:creator>moody__</dc:creator><comments>https://news.ycombinator.com/item?id=43030444</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43030444</guid></item><item><title><![CDATA[New comment by moody__ in "Smuggling arbitrary data through an emoji"]]></title><description><![CDATA[
<p>Normalization implementations must not strip variation selectors by definition. The "normal" part of normalization means to convert a string into either consistently decomposed unicode, or composed unicode. ie U+00DC vs U+0055 + U+0308. However this decomposition mapping is also used (maybe more like abused) for converting certain "legacy" code points to non-legacy code points. There does not exist a rune which decomposes to variant selectors (and thus these variant selectors do not compose into anything) so normalization must not alter or strip them.<p>source: I've implemented Unicode normalization from scratch</p>
]]></description><pubDate>Wed, 12 Feb 2025 22:22:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=43030402</link><dc:creator>moody__</dc:creator><comments>https://news.ycombinator.com/item?id=43030402</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43030402</guid></item><item><title><![CDATA[New comment by moody__ in "Ask HN: Programmers who don't use autocomplete/LSP, how do you do it?"]]></title><description><![CDATA[
<p>I write a lot of code for 9front within 9front, all of which is done through the sam editor. While sam does have a powerful general purpose editing language, it doesn't do syntax highlighting or any sort of language aware tooling (LSPs, jump to def, autocomplete, whatever). However I didn't start off with this, I'm not too old (in the second half of my 20s now) so I did take the tour through Java IDE's, tricked out vim configs and vs code as I was learning how to program. However when I moved to working on 9front I actually felt like the lack of these features made it easier for me to focus.<p>I like to think of code as not that much different than prose, they are both strings of text for communicating information, typically in a fashion of one thing after the other. I think most people would find syntax highlighting for prose to be more annoying than not (outside of perhaps seeing grammar rules for learning). Once I tried reading and writing code without syntax highlighting I found that it encouraged me to actually read and digest code instead of just skimming it. Compare it to reading prose with and without certain subsections highlighted.<p>Autocomplete strikes me as optimizing the wrong end of the problem. When I'm writing code I generally am spending a lot more time thinking about the problem space or considering possible implementations then I am having my fingers on the keyboard actively typing it out. In general I think the more you're able to think carefully about code in general the smaller it gets, so I find it hard to believe that by making it easier to quickly dump large amounts of text on the screen you're really gaining much. I think there should be a larger focus on reading and understanding code than writing it.<p>Stuff like code search is quite nice, and even in 9front we do have some scripts and tooling built-in to help us do that. We have programs like 'Bfn' which can search for a function and send it to your text editor, file names with line numbers can also be quickly sent to the editor as well. I think advancements in tooling that helps people move around in code are generally great, the time spent searching for something is generally not something I enjoy. This was perhaps the nicest part of LSPs in my experience. However I do also think that if you make it quite easy to jump around to lots of different files there is less of an incentive to carefully consider how you're laying out your code. How 9front works where there is some tooling to reduce the monotony but not enough to make it easy to traverse a couple million line java project strikes a nice balance for me.</p>
]]></description><pubDate>Tue, 24 Dec 2024 20:23:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=42504649</link><dc:creator>moody__</dc:creator><comments>https://news.ycombinator.com/item?id=42504649</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42504649</guid></item><item><title><![CDATA[New comment by moody__ in "DOJ will push Google to sell off Chrome"]]></title><description><![CDATA[
<p>> Like all those magazine subscriptions make their money off ads. The idea that a business can't survive on its own is fine, no?<p>This is not quite the same, if a single magazine starts to become more ads than decent content it is not insurmountable for another company to start a competitor. It's not ad income itself that is bad, it's that in the case of a web browser it is insurmountable for a company to start up a competitor from scratch. It wasn't always the case, but because google has dumped so much engineering in to chrome they've effectively pulled up the ladder behind them.</p>
]]></description><pubDate>Tue, 19 Nov 2024 12:44:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=42182814</link><dc:creator>moody__</dc:creator><comments>https://news.ycombinator.com/item?id=42182814</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42182814</guid></item><item><title><![CDATA[New comment by moody__ in "DOJ will push Google to sell off Chrome"]]></title><description><![CDATA[
<p>A lot of discussion in this thread is pointing out that chromium is a thing and that it would be hard for a company to properly fund a web browser without the backing of a tech giant whose more direct revenue stream is elsewhere. I think this showcases a larger issue with the web as it stands today. Why has building a browser for the "open web" become such a complex piece of software that it requires the graces of a tech giant to even keep pace? Can nothing be done to the web to lower the barrier to entry such that an independent group (a la OpenBSD or similar) can maintain their own? Right now it seems this is only possible if you accept that you'll only be able to build on top of chromium.<p>I know the focus by the DOJ here seems to be more on search and less on the technical control that Google has over the web experience through implementation complexity, however I can only hope that by turning off the flow of free cash more "alternative" browsers are given some space to catch up. Things like manifest V3 show that Google is no stranger to tightening the leash if the innovation of web technologies impact their bottom line, I'd like to have a web where this type of control isn't possible.</p>
]]></description><pubDate>Tue, 19 Nov 2024 10:53:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=42182078</link><dc:creator>moody__</dc:creator><comments>https://news.ycombinator.com/item?id=42182078</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42182078</guid></item><item><title><![CDATA[New comment by moody__ in "Some thoughts on OpenSSH 9.8's PerSourcePenalties feature"]]></title><description><![CDATA[
<p>I can't speak for OpenBSD specifically but I can speak to some of my thoughts in why an operating system continues to use C. Supporting a language ecosystem is not easy, the less "default" languages needed to bootstrap the core system the better. The nice part about C is that it's one of the few languages suited for both kernel space and user space. Out of the alternatives you listed the only language that could even seriously be considered for kernel space is rust, and even that took a lot of back and forth to get it to that point in the Linux kernel. Higher level languages have a larger range as assumptions and you have to tow those accomodations in to kernel space if you want to use them. There is also the issue of the memory management in kernel space being much more of a complicated environment than user space. How do I teach the borrow checker about my MMU bring up and maintenance?<p>I am also skeptical to your claim about removing memory bugs freeing up brain space for logic bugs, at least for Rust. Rust has grown quite a number of language features, that in my experience, result in a higher cognitive load compared to C. If you seriously reduce your reliance on the C macro system (as Plan
9 has shown possible), the language itself is quite simple.</p>
]]></description><pubDate>Thu, 15 Aug 2024 04:02:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=41253006</link><dc:creator>moody__</dc:creator><comments>https://news.ycombinator.com/item?id=41253006</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41253006</guid></item><item><title><![CDATA[New comment by moody__ in "Plan 9 is a uniquely complete operating system"]]></title><description><![CDATA[
<p>I didn't directly mention third party software but when I talk about the various levels of default software the implication is that those with less built in typically rely more heavily on third party software. Even those who do ship a more batteries included base still have to provide mechanisms for using third party software given the ecosystem.<p>> ... has a lot of third party software that would be hard to maintain along with the rest of the system<p>This is the point that the article is trying to challenge. I think 9front proves that it's doable.<p>> Most people don't care what commit your system is built from as long as it works as their programs expect it to.<p>The former helps the later a lot. Everything is tested with each other and for a lot of functionality there is only one option.</p>
]]></description><pubDate>Sun, 28 Jul 2024 16:52:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=41094343</link><dc:creator>moody__</dc:creator><comments>https://news.ycombinator.com/item?id=41094343</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41094343</guid></item><item><title><![CDATA[New comment by moody__ in "Plan 9 is a uniquely complete operating system"]]></title><description><![CDATA[
<p>Your link for 9front mentions that ssh2 is not included. This is because the code was rewritten and the program is now just called ssh(1). Other features of ssh are accessible through sshfs(4), and sshnet(4). The only difference in features compared to the original Plan 9 is that 9front does not currently have code for an ssh server. I know some users who are interested in this capability so it'll likely happen at some point.</p>
]]></description><pubDate>Sun, 28 Jul 2024 16:35:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=41094237</link><dc:creator>moody__</dc:creator><comments>https://news.ycombinator.com/item?id=41094237</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41094237</guid></item><item><title><![CDATA[New comment by moody__ in "Plan 9 is a uniquely complete operating system"]]></title><description><![CDATA[
<p>There is a direct correlation between the amount of power exerted by a project like Debian over an upstream project, and the amount of effort and upkeep required in doing so. I think of this like a sliding scale between shipping things with zero patches and a full on fork. From my understanding distribution patches on top of upstream projects tend to be typically just bug or portability fixes and stop short of adding features. The point I was trying to communicate was that in order to fully interact with the software you either have to be part of the upstream community or essentially fork.<p>The illustrate how I think Plan 9 is different in this regard. A patch for 9front could include a new feature for our compilers and then also show how useful it is by using it within other parts of our code. In plan 9 you can interact fully with every component.</p>
]]></description><pubDate>Sun, 28 Jul 2024 16:19:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=41094157</link><dc:creator>moody__</dc:creator><comments>https://news.ycombinator.com/item?id=41094157</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41094157</guid></item><item><title><![CDATA[Plan 9 is a uniquely complete operating system]]></title><description><![CDATA[
<p>Article URL: <a href="https://posixcafe.org/blogs/2024/07/27/0/">https://posixcafe.org/blogs/2024/07/27/0/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=41090222">https://news.ycombinator.com/item?id=41090222</a></p>
<p>Points: 152</p>
<p># Comments: 85</p>
]]></description><pubDate>Sat, 27 Jul 2024 23:52:32 +0000</pubDate><link>https://posixcafe.org/blogs/2024/07/27/0/</link><dc:creator>moody__</dc:creator><comments>https://news.ycombinator.com/item?id=41090222</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41090222</guid></item><item><title><![CDATA[New comment by moody__ in "Security is not part of most people's jobs"]]></title><description><![CDATA[
<p>What is said here in this blog I think is true, but it is only a single part of the perverted incentive puzzle. Folks up in the c suite have realized that they can just say they care about security and reap the benefits. In my experience average Joe is not going to inconvenience himself on account of there being some security breach, and if the company is at least _saying_ they care about it then Joe can write it off as incompetence and go about his day.<p>Which makes security spending like entertainment spending, when you have extra money to spend you do it to make yourself and potentially your customers feel good. If the economy is bad you lie about your security posturing just like you lie about how much you care about the customer in general.</p>
]]></description><pubDate>Thu, 27 Jun 2024 16:47:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=40812471</link><dc:creator>moody__</dc:creator><comments>https://news.ycombinator.com/item?id=40812471</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40812471</guid></item><item><title><![CDATA[New comment by moody__ in "Wc2: Investigates optimizing 'wc', the Unix word count program"]]></title><description><![CDATA[
<p>Why would the author of this repository make "wc2 - asynchronous state machine parsing" his header of his README if indeed wc2 was not by his own definition an "asynchronous state machine"? I ask you to consider what is more likely: that your blanket definition of asynchronous is incorrect as applied here or the author is just fucking with us by adding random words as the description of his project.</p>
]]></description><pubDate>Fri, 21 Jun 2024 05:30:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=40746466</link><dc:creator>moody__</dc:creator><comments>https://news.ycombinator.com/item?id=40746466</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40746466</guid></item><item><title><![CDATA[New comment by moody__ in "Wc2: Investigates optimizing 'wc', the Unix word count program"]]></title><description><![CDATA[
<p>I was not treating "asynchronous state machine" as a noun, even if taken as a generic adjective it doesn't make sense in this context. What "other things" is this wc2.c doing while the state machine is churning? There is no multi threading or multi processing going on here. So I find it hard to believe that this use of "asynchronous" is inside of what I would generally see it used as. As such I thought perhaps it referred to a specific methodology for designing the code, something akin to how the "lock free" adjective implies a certain design sensibility.</p>
]]></description><pubDate>Thu, 20 Jun 2024 18:24:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=40741633</link><dc:creator>moody__</dc:creator><comments>https://news.ycombinator.com/item?id=40741633</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40741633</guid></item><item><title><![CDATA[New comment by moody__ in "Wc2: Investigates optimizing 'wc', the Unix word count program"]]></title><description><![CDATA[
<p>The "asynchronous state machine" name here is a bit strange, when searching for this term used elsewhere I couldn't find any formal definition what it is. Reading further in the README it looks like the author implies that it really just means a DFA? Not entirely sure.<p>I'd also like to add the Plan 9 implementation[0], which also uses the properties of utf8 as part of its state machine and anecdotally has been quite performant when I've used it.<p>[0] <a href="http://git.9front.org/plan9front/plan9front/107a7ba9717429ae34294d9afa804b5271157ab0/sys/src/cmd/wc.c/f.html" rel="nofollow">http://git.9front.org/plan9front/plan9front/107a7ba9717429ae...</a></p>
]]></description><pubDate>Thu, 20 Jun 2024 15:52:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=40740123</link><dc:creator>moody__</dc:creator><comments>https://news.ycombinator.com/item?id=40740123</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40740123</guid></item></channel></rss>