<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: yogsototh</title><link>https://news.ycombinator.com/user?id=yogsototh</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Tue, 28 Apr 2026 19:33:54 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=yogsototh" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by yogsototh in "Official Clojure Documentary page with Video, Shownotes, and Links"]]></title><description><![CDATA[
<p>Personally this is a hidden trick I use.<p>Ask AI to build something. By default it will use python. Sometimes js or typescript.<p>Ask then to do the same thing in Clojure. The result is generally an order of magnitude better. Shorter, easier to read for both humans and llm. Easier to adapt to changes.</p>
]]></description><pubDate>Fri, 17 Apr 2026 11:16:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=47804660</link><dc:creator>yogsototh</dc:creator><comments>https://news.ycombinator.com/item?id=47804660</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47804660</guid></item><item><title><![CDATA[New comment by yogsototh in "Spaced repetition for efficient learning (2019)"]]></title><description><![CDATA[
<p>I remember a documentary about learning things to kids, and in order to optimise learning efficiency the optimal ratio for difficult questions should be 1/4. So the children continue to feel good about themselves, while still improving.<p>So I guess this ratio about easy vs difficult question should be a parameter in such spaced repetition algorithms.</p>
]]></description><pubDate>Thu, 25 Dec 2025 20:50:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=46386949</link><dc:creator>yogsototh</dc:creator><comments>https://news.ycombinator.com/item?id=46386949</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46386949</guid></item><item><title><![CDATA[New comment by yogsototh in "Voyager 1 is about to reach one light-day from Earth"]]></title><description><![CDATA[
<p>I think there are a few movies that made me realize how much the space is vast, empty and adverse to life.<p>I think it would be nice for people to take a look at them:<p>- Aniara (2018)<p>- High Life (2018)<p>and maybe in a less artistic view:<p>- Powers of Ten (1977) yt: <a href="https://www.youtube.com/watch?v=0fKBhvDjuy0" rel="nofollow">https://www.youtube.com/watch?v=0fKBhvDjuy0</a></p>
]]></description><pubDate>Wed, 26 Nov 2025 17:15:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=46059800</link><dc:creator>yogsototh</dc:creator><comments>https://news.ycombinator.com/item?id=46059800</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46059800</guid></item><item><title><![CDATA[New comment by yogsototh in "Project Euler"]]></title><description><![CDATA[
<p>I remember there were data loss, but my account appears to have been recovered. You may try to login again, and with luck, like me you will get back your history.</p>
]]></description><pubDate>Wed, 12 Nov 2025 22:13:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=45907568</link><dc:creator>yogsototh</dc:creator><comments>https://news.ycombinator.com/item?id=45907568</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45907568</guid></item><item><title><![CDATA[New comment by yogsototh in "GitHub was having issues"]]></title><description><![CDATA[
<p>I host a forgejo instance and I feel it is great to embrace the distributed nature of git.<p>But be aware if you intend to host it you will need to protect it from recent AI web scrapers. I use anubis but there are other alternatives.</p>
]]></description><pubDate>Tue, 12 Aug 2025 16:55:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=44878936</link><dc:creator>yogsototh</dc:creator><comments>https://news.ycombinator.com/item?id=44878936</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44878936</guid></item><item><title><![CDATA[New comment by yogsototh in "Claude Code IDE integration for Emacs"]]></title><description><![CDATA[
<p>I personally have great success with gptel + mcp + claude (via copilot due to corporate restrictions)<p>I wrote a short article about how I configured it there: <a href="https://her.esy.fun/posts/0029-ai-assistants-in-doom-emacs-31-on-macos-with-clojure-mcp-server/index.html" rel="nofollow">https://her.esy.fun/posts/0029-ai-assistants-in-doom-emacs-3...</a><p>One thing I really appreciate with gptel is that it is very easy to switch from Claude to something else like a local llm (via ollama or gpt4all for example). And the interface will be similar.</p>
]]></description><pubDate>Wed, 06 Aug 2025 17:28:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=44814994</link><dc:creator>yogsototh</dc:creator><comments>https://news.ycombinator.com/item?id=44814994</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44814994</guid></item><item><title><![CDATA[New comment by yogsototh in "Job-seekers are dodging AI interviewers"]]></title><description><![CDATA[
<p>I think this already exists and there are lot of them. Regarding stealth AI interview, there are many existing products.<p>Mainly they listen to the interview, and write down answers in an overlay for you to repeat. They ace leet code, etc...<p>I guess this is already pretty close.</p>
]]></description><pubDate>Mon, 04 Aug 2025 10:54:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=44784131</link><dc:creator>yogsototh</dc:creator><comments>https://news.ycombinator.com/item?id=44784131</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44784131</guid></item><item><title><![CDATA[New comment by yogsototh in "Git Bug: Distributed, Offline-First Bug Tracker Embedded in Git, with Bridges"]]></title><description><![CDATA[
<p>I had the same idea for a talk a long time ago the result is <a href="https://git.esy.fun/yogsototh/gpm" rel="nofollow">https://git.esy.fun/yogsototh/gpm</a><p>I never used it seriously, but the concepts are easy enough to grasp.<p>Have a separate dedicated branch that contains all the metadata of your project. Like issues, todo-list, review comments, etc...<p>Hopefully, something decentralised like this could become more popular maybe.</p>
]]></description><pubDate>Wed, 14 May 2025 23:36:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=43990318</link><dc:creator>yogsototh</dc:creator><comments>https://news.ycombinator.com/item?id=43990318</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43990318</guid></item><item><title><![CDATA[New comment by yogsototh in "Why I Program in Lisp"]]></title><description><![CDATA[
<p>"Purely Functional Programming", I guess mostly Haskell/Purescript.<p>So this only really mean:<p>Purely Functional Programming by default.<p>In most programming languages you can write<p>"hello " + readLine()<p>And this would intermix pure function (string concatenation) and impure effect (asking the user to write some text). And this would work perfectly.<p>By doing so, the order of evaluation becomes essential.<p>With a pure functional programming (by default).<p>you must explicitely separate the part of your program doing I/O and the part of your program doing only pure computation. And this is enforced using a type system focusing on I/O. Thus the difference between Haskell default `IO` and OCamL that does not need it for example.<p>in Haskell you are forced by the type system to write something like:<p><pre><code>    do 
      name <- getLine
      let s = "Hello " <> name <> "!"
      putStrLn s
