41554 blogs · [ { "id": "01a08796-ce00-7027-96da-e2b7891b320c", "title": "Software in the age of coding agents", "url": "https://korban.net//posts/2026-08-20-software-in-the-age-of-coding-agents.html", "published_at": "2026-08-20T00:00:00+00:00" }, { "id": "01a08796-ce00-7027-96da-e2b7898ddec4", "title": "Using Codex to finish Algo", "url": "https://korban.net//posts/2026-05-23-using-codex-to-finish-algo.html", "published_at": "2026-05-23T00:00:00+00:00" }, { "id": "01a08796-ce00-7027-96da-e2b789f7e3ee", "title": "Algo: a Ramda-like Elixir package for working with lists, nested maps and keyword lists", "url": "https://korban.net//posts/2026-05-20-algo-ramda-like-elixir-package.html", "published_at": "2026-05-20T00:00:00+00:00" }, { "id": "01a09517-c345-7267-b88d-728dbffa1225", "title": "Experiments in using AI dev tools", "url": "https://korban.net//posts/2026-02-08-how-i-use-ai-dev-tools.html", "published_at": "2026-02-08T00:00:00+00:00" }, { "id": "01a08796-ce00-7027-96da-e2b78aa7763a", "title": "Impressions of React and TypeScript from an Elixir/Elm developer", "url": "https://korban.net/elm/posts/2024-11-16-typescript-react-impressions.html", "published_at": "2024-11-16T00:00:00+00:00" }, { "id": "01a08796-ce00-7027-96da-e2b78b89aa6a", "title": "Blameless culture and individual responsibility", "url": "https://korban.net//posts/2024-11-09-blameless-culture-individual-responsibility.html", "published_at": "2024-11-09T00:00:00+00:00" }, { "id": "01a08796-ce00-7027-96da-e2b78c069fdf", "title": "Test code smells catalogue", "url": "https://korban.net//posts/2024-08-05-test-code-smells-catalogue.html", "published_at": "2024-08-05T00:00:00+00:00" }, { "id": "01a08796-ce00-7027-96da-e2b78c861f18", "title": "Trojan horses of software architecture: message passing", "url": "https://korban.net//posts/2024-08-05-trojan-horses-software-architecture-message-passing.html", "published_at": "2024-08-05T00:00:00+00:00" }, { "id": "01a08796-ce00-7027-96da-e2b78cb366e4", "title": "A few notes on a positive engineering experience", "url": "https://korban.net//posts/2024-05-11-few-notes-on-positive-engineering-experience.html", "published_at": "2024-05-11T00:00:00+00:00" }, { "id": "01a08796-ce00-7027-96da-e2b78ce63442", "title": "Experience with using Tailwind in Phoenix LiveView", "url": "https://korban.net//posts/2023-10-23-experience-using-tailwind-with-phoenix-liveview.html", "published_at": "2023-10-23T00:00:00+00:00" }, { "id": "01a08796-ce00-7027-96da-e2b78da22693", "title": "Thoughts on Elixir, Phoenix and LiveView after 18 months of commercial use", "url": "https://korban.net//posts/2023-08-11-thoughts-on-elixir-phoenix-liveview.html", "published_at": "2023-08-11T00:00:00+00:00" }, { "id": "01a08796-ce00-7027-96da-e2b78dda3d79", "title": "An elm-review rule to generate JSON decoders and encoders from a JSON sample", "url": "https://korban.net/elm/posts/2021-11-29-elm-review-rule-generate-json-decoders.html", "published_at": "2021-11-29T00:00:00+00:00" }, { "id": "01a08796-ce00-7027-96da-e2b78e11ece7", "title": "Parse URLs with elm/url", "url": "https://korban.net/elm/posts/2021-05-18-parse-urls-elm-url.html", "published_at": "2021-05-18T00:00:00+00:00" }, { "id": "01a08796-ce00-7027-96da-e2b78f0a4952", "title": "Generating pipeline and applicative decoders with json2elm", "url": "https://korban.net/elm/posts/2021-05-18-pipeline-applicative-decoders-json2elm.html", "published_at": "2021-05-18T00:00:00+00:00" }, { "id": "01a08796-ce00-7027-96da-e2b790067208", "title": "Generating elm/json decoders with elm/json decoders", "url": "https://korban.net/elm/posts/2021-05-10-generating-json-decoders-with-json-decoders.html", "published_at": "2021-05-10T00:00:00+00:00" }, { "id": "01a08796-ce00-7027-96da-e2b7906eb0c2", "title": "Elm Catalog update: 1000+ packages and search", "url": "https://korban.net/elm/posts/2020-12-28-elm-catalog-1000-packages-search.html", "published_at": "2020-12-28T00:00:00+00:00" }, { "id": "01a08796-ce00-7027-96da-e2b791672e4b", "title": "elm-ui: The CSS Escape Plan is in early access", "url": "https://korban.net/elm/posts/2020-12-22-elm-ui-guide-early-access.html", "published_at": "2020-12-22T00:00:00+00:00" }, { "id": "01a08796-ce00-7027-96da-e2b7920ec80c", "title": "More examples added to elm-ui patterns", "url": "https://korban.net/elm/posts/2020-12-22-elm-ui-patterns-update.html", "published_at": "2020-12-22T00:00:00+00:00" }, { "id": "01a08796-ce00-7027-96da-e2b792170b15", "title": "Syntax highlighting for code snippets in Keynote with Pygments", "url": "https://korban.net//posts/2020-07-23-syntax-highlighting-keynote-pygments.html", "published_at": "2020-07-23T00:00:00+00:00" }, { "id": "01a08796-ce00-7027-96da-e2b7928fa3f6", "title": "Compile-time checks on values in a list with phantom types", "url": "https://korban.net/elm/posts/2020-05-18-compile-time-checks-values-lists-phantom-types.html", "published_at": "2020-05-18T00:00:00+00:00" }, { "id": "01a08796-ce00-7027-96da-e2b7936fba78", "title": "Announcing elm-ui Patterns: a collection of elm-ui examples", "url": "https://korban.net/elm/posts/2020-05-03-announcing-elm-ui-patterns.html", "published_at": "2020-05-03T00:00:00+00:00" }, { "id": "01a08796-ce00-7027-96da-e2b793e91068", "title": "Elmstatic 0.7.0: improved performance", "url": "https://korban.net/elm/posts/2020-04-24-elmstatic-improved-performance.html", "published_at": "2020-04-24T00:00:00+00:00" }, { "id": "01a08796-ce00-7027-96da-e2b794837570", "title": "An introduction to elm-animator, and using it with elm-ui", "url": "https://korban.net/elm/posts/2020-04-07-using-elm-animator-with-elm-ui.html", "published_at": "2020-04-07T00:00:00+00:00" }, { "id": "01a08796-ce00-7027-96da-e2b7953e73ad", "title": "Simple performant CSS animations in Elm with Animate.css", "url": "https://korban.net/elm/posts/2020-03-31-simple-performant-animations-elm.html", "published_at": "2020-03-31T00:00:00+00:00" }, { "id": "01a08796-ce00-7027-96da-e2b7958ac17f", "title": "Generating sitemaps with Elm", "url": "https://korban.net/elm/posts/2020-02-25-generating-sitemaps-with-elm.html", "published_at": "2020-02-25T00:00:00+00:00" }, { "id": "01a08796-ce00-7027-96da-e2b79594ca27", "title": "Elm Catalog now lists tools in addition to packages", "url": "https://korban.net/elm/posts/2019-12-10-elm-catalog-includes-tools-packages.html", "published_at": "2019-12-10T00:00:00+00:00" }, { "id": "01a08796-ce00-7027-96da-e2b79629b61e", "title": "Generating land-constrained geographical point grids with PostGIS", "url": "https://korban.net//posts/2019-10-17-generating-land-constrained-point-grids.html", "published_at": "2019-10-17T00:00:00+00:00" }, { "id": "01a08796-ce00-7027-96da-e2b796c8fa23", "title": "What effects of the climate and ecological crisis will unfold this century?", "url": "https://korban.net//posts/2019-10-01-how-will-climate-ecological-crisis-unfold.html", "published_at": "2019-10-01T00:00:00+00:00" }, { "id": "01a08796-ce00-7027-96da-e2b797a8e1ee", "title": "Page state in Elm", "url": "https://korban.net/elm/posts/2019-09-16-page-state-in-elm.html", "published_at": "2019-09-16T00:00:00+00:00" }, { "id": "01a08796-ce00-7027-96da-e2b797f0f074", "title": "Elm Package Catalog: Complete and improved", "url": "https://korban.net/elm/posts/2019-09-02-elm-package-catalog-complete-improved.html", "published_at": "2019-09-02T00:00:00+00:00" }, { "id": "01a08796-ce00-7027-96da-e2b798ba8491", "title": "Type-safe markup for your static site with Elmstatic and elm-markup", "url": "https://korban.net/elm/posts/2019-08-05-elmstatic-now-supports-elm-markup.html", "published_at": "2019-08-05T00:00:00+00:00" }, { "id": "01a08796-ce00-7027-96da-e2b799481bb6", "title": "Launching a macOS application with a custom path", "url": "https://korban.net//posts/2019-07-23-launching-mac-os-application-with-custom-path.html", "published_at": "2019-07-23T00:00:00+00:00" }, { "id": "01a08796-ce00-7027-96da-e2b799ec3d9f", "title": "Elmstatic: better performance and live reload with watch mode", "url": "https://korban.net/elm/posts/2019-07-09-elmstatic-better-performance-live-reload.html", "published_at": "2019-07-09T00:00:00+00:00" }, { "id": "01a08796-ce00-7027-96da-e2b79a3b9a25", "title": "Get improved Debug.log output in the browser console", "url": "https://korban.net/elm/posts/2019-07-02-improved-debug-log-output-browser-console.html", "published_at": "2019-07-02T00:00:00+00:00" }, { "id": "01a08796-ce00-7027-96da-e2b79ad6c9d3", "title": "Technology retrospective 2013-2017", "url": "https://korban.net//posts/2019-06-07-technology-retrospective-2013-2017.html", "published_at": "2019-06-07T00:00:00+00:00" }, { "id": "01a08796-ce00-7027-96da-e2b79b101085", "title": "An introduction to elm-markup by way of Elmstatic", "url": "https://korban.net/elm/posts/2019-05-21-intro-elm-markup-elmstatic.html", "published_at": "2019-05-21T00:00:00+00:00" }, { "id": "01a08796-ce00-7027-96da-e2b79b5fa4e9", "title": "Elm community and project stats: 2019 update", "url": "https://korban.net/elm/posts/2019-05-14-elm-stats-2019-update.html", "published_at": "2019-05-14T00:00:00+00:00" }, { "id": "01a08796-ce00-7027-96da-e2b79c4efa38", "title": "Elm Package Catalog: Explore Elm packages and find the package you need", "url": "https://korban.net/elm/posts/2019-05-07-elm-package-catalog.html", "published_at": "2019-05-07T00:00:00+00:00" }, { "id": "01a08796-ce00-7027-96da-e2b79ccd353c", "title": "How I generate static HTML from Elm code in Elmstatic", "url": "https://korban.net/elm/posts/2019-04-23-how-i-generate-static-html-from-elm-elmstatic.html", "published_at": "2019-04-23T00:00:00+00:00" }, { "id": "01a08796-ce00-7027-96da-e2b79dad263e", "title": "Elmstatic, my Elm-to-HTML static site generator, upgraded to Elm 0.19!", "url": "https://korban.net/elm/posts/2019-04-16-elmstatic-upgraded-elm-019.html", "published_at": "2019-04-16T00:00:00+00:00" }, { "id": "01a08796-ce00-7027-96da-e2b79dc07a97", "title": "Combining HTTP requests with Task in Elm", "url": "https://korban.net/elm/posts/2019-02-15-combining-http-requests-with-task-in-elm.html", "published_at": "2019-02-15T00:00:00+00:00" }, { "id": "01a08796-ce00-7027-96da-e2b79dc60ee1", "title": "Map, filter, fold", "url": "https://korban.net/elm/posts/2019-01-18-map-filter-fold.html", "published_at": "2019-01-18T00:00:00+00:00" }, { "id": "01a08796-ce00-7027-96da-e2b79dc9e770", "title": "How UICards work: UI within UI in Elm", "url": "https://korban.net/elm/posts/2018-12-20-how-uicards-work.html", "published_at": "2018-12-20T00:00:00+00:00" }, { "id": "01a08796-ce00-7027-96da-e2b79ead648e", "title": "UICards: create UIs without the laborious reload-navigation-input test loop", "url": "https://korban.net/elm/posts/2018-12-11-uicards-create-uis-without-laborious-test-loop.html", "published_at": "2018-12-11T00:00:00+00:00" }, { "id": "01a08796-ce00-7027-96da-e2b79f71648c", "title": "Practical Elm book: Elm 0.19 update published", "url": "https://korban.net/elm/posts/2018-11-28-practical-elm-019-update-published.html", "published_at": "2018-11-28T00:00:00+00:00" }, { "id": "01a08796-ce00-7027-96da-e2b79faa9481", "title": "Build complex forms with validation in Elm", "url": "https://korban.net/elm/posts/2018-11-27-build-complex-forms-validation-elm.html", "published_at": "2018-11-27T00:00:00+00:00" }, { "id": "01a08796-ce00-7027-96da-e2b7a0a8f246", "title": "Restarting the Elm Weekly newsletter", "url": "https://korban.net/elm/posts/2018-11-23-restarting-elm-weekly-newsletter.html", "published_at": "2018-11-23T00:00:00+00:00" }, { "id": "01a08796-ce00-7027-96da-e2b7a1925346", "title": "Make sure your views are bug-free by testing them with elm-test", "url": "https://korban.net/elm/posts/2018-11-21-testing-views-with-elm-test.html", "published_at": "2018-11-21T00:00:00+00:00" }, { "id": "01a08796-ce00-7027-96da-e2b7a23c606c", "title": "elm-ui: Forget CSS and enjoy creating UIs in pure Elm", "url": "https://korban.net/elm/posts/2018-11-17-elm-ui-introduction.html", "published_at": "2018-11-17T00:00:00+00:00" }, { "id": "01a08796-ce00-7027-96da-e2b7a32b1664", "title": "The missing part of the Elm guide: URL handling with Browser.application", "url": "https://korban.net/elm/posts/2018-10-12-elm-guide-missing-part-url-handling-browser.application.html", "published_at": "2018-10-12T00:00:00+00:00" }, { "id": "01a08796-ce00-7027-96da-e2b7a3a52a49", "title": "Minimal static boilerplate for Ellie", "url": "https://korban.net/elm/posts/2018-10-09-ellie-static-boilerplate.html", "published_at": "2018-10-09T00:00:00+00:00" }, { "id": "01a08796-ce00-7027-96da-e2b7a441e38e", "title": "The basic steps to publish a package with Elm 0.19", "url": "https://korban.net/elm/posts/2018-10-02-basic-steps-publish-package-elm-19.html", "published_at": "2018-10-02T00:00:00+00:00" }, { "id": "01a08796-ce00-7027-96da-e2b7a4dd9acd", "title": "A straightforward introduction to custom elements", "url": "https://korban.net/elm/posts/2018-09-17-introduction-custom-elements-shadow-dom.html", "published_at": "2018-09-17T00:00:00+00:00" }, { "id": "01a08796-ce00-7027-96da-e2b7a5a48fd7", "title": "How to generate JSON from Elm values using Json.Encode", "url": "https://korban.net/elm/posts/2018-09-12-generate-json-from-elm-values-json-encode.html", "published_at": "2018-09-12T00:00:00+00:00" }, { "id": "01a08796-ce00-7027-96da-e2b7a619c0f8", "title": "Introduction to the elm/parser package", "url": "https://korban.net/elm/posts/2018-09-07-introduction-elm-parser.html", "published_at": "2018-09-07T00:00:00+00:00" }, { "id": "01a08796-ce00-7027-96da-e2b7a717b3ad", "title": "Practical Elm book release date & Elm 0.19 updates", "url": "https://korban.net/elm/posts/2018-09-04-practical-elm-release-elm-19-updates.html", "published_at": "2018-09-04T00:00:00+00:00" }, { "id": "01a08796-ce00-7027-96da-e2b7a7e1f0d2", "title": "Elm 0.19: details of what's new, how to install/upgrade, reading list", "url": "https://korban.net/elm/posts/2018-08-22-elm-019-whats-new-install-upgrade.html", "published_at": "2018-08-22T00:00:00+00:00" }, { "id": "01a08796-ce00-7027-96da-e2b7a8c33d81", "title": "Learning Elm in 2018: Comprehensive List of Resources", "url": "https://korban.net/elm/posts/2018-07-31-learning-elm-2018-comprehensive-list-resources.html", "published_at": "2018-07-31T00:00:00+00:00" }, { "id": "01a08796-ce00-7027-96da-e2b7a9b3a21b", "title": "Some thoughts on splitting Elm code into multiple files", "url": "https://korban.net/elm/posts/2018-07-27-splitting-elm-code-into-multiple-files.html", "published_at": "2018-07-27T00:00:00+00:00" }, { "id": "01a08796-ce00-7027-96da-e2b7aa4a2441", "title": "How Json.Decode.Pipeline chaining works", "url": "https://korban.net/elm/posts/2018-07-10-how-json-decode-pipeline-chaining-works.html", "published_at": "2018-07-10T00:00:00+00:00" }, { "id": "01a08796-ce00-7027-96da-e2b7aa72c1c6", "title": "Practical Elm for a Busy Developer: early access", "url": "https://korban.net/elm/posts/2018-07-10-practical-elm-early-access.html", "published_at": "2018-07-10T00:00:00+00:00" }, { "id": "01a08796-ce00-7027-96da-e2b7ab54165b", "title": "Json.Decode tricks: decode 8+ fields and nested sub-objects", "url": "https://korban.net/elm/posts/2018-06-22-json-decode-tricks.html", "published_at": "2018-06-22T00:00:00+00:00" }, { "id": "01a08796-ce00-7027-96da-e2b7ac4c53a2", "title": "Using modules in Elm", "url": "https://korban.net/elm/posts/2018-06-14-modules-in-elm.html", "published_at": "2018-06-14T00:00:00+00:00" }, { "id": "01a08796-ce00-7027-96da-e2b7ac9d5275", "title": "Elmstatic 0.3.1: generate subsections, make index pages, add page aliases", "url": "https://korban.net/elm/posts/2018-05-07-elmstatic-subsections-index-pages-aliases.html", "published_at": "2018-05-07T00:00:00+00:00" }, { "id": "01a08796-ce00-7027-96da-e2b7acd95c9d", "title": "Introducing Elmstatic: an Elm-to-HTML static site generator", "url": "https://korban.net/elm/posts/2018-05-03-introducing-elmstatic-elm-static-site-generator.html", "published_at": "2018-05-03T00:00:00+00:00" }, { "id": "01a08796-ce00-7027-96da-e2b7ad50830f", "title": "Decoding recursive JSON in Elm", "url": "https://korban.net/elm/posts/2018-04-13-decoding-recursive-json-in-elm.html", "published_at": "2018-04-13T00:00:00+00:00" }, { "id": "01a08796-ce00-7027-96da-e2b7ae387846", "title": "Generating static HTML from Elm code with elm-static-html-lib", "url": "https://korban.net/elm/posts/2018-03-29-generating-static-html-with-elm.html", "published_at": "2018-03-29T00:00:00+00:00" }, { "id": "01a08796-ce00-7027-96da-e2b7aef954e9", "title": "Is Elm going stale? The numbers say no.", "url": "https://korban.net/elm/posts/2018-03-23-is-elm-going-stale.html", "published_at": "2018-03-23T00:00:00+00:00" }, { "id": "01a08796-ce00-7027-96da-e2b7af3539d4", "title": "How to extract values from union types in Elm", "url": "https://korban.net/elm/posts/2018-03-16-how-to-extract-values-from-union-types-in-elm.html", "published_at": "2018-03-16T00:00:00+00:00" }, { "id": "01a08796-ce00-7027-96da-e2b7af4c5bda", "title": "How to read Elm types like \"Html msg\"", "url": "https://korban.net/elm/posts/2018-03-15-how-to-read-elm-types-like-html-msg.html", "published_at": "2018-03-15T00:00:00+00:00" }, { "id": "01a08796-ce00-7027-96da-e2b7b0245c93", "title": "Decoding JSON to nested record fields in Elm", "url": "https://korban.net/elm/posts/2018-01-23-decoding-json-to-nested-record-fields-in-elm.html", "published_at": "2018-01-23T00:00:00+00:00" }, { "id": "01a08796-ce00-7027-96da-e2b7b05bd7e6", "title": "Lessons learned from 4 years of using Cordova in production", "url": "https://korban.net//posts/2017-11-29-lessons-4-years-of-cordova.html", "published_at": "2017-11-29T00:00:00+00:00" }, { "id": "01a08796-ce00-7027-96da-e2b7b0ef8e84", "title": "The case against ORMs", "url": "https://korban.net//posts/2017-11-02-the-case-against-orms.html", "published_at": "2017-11-02T00:00:00+00:00" }, { "id": "01a08796-ce00-7027-96da-e2b7b1330118", "title": "Four levels of time handling in a database", "url": "https://korban.net//posts/2017-09-29-four-levels-of-time-handling-in-database.html", "published_at": "2017-09-29T00:00:00+00:00" }, { "id": "01a08796-ce00-7027-96da-e2b7b1ff3f9d", "title": "Debugging complex PostgreSQL queries with pgdebug", "url": "https://korban.net//posts/2017-09-18-debugging-complex-postgres-queries-with-pgdebug.html", "published_at": "2017-09-18T00:00:00+00:00" }, { "id": "01a08796-ce01-7336-881d-844d889d4f5c", "title": "Back of the napkin calculations for Powersat by Ben Bova", "url": "https://korban.net//posts/2017-06-30-powersat-by-ben-bova-numbers.html", "published_at": "2017-06-30T00:00:00+00:00" }, { "id": "01a0bb49-e209-735f-8faa-2202b9179fa7", "title": "Back of the napkin calculations for Powersat by Ben Bova", "url": "https://korban.net/reading/posts/2017-06-30-powersat-by-ben-bova-numbers.html", "published_at": "2017-06-30T00:00:00+00:00" }, { "id": "01a08796-ce01-7336-881d-844d88bebb65", "title": "Using Trello to track development work", "url": "https://korban.net//posts/2017-03-27-using-trello-to-track-development-work.html", "published_at": "2017-03-27T00:00:00+00:00" }, { "id": "01a08796-ce01-7336-881d-844d89353ee2", "title": "Notes on implementing push notifications via Node.js", "url": "https://korban.net//posts/2017-03-15-sending-push-notifications-via-nodejs.html", "published_at": "2017-03-15T00:00:00+00:00" }, { "id": "01a08796-ce01-7336-881d-844d8a124a18", "title": "Writing readable SQL", "url": "https://korban.net//posts/2017-02-19-writing-readable-sql.html", "published_at": "2017-02-19T00:00:00+00:00" }, { "id": "01a08796-ce01-7336-881d-844d8a1e7e38", "title": "High performing software developers: false positives", "url": "https://korban.net//posts/2016-05-30-perceived-high-performance.html", "published_at": "2016-05-30T00:00:00+00:00" }, { "id": "01a08796-ce01-7336-881d-844d8a5ed696", "title": "Misapplied abstractions and unnecessary complexity", "url": "https://korban.net//posts/2015-12-16-misapplied-abstractions.html", "published_at": "2015-12-16T00:00:00+00:00" }, { "id": "01a08796-ce01-7336-881d-844d8afc62c5", "title": "Haskell diary #6", "url": "https://korban.net//posts/2015-01-10-haskell-diary-6.html", "published_at": "2015-01-10T00:00:00+00:00" }, { "id": "01a08796-ce01-7336-881d-844d8b529892", "title": "Haskell diary #5", "url": "https://korban.net//posts/2015-01-03-haskell-diary-5.html", "published_at": "2015-01-03T00:00:00+00:00" }, { "id": "01a08796-ce01-7336-881d-844d8b81fd36", "title": "Haskell diary #4", "url": "https://korban.net//posts/2014-12-27-haskell-diary-4.html", "published_at": "2014-12-27T00:00:00+00:00" }, { "id": "01a08796-ce01-7336-881d-844d8c681855", "title": "Haskell concepts I'm learning", "url": "https://korban.net//posts/2014-12-23-haskell-concepts-i-am-learning.html", "published_at": "2014-12-23T00:00:00+00:00" }, { "id": "01a08796-ce01-7336-881d-844d8d087bd9", "title": "Haskell diary #3", "url": "https://korban.net//posts/2014-12-20-haskell-diary-3.html", "published_at": "2014-12-20T00:00:00+00:00" }, { "id": "01a08796-ce01-7336-881d-844d8d9c50f3", "title": "Haskell diary #2", "url": "https://korban.net//posts/2014-12-13-haskell-diary-2.html", "published_at": "2014-12-13T00:00:00+00:00" }, { "id": "01a08796-ce01-7336-881d-844d8e4f12fd", "title": "OOP vs FP: a couple of thoughts", "url": "https://korban.net//posts/2014-12-10-oop-vs-fp.html", "published_at": "2014-12-10T00:00:00+00:00" }, { "id": "01a08796-ce01-7336-881d-844d8f0c4abd", "title": "Haskell diary #1", "url": "https://korban.net//posts/2014-12-06-haskell-diary-1.html", "published_at": "2014-12-06T00:00:00+00:00" }, { "id": "01a08796-ce01-7336-881d-844d8f9e6d2e", "title": "A list of Haskell learning resources", "url": "https://korban.net//posts/2014-12-02-list-of-haskell-learning-resources.html", "published_at": "2014-12-02T00:00:00+00:00" }, { "id": "01a08796-ce01-7336-881d-844d8fbbb93f", "title": "Getting started with Haskell", "url": "https://korban.net//posts/2014-11-30-getting-started-with-haskell.html", "published_at": "2014-11-30T00:00:00+00:00" }, { "id": "01a08796-ce01-7336-881d-844d909b664f", "title": "Functional programming: the next big thing?", "url": "https://korban.net//posts/2014-11-23-functional-programming-next-big-thing.html", "published_at": "2014-11-23T00:00:00+00:00" }, { "id": "01a08796-ce01-7336-881d-844d9162931c", "title": "Visualising PostGIS data from the shell", "url": "https://korban.net//posts/2014-11-18-visualising-postgis-data-from-shell.html", "published_at": "2014-11-18T00:00:00+00:00" }, { "id": "01a08796-ce01-7336-881d-844d92598c00", "title": "Uninstalling things installed via .pkg installers", "url": "https://korban.net//posts/2014-10-25-uninstalling-pkg-on-mac.html", "published_at": "2014-10-25T00:00:00+00:00" }, { "id": "01a08796-ce01-7336-881d-844d92d2623e", "title": "Setting up Mac-like zsh keyboard shortcuts on a Mac", "url": "https://korban.net//posts/2014-10-21-zsh-keyboard-shortcuts-on-mac.html", "published_at": "2014-10-21T00:00:00+00:00" }, { "id": "01a09517-c346-7241-acae-0755aa05ec3b", "title": "JetBrains CLion C++ IDE First Impressions", "url": "https://korban.net/c++/posts/2014-09-11-jetbrains-clion-c-ide-first-impressions.html", "published_at": "2014-09-11T00:00:00+00:00" }, { "id": "01a08796-ce01-7336-881d-844d93b870df", "title": "Showing a random quote from a file on the desktop", "url": "https://korban.net//posts/2014-07-31-show-random-quote-from-file-on-desktop.html", "published_at": "2014-07-31T00:00:00+00:00" }, { "id": "01a09517-c346-7241-acae-0755aaeca7e3", "title": "Clang edition of the C++11/14 Rocks book", "url": "https://korban.net/c++/posts/2014-07-29-clang-edition-of-the-c1114-rocks-book.html", "published_at": "2014-07-29T00:00:00+00:00" }, { "id": "01a09517-c346-7241-acae-0755abbca024", "title": "Spotlight on libraries relying on C++14", "url": "https://korban.net/c++/posts/2014-07-21-spotlight-on-libraries-relying-on-c14.html", "published_at": "2014-07-21T00:00:00+00:00" } ] posts Claim your blog
Back to korban.net
Blog · corpus.blog/blogs/korban.net/posts

korban.net

korban.net

2026

2024

2023

2021

2020

2019

2018

2017

2016

2015

2014