HackerTrans
TopNewTrendsCommentsPastAskShowJobs

joelittlejohn

no profile record

Submissions

JUXT Cast: Platform engineering and advice on internal developer platforms

juxt.pro
4 points·by joelittlejohn·vor 3 Jahren·0 comments

Exoscale – Building a multi-region cloud hosting platform with Clojure and Go

juxt.pro
2 points·by joelittlejohn·vor 3 Jahren·0 comments

[untitled]

1 points·by joelittlejohn·vor 3 Jahren·0 comments

[untitled]

1 points·by joelittlejohn·vor 3 Jahren·0 comments

[untitled]

1 points·by joelittlejohn·vor 3 Jahren·0 comments

[untitled]

1 points·by joelittlejohn·vor 3 Jahren·0 comments

Clojure In: Kpow, building a Kafka toolkit with Clojure

juxt.pro
1 points·by joelittlejohn·vor 3 Jahren·0 comments

[untitled]

1 points·by joelittlejohn·vor 4 Jahren·0 comments

[untitled]

1 points·by joelittlejohn·vor 4 Jahren·0 comments

Okta and Auth0 Blocking Cuba, Iran, N Korea, Syria, Crimea, Luhansk, Donetsk

support.okta.com
122 points·by joelittlejohn·vor 4 Jahren·162 comments

Embracing Imperfection

juxt.pro
1 points·by joelittlejohn·vor 4 Jahren·0 comments

REPL Driven Minecraft

juxt.pro
192 points·by joelittlejohn·vor 4 Jahren·13 comments

Testing Against XTDB

juxt.pro
1 points·by joelittlejohn·vor 4 Jahren·0 comments

ClojureScript for JavaScript Developers

juxt.pro
2 points·by joelittlejohn·vor 4 Jahren·0 comments

Communicating Software

juxt.pro
2 points·by joelittlejohn·vor 5 Jahren·0 comments

Abstract Clojure

juxt.pro
170 points·by joelittlejohn·vor 5 Jahren·39 comments

From macOS to Arch Linux

juxt.pro
147 points·by joelittlejohn·vor 5 Jahren·246 comments

comments

joelittlejohn
·vor 3 Jahren·discuss
Dan recently recorded a session about Relic, if you'd like to hear him speak more about the origins of the library, some design choices, and some examples:

https://youtube.com/watch?v=QsEJ5O2e4Es
joelittlejohn
·vor 5 Jahren·discuss
If you have an hour spare, probably the best way to understand Clojure's main selling points is to watch this talk: https://www.infoq.com/presentations/Simple-Made-Easy/

InfoQ list the Key Takeaways as:

- We should aim for simplicity because simplicity is a prerequisite for reliability.

- Simple is often erroneously mistaken for easy. "Easy" means "to be at hand", "to be approachable". "Simple" is the opposite of "complex" which means "being intertwined", "being tied together". Simple != easy.

- What matters in software is: does the software do what is supposed to do? Is it of high quality? Can we rely on it? Can problems be fixed along the way? Can requirements change over time? The answers to these questions is what matters in writing software not the look and feel of the experience writing the code or the cultural implications of it.

- The benefits of simplicity are: ease of understanding, ease of change, ease of debugging, flexibility.

- Complex constructs: State, Object, Methods, Syntax, Inheritance, Switch/matching, Vars, Imperative loops, Actors, ORM, Conditionals.

- Simple constructs: Values, Functions, Namespaces, Data, Polymorphism, Managed refs, Set functions, Queues, Declarative data manipulation, Rules, Consistency.

- Build simple systems by: Abstracting (design by answering questions related to what, who, when, where, why, and how); Choosing constructs that generate simple artifacts; Simplifying by encapsulation.

So Clojure is a language that embodies these principles in its design. It's a Lisp, which means that all code is constructed from a very regular expression syntax that has an inherent simplicity and can be quickly understood. It's a functional programming language that provides exceptional tools for minimising mutating state, and it favours working with a small set of data structures and provides a core api with many useful functions that operate on them.

I'd say the result is getting a lot done with a small amount of code, minimal ceremony, true reuse, and the ability to maintain simplicity even as your system's capabilities grow.