<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: cinnamonheart</title><link>https://news.ycombinator.com/user?id=cinnamonheart</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sat, 25 Apr 2026 21:10:09 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=cinnamonheart" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by cinnamonheart in "Beginner's Guide to Abstraction"]]></title><description><![CDATA[
<p>One of my favourite quotes on the topic of abstraction comes from Dijkstra, too.<p>> The purpose of abstraction is not to be vague, but to create a new semantic level in which one can be absolutely precise.</p>
]]></description><pubDate>Sun, 05 Jul 2020 12:30:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=23738200</link><dc:creator>cinnamonheart</dc:creator><comments>https://news.ycombinator.com/item?id=23738200</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=23738200</guid></item><item><title><![CDATA[New comment by cinnamonheart in "Hands-on Scala Programming"]]></title><description><![CDATA[
<p>Scala has a very wide surface area, and it can be as simple or complex as you want it to be.<p>Written in a certain way, it's that different from writing Python 3 with PEP-484 type annotations. You can easily write Python-like code and just get things done. :)<p>Concurrency-wise, you can implement any concurrency model you want on top of it, and, personally, I find immutability + Task-like implementations (Monix, ZIO, IO, etc.) easier to understand than CSP, but that's just me. There's also actors & channels & threads & anything else you could want.<p>What's cool, though, IMO, is that once you need more power than just Pythonic Scala gives you, it has one of the most powerful type systems in the world; you can verify as much as you need to, and refine things over time. It's not a language that hamstrings you once you <i>do</i> need more power.<p>Scala gets its bad reputation from that huge surface area and flexibility, though. There was a period (2009ish, maybe) where the Scala community was having a field day with its flexibility via custom operators like '<<++>>' and implicit conversions and untyped actors that made it impossible to figure out what was going on. It was like using the worst of Erlang with the worst of Haskell with the worst of Java. I'd say they've matured past that entirely, though; in 2020, it's one of the nicer and more practical languages, ecosystem, & communities IMO. Scala is made for getting things done.</p>
]]></description><pubDate>Sun, 19 Apr 2020 13:44:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=22915835</link><dc:creator>cinnamonheart</dc:creator><comments>https://news.ycombinator.com/item?id=22915835</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=22915835</guid></item><item><title><![CDATA[New comment by cinnamonheart in "Gleam: A statically typed language for the Erlang VM"]]></title><description><![CDATA[
<p>This is really neat! Have you considered an ML-like module system, with functors and such? I'd be curious if they could be connected with Erlang's processes somehow :)</p>
]]></description><pubDate>Sat, 18 Apr 2020 02:19:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=22904816</link><dc:creator>cinnamonheart</dc:creator><comments>https://news.ycombinator.com/item?id=22904816</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=22904816</guid></item><item><title><![CDATA[New comment by cinnamonheart in "Caffeine boosts problem-solving ability but not creativity, study indicates"]]></title><description><![CDATA[
<p>Cannabis, although I find it's easy to accidentally dive deep on something I didn't mean to on it -- I find combining it with coffee prevents me from getting too focused on one thing. YMMV.</p>
]]></description><pubDate>Fri, 06 Mar 2020 15:18:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=22504208</link><dc:creator>cinnamonheart</dc:creator><comments>https://news.ycombinator.com/item?id=22504208</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=22504208</guid></item><item><title><![CDATA[New comment by cinnamonheart in "Haskell Problems for a New Decade"]]></title><description><![CDATA[
<p>GHC was released in 1992 and has a large amount of language options it supports (over 100 now, I think) <a href="https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/glasgow_exts.html#language-options" rel="nofollow">https://downloads.haskell.org/~ghc/latest/docs/html/users_gu...</a><p>I don't think the issue here is due to static typing, but due to the age and complexity of the language implementation. It's not trivial to figure out how all of those extensions interact with each other and your changes.</p>
]]></description><pubDate>Fri, 24 Jan 2020 13:15:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=22137846</link><dc:creator>cinnamonheart</dc:creator><comments>https://news.ycombinator.com/item?id=22137846</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=22137846</guid></item><item><title><![CDATA[New comment by cinnamonheart in "I miss Inbox, so I hacked Gmail with a little CSS magic (2019)"]]></title><description><![CDATA[
<p>Basic HTML Gmail hasn't changed in years and works perfectly fine for all of my needs for gmail: reading and sending emails. I find the current UI to be quite unusable, but at least there's still the basic html option.</p>
]]></description><pubDate>Fri, 24 Jan 2020 12:38:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=22137556</link><dc:creator>cinnamonheart</dc:creator><comments>https://news.ycombinator.com/item?id=22137556</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=22137556</guid></item><item><title><![CDATA[New comment by cinnamonheart in "How to Port from Python 2 to Python 3 (2019)"]]></title><description><![CDATA[
<p>I think you can just do<p><pre><code>    brew install vim -- --with-override-system-vi --with-python3
</code></pre>
To get a vim with python 3 on mac os. You are correct that it defaults to python 2, though.</p>
]]></description><pubDate>Thu, 23 Jan 2020 14:58:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=22127997</link><dc:creator>cinnamonheart</dc:creator><comments>https://news.ycombinator.com/item?id=22127997</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=22127997</guid></item><item><title><![CDATA[New comment by cinnamonheart in "WordPad Is Gettings Ads in Windows 10"]]></title><description><![CDATA[
<p>Anecdote: I recently purchased a laptop which came preinstalled with Windows 10. After trying 6 different Linux distributions -- Ubuntu, Fedora, Mint, Manjaro, Suse, MX Linux -- and none of them working (issues ranging from the installer not working to being totally unable to boot after the install to frequent freezing), I gave up and have gone back to Windows. I think I could've made Gentoo work with enough effort, but I don't have the patience for Gentoo that I used to.<p>I mean, maybe my experience would've been different with a different laptop, or maybe I could've put more effort in, but this is what stops Linux from being a daily driver for me. I don't want to spend all of that time just trying to find a distribution that works, followed by even more time trying to keep it working.<p>I disagree with Windows' direction more and more. I very much want to like Linux and use it as a daily driver -- I tried 6 popular distributions trying to get just one to work! -- but the reality of it stops me. If this is what someone who wants to use Linux experiences, how will it ever be able to catch on for regular desktop use?<p>(The best experience was with MX Linux. The hardware compatibility wasn't ideal; installing proprietary nvidia drivers broke the boot; power usage was kinda poor relative to Windows; but overall, I was able to at least use it.)</p>
]]></description><pubDate>Wed, 22 Jan 2020 02:52:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=22114133</link><dc:creator>cinnamonheart</dc:creator><comments>https://news.ycombinator.com/item?id=22114133</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=22114133</guid></item><item><title><![CDATA[New comment by cinnamonheart in "Dependent Type Systems as Macros [pdf]"]]></title><description><![CDATA[
<p>It's nice to see the work from Type Systems as Macros (also Stephen Chang of NU) continued! Thanks for sharing.<p><a href="http://www.ccs.neu.edu/home/stchang/pubs/ckg-popl2017.pdf" rel="nofollow">http://www.ccs.neu.edu/home/stchang/pubs/ckg-popl2017.pdf</a></p>
]]></description><pubDate>Tue, 21 Jan 2020 13:31:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=22106683</link><dc:creator>cinnamonheart</dc:creator><comments>https://news.ycombinator.com/item?id=22106683</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=22106683</guid></item><item><title><![CDATA[New comment by cinnamonheart in "FreeBSD is an amazing operating system"]]></title><description><![CDATA[
<p>As a long time fan of Gentoo, I felt very at home on FreeBSD, and quite liked how everything in it worked. I remember my frustration was more around software and hardware issues. In the end, it wasn't Linux; I felt left in the cold if I ever wanted to use something that wasn't made for FreeBSD.<p>FreeBSD itself was a pleasure and I wish I could use it more. I've not found a linux distribution I've found quite as nice.</p>
]]></description><pubDate>Mon, 20 Jan 2020 22:26:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=22102591</link><dc:creator>cinnamonheart</dc:creator><comments>https://news.ycombinator.com/item?id=22102591</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=22102591</guid></item><item><title><![CDATA[New comment by cinnamonheart in "Ask HN: Do you ever contact people who have had a positive impact on you?"]]></title><description><![CDATA[
<p>I emailed RMS during the fiasco a couple months back, in support of him. RMS has always been an inspiration to me, and I've always had a lot of respect for him -- a hero to me, if you will -- so I felt I had to let him know the world wasn't against him, even if he couldn't reply.<p>He did reply and let me know ways I could help.</p>
]]></description><pubDate>Mon, 20 Jan 2020 16:16:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=22099831</link><dc:creator>cinnamonheart</dc:creator><comments>https://news.ycombinator.com/item?id=22099831</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=22099831</guid></item><item><title><![CDATA[New comment by cinnamonheart in "Programming Language Checklist"]]></title><description><![CDATA[
<p>Have you heard of Unison? If not, it may interest you -- it stores code in a syntax tree rather than as text directly.<p><a href="https://www.unisonweb.org/" rel="nofollow">https://www.unisonweb.org/</a><p>>Unison is a language in which programs are not text. That is, the source of truth for a program is not its textual representation as source code, but its structured representation as an abstract syntax tree.<p>It has some further goals for doing this which are really exciting to me, such as content-addressable code, but the starting point is similar to the one you stated. :)</p>
]]></description><pubDate>Fri, 03 Jan 2020 15:18:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=21946566</link><dc:creator>cinnamonheart</dc:creator><comments>https://news.ycombinator.com/item?id=21946566</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=21946566</guid></item><item><title><![CDATA[New comment by cinnamonheart in "What Will Happen in the 2020s"]]></title><description><![CDATA[
<p>I'm seeing a database error, but there's a similar site with 2020 predictions (and onwards):<p><a href="https://futuretimeline.net/21stcentury/2020-2029.htm" rel="nofollow">https://futuretimeline.net/21stcentury/2020-2029.htm</a><p>Most of the 'predictions' have links explaining why they think this may occur in that timeframe, e.g., this one about exascale computers: <a href="https://www.futuretimeline.net/21stcentury/2021.htm#exascale" rel="nofollow">https://www.futuretimeline.net/21stcentury/2021.htm#exascale</a></p>
]]></description><pubDate>Wed, 01 Jan 2020 17:25:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=21929098</link><dc:creator>cinnamonheart</dc:creator><comments>https://news.ycombinator.com/item?id=21929098</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=21929098</guid></item><item><title><![CDATA[New comment by cinnamonheart in "Building a language server for Muon"]]></title><description><![CDATA[
<p>It depends on the audience and goals for your language. If your language is intended to be a playground for new ideas, like a new type system or semantic model, you may only be concerned about getting that working and into other peoples' hands for experimentation, rather than usability.</p>
]]></description><pubDate>Tue, 26 Nov 2019 14:49:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=21638675</link><dc:creator>cinnamonheart</dc:creator><comments>https://news.ycombinator.com/item?id=21638675</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=21638675</guid></item><item><title><![CDATA[New comment by cinnamonheart in "Learn Coq in Y Minutes"]]></title><description><![CDATA[
<p>>Also, more tangential, but this comment section might attract people who know the answer: any good resources for getting started on type systems more generally?<p>I like Philip Wadler's Programming Language Foundations in Agda: <a href="https://plfa.github.io/" rel="nofollow">https://plfa.github.io/</a><p>>The original goal was to simply adapt Software Foundations, maintaining the same text but transposing the code from Coq to Agda. But it quickly became clear to me that after five years in the classroom I had my own ideas about how to present the material. They say you should never write a book unless you cannot not write the book, and I soon found that this was a book I could not not write.<p>I found Agda + PLFA was more approachable for me than Coq + Software Foundations.<p>(Edit: clarifying that I'm responding to the tangent.)</p>
]]></description><pubDate>Tue, 26 Nov 2019 14:21:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=21638464</link><dc:creator>cinnamonheart</dc:creator><comments>https://news.ycombinator.com/item?id=21638464</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=21638464</guid></item><item><title><![CDATA[New comment by cinnamonheart in "Her Amazon Purchases Are Real, the Reviews Are Fake"]]></title><description><![CDATA[
<p>We had constant issues with our fridge water dispenser using 'Samsung' water filters bought on Amazon. Out of desperation, I just bought a cheap off-brand one, hoping if it was at least being honest about not being an official product, it'd at least be functional as a replacement. All of the issues with our fridge have since vanished.<p>I've since learnt real Samsung water filters come with an authentication tag, and none of the ones I ordered on Amazon came with one. I think we've been drinking water from counterfeit filters for a year now.<p><a href="https://www.samsung.com/us/home-appliances/home-appliances-accessories/refrigerators/haf-cin-refrigerator-water-filter-haf-cin-exp" rel="nofollow">https://www.samsung.com/us/home-appliances/home-appliances-a...</a></p>
]]></description><pubDate>Thu, 21 Nov 2019 14:10:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=21594126</link><dc:creator>cinnamonheart</dc:creator><comments>https://news.ycombinator.com/item?id=21594126</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=21594126</guid></item><item><title><![CDATA[New comment by cinnamonheart in "Google search results have more human help than you think, report finds"]]></title><description><![CDATA[
<p>I worked for Leapforce for a while doing this sort of rating work using Google's guidelines. The guidelines were linked elsewhere in this thread and, at a glance, they are the same ones I used:<p><a href="https://static.googleusercontent.com/media/guidelines.raterhub.com/en//searchqualityevaluatorguidelines.pdf" rel="nofollow">https://static.googleusercontent.com/media/guidelines.raterh...</a><p>If you're doing something that would skew the results to favour a certain brand, you'd be going against Google's guidelines and your contract would be terminated quickly. I found the review process of my results to be fairly stringent; they were reviewed frequently to ensure I was staying within the guidelines, and I was told even about slight deviatiations.</p>
]]></description><pubDate>Mon, 18 Nov 2019 17:13:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=21566034</link><dc:creator>cinnamonheart</dc:creator><comments>https://news.ycombinator.com/item?id=21566034</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=21566034</guid></item><item><title><![CDATA[New comment by cinnamonheart in "Google search results have more human help than you think, report finds"]]></title><description><![CDATA[
<p>I do this sometimes, and it <i>still</i> ignores the quoted words in favour of giving me whatever results they want. I'm not sure when it was changed to no longer require quoted words in the results, but I usually just give up on the search at that point.</p>
]]></description><pubDate>Mon, 18 Nov 2019 16:50:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=21565820</link><dc:creator>cinnamonheart</dc:creator><comments>https://news.ycombinator.com/item?id=21565820</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=21565820</guid></item><item><title><![CDATA[New comment by cinnamonheart in "Parse, Don’t Validate"]]></title><description><![CDATA[
<p>Idris:<p><pre><code>  data EndsWith : Type where
    EndsWithPeriod : (s: String) -> { auto prf : ("." `Strings.isSuffixOf` s = True) } -> EndsWith

  s : EndsWith
  s = EndsWithPeriod "."

  -- Value of type False = True cannot be found
  -- s2 : EndsWith
  -- s2 = EndsWithPeriod ""
</code></pre>
The noun one might be possible -- I'm honestly less familiar with what a proper noun is offhand. (E: prefix=>suffix)</p>
]]></description><pubDate>Fri, 08 Nov 2019 00:56:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=21479112</link><dc:creator>cinnamonheart</dc:creator><comments>https://news.ycombinator.com/item?id=21479112</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=21479112</guid></item><item><title><![CDATA[New comment by cinnamonheart in "Programmers can’t write algorithms without help"]]></title><description><![CDATA[
<p>The logic of bubble sort is so simple that just the description is enough for an implementation. It's a common interview question for the same reason Fizzbuzz is used -- any programmer worth their salt should be able to just write it down.<p>Insertion and selection sort are also O(N^2), but sorts like merge and quick will use them to sort small sublists in their recursive cases because they are fast when input is small enough.</p>
]]></description><pubDate>Mon, 04 Nov 2019 16:59:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=21443605</link><dc:creator>cinnamonheart</dc:creator><comments>https://news.ycombinator.com/item?id=21443605</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=21443605</guid></item></channel></rss>