<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: stutonk</title><link>https://news.ycombinator.com/user?id=stutonk</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Tue, 02 Jun 2026 17:37:11 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=stutonk" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by stutonk in "The ADHD body double: A unique tool for getting things done"]]></title><description><![CDATA[
<p>Brown noise in Chuck. Adjust the filter cutoff (freq) to your desired comfort level.<p><pre><code>  CNoise noise => LPF lpf => dac;
  noise.mode("flip");
  lpf.freq(120);

  while(true) {
   1::second => now;
  }</code></pre></p>
]]></description><pubDate>Sun, 06 Apr 2025 17:26:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=43603130</link><dc:creator>stutonk</dc:creator><comments>https://news.ycombinator.com/item?id=43603130</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43603130</guid></item><item><title><![CDATA[New comment by stutonk in "Cosmopolitan v3.5"]]></title><description><![CDATA[
<p>quickjs [1] has native support for Cosmopolitan, is meant to be easily embeddable, and is included as part of the standard Cosmopolitan distribution. It looks like qjs also has patches for recent-ish versions of the Typescript compiler as well. Someone has made a nodejs-style project called txiki.js [2] using vanilla qjs. Maybe it would build with Cosmopolitan with some tweaking. But if you're thinking of packaging a whole browser engine like Electron that might be a Sisyphian effort.<p>[1] <a href="https://bellard.org/quickjs/" rel="nofollow">https://bellard.org/quickjs/</a>
[2] <a href="https://github.com/saghul/txiki.js/">https://github.com/saghul/txiki.js/</a></p>
]]></description><pubDate>Mon, 24 Jun 2024 15:55:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=40777608</link><dc:creator>stutonk</dc:creator><comments>https://news.ycombinator.com/item?id=40777608</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40777608</guid></item><item><title><![CDATA[New comment by stutonk in "Why Janet?"]]></title><description><![CDATA[
<p>Yes! With spork/netrepl and Conjure in Neovim<p><a href="https://janet-lang.org/api/spork/netrepl.html" rel="nofollow">https://janet-lang.org/api/spork/netrepl.html</a><p><a href="https://github.com/Olical/conjure">https://github.com/Olical/conjure</a></p>
]]></description><pubDate>Thu, 13 Apr 2023 21:38:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=35562444</link><dc:creator>stutonk</dc:creator><comments>https://news.ycombinator.com/item?id=35562444</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=35562444</guid></item><item><title><![CDATA[New comment by stutonk in "Why I Use Nim instead of Python for Data Processing"]]></title><description><![CDATA[
<p>Apparently there's also a data processing library for Nim called Arraymancer[0] that's inspired by Numpy and PyTorch. It claims to be faster than both.<p>[0] <a href="https://mratsim.github.io/Arraymancer/" rel="nofollow">https://mratsim.github.io/Arraymancer/</a></p>
]]></description><pubDate>Sat, 25 Sep 2021 15:48:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=28654017</link><dc:creator>stutonk</dc:creator><comments>https://news.ycombinator.com/item?id=28654017</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=28654017</guid></item><item><title><![CDATA[New comment by stutonk in "Obarun – Arch Linux based distro with skarnet s6/66 suite"]]></title><description><![CDATA[
<p>Some people don't like systemd because it rolls a bunch of other functionality beyond 'just init' into a giant monolithic beast. The advantage is that distro maintainers are able to present an extremely usable and stable system like Ubuntu, Arch or any of the other mainstream distros. For most people that just want to use their computer to do regular stuff like browse the internet and edit photos and stuff, systemd or otherwise doesn't really matter because you pretty much never need to touch those parts of the system. Alternate init systems are for power users or people with particular constraints. For example, one of the reasons Alpine Linux is able to be so small is because it uses OpenRC instead of systemd.<p>Personally, I use a non-systemd distro because my computers all have tiny-sized HDDs by today's standards and I hate having to read a bunch of documentation every time I want to create a new system service. To me, it's easier to just write an ordinary shell script. I don't need all the ridiculous logging capabilities that systemd offers. Regular old plain text is enough for me.</p>
]]></description><pubDate>Tue, 08 Dec 2020 04:45:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=25341942</link><dc:creator>stutonk</dc:creator><comments>https://news.ycombinator.com/item?id=25341942</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=25341942</guid></item><item><title><![CDATA[New comment by stutonk in "Little Things That Made Amiga Great"]]></title><description><![CDATA[
<p>If it is indeed a union mount mechanism, then that's truly a remarkable feature. Reading the documentation makes it sound like something akin to an symbolic link but perhaps not in the actual filesystem; I still can't tell if it's implemented in the kernel/FS or just the shell (or to what extent the two are integrated). If it's just the shell then this seems to be a shining example of where the POSIX interface is holding us back. In Linux, they've tried to implement union mounts a number of times (as UnionFS, aufs, and OverlayFS) because it's almost too complicated to get right for Unix-style filesystems and you need a bunch of kernel-level code. Do you happen to know if it was possible to create the ASSIGNs programmatically? Does deleting/renaming files in the ASSIGN work like you'd hope?</p>
]]></description><pubDate>Sun, 29 Nov 2020 17:19:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=25246448</link><dc:creator>stutonk</dc:creator><comments>https://news.ycombinator.com/item?id=25246448</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=25246448</guid></item><item><title><![CDATA[New comment by stutonk in "Little Things That Made Amiga Great"]]></title><description><![CDATA[
<p>Like a union mount?</p>
]]></description><pubDate>Sun, 29 Nov 2020 16:19:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=25246040</link><dc:creator>stutonk</dc:creator><comments>https://news.ycombinator.com/item?id=25246040</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=25246040</guid></item><item><title><![CDATA[New comment by stutonk in "Little Things That Made Amiga Great"]]></title><description><![CDATA[
<p>export VAR="$VAR:whatever else"</p>
]]></description><pubDate>Sun, 29 Nov 2020 15:37:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=25245703</link><dc:creator>stutonk</dc:creator><comments>https://news.ycombinator.com/item?id=25245703</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=25245703</guid></item><item><title><![CDATA[New comment by stutonk in "Standard ML in 2020"]]></title><description><![CDATA[
<p>The problem isn't with the mathematical concept of monads, it's that Monad is a typeclass in a hierarchy along with other totally abstract category theoric classes introduced at different stages and people use them with varying levels of knowledge and ignorance so things are placed arbitrarily and there are a bunch of ambiguities. Just look at this [0] mess. Is that really what we want?<p>[0] <a href="https://wiki.haskell.org/wikiupload/d/df/Typeclassopedia-diagram.png" rel="nofollow">https://wiki.haskell.org/wikiupload/d/df/Typeclassopedia-dia...</a></p>
]]></description><pubDate>Mon, 26 Oct 2020 13:57:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=24896191</link><dc:creator>stutonk</dc:creator><comments>https://news.ycombinator.com/item?id=24896191</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=24896191</guid></item><item><title><![CDATA[New comment by stutonk in "Standard ML in 2020"]]></title><description><![CDATA[
<p>Well said. This is exactly my gripe with Haskell monads. There are too many places where the hierarchy isn't uniform and there are a bunch of special monads like IO and List. It leads to the same ambiguous "is a" problem of complicated OO hierarchies and is one of the reasons they don't compose well.<p>The ironic thing is that these algabraic effect systems have a feel/control flow pattern that's quite similar to exception handling from the OO languages or interrupt handlers in low-level code.<p>It's much easier to just say "this piece of code is impure, it may do X, Y, and Z and if so then ..." than to try and shove everything ad-hoc into the abstract math tree. But then you lose the purity of your language and it's really awkward in a language whose primary concern is purity. That may be a reason why algebraic effects seem a bit more natural in OCaml.</p>
]]></description><pubDate>Mon, 26 Oct 2020 13:48:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=24896097</link><dc:creator>stutonk</dc:creator><comments>https://news.ycombinator.com/item?id=24896097</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=24896097</guid></item><item><title><![CDATA[New comment by stutonk in "Standard ML in 2020"]]></title><description><![CDATA[
<p>The profusion of Category-theoric abstractions and some of the more recent purely functional norms in Haskell are like the PhD-level version of `AbstractVisitorContextFactoryBuilder` which, aside from all the unnecessary cognitive load, lead to enormous dependency graphs of the npm variety.<p>Personally, I wonder if uniqueness types in languages like the sadly forgotten Clean (a close relative of Haskell) would have been better than the whole Monad/Arrow thing. All of that abstract theoretical stuff is certainly fascinating but it's never seemed worth all the bother to me.<p>On the other hand, in SML you get all the benefits of strong HM type inference/checking, immutability by default, etc, etc.. while also still being able to just `print` something or modify arrays in place. SML's type system isn't higher-order like Haskell's so its solution to the same problem Haskell solves with type classes isn't quite as elegant but otherwise SML is the C to Haskell's C++.</p>
]]></description><pubDate>Mon, 26 Oct 2020 00:42:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=24891630</link><dc:creator>stutonk</dc:creator><comments>https://news.ycombinator.com/item?id=24891630</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=24891630</guid></item><item><title><![CDATA[New comment by stutonk in "ØMQ – The Guide (2011)"]]></title><description><![CDATA[
<p>I believe the 'problem' that it solves is universal network transparency between pieces of anything. It's a library that can be used from basically any language that has a C FFI on any system with a C compiler to do IPC with anything else supporting same using a uniform and relatively simple API.</p>
]]></description><pubDate>Sat, 24 Oct 2020 17:07:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=24880469</link><dc:creator>stutonk</dc:creator><comments>https://news.ycombinator.com/item?id=24880469</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=24880469</guid></item><item><title><![CDATA[New comment by stutonk in "Admitting That Functional Programming Can Be Awkward (2007)"]]></title><description><![CDATA[
<p>In addition, every closure is also a 'state container,' as it were. This is how some functional languages e.g. Erlang emulate mutation. A function holds the desired state in a closure and evaluates to a new function closure with updated state. It's also how a stateful object system can be trivially implemented in Scheme.<p>A few of pieces of the Erlang OTP infrastructure are actually just an elaborate mechanism to reintroduce global mutable state i.e. the process registry or Mnesia.</p>
]]></description><pubDate>Sat, 24 Oct 2020 16:57:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=24880400</link><dc:creator>stutonk</dc:creator><comments>https://news.ycombinator.com/item?id=24880400</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=24880400</guid></item><item><title><![CDATA[New comment by stutonk in "US universities under pressure to cut fees because of remote learning"]]></title><description><![CDATA[
<p>In my state, most of the programs the community colleges offer are aimed either at credential acquisition or for transfer to a university; there are no four year programs. However, many of the teachers at these schools are also PhDs moonlighting from local universities where they teach upper-level subjects and the community college offers a handful of classes that are at the 300/junior level for certain subjects. The thing that's really missing from the community college curriculum that would shake up the university pricing model is the ability to get a Bachelor's degree. At least in my state, it doesn't seem like there would be too much of a stretch to accommodate the additional educational resources it would require. Some people go to a university because they want access to first-class facilities, professors, student networking, and the like. In fact, the tuition at my local university more than doubled after they managed to get their basketball team into the NCAA Final Four one year. But many people don't care about this kind of thing; they just need their 'certificate of passage of this particular social ritual'.</p>
]]></description><pubDate>Sat, 25 Jul 2020 15:45:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=23950025</link><dc:creator>stutonk</dc:creator><comments>https://news.ycombinator.com/item?id=23950025</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=23950025</guid></item><item><title><![CDATA[New comment by stutonk in "Liquid Democracy"]]></title><description><![CDATA[
<p>When I first heard of this, I was also quite intrigued. But I wonder if it might actually be vulnerable to some of the darker patterns of human 'social markets' if implemented in its freest form; we already have something that has the structure, if not the character, of a liquid democracy: Twitter. In such a system, people with a lot of allocated votes would end up with considerable de-facto power that would nonetheless be constantly volatile to emotional outburst no-confidence tectonics if you were allowed to re-allocate your vote at any time/the voting distribution was monitored in real time. You'd also almost certainly end up with Zipfian popularity gravity wells where some representatives were more popular simply because they're more popular, perhaps without genuine merit.</p>
]]></description><pubDate>Mon, 01 Jun 2020 19:02:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=23382348</link><dc:creator>stutonk</dc:creator><comments>https://news.ycombinator.com/item?id=23382348</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=23382348</guid></item><item><title><![CDATA[New comment by stutonk in "Kiss Linux – A distribution with a focus on less is more"]]></title><description><![CDATA[
<p>My point is that mv is a compiled C program, not a shell builtin or piece of shell syntax, that you may nonetheless call in a shell script to extend the functionality of the shell. rename is another such compiled C program. To say that it's awkward to batch rename files with mv may be true, but that's a deficiency of an external C program being used beyond its original purpose. Since we're using external programs anyway, you can just use one that's actually designed explicitly for the purpose renaming files.</p>
]]></description><pubDate>Thu, 21 May 2020 16:08:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=23260196</link><dc:creator>stutonk</dc:creator><comments>https://news.ycombinator.com/item?id=23260196</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=23260196</guid></item><item><title><![CDATA[New comment by stutonk in "Kiss Linux – A distribution with a focus on less is more"]]></title><description><![CDATA[
<p>By your own logic, your own UNIX solution to the file renaming problem is "not shell" since it uses the mv "utility". Or do you mean rename is not POSIX? The shell language certainly is lacking for almost anything beyond its  original purpose of gluing together pipelines/graphs of UNIX commands; it's a largely unintentional DSL from the time before many modern notions of language ergonomics had become established. The point is, there is an array of solutions to reduce the nuisance of having to deal with the language equivalent of a stone knife such as programs like rename or actual general-purpose scripting languages. Sure, you can cut most things with a stone knife with enough time and effort but why would you if you have a bunch of sharp, metal knives within easy reach?</p>
]]></description><pubDate>Thu, 21 May 2020 15:36:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=23259683</link><dc:creator>stutonk</dc:creator><comments>https://news.ycombinator.com/item?id=23259683</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=23259683</guid></item><item><title><![CDATA[New comment by stutonk in "Kiss Linux – A distribution with a focus on less is more"]]></title><description><![CDATA[
<p>Linux, at least, has rename(1) where you can just use the same syntax as Windows ren.</p>
]]></description><pubDate>Thu, 21 May 2020 12:39:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=23257663</link><dc:creator>stutonk</dc:creator><comments>https://news.ycombinator.com/item?id=23257663</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=23257663</guid></item><item><title><![CDATA[New comment by stutonk in "Ask HN: Mind bending books to read and never be the same as before?"]]></title><description><![CDATA[
<p>Just out of curiosity, what was the purported outcome/why wasn't it worth it?</p>
]]></description><pubDate>Wed, 13 May 2020 02:00:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=23162615</link><dc:creator>stutonk</dc:creator><comments>https://news.ycombinator.com/item?id=23162615</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=23162615</guid></item><item><title><![CDATA[New comment by stutonk in "Age: A simple, modern and secure file encryption tool"]]></title><description><![CDATA[
<p>I once made something similar after reading a blog post here on HN [1] just to see how easy it is to make something like this. Mine [2] uses passphrases to generate keys with the Argon2 algorithm and then uses NaCl's secretbox for encryption. I also made a version for use on streams. It's not up to snuff for industrial use, but it's really easy to use if you just want to encrypt some files with a password and also very simple if you want to modify it for your own purposes.<p>[1] <a href="https://blog.gtank.cc/modern-alternatives-to-pgp/" rel="nofollow">https://blog.gtank.cc/modern-alternatives-to-pgp/</a><p>[2] <a href="https://stutonk.github.io/crypt.html" rel="nofollow">https://stutonk.github.io/crypt.html</a></p>
]]></description><pubDate>Sat, 28 Dec 2019 15:48:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=21899455</link><dc:creator>stutonk</dc:creator><comments>https://news.ycombinator.com/item?id=21899455</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=21899455</guid></item></channel></rss>