41554 blogs · [ { "id": "01a0874b-f646-7368-9a64-d1ca22bce652", "title": "Consciousness work: what, why, how", "url": "https://blog.jakubholy.net/2026/intro-consciousness-work/", "published_at": "2026-02-14T00:00:00+00:00" }, { "id": "01a0874b-f646-7368-9a64-d1ca2301cff8", "title": "Consciousness sabbatical for the forseeable future", "url": "https://blog.jakubholy.net/2025/consciousness-sabbatical/", "published_at": "2025-09-07T00:00:00+00:00" }, { "id": "01a0874b-f646-7368-9a64-d1ca23c5a8b0", "title": "Holy Dev Newsletter December 2024", "url": "https://blog.jakubholy.net/2024/12-newsletter/", "published_at": "2024-12-31T00:00:00+00:00" }, { "id": "01a0874b-f646-7368-9a64-d1ca24923ed8", "title": "Holy Dev Newsletter November 2024", "url": "https://blog.jakubholy.net/2024/11-newsletter/", "published_at": "2024-11-30T00:00:00+00:00" }, { "id": "01a0874b-f646-7368-9a64-d1ca24c68ecb", "title": "Holy Dev Newsletter October 2024", "url": "https://blog.jakubholy.net/2024/10-newsletter/", "published_at": "2024-10-31T00:00:00+00:00" }, { "id": "01a0874b-f646-7368-9a64-d1ca253530b7", "title": "Holy Dev Newsletter September 2024", "url": "https://blog.jakubholy.net/2024/09-newsletter/", "published_at": "2024-09-30T00:00:00+00:00" }, { "id": "01a0874b-f646-7368-9a64-d1ca25599b1a", "title": "Holy Dev Newsletter August 2024", "url": "https://blog.jakubholy.net/2024/08-newsletter/", "published_at": "2024-08-31T00:00:00+00:00" }, { "id": "01a0874b-f646-7368-9a64-d1ca257e3cb4", "title": "Holy Dev Newsletter July 2024", "url": "https://blog.jakubholy.net/2024/07-newsletter/", "published_at": "2024-07-31T00:00:00+00:00" }, { "id": "01a0874b-f646-7368-9a64-d1ca2629eebb", "title": "Holy Dev Newsletter June 2024", "url": "https://blog.jakubholy.net/2024/06-newsletter/", "published_at": "2024-06-30T00:00:00+00:00" }, { "id": "01a0874b-f646-7368-9a64-d1ca269268f3", "title": "Holy Dev Newsletter April and May 2024", "url": "https://blog.jakubholy.net/2024/04+05-newsletter/", "published_at": "2024-05-31T00:00:00+00:00" }, { "id": "01a0874b-f646-7368-9a64-d1ca275c956d", "title": "My digital tools and routines (2024)", "url": "https://blog.jakubholy.net/2024/my-tools-and-routines/", "published_at": "2024-05-16T00:00:00+00:00" }, { "id": "01a0874b-f646-7368-9a64-d1ca27b69dd7", "title": "Hands on Rama, day 3: Foreign keys and data integrity, macros, queries", "url": "https://blog.jakubholy.net/2024/hands-on-rama-day3/", "published_at": "2024-03-21T00:00:00+00:00" }, { "id": "01a0874b-f646-7368-9a64-d1ca2846de76", "title": "Holy Dev Newsletter March 2024", "url": "https://blog.jakubholy.net/2024/03-newsletter/", "published_at": "2024-03-21T00:00:00+00:00" }, { "id": "01a0874b-f646-7368-9a64-d1ca290d3353", "title": "Rama: How to achieve a transactional update across partitions", "url": "https://blog.jakubholy.net/2024/rama-transactions/", "published_at": "2024-03-17T00:00:00+00:00" }, { "id": "01a0874b-f646-7368-9a64-d1ca2970f452", "title": "Holy Dev Newsletter February 2024", "url": "https://blog.jakubholy.net/2024/02-newsletter/", "published_at": "2024-02-29T00:00:00+00:00" }, { "id": "01a0874b-f646-7368-9a64-d1ca29746b3c", "title": "Hands on Rama, day 2: Rewrite CAS, finish basic C(R)UD", "url": "https://blog.jakubholy.net/2024/hands-on-rama-day2/", "published_at": "2024-02-26T00:00:00+00:00" }, { "id": "01a0874b-f647-7156-80ba-998235b36a64", "title": "Holy Dev Newsletter January 2024", "url": "https://blog.jakubholy.net/2024/01-newsletter/", "published_at": "2024-01-31T00:00:00+00:00" }, { "id": "01a0874b-f647-7156-80ba-9982361df003", "title": "Holy Dev Newsletter December 2023", "url": "https://blog.jakubholy.net/2023/12-newsletter/", "published_at": "2023-12-31T00:00:00+00:00" }, { "id": "01a0874b-f647-7156-80ba-998236229480", "title": "My year 2023 in review", "url": "https://blog.jakubholy.net/2023/2023-in-review/", "published_at": "2023-12-31T00:00:00+00:00" }, { "id": "01a0874b-f647-7156-80ba-99823704d243", "title": "Hands on Rama, day 1: Setup, idempotent create & update", "url": "https://blog.jakubholy.net/2023/hands-on-rama-day1/", "published_at": "2023-12-21T00:00:00+00:00" }, { "id": "01a0874b-f647-7156-80ba-99823769453c", "title": "Exploring Rama, the platform for writing backends 100x more efficiently", "url": "https://blog.jakubholy.net/2023/exploring-rama/", "published_at": "2023-12-20T00:00:00+00:00" }, { "id": "01a0874b-f647-7156-80ba-998237dc202e", "title": "PostgreSQL & JDBC: How to select rows matching pairs of values", "url": "https://blog.jakubholy.net/2023/pg-select-where-match-on-list-of-tuples/", "published_at": "2023-12-15T00:00:00+00:00" }, { "id": "01a0874b-f647-7156-80ba-998238d656ba", "title": "Holy Dev Newsletter Nov 2023", "url": "https://blog.jakubholy.net/2023/11-newsletter/", "published_at": "2023-11-30T00:00:00+00:00" }, { "id": "01a0874b-f647-7156-80ba-99823952aadb", "title": "The Four Heads of Complexity", "url": "https://blog.jakubholy.net/2023/4-heads-of-complexity/", "published_at": "2023-11-19T00:00:00+00:00" }, { "id": "01a0874b-f647-7156-80ba-998239e67363", "title": "Holy Dev Newsletter Oct 2023", "url": "https://blog.jakubholy.net/2023/10-newsletter/", "published_at": "2023-10-31T00:00:00+00:00" }, { "id": "01a0874b-f647-7156-80ba-99823ad0f17c", "title": "Holy Dev Newsletter Sep 2023", "url": "https://blog.jakubholy.net/2023/09-newsletter/", "published_at": "2023-09-30T00:00:00+00:00" }, { "id": "01a0874b-f647-7156-80ba-99823b4422e4", "title": "Include interactive Clojure/script code snippets in a web page with SCI & friends", "url": "https://blog.jakubholy.net/2023/interactive-code-snippets-fulcro/", "published_at": "2023-09-26T00:00:00+00:00" }, { "id": "01a0874b-f647-7156-80ba-99823c1c0be2", "title": "Accessing Google API with OAuth2 and a service account from Clojure", "url": "https://blog.jakubholy.net/2023/accessing-google-api-from-clojure/", "published_at": "2023-09-15T00:00:00+00:00" }, { "id": "01a0874b-f647-7156-80ba-99823cc3da69", "title": "Holy Dev Newsletter Aug 2023", "url": "https://blog.jakubholy.net/2023/08-newsletter/", "published_at": "2023-08-31T00:00:00+00:00" }, { "id": "01a0874b-f647-7156-80ba-99823d0ac62d", "title": "Holy Dev Newsletter July 2023", "url": "https://blog.jakubholy.net/2023/07-newsletter/", "published_at": "2023-07-31T00:00:00+00:00" }, { "id": "01a0874b-f647-7156-80ba-99823dd339e0", "title": "When not to use Fulcro?", "url": "https://blog.jakubholy.net/2023/when-not-to-use-fulcro/", "published_at": "2023-07-28T00:00:00+00:00" }, { "id": "01a0874b-f647-7156-80ba-99823e83d3b9", "title": "Book highlights: Escaping the Build Trap: How Effective Product Management Creates Real Value", "url": "https://blog.jakubholy.net/2023/book-highlights-escaping-the-build-trap/", "published_at": "2023-07-01T00:00:00+00:00" }, { "id": "01a0874b-f647-7156-80ba-99823ecbfcde", "title": "Holy Dev Newsletter June 2023", "url": "https://blog.jakubholy.net/2023/06-newsletter/", "published_at": "2023-06-30T00:00:00+00:00" }, { "id": "01a0874b-f647-7156-80ba-99823f95e5ed", "title": "Holy Dev Newsletter May 2023", "url": "https://blog.jakubholy.net/2023/05-newsletter/", "published_at": "2023-05-31T00:00:00+00:00" }, { "id": "01a0874b-f647-7156-80ba-99823fadee94", "title": "Holy Dev Newsletter April 2023", "url": "https://blog.jakubholy.net/2023/04-newsletter/", "published_at": "2023-04-30T00:00:00+00:00" }, { "id": "01a0874b-f647-7156-80ba-9982408232ef", "title": "Holy Dev Newsletter March 2023", "url": "https://blog.jakubholy.net/2023/03-newsletter/", "published_at": "2023-04-01T00:00:00+00:00" }, { "id": "01a0874b-f647-7156-80ba-99824103677d", "title": "Get insight into Pathom 3 in Fulcro with Pathom Viz", "url": "https://blog.jakubholy.net/2023/pathom-viz-for-fulcro-pathom3/", "published_at": "2023-02-01T00:00:00+00:00" }, { "id": "01a0874b-f647-7156-80ba-998241407e88", "title": "Holy Dev Newsletter February 2023", "url": "https://blog.jakubholy.net/2023/02-newsletter/", "published_at": "2023-02-01T00:00:00+00:00" }, { "id": "01a0874b-f647-7156-80ba-998241ccaa2a", "title": "Holy Dev Newsletter January 2023 & December 2022", "url": "https://blog.jakubholy.net/2023/01-newsletter/", "published_at": "2023-01-31T00:00:00+00:00" }, { "id": "01a0874b-f647-7156-80ba-998241d6f112", "title": "First craft a language then build your software", "url": "https://blog.jakubholy.net/2022/language-of-simplicity/", "published_at": "2022-12-31T00:00:00+00:00" }, { "id": "01a0874b-f647-7156-80ba-998242cd29db", "title": "My year 2022 in review", "url": "https://blog.jakubholy.net/2022/2022-in-review/", "published_at": "2022-12-31T00:00:00+00:00" }, { "id": "01a0874b-f647-7156-80ba-998243a4d5a1", "title": "Fulcro Lesson: Detached Root Component (Form)", "url": "https://blog.jakubholy.net/2022/fulcro-detached-root-component/", "published_at": "2022-12-27T00:00:00+00:00" }, { "id": "01a0874b-f647-7156-80ba-9982442dbcc8", "title": "Clojure is in fact a trinity - of language, interactive development, and structural editing", "url": "https://blog.jakubholy.net/2022/trinity-of-clojure/", "published_at": "2022-12-12T00:00:00+00:00" }, { "id": "01a0874b-f647-7156-80ba-998244bb7577", "title": "Holy Dev Newsletter November 2022", "url": "https://blog.jakubholy.net/2022/11-newsletter/", "published_at": "2022-11-30T00:00:00+00:00" }, { "id": "01a0874b-f647-7156-80ba-998244e91a8c", "title": "Holy Dev Newsletter October 2022", "url": "https://blog.jakubholy.net/2022/10-newsletter/", "published_at": "2022-10-31T00:00:00+00:00" }, { "id": "01a0874b-f647-7156-80ba-9982452cd630", "title": "PostgreSQL: From JSON to table and back", "url": "https://blog.jakubholy.net/2022/postgres-json-to-table-and-back/", "published_at": "2022-10-22T00:00:00+00:00" }, { "id": "01a0874b-f647-7156-80ba-99824596f943", "title": "Signing git commits with a ssh key using 1Password", "url": "https://blog.jakubholy.net/2022/git-commit-signature-with-1password/", "published_at": "2022-10-11T00:00:00+00:00" }, { "id": "01a0874b-f647-7156-80ba-998245c9793c", "title": "Holy Dev Newsletter September 2022", "url": "https://blog.jakubholy.net/2022/09-newsletter/", "published_at": "2022-09-30T00:00:00+00:00" }, { "id": "01a0874b-f647-7156-80ba-998246791f22", "title": "Holy Dev Newsletter August 2022", "url": "https://blog.jakubholy.net/2022/08-newsletter/", "published_at": "2022-08-31T00:00:00+00:00" }, { "id": "01a0874b-f647-7156-80ba-9982471017a2", "title": "Holy Dev Newsletter July 2022", "url": "https://blog.jakubholy.net/2022/07-newsletter/", "published_at": "2022-07-31T00:00:00+00:00" }, { "id": "01a0874b-f647-7156-80ba-998247caa13d", "title": "Using React.forwardRef in Fulcro (and rendering a Fulcro component from a JS one)", "url": "https://blog.jakubholy.net/2022/forward-ref-in-fulcro/", "published_at": "2022-07-03T00:00:00+00:00" }, { "id": "01a0874b-f647-7156-80ba-998248645bf9", "title": "Holy Dev Newsletter June 2022", "url": "https://blog.jakubholy.net/2022/06-newsletter/", "published_at": "2022-06-30T00:00:00+00:00" }, { "id": "01a0874b-f647-7156-80ba-998248c8ccec", "title": "The trouble with list components in Fulcro", "url": "https://blog.jakubholy.net/2022/trouble-with-lists-in-fulcro/", "published_at": "2022-06-25T00:00:00+00:00" }, { "id": "01a0874b-f647-7156-80ba-998248f15067", "title": "Holy Dev Newsletter May 2022", "url": "https://blog.jakubholy.net/2022/05-newsletter/", "published_at": "2022-05-31T00:00:00+00:00" }, { "id": "01a0874b-f647-7156-80ba-998249b8affc", "title": "Holy Dev Newsletter April 2022", "url": "https://blog.jakubholy.net/2022/04-newsletter/", "published_at": "2022-04-30T00:00:00+00:00" }, { "id": "01a0874b-f647-7156-80ba-99824a09b983", "title": "Holy Dev Newsletter March 2022", "url": "https://blog.jakubholy.net/2022/03-newsletter/", "published_at": "2022-03-31T00:00:00+00:00" }, { "id": "01a0874b-f647-7156-80ba-99824afd1ad7", "title": "Holy Dev Newsletter February 2022", "url": "https://blog.jakubholy.net/2022/02-newsletter/", "published_at": "2022-02-28T00:00:00+00:00" }, { "id": "01a0874b-f647-7156-80ba-99824bb0600e", "title": "Code Study: Making code more functional", "url": "https://blog.jakubholy.net/2022/code-study-making-it-functional/", "published_at": "2022-02-11T00:00:00+00:00" }, { "id": "01a0874b-f647-7156-80ba-99824bc3fa02", "title": "Holy Dev Newsletter January 2022", "url": "https://blog.jakubholy.net/2022/01-newsletter/", "published_at": "2022-01-31T00:00:00+00:00" }, { "id": "01a0874b-f647-7156-80ba-99824c3f77f7", "title": "Fulcro Troubleshooting Decision Tree", "url": "https://blog.jakubholy.net/2020/troubleshooting-fulcro/", "published_at": "2022-01-21T00:00:00+00:00" }, { "id": "01a0874b-f647-7156-80ba-99824c6f7b44", "title": "My year 2021 in review", "url": "https://blog.jakubholy.net/2021/2021-in-review/", "published_at": "2021-12-31T00:00:00+00:00" }, { "id": "01a0874b-f647-7156-80ba-99824ce5e8e4", "title": "Awesome Babashka: Parse & produce HTML and SQLite", "url": "https://blog.jakubholy.net/2021/awesome-babashka-dash/", "published_at": "2021-09-25T00:00:00+00:00" }, { "id": "01a0874b-f647-7156-80ba-99824db89870", "title": "A light exploration of collaborative editing and synchronization algorithms", "url": "https://blog.jakubholy.net/2021/light-exploration-of-collaborative-editing/", "published_at": "2021-08-19T00:00:00+00:00" }, { "id": "01a0874b-f647-7156-80ba-99824dc9b2b9", "title": "What is simplicity in programming and why does it matter?", "url": "https://blog.jakubholy.net/2021/simplicity/", "published_at": "2021-06-25T00:00:00+00:00" }, { "id": "01a0874b-f647-7156-80ba-99824eb71aba", "title": "Clojure is frustrating... and it is a good thing", "url": "https://blog.jakubholy.net/2021/clojure-is-frustrating-fortunately/", "published_at": "2021-06-21T00:00:00+00:00" }, { "id": "01a0874b-f647-7156-80ba-99824eed4e38", "title": "Specific vs. general: Which is better?", "url": "https://blog.jakubholy.net/2021/specific-vs-general-cryogen/", "published_at": "2021-06-10T00:00:00+00:00" }, { "id": "01a0874b-f647-7156-80ba-99824fcd3599", "title": "Productivity killers in enterprise programming - and how to overcome them", "url": "https://blog.jakubholy.net/2021/productivity-killers-in-enterprise/", "published_at": "2021-06-09T00:00:00+00:00" }, { "id": "01a0874b-f647-7156-80ba-9982508ccbf8", "title": "Slow restarts are killing your productivity. Can Clojure save you?", "url": "https://blog.jakubholy.net/2021/slow-restarts-rescued-by-clojure/", "published_at": "2021-05-30T00:00:00+00:00" }, { "id": "01a0874b-f647-7156-80ba-998250c58977", "title": "Fulcro Explained: When UI Components and Data Entities Diverge", "url": "https://blog.jakubholy.net/2020/fulcro-divergent-ui-data/", "published_at": "2020-12-30T00:00:00+00:00" }, { "id": "01a0874b-f647-7156-80ba-9982519d5fb1", "title": "Customizing the Gradle run task", "url": "https://blog.jakubholy.net/2020/customizing-gradle-run-task/", "published_at": "2020-11-11T00:00:00+00:00" }, { "id": "01a0874b-f647-7156-80ba-998251e99e96", "title": "The best team ever", "url": "https://blog.jakubholy.net/2020/best-team-ever/", "published_at": "2020-11-01T00:00:00+00:00" }, { "id": "01a0874b-f647-7156-80ba-998251f9d164", "title": "Spring Framework: Why I prefer a simpler solution nowadays", "url": "https://blog.jakubholy.net/2020/spring-nevermore/", "published_at": "2020-10-23T00:00:00+00:00" }, { "id": "01a0874b-f647-7156-80ba-9982522641c9", "title": "Want more from your frontend framework! Re-thinking web dev experience", "url": "https://blog.jakubholy.net/2020/talk-want-more-from-your-frontend-framework/", "published_at": "2020-10-15T00:00:00+00:00" }, { "id": "01a0874b-f647-7156-80ba-998252604499", "title": "On crafting troubleshooting-friendly responses in web apps", "url": "https://blog.jakubholy.net/2020/troubleshooting-friendly-responses/", "published_at": "2020-09-30T00:00:00+00:00" }, { "id": "01a0874b-f647-7156-80ba-998252c25d34", "title": "Error handling in Fulcro: 3 approaches", "url": "https://blog.jakubholy.net/2020/error-handling-in-fulcro/", "published_at": "2020-09-11T00:00:00+00:00" }, { "id": "01a0874b-f647-7156-80ba-9982536f92a3", "title": "Pains with Terraform (again)", "url": "https://blog.jakubholy.net/2020/pains-with-terraform/", "published_at": "2020-06-23T00:00:00+00:00" }, { "id": "01a0874b-f647-7156-80ba-9982544c56a0", "title": "My first month of Rust", "url": "https://blog.jakubholy.net/2020/my-first-month-of-rust/", "published_at": "2020-01-30T00:00:00+00:00" }, { "id": "01a0874b-f648-72ee-9426-46c2939090c8", "title": "Sharing large files on flaky networks with AWS S3 and BitTorrent", "url": "https://blog.jakubholy.net/2020/sharing-large-files-with-aws-s3-and-bittorrent/", "published_at": "2020-01-07T00:00:00+00:00" }, { "id": "01a0874b-f648-72ee-9426-46c2948563b2", "title": "My year 2019 in review", "url": "https://blog.jakubholy.net/2019/my-2019-in-review/", "published_at": "2019-12-31T00:00:00+00:00" }, { "id": "01a0874b-f648-72ee-9426-46c2950508b0", "title": "Error handling in Clojure Core.Async (and its higher-level constructs)", "url": "https://blog.jakubholy.net/2019/core-async-error-handling/", "published_at": "2019-12-25T00:00:00+00:00" }, { "id": "01a0874b-f648-72ee-9426-46c29509b12c", "title": "Secure REPL access for AWS Fargate services", "url": "https://blog.jakubholy.net/2019/secure-repl-for-aws-fargate-services/", "published_at": "2019-12-24T00:00:00+00:00" }, { "id": "01a0874b-f648-72ee-9426-46c295dbc208", "title": "A brief look at the internal structure of Clojure Zippers", "url": "https://blog.jakubholy.net/2019/briefly-internal-structure-of-clojure-zippers/", "published_at": "2019-12-24T00:00:00+00:00" }, { "id": "01a0874b-f648-72ee-9426-46c29649a8df", "title": "Migrating my blog from Gatsby to a static site with Cryogen and AsciiDoctor", "url": "https://blog.jakubholy.net/2019/migrating-from-gatsby-to-cryogen/", "published_at": "2019-12-19T00:00:00+00:00" }, { "id": "01a0874b-f648-72ee-9426-46c29663d509", "title": "nREPL over HTTP(s) with Drawbridge in 2020", "url": "https://blog.jakubholy.net/nrepl-over-http-with-drwabridge-in-2020/", "published_at": "2019-12-12T00:00:00+00:00" }, { "id": "01a0874b-f648-72ee-9426-46c296d30b4a", "title": "AWS Fargate: Troubleshooting the dreaded '`service .. is unhealthy`'", "url": "https://blog.jakubholy.net/troubleshooting-fargate-health-check/", "published_at": "2019-12-06T00:00:00+00:00" }, { "id": "01a0874b-f648-72ee-9426-46c297892c8e", "title": "How Clojure helped us recover from bad data", "url": "https://blog.jakubholy.net/how-clojure-helped-recovering-from-bad-data/", "published_at": "2019-12-02T00:00:00+00:00" }, { "id": "01a0874b-f648-72ee-9426-46c2980c7b41", "title": "Leiningen: Split an uberjar into dependencies.jar and app.jar (to optimize Docker layers and AWS Lambda functions)", "url": "https://blog.jakubholy.net/leiningen-split-uberjar-into-dependencies-and-app/", "published_at": "2019-11-19T00:00:00+00:00" }, { "id": "01a0874b-f648-72ee-9426-46c298f963ee", "title": "Choose Clojure not because it is easy but because it is \"`weird`\"", "url": "https://blog.jakubholy.net/choose-clojure-for-its-weirdness/", "published_at": "2019-11-11T00:00:00+00:00" }, { "id": "01a0874b-f648-72ee-9426-46c2999b79c4", "title": "Defeating Legacy Code with Living Documentation And Business-Level Tests", "url": "https://blog.jakubholy.net/defeating-legacy-code-with-living-documentation-and-business-level-tests/", "published_at": "2019-10-11T00:00:00+00:00" }, { "id": "01a0874b-f648-72ee-9426-46c299f60dd0", "title": "Fixing JSON out-of-memory error with streaming and MapDB", "url": "https://blog.jakubholy.net/fixing-json-oom-with-streaming-and-mapdb/", "published_at": "2019-09-27T00:00:00+00:00" }, { "id": "01a0874b-f648-72ee-9426-46c29aa045b0", "title": "Applying Spec-based generative testing to a transformation pipeline - tips and lessons learned", "url": "https://blog.jakubholy.net/generative-testing-lessons-learned/", "published_at": "2019-09-26T00:00:00+00:00" }, { "id": "01a0874b-f648-72ee-9426-46c29b382816", "title": "Clojure: Common beginner mistakes (WIP)", "url": "https://blog.jakubholy.net/clojure-common-beginner-mistakes/", "published_at": "2019-09-18T00:00:00+00:00" }, { "id": "01a0874b-f648-72ee-9426-46c29b84ce50", "title": "How generating test data saved us from angry customers and legal trouble", "url": "https://blog.jakubholy.net/how-generating-test-data-saved-us/", "published_at": "2019-05-19T00:00:00+00:00" }, { "id": "01a0874b-f648-72ee-9426-46c29bfcb7f4", "title": "Highlights from the talk '`Exploring four hidden superpowers of Datomic`'", "url": "https://blog.jakubholy.net/talk-highlights-exploring-four-hidden-superpowers-of-datomic/", "published_at": "2019-03-27T00:00:00+00:00" }, { "id": "01a0874b-f648-72ee-9426-46c29c8d0c5d", "title": "Translating an enterprise Spring webapp to Clojure", "url": "https://blog.jakubholy.net/translating-enterprise-spring-app-to-clojure/", "published_at": "2019-03-21T00:00:00+00:00" }, { "id": "01a0874b-f648-72ee-9426-46c29ce69e7b", "title": "Clojure vs Java: Troubleshooting an application in production", "url": "https://blog.jakubholy.net/clojure-vs-java-troubleshooting-prod-app/", "published_at": "2019-03-07T00:00:00+00:00" }, { "id": "01a0874b-f648-72ee-9426-46c29d1ddc1a", "title": "Clojure vs Java: The benefit of Few Data Structures, Many Functions over Many Unique Classes", "url": "https://blog.jakubholy.net/clojure-vs-java-few-datastructures-over-many-objects/", "published_at": "2019-03-06T00:00:00+00:00" }, { "id": "01a0874b-f648-72ee-9426-46c29de8f77b", "title": "Solution design in Java/OOP vs. Clojure/FP - I/O anywhere or at the boundaries? - experience", "url": "https://blog.jakubholy.net/design-in-java-vs-fp/", "published_at": "2019-03-01T00:00:00+00:00" }, { "id": "01a0874b-f648-72ee-9426-46c29e7e9c15", "title": "It will only take one hour… (On why programmers suck at estimating and the perils of software development)", "url": "https://blog.jakubholy.net/it-will-only-take-1h/", "published_at": "2019-02-13T00:00:00+00:00" }, { "id": "01a0874b-f648-72ee-9426-46c29ef155a9", "title": "Java/Spring App Troubleshooting on Steroids with Clojure REPL", "url": "https://blog.jakubholy.net/java-troubleshooting-on-steroids-with-clojure-repl/", "published_at": "2019-02-01T00:00:00+00:00" } ] posts Claim your blog
Back to blog.jakubholy.net
Blog · corpus.blog/blogs/blog.jakubholy.net/posts

blog.jakubholy.net

blog.jakubholy.net

2026

2025

2024

2023

2022

2021

2020

2019