Skip to content
HomeVideosBooksBlogs
AllTop postsTopics
Podcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    D

    Dragan Djuric

    dragan.rocks · Personal blog · on HN since 2016

    Dragan Djuric writes about numerical computing, GPU programming, and deep learning in Clojure.

    Visit blogRSSHN submissions
    Languages & CompilersAI & Machine LearningSystems & Performance
    What HN says

    HN commenters like the in-depth optimisation posts, though one says a post fails to rebut the claim that idiomatic Common Lisp is faster than Clojure.

    Stats for nerds
    30HN people shared it
    154linked in comments
    3.4Kstory points
    Aug 2023last shared
    2016people per year2023

    Top posts on HN

    1. 1
      Clojure Linear Algebra Refresher: Eigenvalues and Eigenvectors
      1 person · 206 points · first shared 2017 · 71 comments on HN
    2. 2
      Interactive GPU Programming, Part 1: Hello CUDA
      3 people · 194 points · first shared 2018 · 29 comments on HN
    3. 3
      CUDA 10 in Clojure
      2 people · 157 points · first shared 2018 · 19 comments on HN
    4. 4
      LU Factorization and Linear Systems for Programers
      4 people · 147 points · first shared 2017 · 43 comments on HN
    5. 5
      Clojure Linear Algebra Refresher: 1 – Vector Spaces
      2 people · 146 points · first shared 2017 · 29 comments on HN
    6. 6
      Foundations of ML and AI: Book recommendations
      2 people · 143 points · first shared 2018 · 17 comments on HN
    7. 7
      Interactive GPU Programming, Part 2: Hello OpenCL
      1 person · 142 points · first shared 2018 · 8 comments on HN
    8. 8
      Clojure Numerics: Orthogonalization and Least Squares
      2 people · 131 points · first shared 2017 · 20 comments on HN
    9. 9
      Fast Tensors in Clojure – A Sneak Peek
      3 people · 129 points · first shared 2019 · 17 comments on HN
    10. 10
      CuPy Accelerates NumPy on the GPU? Hold My Cider, Here's Clojure
      3 people · 127 points · first shared 2020 · 46 comments on HN

    What HN people wrote when they linked it

    • iLemmingApr 2020

      > It's not Clojure-dead

      It never ceases to amaze me. Almost every single time, whenever there's a post or a comment on HN that mentions Clojure or Clojurescript, there's always someone from outside of the Clojure community attacking the language, saying things that are simply untrue. Like people are afraid of it becoming too successful. It's not some zero-sum game - the success of one language ecosystem doesn't mean that your other, the more favorite tool would be immediately forgotten.

      Somehow I don't see Clojure people attacking other languages; they instead learn and borrow from them.

      - Python people would be like: "you can't do machine learning stuff...", and what Clojure people say? Instead of fighting Python, they're like: "We can¹, and also We have nothing against Python, we'll figure out a way to talk to it from Clojure.²"

      - Golang people would be: "CSP be is cool," Clojure people: "Awesome, we'll borrow it just the way how you did it. Also, we like Golang, we're going to write a Clojure interpreter and linter in it.³"

      - R people: "Clojure is data-driven? Pfff... you know nothing about statistics ...." Clojure people: - "Oh yeah R is cool, btw. we've just figured out a way to interop from Clojure⁴."

      - Elixir people: "BEAM is way better than your JVM crap...", Clojure people: "Not really, but okay, we see your point, we'll build Clojure on BEAM⁵"

      - JS/TS people say things like "Modern Javascript is so nice, who needs Clojure now?" They get excited about stuff…

    • thomMar 2019

      Oh, so many things.

      The parallelism isn't actually that powerful, and in 2019 there's very little to set it apart. The building blocks are great, e.g. immutability everywhere, but few of the built-in primitives are actually usable (hidden unconfigurable thread pools etc). Stack traces still regularly horrible. Libraries are regularly abandoned. ClojureScript integrating with npm etc is more stress than you'd like. Core development is haphazard and proudly so. Types are nice, and spec is still up in the air, and slow, and not widely implemented, and will probably be rewritten several more times before being abandoned. Hiring is harder than a dozen other languages.

      All that said, there is still amazing stuff happening. I hold out some hope that Dragan's work might spark a bigger stats/ML community on top of Clojure, for example:

      https://dragan.rocks/

      Every day I can still write code and think "yay, that's cute", and be thankful for the dynamism and clarity it can enable. But I wouldn't recommend it to anybody, for anything really, and I feel sad realising that.

    • robtoMar 2019

      In my experience, it works just fine.

      Clojure for the frontend is the best-in-class frontend dev environment that I've worked with. Instant hot code reloading, a browser-connected repl, great debugging tools, and a really nice collection of libraries for getting stuff done. I've never had to use native APIs for iOS and Android, so I can't speak to that from experience, but I know that there's some really nice machine learning work that's done in Clojure[0]. One of the main bits of Clojure philosophy is to just embrace the host platform, and our company has done that very successfully.

      I think I agree that there are compromises, but on the whole I've come out pretty far ahead with the tools I get to use. My point, though, wasn't to proselytize for Clojure (even though I do love it!), but to point out that there are ecosystems that have made significant progress towards this idea of convergence, and that some people (me in particular) are very happy to be moving in that direction. I'm excited to see progress on the OS front.

      [0]https://dragan.rocks/

    • medo-bearOct 2021

      i like in depth optimisation posts like this post. however it starts by expressing disagreement with the statement that idiomatic common lisp is much faster than idiomatic clojure, but in the end doesnt do much to dispell this. all it does is it shows how much in depth knowledge of clojure and jvm you need in order to still be slower than a very simple implementation in common lisp. i myself am quite new to common lisp, and comming from the machine learning and scientific computing background, i am VERY impressed by its speed, interactiveness, and just general neatness of programming. i don't think there exists a language that comes close to this. i wish there were more members from ml and scientific community involved in the common lisp community. in fact there is one person in the clojure community who i would love to try common lisp: https://dragan.rocks/

    • eggyMay 2019

      I would think Clojure vs. Java would be used given immutability. I like both Haskell and Racket for math, especially this article on geometric algebra with Haskell:

      https://crypto.stanford.edu/~blynn/haskell/ga.html

      I am personally learning Shen[1] because Lisp, optional typing (great type system), and the formal work done within it, and for it in proving, verification and other related endeavors. It seems to tick the Haskell, Lisp, Prolog and logic boxes for me. Its portability is great[2], however, it is still young and building libraries. I am thinking on trying to mimic the DL work done by Dragan Djuric[3] for Clojure in Shen. We'll see how that goes...

      [1] http://www.shenlanguage.org/
      [2] https://shen-language.github.io/
      [3] https://dragan.rocks/

    • bhattisatishJun 2020

      The book looks interesting and the associated libraries (neanderthal for e.g.)

      But while going through your performance comparison [1], I feel something is off.

      I am not that familiar with libpython-clj and how it works, but looks like you are loading python from within the JVM and in turn the python is loading the C++/fortran OpenBLAS libraries to get the numerical calculations done for the Correlation Coefficient. I suspect this multi-level indirection is creating it's own performance overhead.
      For now, I don't believe the performance benchmark are telling us the true story :-)

      But after saying all that, I love how concise is the clojure implementation is.

      [1] https://dragan.rocks/articles/20/Clojure-Numpy-Cupy-CPU-GPU

    Related

    ClojureScript Newsclojurescript.org59 people

    ClojureScript 1.10.741

    ClojureScript News
    Company · last shared 2026
    Data Sorcerydata-sorcery.org22 people

    An Illustrated guide to multi-core parallelism in Clojure

    Data Sorcery
    Personal · last shared 2019
    Carin Meiergigasquidsoftware.com32 people

    The Joy of Flying AR Drones with Clojure

    Carin Meier
    Personal · last shared 2026
    Valentin Waeselynckvvvvalvalval.github.io29 people

    What makes a good REPL?

    Valentin Waeselynck
    Personal · last shared 2025
    Jean Niklas L'orangehypirion.com60 people

    Understanding Clojure's Persistent Vectors, Part 1

    Jean Niklas L'orange
    Personal · last shared 2026
    foonathanfoonathan.net35 people

    Carbon’s most exciting feature is its calling convention

    foonathan
    Personal · last shared 2026
    Think Relevancethinkrelevance.com69 people

    My Clojure Workflow, Reloaded

    Think Relevance
    Company · last shared 2020
    Yogthosyogthos.net45 people

    Why I'm Productive in Clojure (2013)

    Yogthos
    Personal · last shared 2026