Rich Hickey – open-source is Not About You

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
WorkOS - The modern identity platform for B2B SaaS
The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
workos.com
featured
  • git-of-theseus

    Analyze how a Git repo grows over time

  • I guess one good example (that was mentioned just yesterday here on HN) would be Flask vs FastAPI: https://news.ycombinator.com/item?id=31953470 - "There are no open issues or pull requests on Flask "

    Quick count finds that FastAPI has 48422 lines of code, while Flask has 9995. Flask just achieved "Zero standing issues/PRs" while FastAPI has 1.1K open issues and ~500 open PRs.

    Large surface area/API quickly leads to be overwhelmed when you're trying to maintain it. Adding new features/fixing existing ones becomes harder as well.

    Best bet to make sure something is maintainable over time is to add as little as possible to it, and if you really have to, make sure you're also removing something at the same time.

    Otherwise you need a massive team just to be able to "survive" and not making things rot.

    There is this blogpost as well about the "half-life of code": https://erikbern.com/2016/12/05/the-half-life-of-code.html

    Someone run that tool on the Clojure codebase as well, and it really shows how well the Clojure codebase has been written, as most code that was initially written is still there and does what it needs, without having to be rewritten.

  • core.async

    Facilities for async programming and communication in Clojure

  • If you're not familiar with lisps in general, it might be hard to grok the differences between lisp-macros (as used in Clojure) and "normal" macros you see in other languages.

    But, if you are familiar already, and just wanna see examples of neat macros that makes the API nicer than what a function could provide, here are a few:

    - https://github.com/clojure/core.async/blob/master/examples/w...

    - https://github.com/weavejester/compojure

    - https://github.com/ptaoussanis/timbre

    - https://github.com/krisajenkins/yesql

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • compojure

    A concise routing library for Ring/Clojure

  • If you're not familiar with lisps in general, it might be hard to grok the differences between lisp-macros (as used in Clojure) and "normal" macros you see in other languages.

    But, if you are familiar already, and just wanna see examples of neat macros that makes the API nicer than what a function could provide, here are a few:

    - https://github.com/clojure/core.async/blob/master/examples/w...

    - https://github.com/weavejester/compojure

    - https://github.com/ptaoussanis/timbre

    - https://github.com/krisajenkins/yesql

  • timbre

    Pure Clojure/Script logging library

  • If you're not familiar with lisps in general, it might be hard to grok the differences between lisp-macros (as used in Clojure) and "normal" macros you see in other languages.

    But, if you are familiar already, and just wanna see examples of neat macros that makes the API nicer than what a function could provide, here are a few:

    - https://github.com/clojure/core.async/blob/master/examples/w...

    - https://github.com/weavejester/compojure

    - https://github.com/ptaoussanis/timbre

    - https://github.com/krisajenkins/yesql

  • yesql

    A Clojure library for using SQL.

  • If you're not familiar with lisps in general, it might be hard to grok the differences between lisp-macros (as used in Clojure) and "normal" macros you see in other languages.

    But, if you are familiar already, and just wanna see examples of neat macros that makes the API nicer than what a function could provide, here are a few:

    - https://github.com/clojure/core.async/blob/master/examples/w...

    - https://github.com/weavejester/compojure

    - https://github.com/ptaoussanis/timbre

    - https://github.com/krisajenkins/yesql

  • shadow-cljs

    ClojureScript compilation made easy

  • I don't know, the community in general tend to use macros that are well written. I keep seeing core.async being used (`go`) in Clojure projects, and also various macros for writing HTTP servers (compojure being a popular one which main code interface is a macro `defroutes`).

    ClojureScript projects also routinely add support for making asynchronous code look synchronous (like `async/await` in vanilla JavaScript) via macros. shadow-cljs's `js-await` being one of the well-written ones: https://github.com/thheller/shadow-cljs/blob/49fb078b834e64f...

    Usage:

        (defn my-async-fn [foo]

  • ts-macros

    A typescript transformer / plugin that allows you to write macros for typescript!

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • [ANN] Malli 0.11.0 is out - a data-driven data specification library for Clojure/Script

    4 projects | /r/Clojure | 12 Apr 2023
  • Cherry: ClojureScript to ES6 Module Compiler

    2 projects | news.ycombinator.com | 28 Oct 2022
  • ClojureDocs – Community-powered documentation and examples for Clojure

    4 projects | news.ycombinator.com | 1 Jun 2022
  • Reflecting on 18 months of Clojure - Building a SaaS business with Clojure

    8 projects | /r/Clojure | 7 Feb 2022
  • Browser-based cljs tests

    2 projects | /r/Clojurescript | 17 Feb 2021