INNOQ Blog
innoq.com · Company blog · on HN since 2009
INNOQ, a German software consultancy, publishes articles on software architecture, functional programming, Clojure, Go, and developer tooling.
What HN saysHN commenters link its articles as explainers, such as what a frontend bundler does and how to connect Apple Shortcuts to OpenAI.
68HN people shared it
15linked it in comments
90stories submitted
1.7Kstory points
6 months agolast shared
2009people per year2026
Most-shared posts
- 1Native Clojure with GraalVM6 people · 171 points · first shared 2018 · 68 comments on HN
- 2Error Handling in Go (2016)3 people · 150 points · first shared 2018 · 86 comments on HN
- 3Why You Should Avoid a Canonical Data Model3 people · 6 points · first shared 2015 · discussion on HN
- 4Do We Worship Complexity?2 people · 8 points · first shared 2018 · 1 comments on HN
- 5Domain Events vs. Event Sourcing2 people · 6 points · first shared 2019 · discussion on HN
- 6A critical perspective on the typical FP vs. OO debate2 people · 4 points · first shared 2016 · 1 comments on HN
- 7Infrastructure Self-Service with Crossplane2 people · 3 points · first shared 2022 · 1 comments on HN
- 8Cloud Computing and Carbon Footprint2 people · 2 points · first shared 2020 · discussion on HN
- 9An Introduction to TLA+ and Its Use in Parties2 people · 2 points · first shared 2023 · discussion on HN
- 10Clojure Intro Slides [pdf]2 people · 2 points · first shared 2010 · discussion on HN
- 11How AI will replace my job: What tools like GPT can do in software development2 people · 2 points · first shared 2023 · 1 comments on HN
- 12Automated Code Maintenance with OpenRewrite2 people · 2 points · first shared 2023 · 1 comments on HN
- 13How to use and build your own distroless images2 people · 2 points · first shared 2023 · 1 comments on HN
- 14WS-* web services standards overview [pdf]2 people · 2 points · first shared 2012 · discussion on HN
- 15What Does a Bundler Actually Do?2 people · 2 points · first shared 2021 · discussion on HN
What HN people wrote when they linked it
gsf_emergency_2 · 2025-06-28
>communication is used to elect a random group member and follow her lead toward the option she would have chosen if alone... in the context of a confusing puzzle where... the majority of individual choices are wrong, this tactic, intuitively adopted by groups, is strictly superior to majority decisions
Humans elect random leaders when the going gets tough?
Also:
https://phys.org/news/2025-06-impairs-teamwork-individual.html
https://www.npr.org/2025/06/03/nx-s1-5406260/a-surprising-trick-to-mak…
https://www.innoq.com/en/articles/2025/06/wieviel-denken-ertraegt-ein-…
acemarke · 2024-07-02
Yes, here's a few excellent articles that explain what problems build tools solve and why they exist:
- https://sunsetglow.net/posts/frontend-build-systems.html
- https://www.innoq.com/en/articles/2021/12/what-does-a-bundler-actually…
- https://www.swyx.io/jobs-of-js-build-tools
Loosely put, they're the equivalent of all of `gcc` or `rustc`: compile the source code, run type checking, output object files, transform into the final combined executable output format.
Robotbeat · 2023-03-24
There are a billion GPT-3 Apple Shortcuts if you search for them on the Shortcuts app on your iPhone/iPad/iWatch, but I preferred to just make the shortcut myself so I could easily modify it and be sure I wasn’t leaking my API key to a 3rd party. I just followed this simple guide: https://www.innoq.com/en/blog/openai-gpt-3-on-macos-ios-apple-shortcut…
elmarschraml · 2015-02-08
Joel on Software is a classic: http://www.joelonsoftware.com/
Sadly, a few years ago he mostly stopped writing about business and architecture, but the archives from around 2000 to 2005 are really good, and mostly timeless.
infoq.com has lots of good articles and talks, some language- or technology-specific, but most with a focus on architecture.
The O'reilly Head First books "Object-oriented architecture & design" and "Design patterns" are somewhat basic, but an excellent and accessible start.
For something deeper and harder to digest in book form, try some of the classics like Eric Evan's "Domain-driven design", or Martin Fowler's "Patterns of Enterprise applicaton architecture".
As for some specific styles, try typesafe's manifesto and description of reactive applications, Hohpe's "Enterprise Integration patterns" for pipes-and-filter architectures, and anything by Stefan Tilkov (https://www.innoq.com/blog/st/) for REST.
walterbell · 2025-05-05
Shortcuts can send data to OpenAI or other LLMs, https://www.innoq.com/en/blog/2023/03/openai-gpt-on-macos-ios-apple-sh…
zorg42 · 2022-08-07
(I'm the author of the article)
I've written about requirements for docu-tools
https://www.innoq.com/en/articles/2022/01/principles-of-technical-docu…
In short: You need text + diagramming tools. Go as light as possible, start small (draw.io and Markdown/AsciiDoc). Use high-end modeling tools (like Enterprise Architect or ArchiMate only in larger teams and/or with formal documentation requirements (20+ devs). Have a look at docToolchain.
the-alchemist · 2021-11-03
Yeah, somewhat agree. The Clojure community has put so much effort into working with GraalVM.
* https://convexhuman.com/graalvm-clojure.html
* https://nitor.com/en/articles/fast-cold-starts-for-clojure-in-aws-lamb…
* https://www.innoq.com/en/blog/native-clojure-and-graalvm/
Since development in the REPL is so common (watch any Clojure live coding session), JVM startup time isn't much of an issue in practice.
hcarvalhoalves · 2019-08-24
Lately GraalVM can be used to compile a native binary, since Clojure compiles down to Java bytecode.
https://www.innoq.com/en/blog/native-clojure-and-graalvm/
Sometimes the trade-off of slow startup vs. having a JIT'ed VM is better, since you get a lot more performance, if you're working w/ long-lived processes.
lsh · 2018-12-18
> Startup time
Java is not as bad as you think. Clojure does takes a little longer though
> Ability to deploy/share a binary
there are jar files, but I know what you mean.
Interesting work happening in GraalVM land:
https://www.innoq.com/en/blog/native-clojure-and-graalvm/
> Bias against Oracle and Java
yeah, well ... we're all biased. It helps us make decisions quickly ;)
oweiler · 2018-12-18
No need for Go, GraalVM already allows you to create a native binary:
https://www.innoq.com/en/blog/native-clojure-and-graalvm/
sreque · 2018-06-23
Totally agreed that java fails hard for use cases involving small, lightweight binaries that are low memory and fast to start. This is an area where golang shines on the other.
People are starting to experiment with AOT compilation via graal to make headroom in this space, but the techonology being used feels young, nascent, and experimental or immature:
https://medium.com/graalvm/instant-netty-startup-using-graalvm-native-…
https://www.innoq.com/en/blog/native-clojure-and-graalvm/
Interestingly most high-level runtimes also have slow startup, including python, ruby, and node.js, but java's feels worse because people seem to want to use heavyweight frameworks like spring or aspectj that absolutely murder startup time, that for instance generate bytecode on startup or use classpath scanning to discover dependencies.
taude · 2013-12-24
I'm not a Clojure programmer, but I have an interest in things that run on the JVM. I went through this semi-quick guide to get an overview of how the language and syntax works:
EDIT: actually this was the link I meant to post. It was on HN a couple weeks ago: https://docs.google.com/presentation/d/15-7qFy6URdE7Owi2LitkQI_OHBu1AF…
EDIT: Not this link, though it looks interesting: http://www.innoq.com/blog/st/presentations/2010/2010-05-20-ClojureConc…
raesene2 · 2012-07-26
It's a reference to the WS family of standards, which are a huge group of enterprisey web services standards. A good illustration of the family is http://www.innoq.com/soa/ws-standards/poster/innoQ%20WS-Standards%20Po…
obiefernandez · 2012-03-06
Some more details are here: http://www.innoq.com/blog/st/2012/03/announcing-roca/
"a set of rules to apply if the goal is to come up with a Web app that is actually on the Web as opposed to be tunnelled through the Web. We tried to come up with a catchy name, and finally arrived at ”ROCA”, a conveniently pronouncable acronym for “Resource-oriented client architecture”.
So rather than a manifesto, they're trying to devise a nomenclature, along the lines of how Ajax gave a name to non-page refresh server communication with the browser.