<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: thosakwe</title><link>https://news.ycombinator.com/user?id=thosakwe</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Thu, 30 Apr 2026 10:13:38 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=thosakwe" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by thosakwe in "DSLinux – Linux for the Nintendo DS"]]></title><description><![CDATA[
<p>I remember being 11 or so and installing this homebrew onto my DS...<p>I had NO IDEA what Linux was at the time, but DSLinux helped me deepen my interest in computer science.<p>So, thanks to the creators, and everyone who contributed code.</p>
]]></description><pubDate>Tue, 10 Oct 2023 00:11:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=37827050</link><dc:creator>thosakwe</dc:creator><comments>https://news.ycombinator.com/item?id=37827050</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37827050</guid></item><item><title><![CDATA[New comment by thosakwe in "My views on NeoHaskell"]]></title><description><![CDATA[
<p>In my humble opinion (I'm still new to Haskell), the best way to do that is to contribute to existing Haskell tooling.<p>That's something I'm looking into doing myself. It would be great to help improve tools like cabal and the haskell-language-server.<p>I think that will go a long way towards making Haskell more beginner-friendly, and easier to use in production.</p>
]]></description><pubDate>Tue, 03 Oct 2023 09:44:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=37749725</link><dc:creator>thosakwe</dc:creator><comments>https://news.ycombinator.com/item?id=37749725</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37749725</guid></item><item><title><![CDATA[New comment by thosakwe in "Don't worry, your Parser is a functor"]]></title><description><![CDATA[
<p>You make a valid point about the added complexity of combining parser combinators with functors and other concepts.<p>Honestly, if I were writing a compiler, I would go with your approach as well.</p>
]]></description><pubDate>Mon, 02 Oct 2023 16:37:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=37740621</link><dc:creator>thosakwe</dc:creator><comments>https://news.ycombinator.com/item?id=37740621</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37740621</guid></item><item><title><![CDATA[New comment by thosakwe in "Don't worry, your Parser is a functor"]]></title><description><![CDATA[
<p>Correct, that function doesn't have to parse immediately, but it does have to be aware your monad exists.<p>This isn't a problem if you're the one writing the function, but if you're using a 3rd party library that doesn't know about your monad, then fmap can be very useful.</p>
]]></description><pubDate>Mon, 02 Oct 2023 16:34:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=37740583</link><dc:creator>thosakwe</dc:creator><comments>https://news.ycombinator.com/item?id=37740583</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37740583</guid></item><item><title><![CDATA[New comment by thosakwe in "Don't worry, your Parser is a functor"]]></title><description><![CDATA[
<p>Yes, but if it we're talking about parser monads, then usually you can't apply a function directly to a parser's result without either:<p>1. Being within the same monad. For example, you can `bind` a `Parser a` to a function only if it returns `Parser b`.<p>2. Performing an actual action and breaking it out of its monad.<p>For example, if you're using the Parsec library, and you have a `Parser Int`, you can't get to that int without using a function like `parse`, performs the actual action of parsing input text.<p>With a functor, you can compose a `Parser a` within an `a -> b` function, instead of having to return `Parser b` in your function.<p>So if you have a `Parser Int`, and you want to turn it into a parser that multiplies its parsed input by 2, you can write `fmap (*2) myParser`, instead of having to write `myParser >>= \a -> return (a * 2)`.<p>Parsers being functors means it's easier to compose them with other things, without having to actually perform the parse until you need to.</p>
]]></description><pubDate>Mon, 02 Oct 2023 15:28:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=37739385</link><dc:creator>thosakwe</dc:creator><comments>https://news.ycombinator.com/item?id=37739385</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37739385</guid></item><item><title><![CDATA[New comment by thosakwe in "Don't worry, your Parser is a functor"]]></title><description><![CDATA[
<p>I learned Haskell this year.<p>After reading this article, the conclusion I drew was, "Cool, so I can `fmap` over my parser now and transform what I parse using functions."<p>To answer your other questions: I'm not sure it means much for the code that does the actual parsing, nor how you specify the grammar's rules, it's more about being able to transform the output using functions.<p>If your static analyzer is a function, you could now write `fmap staticAnalyzer myParser`.</p>
]]></description><pubDate>Mon, 02 Oct 2023 14:46:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=37738833</link><dc:creator>thosakwe</dc:creator><comments>https://news.ycombinator.com/item?id=37738833</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37738833</guid></item><item><title><![CDATA[New comment by thosakwe in "Program imperatively using Haskell lenses (2013)"]]></title><description><![CDATA[
<p>Thanks for sharing this great article. It explained lenses very clearly, without me having to read a paper first.</p>
]]></description><pubDate>Wed, 27 Sep 2023 15:07:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=37675728</link><dc:creator>thosakwe</dc:creator><comments>https://news.ycombinator.com/item?id=37675728</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37675728</guid></item><item><title><![CDATA[New comment by thosakwe in "Functional programming should be the future of software"]]></title><description><![CDATA[
<p>Another reason is that imperative languages have a lot of business inertia around them. It's expensive to rewrite existing code or switch to a new language, and most businesses can't justify this cost.<p>I love functional programming, but I doubt most companies that sell CRUD apps care about it.</p>
]]></description><pubDate>Wed, 02 Nov 2022 18:07:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=33440357</link><dc:creator>thosakwe</dc:creator><comments>https://news.ycombinator.com/item?id=33440357</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=33440357</guid></item><item><title><![CDATA[Ask HN: Which tech newsletters are you reading?]]></title><description><![CDATA[

