<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: oskarkv</title><link>https://news.ycombinator.com/user?id=oskarkv</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sun, 21 Jun 2026 11:41:39 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=oskarkv" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by oskarkv in "Mindfulness may have been over-hyped"]]></title><description><![CDATA[
<p>True, but I am convinced that meditation can lead to awakening, which, apparently, involves the cessation of suffering and feeling one with the universe. It's not so far fetched, since our experience is generated by our brains, and similar things can happen on drugs.</p>
]]></description><pubDate>Wed, 09 May 2018 00:34:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=17026570</link><dc:creator>oskarkv</dc:creator><comments>https://news.ycombinator.com/item?id=17026570</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=17026570</guid></item><item><title><![CDATA[New comment by oskarkv in "Mathematics for Computer Science"]]></title><description><![CDATA[
<p>Is thinking obsolete too?</p>
]]></description><pubDate>Sun, 05 Apr 2015 04:09:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=9323092</link><dc:creator>oskarkv</dc:creator><comments>https://news.ycombinator.com/item?id=9323092</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=9323092</guid></item><item><title><![CDATA[New comment by oskarkv in "Amazon is hiring Clojure devs"]]></title><description><![CDATA[
<p>It really <i>is</i> readable, to me at least. I just wanted to say that because some people will perhaps read your comment and take it as true, because they too struggle with it at the moment, and then discard Clojure. But I'm just in love with it---yes, the syntax.</p>
]]></description><pubDate>Thu, 27 Nov 2014 17:26:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=8668128</link><dc:creator>oskarkv</dc:creator><comments>https://news.ycombinator.com/item?id=8668128</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=8668128</guid></item><item><title><![CDATA[New comment by oskarkv in "Show HN: HTML5 MMORPG – Node.js"]]></title><description><![CDATA[
<p>I was interested until I noticed it was pay-to-win. Instantly closed the tab.</p>
]]></description><pubDate>Fri, 04 Jul 2014 06:48:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=7987650</link><dc:creator>oskarkv</dc:creator><comments>https://news.ycombinator.com/item?id=7987650</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=7987650</guid></item><item><title><![CDATA[New comment by oskarkv in "Functional programming explained in Clojure with a terminal-based game"]]></title><description><![CDATA[
<p>No. I love it. It's so simple. Even if Haskell has pretty nice syntax, I found myself resenting it because I needed to remember operator precedence.</p>
]]></description><pubDate>Fri, 16 May 2014 05:54:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=7753968</link><dc:creator>oskarkv</dc:creator><comments>https://news.ycombinator.com/item?id=7753968</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=7753968</guid></item><item><title><![CDATA[New comment by oskarkv in "Functional programming explained in Clojure with a terminal-based game"]]></title><description><![CDATA[
<p>For very simple cases there are the threading macros, `->` et al., that you can use like this:<p><pre><code>  (-> state 
      (assoc :a val) 
      (update-in [:b :c] f args) 
      (dissoc :d)
      (some-other-fn args))
</code></pre>
where :a - :d are keys.<p>Or you could use monads in much the same way as you would in Haskell; there are libs for that.<p>Or you could write a new macro (or maybe even function) that does exactly what you want. I did that for a game. It looked like this:<p><pre><code>  (call-update-fns game-state hook
    (update-monster-positions)
    (update-monster-ai)
    (let-characters-attack)
    (some-other-stuff))
