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
    A

    Andrew Brehaut

    brehaut.net · Personal blog · on HN since 2010

    Andrew Brehaut writes about Clojure, covering web stacks, state monads and parsing, and his move from Python.

    Visit blogRSSHN submissions
    Languages & CompilersWeb DevelopmentProgramming
    What HN says

    Commenters call his Ring introduction the best overview of the Clojure web stack and a 'motherlode', and recommend it to newcomers.

    Stats for nerds
    18HN people shared it
    17linked in comments
    377story points
    Jul 2013last shared
    2010people per year2013

    Top posts on HN

    1. 1
      A Brief Overview of the Clojure Web Stack
      7 people · 93 points · first shared 2011 · 9 comments on HN
    2. 2
      "On iteration": Why people leave Python
      2 people · 59 points · first shared 2010 · 80 comments on HN
    3. 3
      From Python to Clojure
      1 person · 58 points · first shared 2010 · 12 comments on HN
    4. 4
      Duck Wrapping
      1 person · 45 points · first shared 2013 · 17 comments on HN
    5. 5
      Impedance mismatch with CouchDB
      2 people · 27 points · first shared 2010 · 11 comments on HN
    6. 6
      "Welcome to the Machine": State monads in Clojure
      1 person · 27 points · first shared 2010 · 17 comments on HN
    7. 7
      Parsing in Clojure via a Backtracking State Monad
      1 person · 16 points · first shared 2010 · 4 comments on HN
    8. 8
      Static types are great, but I don't use them in practice
      1 person · 12 points · first shared 2013 · 8 comments on HN
    9. 9
      CoffeeScript comprehensions are broken
      1 person · 11 points · first shared 2011 · 3 comments on HN
    10. 10
      An Error Monad in Clojure
      1 person · 6 points · first shared 2011 · Discussion on HN

    What HN people wrote when they linked it

    • graueJul 2013

      If you're referring to core.async specifically, keep in mind it's very new. Its readme[1] goes as far as to say, "This library is work-in-progress, experimental, broken etc. It should only be used by people working on it, ATM." With more maturity will surely come more examples and tutorials.

      But if you mean Clojure(Script) in general, I kind of agree. There are some beginner friendly tutorials; lately Andrew Brehaut's intro to the Clojure web stack[2] has been smooth going for me, despite being a bit dated. But you have to look around. In particular, I've found the small-scale mechanics of the language easy to pick up via Clojure Koans[3], 4clojure[4], and ClojureDocs[5]. What's missing the most IMHO is approachable introductions to the big-picture concepts. Especially the less generically lispy, more Clojure-specific parts, concerned with concurrency and state. (I hear the book Clojure Programming by Emerick et al. is good for that... have yet to read.)

      I kind of understand Clojure not being easy or quick to learn, because powerful tools take time to master. But even with that said, it could be better. When I get confident with Clojure I hope to be part of a new wave of Clojurists who write really beginner-friendly tutorials :) I think it won't be the "gurus" who write them, but regular joes/janes like you and me for whom the initial difficulty of this stuff is still a fresh memory.

      [1] https://github.com/clojure/core.async

      [2]…

    • rajuJul 2011

      One of my favorite resources is the #clojure tag on Twitter. I use Tweetie and have bookmarked a search on that.

      Here are a few sites from my GReader

      http://www.bestinclass.dk/blog.html

      http://nakkaya.com/

      http://freegeek.in/blog/

      https://groups.google.com/group/clojure

      And here are a few tabs that I currently have open (Maybe this weekend I will get to them :D)

      https://github.com/dbushenko/ClojureBlog

      http://skillsmatter.com/podcast/scala/talk-by-patrick-fredriksson

      http://brehaut.net/blog/2011/ring_introduction

      http://www.codequarterly.com/2011/rich-hickey/ (Interview with Rich)

      http://news.ycombinator.com/item?id=2682191

      http://news.ycombinator.com/item?id=2709319

      Hope these help :)

    • brehautJun 2011

      The obvious reason for no Object/Relational Mappers in Clojure is that while Clojure has objects available, it doesn't orient around them. It makes much more sense to treat a set of records from the DB as a sequence of maps.

      For DBs and Clojure in general I can only speak about CouchDB via Clutch and SQL via ClojureQL and clojure.contrib.SQL. I don't want to claim to be an expert in either of these technologies, but if you have some more specific questions i'm happy to do my best to answer them. you might find some answers about couch in an older post of mine http://brehaut.net/blog/2010/couch_impedance

    • choffsteinFeb 2012

      This is probably the best overview out there: http://brehaut.net/blog/2011/ring_introduction, though it doesn't mention the new kid on the block, Noir (http://www.webnoir.org/)

    • WildUtahJun 2011

      Recently posted in HN, the Clojure web stack:

      http://brehaut.net/blog/2011/ring_introduction

    • jedbrownMay 2010

      The source of that quote is a nice read: http://brehaut.net/blog/2010/on_iteration

    Related

    Best In Classbestinclass.dk46 people

    Reddit/HN clone in Clojure

    Best In Class
    Personal · last shared 2020
    Jean Niklas L'orangeblog.higher-order.net15 people

    Understanding Clojure's PersistentVector implementation (2009)

    Jean Niklas L'orange
    Personal · last shared 2016
    Prismatic Blogblog.getprismatic.com40 people

    Om Sweet Om: functional front-end engineering with ClojureScript and React

    Prismatic Blog
    Company · last shared 2015
    David Nolenswannodette.github.io98 people

    The Future of JavaScript MVCs

    David Nolen
    Personal · last shared 2025
    LispCastlispcast.com108 people

    React: Another Level of Indirection

    LispCast
    Personal · last shared 2022
    Yogthosyogthos.net45 people

    Why I'm Productive in Clojure (2013)

    Yogthos
    Personal · last shared 2026
    Think Relevancethinkrelevance.com69 people

    My Clojure Workflow, Reloaded

    Think Relevance
    Company · last shared 2020
    Chas Emerickcemerick.com35 people

    100% time

    Chas Emerick
    Personal · last shared 2025