<p>Comments URL: <a href="https://news.ycombinator.com/item?id=32634141">https://news.ycombinator.com/item?id=32634141</a></p>
<p>Points: 3</p>
<p># Comments: 4</p>
]]></description><pubDate>Mon, 29 Aug 2022 02:14:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=32634141</link><dc:creator>thosakwe</dc:creator><comments>https://news.ycombinator.com/item?id=32634141</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=32634141</guid></item><item><title><![CDATA[New comment by thosakwe in "Want to Start a Startup, as a Software Engineer? Sell Something Online"]]></title><description><![CDATA[
<p>I read "Start Small, Stay Small" in 2021. More modern advice is on YouTube instead of books. Try channels like Noah Kagan, or Microconf.</p>
]]></description><pubDate>Sun, 31 Jul 2022 18:50:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=32297740</link><dc:creator>thosakwe</dc:creator><comments>https://news.ycombinator.com/item?id=32297740</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=32297740</guid></item><item><title><![CDATA[New comment by thosakwe in "Virgil: A fast and lightweight programming language that compiles to WASM"]]></title><description><![CDATA[
<p>Seeing so many new languages running on WASM is exciting. I wonder if we'll see a language with a just-in-time WASM compiler soon...</p>
]]></description><pubDate>Sat, 02 Jul 2022 00:30:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=31954797</link><dc:creator>thosakwe</dc:creator><comments>https://news.ycombinator.com/item?id=31954797</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31954797</guid></item><item><title><![CDATA[New comment by thosakwe in "FOSS devs are burning out, quitting, and even sabotaging their own projects"]]></title><description><![CDATA[
<p>I maintained a project like this for several years. My genuine advice to anyone considering creating an open-source library: either keep it <i>super</i> small forever, or make it closed-source + charge for licenses.</p>
]]></description><pubDate>Sun, 20 Mar 2022 14:32:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=30742919</link><dc:creator>thosakwe</dc:creator><comments>https://news.ycombinator.com/item?id=30742919</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=30742919</guid></item><item><title><![CDATA[New comment by thosakwe in "Tree Shaking"]]></title><description><![CDATA[
<p>I wonder why tree-shaking wasn't always the default for, say, JS bundlers. If a compiler/analyzer knows what the entry point of a program is, as well as any symbols it exports to the outside world, isn't it relatively simple to figure out what's not being used?<p>I could be misunderstanding something.</p>
]]></description><pubDate>Sun, 01 Aug 2021 13:45:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=28026190</link><dc:creator>thosakwe</dc:creator><comments>https://news.ycombinator.com/item?id=28026190</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=28026190</guid></item><item><title><![CDATA[New comment by thosakwe in "BBEdit 14"]]></title><description><![CDATA[
<p>Tim Pope has a plugin for that: <a href="https://github.com/tpope/vim-obsession" rel="nofollow">https://github.com/tpope/vim-obsession</a></p>
]]></description><pubDate>Wed, 21 Jul 2021 16:47:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=27908675</link><dc:creator>thosakwe</dc:creator><comments>https://news.ycombinator.com/item?id=27908675</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=27908675</guid></item><item><title><![CDATA[New comment by thosakwe in "Departures of Police Officers Accelerated During a Year of Protests"]]></title><description><![CDATA[
<p>Thanks for the sources. I can concede that most people do not support a reduced or lower-funded police presence.<p>As for the second part: someone simply choosing to be a police officer doesn't mean they should be demonized. Complying with the "blue wall of silence" by refusing to take an active stand against police misconduct, however, I believe warrants public backlash. The thing is, far too many officers are content to not say anything. And that is a large part of why they have seen more backlash recently.</p>
]]></description><pubDate>Mon, 14 Jun 2021 14:35:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=27503041</link><dc:creator>thosakwe</dc:creator><comments>https://news.ycombinator.com/item?id=27503041</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=27503041</guid></item><item><title><![CDATA[New comment by thosakwe in "Departures of Police Officers Accelerated During a Year of Protests"]]></title><description><![CDATA[
<p>I am not an activist, and this is not a manifesto. I don't understand why you brought that up.<p>Anyways:<p>The fact that most modern countries have police <i>is not</i> evidence that police departments are necessary.<p>In addition, the article is about the American police, which are notorious for their history of racial profiling, cover-ups, and numbers of civilian shooting deaths every year. Does most modern countries having police mean this is justified behavior?<p>If you could, please provide a link to a survey or study indicating that people who live in "high-crime" areas want more police.<p>And even if they did, that doesn't change the reason for the widespread backlash against police in the United States. It's not simply people "demonizing" a profession (which again, people <i>choose</i> to work in).</p>
]]></description><pubDate>Mon, 14 Jun 2021 14:23:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=27502854</link><dc:creator>thosakwe</dc:creator><comments>https://news.ycombinator.com/item?id=27502854</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=27502854</guid></item><item><title><![CDATA[New comment by thosakwe in "Departures of Police Officers Accelerated During a Year of Protests"]]></title><description><![CDATA[
<p>> Police are a necessary part of modern civilization. Full stop.<p>Are you sure? Lots of causes for crime (i.e. poverty) can't be solved by arresting or shooting people. I am convinced that part of the reason police reform is so difficult in the United States is that most people have never questioned neither the history of American policing (which started as slave patrols in many states), nor the necessity for heavily-armed police at all.<p>> If they have no repercussions for bad actions, then implement them.<p>This is not so easy, when both of the parties with political control in the U.S. receive donations from the prison industry...<p>EDIT: Lastly, in reference to your original point, the argument that police officers are being simply "demonized" is missing the bigger picture. Police aren't individual actors - they protect each other, even when they have crossed a line. And it's all by choice.</p>
]]></description><pubDate>Mon, 14 Jun 2021 14:12:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=27502729</link><dc:creator>thosakwe</dc:creator><comments>https://news.ycombinator.com/item?id=27502729</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=27502729</guid></item><item><title><![CDATA[New comment by thosakwe in "Ask HN: Why aren't you coding?"]]></title><description><![CDATA[
<p>I'm busy learning art. All of the things I want to make (mostly games) will require good art, so this is as good an opportunity as ever to focus on that.</p>
]]></description><pubDate>Fri, 12 Feb 2021 23:48:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=26119980</link><dc:creator>thosakwe</dc:creator><comments>https://news.ycombinator.com/item?id=26119980</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=26119980</guid></item><item><title><![CDATA[New comment by thosakwe in "OAuth 3"]]></title><description><![CDATA[
<p>Yeah... This is the same sort of thing you see with, say, ActivityPub, that makes it a massive pain, if not totally impossible to implement it in a statically-typed language.</p>
]]></description><pubDate>Thu, 22 Oct 2020 16:28:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=24859824</link><dc:creator>thosakwe</dc:creator><comments>https://news.ycombinator.com/item?id=24859824</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=24859824</guid></item><item><title><![CDATA[New comment by thosakwe in "WebAssembly without the browser"]]></title><description><![CDATA[
<p>How is the existence of NodeJS a bad thing?</p>
]]></description><pubDate>Sun, 16 Aug 2020 21:55:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=24181703</link><dc:creator>thosakwe</dc:creator><comments>https://news.ycombinator.com/item?id=24181703</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=24181703</guid></item></channel></rss>