</code></pre>
It would thread the game-state (immutable) through all the functions, and call hook (a function) in between all the functions to send network messages and stuff (to minimize latency), and also collect and return new events that the functions created that I needed to handle (e.g. someone died when the characters attacked). It's almost like the state monad but not quite.</p>
]]></description><pubDate>Fri, 16 May 2014 05:34:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=7753924</link><dc:creator>oskarkv</dc:creator><comments>https://news.ycombinator.com/item?id=7753924</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=7753924</guid></item><item><title><![CDATA[New comment by oskarkv in "Free screencasts to learn Go"]]></title><description><![CDATA[
<p>Yeah, only Lisp is beautiful. ;)</p>
]]></description><pubDate>Mon, 13 Jan 2014 14:45:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=7050791</link><dc:creator>oskarkv</dc:creator><comments>https://news.ycombinator.com/item?id=7050791</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=7050791</guid></item><item><title><![CDATA[New comment by oskarkv in "Plain English explanation of Big O"]]></title><description><![CDATA[
<p>Big O is not necessarily about execution time. Also, why is it ridiculous to describe execution time as "time complexity"? From <a href="http://en.wikipedia.org/wiki/Analysis_of_algorithms" rel="nofollow">http://en.wikipedia.org/wiki/Analysis_of_algorithms</a> "Usually, the efficiency or running time of an algorithm is stated as a function relating the input length to the number of steps (time complexity) or storage locations (space complexity)."</p>
]]></description><pubDate>Mon, 09 Dec 2013 14:40:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=6874462</link><dc:creator>oskarkv</dc:creator><comments>https://news.ycombinator.com/item?id=6874462</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=6874462</guid></item><item><title><![CDATA[New comment by oskarkv in "Understanding Clojure's Persistent Vectors, Part 1"]]></title><description><![CDATA[
<p>Branching factor 32 is great for lookups, but isn't it slower for modification? At least, one has to create more array cells in total (31 copies in each node), no?</p>
]]></description><pubDate>Thu, 26 Sep 2013 05:42:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=6449121</link><dc:creator>oskarkv</dc:creator><comments>https://news.ycombinator.com/item?id=6449121</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=6449121</guid></item><item><title><![CDATA[New comment by oskarkv in "Big-O notation explained by a self-taught programmer"]]></title><description><![CDATA[
<p>First of all, O(g(n)) is a set. It is the set of functions f(n) such that there exists positive constants n0 and C, and C*g(n) > f(n) when n > n0.<p>Second, talking about O(g(n)) does not imply that the time complexity being discussed is the worst-case (or any other case) time complexity. One could for example say that the algorithm A's best-case time complexity is in O(n), and it's worst-case time complexity is in O(n^2).</p>
]]></description><pubDate>Sat, 27 Jul 2013 08:04:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=6112192</link><dc:creator>oskarkv</dc:creator><comments>https://news.ycombinator.com/item?id=6112192</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=6112192</guid></item><item><title><![CDATA[New comment by oskarkv in "Big-O notation explained by a self-taught programmer"]]></title><description><![CDATA[
<p>Of course O(n) is not equal to O(n^2). O(n) is a set, and O(n^2) is a different set.</p>
]]></description><pubDate>Sat, 27 Jul 2013 07:41:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=6112151</link><dc:creator>oskarkv</dc:creator><comments>https://news.ycombinator.com/item?id=6112151</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=6112151</guid></item><item><title><![CDATA[New comment by oskarkv in "How Emacs changed my life"]]></title><description><![CDATA[
<p>He says he understood the power of Lisp, yet he made a non-Lisp language. :P I don't get people who make non-Lisp languages.</p>
]]></description><pubDate>Wed, 24 Jul 2013 17:50:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=6097770</link><dc:creator>oskarkv</dc:creator><comments>https://news.ycombinator.com/item?id=6097770</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=6097770</guid></item><item><title><![CDATA[New comment by oskarkv in "Why they keep developing Java/C#"]]></title><description><![CDATA[
<p>That's your biggest concern?</p>
]]></description><pubDate>Wed, 26 Jun 2013 15:14:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=5946560</link><dc:creator>oskarkv</dc:creator><comments>https://news.ycombinator.com/item?id=5946560</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=5946560</guid></item><item><title><![CDATA[New comment by oskarkv in "Behind the Scenes with Chicken Scheme"]]></title><description><![CDATA[
<p>Does Chicken have immutable data structures? How about typeclasses/protocols? How about literal syntax for hash maps, sets, vectors/arrays?<p>I'm coming from Clojure, and I'm interested in Chicken. I really like the things mentioned above about Clojure and I am just interested in how Chicken compares when it comes to these things.</p>
]]></description><pubDate>Fri, 03 May 2013 09:55:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=5649538</link><dc:creator>oskarkv</dc:creator><comments>https://news.ycombinator.com/item?id=5649538</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=5649538</guid></item><item><title><![CDATA[New comment by oskarkv in "List Comprehensions in Eight Lines of Clojure"]]></title><description><![CDATA[
<p>`for` is a macro, not a special form. Special forms are these: <a href="http://clojure.org/special_forms" rel="nofollow">http://clojure.org/special_forms</a></p>
]]></description><pubDate>Wed, 02 Jan 2013 08:10:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=4995783</link><dc:creator>oskarkv</dc:creator><comments>https://news.ycombinator.com/item?id=4995783</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=4995783</guid></item><item><title><![CDATA[New comment by oskarkv in "Clojure 1.5.0 RC 1 released"]]></title><description><![CDATA[
<p>I don't know what you mean by widespread. But work on it does not seem to be slowing down, and it is a really good language, so I think it will only grow.</p>
]]></description><pubDate>Sun, 23 Dec 2012 02:05:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=4958286</link><dc:creator>oskarkv</dc:creator><comments>https://news.ycombinator.com/item?id=4958286</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=4958286</guid></item><item><title><![CDATA[New comment by oskarkv in "Clojure 1.5.0 RC 1 released"]]></title><description><![CDATA[
<p>There is a lot of stuff in Clojure that can be done in more than one way. I know that Python focuses on "only one way to do it", but Clojure's focus is on simplicity, as defined by Rich Hickey in Simple Made Easy [1], and that is a much better focus. I find that, as Rich says (and I'm paraphrasing), simplicity is by far the most important concern when programming. It dominates all other concerns in terms of importance and payoff. I believe I have become a much better programmer since I learned Clojure and listened to Rich's talks.<p>[1] <a href="http://www.infoq.com/presentations/Simple-Made-Easy" rel="nofollow">http://www.infoq.com/presentations/Simple-Made-Easy</a></p>
]]></description><pubDate>Sun, 23 Dec 2012 02:00:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=4958273</link><dc:creator>oskarkv</dc:creator><comments>https://news.ycombinator.com/item?id=4958273</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=4958273</guid></item><item><title><![CDATA[New comment by oskarkv in "Extremist Programming"]]></title><description><![CDATA[
<p>Yeah, I know about it, but it's an additional dependency, right? [org.clojure/core.logic "0.7.5"] Whatever, Clojure is clean and simple is what I wanted to say. :)</p>
]]></description><pubDate>Wed, 21 Nov 2012 21:05:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=4816310</link><dc:creator>oskarkv</dc:creator><comments>https://news.ycombinator.com/item?id=4816310</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=4816310</guid></item><item><title><![CDATA[New comment by oskarkv in "Extremist Programming"]]></title><description><![CDATA[
<p>Your comment gives the impression that Clojure is a big multiparadigm mess. But it is not. Clojure's design is clean and simple. Clojure is mostly functional. Sure, since it's a Lisp one can kind of incorporate other paradigms with macros. But out of the box Clojure does not do Java-style OOP (except for interop) or Prolog-style logic.</p>
]]></description><pubDate>Wed, 21 Nov 2012 19:17:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=4815799</link><dc:creator>oskarkv</dc:creator><comments>https://news.ycombinator.com/item?id=4815799</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=4815799</guid></item><item><title><![CDATA[New comment by oskarkv in "Big-O Misconceptions"]]></title><description><![CDATA[
<p><i>The correct statement about lower bounds is this: "In the worst case, any comparison based sorting algorithm must make Ω(n log(n)) comparisons."</i><p>You are making the same mistake that people that have Misconception 1 make. "The algorithm must make <a set of functions> comparisons." is a nonsensical statement.</p>
]]></description><pubDate>Tue, 16 Oct 2012 00:32:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=4657830</link><dc:creator>oskarkv</dc:creator><comments>https://news.ycombinator.com/item?id=4657830</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=4657830</guid></item></channel></rss>