</code></pre>
you cannot mix the `getLine` directly in the middle of the concatenation operation.<p>But while this is a very different style of programming, I/O are just more explicit, and they "cost" more, because writing code with I/O is not as elegant, and easy to manipulate than pure code. Thus it naturally induce a way of coding that try to really makes you conscious about the part of your program that need IO and the part that you could do with only pure function.<p>In practice, ... yep, you endup working in a "Specific to your application domain" Monad that looks a lot like the IO Monad, but will most often contains IO.<p>Another option is to use a free monad for your entire program that makes you able to write in your own domain language and control its evaluation (either using IO or another system that simulates IO but is not really IO, typically for testing purpose).</p>
]]></description><pubDate>Fri, 11 Apr 2025 17:31:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=43656312</link><dc:creator>yogsototh</dc:creator><comments>https://news.ycombinator.com/item?id=43656312</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43656312</guid></item><item><title><![CDATA[New comment by yogsototh in "Why Clojure?"]]></title><description><![CDATA[
<p>For being an Haskell and Clojure dev. Data manipulation in Clojure requires a mind shift coming from Haskell. But it feels a lot more straightforward in Clojure. Even if `lens` is incredible. This is like Haskell lenses was were included in the core language if you want. Of course, not type-safe.
This is just that, solving problems in Haskell or in Clojure does not really require the same approach. But both ways are delightful. And personally, Clojure has always felt more natural, even though, I also love the Haskell approach.</p>
]]></description><pubDate>Mon, 24 Feb 2025 14:01:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=43159642</link><dc:creator>yogsototh</dc:creator><comments>https://news.ycombinator.com/item?id=43159642</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43159642</guid></item><item><title><![CDATA[New comment by yogsototh in "Why Clojure?"]]></title><description><![CDATA[
<p>One part of the joy that came with using Clojure is that there isn't really any bad choice. For example, I wanted a quick and dirty internal web application for admin purposes. I went with reframe. Why? Because I wanted to try it. And I knew, that I could get things done with it.<p>This is probably not the easiest "framework" (not sure this is a good name for it) but it was very fun. I think, if I had to progress from just a toy to a really strong, user facing UI, I think it would still be a pretty good choice. If some feature is missing, or something doesn't work as I would have liked, I know it will not be difficult to correct it myself.<p>I know that this could feel overwhelming, but this is freedom in a world where you expect there exists a single "best practice". As long as the tool is powerful enough it will be fine. On my end, I appreciate the fact there is not a single "web framework" in Clojure. Instead you have tons of libs you can use that work well together because they are all tied with a few common concepts (like ring for example). If you don't like to choose the libs. There are a few people that provide a starter pack with somewhat nice bundle of libs in a single system like pedestal or luminus for only citing two of them.<p>My recommendation is to not lose too much time looking for the best choice. Most of them will be good.</p>
]]></description><pubDate>Mon, 24 Feb 2025 13:55:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=43159597</link><dc:creator>yogsototh</dc:creator><comments>https://news.ycombinator.com/item?id=43159597</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43159597</guid></item><item><title><![CDATA[New comment by yogsototh in "I Received an AI Email"]]></title><description><![CDATA[
<p>I am pretty confident the spammers will remove the `+` suffix from your email. And this is why I find the Apple fake email building solution a lot better because they build a fully different email per service. No way for the service to be able to cheat and discover my real email address from the one I give them.<p>Still a smart enough system might be able to discover a valid email from my other id info, like my name. But this start to be a lot of work, while just `s/+[^@]*@//` is easy enough to do.</p>
]]></description><pubDate>Wed, 03 Jul 2024 10:29:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=40864611</link><dc:creator>yogsototh</dc:creator><comments>https://news.ycombinator.com/item?id=40864611</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40864611</guid></item><item><title><![CDATA[New comment by yogsototh in "In Defense of Simple Architectures (2022)"]]></title><description><![CDATA[
<p>I am very glad of the architecture we use at my current company. 
This is a monolith, BUT with the capacity to be deployed as microservices if needed.<p>The code is structured in such a way that you only start the sub services you need. We have node that launch almost all services, some only a few.<p>If we need to scale just a particular part of the system we can easily just scale the same node but configuring it just for the sub services we need.</p>
]]></description><pubDate>Tue, 20 Feb 2024 14:32:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=39441768</link><dc:creator>yogsototh</dc:creator><comments>https://news.ycombinator.com/item?id=39441768</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39441768</guid></item><item><title><![CDATA[New comment by yogsototh in "Why is Jepsen written in Clojure?"]]></title><description><![CDATA[
<p>Let me talk about my experience. 
I was (yes was) mostly an Haskeller. I loved using Haskell, and even a long time ago (in 2007 I think) when I learned it, the book to learn the basic of the language had snipped that no longer worked.<p>But I still loved, it. And it changed every year, and I was even part of the proponent of the changes.<p>But after a while, you realise that your old project stop working. 
That if you want to use a new library, you also need to update many dependencies. But each one has breaking changes, so you start updating your code.<p>Mainly, if you wrote some code, and forget about it, it will no longer work or will be very hard to use with newer libraries. After a while this became very tedious.<p>In Clojure, the code I wrote 10 years ago is still working perfectly today.
The application still launches.<p>If a bug is discovered and I need to fix it, for example, by upgrading or adding a new lib, I am not afraid to loose hours finding an fixing my existing code that suddenly become deprecated.<p>So yes, stability is VERY important for me now.<p>And last but not least, Rich Hickey talked about it in this talk and make a lot of very great points:<p><a href="https://piped.video/watch?v=oyLBGkS5ICk" rel="nofollow noreferrer">https://piped.video/watch?v=oyLBGkS5ICk</a></p>
]]></description><pubDate>Wed, 06 Dec 2023 17:10:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=38546648</link><dc:creator>yogsototh</dc:creator><comments>https://news.ycombinator.com/item?id=38546648</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38546648</guid></item><item><title><![CDATA[New comment by yogsototh in "Why is Jepsen written in Clojure?"]]></title><description><![CDATA[
<p>Let me add my 2cents on this subject.<p>I feel that due to its functional nature or perhaps this is just the community bias, Clojurists tend to prefer mixing lower level libraries to build their web application instead of relying on a specific big web framework like RoR for example. Luminus would be one RoR-like system.<p>But today, I think people would probably choose reitit for the writing the API and use a clojurescript framework for the frontend or perhaps still use reitit to generate HTML pages using hiccup.</p>
]]></description><pubDate>Wed, 06 Dec 2023 17:03:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=38546524</link><dc:creator>yogsototh</dc:creator><comments>https://news.ycombinator.com/item?id=38546524</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38546524</guid></item><item><title><![CDATA[New comment by yogsototh in "Show HN: OPML list of Hacker News Users Personal Blogs"]]></title><description><![CDATA[
<p>That's really great! Thank you for that.<p>I saw some people asking for a good RSS reader.
Personally I will use elfeed, and I also use elfeed-org so I could import the OPML file and export it into my existing RSS feeds.</p>
]]></description><pubDate>Fri, 07 Jul 2023 12:39:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=36630783</link><dc:creator>yogsototh</dc:creator><comments>https://news.ycombinator.com/item?id=36630783</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36630783</guid></item><item><title><![CDATA[New comment by yogsototh in "Show HN: Hacker News user blogroll"]]></title><description><![CDATA[
<p>This is pretty nice, but for my blog I noticed the latest article are wrong. Check yannesposito.com</p>
]]></description><pubDate>Thu, 06 Jul 2023 08:34:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=36612963</link><dc:creator>yogsototh</dc:creator><comments>https://news.ycombinator.com/item?id=36612963</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36612963</guid></item><item><title><![CDATA[New comment by yogsototh in "Ask HN: Could you share your personal blog here?"]]></title><description><![CDATA[
<p><a href="https://yannesposito.com" rel="nofollow noreferrer">https://yannesposito.com</a> (or its clone <a href="https://her.esy.fun" rel="nofollow noreferrer">https://her.esy.fun</a>)<p>I blog about functional programming (haskell, clojure), but also emacs org-mode, thing like these. I sometimes tell myself I should invest more time to write down more about my thoughts there.<p>I am happy to be part of the 512kb club.<p>Here are a few posts that were somehow popular:<p>- <a href="https://her.esy.fun/Scratch/en/blog/Learn-Vim-Progressively/" rel="nofollow noreferrer">https://her.esy.fun/Scratch/en/blog/Learn-Vim-Progressively/</a><p>- <a href="https://her.esy.fun/Scratch/en/blog/Haskell-the-Hard-Way/" rel="nofollow noreferrer">https://her.esy.fun/Scratch/en/blog/Haskell-the-Hard-Way/</a> (updated by <a href="https://her.esy.fun/posts/0010-Haskell-Now/index.html" rel="nofollow noreferrer">https://her.esy.fun/posts/0010-Haskell-Now/index.html</a> )<p>- <a href="https://her.esy.fun/Scratch/en/blog/Yesod-tutorial-for-newbies/" rel="nofollow noreferrer">https://her.esy.fun/Scratch/en/blog/Yesod-tutorial-for-newbi...</a></p>
]]></description><pubDate>Wed, 05 Jul 2023 12:26:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=36599408</link><dc:creator>yogsototh</dc:creator><comments>https://news.ycombinator.com/item?id=36599408</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36599408</guid></item><item><title><![CDATA[New comment by yogsototh in "Why Lisp Syntax Works"]]></title><description><![CDATA[
<p>Personally I find that LISP syntax remove a layer of complexity by directly exposing the AST to my brain instead of adding a layer of internal parsing.<p><pre><code>    1 + x * 2 - 3 % x
</code></pre>
is longer to decipher than<p><pre><code>    (% (- (+ (* x 2) 1) 3) x)
</code></pre>
which is itself harder than<p><pre><code>    (-> x (* 2) (+ 1) (- 3) (% x))
</code></pre>
But it takes a while to be used to it.
And yes, it really helps writing macros, but I wouldn't say this as always be a good thing. Macros are far from being the alpha and omega of programming, as they add an implicit layer of transformation to your code making it easier to write but very often harder to read and reason about.</p>
]]></description><pubDate>Mon, 05 Jun 2023 12:27:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=36195276</link><dc:creator>yogsototh</dc:creator><comments>https://news.ycombinator.com/item?id=36195276</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36195276</guid></item><item><title><![CDATA[New comment by yogsototh in "The Death of Quanta Magazine"]]></title><description><![CDATA[
<p>I still follow Quanta Magazine, but I kind of moved from it to SciTechDaily, which while still imperfect, generally has a direct link to the scientific article for which, if they have done their work correctly, is easier to follow after the blog article about it.<p>The positive side effect is that I am reading scientific articles more often since I'm doing this.</p>
]]></description><pubDate>Fri, 02 Dec 2022 11:08:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=33829026</link><dc:creator>yogsototh</dc:creator><comments>https://news.ycombinator.com/item?id=33829026</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=33829026</guid></item></channel></rss>