41554 blogs · [ { "id": "01a0d0db-24d0-7345-ac1d-01eb9b4536d4", "title": null, "url": "https://geekmonkey.org/", "published_at": "2026-09-23T10:41:38+00:00" }, { "id": "01a0d0db-24d0-7345-ac1d-01eb9bd162e5", "title": "Fabian Becker", "url": "https://geekmonkey.org/author/fabian/", "published_at": "2025-10-10T09:09:40+00:00" }, { "id": "01a0877c-130e-72c3-b995-2e126ea522e0", "title": "Detecting Deprecated Regex Module Attributes in Elixir with Credo", "url": "https://geekmonkey.org/detecting-deprecated-regex-module-attributes-in-elixir-with-credo/", "published_at": "2025-04-02T09:11:10+00:00" }, { "id": "01a0877c-130e-72c3-b995-2e126f1b20ad", "title": "How to update multiple records with different values in Ecto.Repo.update_all", "url": "https://geekmonkey.org/updating-multiple-records-with-different-values-in-ecto-repo-update_all/", "published_at": "2024-08-05T20:32:50+00:00" }, { "id": "01a0877c-130e-72c3-b995-2e126f861ef4", "title": "Detecting unused database columns using Ecto schemas", "url": "https://geekmonkey.org/detecting-unused-database-columns-using-ecto-schemas/", "published_at": "2023-04-28T14:01:28+00:00" }, { "id": "01a0d0db-24d0-7345-ac1d-01ebb304eddf", "title": null, "url": "https://geekmonkey.org/tag/elixir/", "published_at": "2023-04-28T07:44:47+00:00" }, { "id": "01a0877c-130e-72c3-b995-2e12700c9164", "title": "Names should be descriptive, not cute", "url": "https://geekmonkey.org/names-should-be-descriptive-not-cute/", "published_at": "2023-01-11T15:30:39+00:00" }, { "id": "01a0877c-130e-72c3-b995-2e12709ff859", "title": "Setting up PyTorch on Mac M1 GPUs (Apple Metal / MPS)", "url": "https://geekmonkey.org/setting-up-jupyter-lab-with-pytorch-on-a-mac-with-gpu/", "published_at": "2022-11-18T08:59:02+00:00" }, { "id": "01a0877c-130e-72c3-b995-2e1270cc28c9", "title": "Rethink your git workflow with git-worktree", "url": "https://geekmonkey.org/rethink-your-git-workflow-with-git-worktree/", "published_at": "2022-02-18T17:02:34+00:00" }, { "id": "01a0d0db-24d0-7345-ac1d-01ebb3766afb", "title": null, "url": "https://geekmonkey.org/tag/git/", "published_at": "2022-02-16T14:21:31+00:00" }, { "id": "01a0d0db-24d0-7345-ac1d-01ebb42a89f2", "title": null, "url": "https://geekmonkey.org/tag/neovim/", "published_at": "2022-02-16T14:21:31+00:00" }, { "id": "01a0877c-130e-72c3-b995-2e12716f6854", "title": "Learning to type Dvorak", "url": "https://geekmonkey.org/learning-to-type-dvorak/", "published_at": "2022-01-03T15:00:00+00:00" }, { "id": "01a0d0db-24d0-7345-ac1d-01eb9f20208b", "title": "Introducing Turbolinks for Rails 4.0", "url": "https://geekmonkey.org/introducing-turbolinks-for-rails-4-0/", "published_at": "2021-12-22T08:02:31+00:00" }, { "id": "01a0d0db-24d0-7345-ac1d-01eb9f99adbe", "title": "An Introduction to Mini Ruby", "url": "https://geekmonkey.org/an-introduction-to-mini-ruby/", "published_at": "2021-12-22T08:01:42+00:00" }, { "id": "01a0877c-130e-72c3-b995-2e12717ff297", "title": "It's bingo time (AoC 2021 Day 4)", "url": "https://geekmonkey.org/aoc2021-day4/", "published_at": "2021-12-20T15:00:00+00:00" }, { "id": "01a0d0db-24d0-7345-ac1d-01eba0cb8560", "title": "Developer PC Build 2021", "url": "https://geekmonkey.org/developer-pc-build-2021/", "published_at": "2021-12-20T14:46:28+00:00" }, { "id": "01a0d0db-24d0-7345-ac1d-01eb9b96a12e", "title": null, "url": "https://geekmonkey.org/about/", "published_at": "2021-12-20T14:43:31+00:00" }, { "id": "01a0d0db-24d0-7345-ac1d-01ebb4674160", "title": null, "url": "https://geekmonkey.org/tag/ruby/", "published_at": "2021-12-20T10:02:51+00:00" }, { "id": "01a0d0db-24d0-7345-ac1d-01ebb4862b2c", "title": "Ruby on Rails", "url": "https://geekmonkey.org/tag/rails/", "published_at": "2021-12-20T10:02:20+00:00" }, { "id": "01a0d0db-24d1-7299-a3e8-92ba89a31e13", "title": null, "url": "https://geekmonkey.org/tag/golang/", "published_at": "2021-12-20T10:01:38+00:00" }, { "id": "01a0d0db-24d1-7299-a3e8-92ba8a3e9f2b", "title": "Advent Of Code", "url": "https://geekmonkey.org/tag/advent-of-code/", "published_at": "2021-12-20T09:39:43+00:00" }, { "id": "01a0d0db-24d1-7299-a3e8-92ba8aa82724", "title": "100 Days Of Code", "url": "https://geekmonkey.org/tag/100daysofcode/", "published_at": "2021-12-20T09:38:40+00:00" }, { "id": "01a0d0db-24d0-7345-ac1d-01eba3a4bc09", "title": "The anatomy of an exploit", "url": "https://geekmonkey.org/the-anatomy-of-an-exploit/", "published_at": "2021-12-20T09:37:34+00:00" }, { "id": "01a0877c-130e-72c3-b995-2e12720f946d", "title": "Advent of Code 2021 - Day 3", "url": "https://geekmonkey.org/aoc2021-day3/", "published_at": "2021-12-17T15:00:00+00:00" }, { "id": "01a0877c-130e-72c3-b995-2e1272e65338", "title": "Advent of Code 2021 - Day 2", "url": "https://geekmonkey.org/aoc2021-day2/", "published_at": "2021-12-14T15:00:00+00:00" }, { "id": "01a0877c-130e-72c3-b995-2e1272f22d48", "title": "Advent of Code 2021 - Day 1", "url": "https://geekmonkey.org/aoc2021-day1/", "published_at": "2021-12-12T14:00:00+00:00" }, { "id": "01a0d0db-24d1-7299-a3e8-92ba8b94187a", "title": null, "url": "https://geekmonkey.org/tag/keyboards/", "published_at": "2021-12-09T16:25:47+00:00" }, { "id": "01a0d0db-24d0-7345-ac1d-01eba4df3a75", "title": "A new Date and Time API for JDK 8", "url": "https://geekmonkey.org/a-new-date-and-time-api-for-jdk-8/", "published_at": "2021-06-13T09:10:32+00:00" }, { "id": "01a0d0db-24d0-7345-ac1d-01eba516124d", "title": "PHP 5.5 Generators", "url": "https://geekmonkey.org/php-5-5-generators/", "published_at": "2021-06-13T09:07:43+00:00" }, { "id": "01a0d0db-24d0-7345-ac1d-01eba5a93679", "title": "Deploying your Rails 5 apps to Dokku - Part 1", "url": "https://geekmonkey.org/deploying-your-rails-5-apps-to-dokku-part-1/", "published_at": "2021-06-13T09:06:23+00:00" }, { "id": "01a0d0db-24d0-7345-ac1d-01eba5cf5a55", "title": "Using Hyperscan to boost regular expression performance", "url": "https://geekmonkey.org/regular-expression-matching-at-scale-with-hyperscan/", "published_at": "2021-06-12T08:18:11+00:00" }, { "id": "01a0d0db-24d0-7345-ac1d-01eba5f85095", "title": "Getting Started with Julia Lang", "url": "https://geekmonkey.org/getting-started-with-julia-lang/", "published_at": "2021-06-12T08:17:22+00:00" }, { "id": "01a0877c-130e-72c3-b995-2e1273ed70c5", "title": "Learn With Me: Julia - Bitwise Operators (#4)", "url": "https://geekmonkey.org/lwm-julia-bitwise-operators/", "published_at": "2021-06-08T14:00:00+00:00" }, { "id": "01a0877c-130e-72c3-b995-2e1274bbfbe2", "title": "Learn With Me: Julia - Structs and Binary I/O (#3)", "url": "https://geekmonkey.org/learn-with-me-julia-structs-and-binary-i-o-3/", "published_at": "2021-06-01T14:15:00+00:00" }, { "id": "01a0877c-130e-72c3-b995-2e1275b8f33a", "title": "Learn With Me: Julia - Tools and Learning Resources (#2)", "url": "https://geekmonkey.org/lwm-julia-2-tools-and-learning-resources/", "published_at": "2021-05-18T15:00:00+00:00" }, { "id": "01a0d0db-24d1-7299-a3e8-92ba8c22208b", "title": "Learn With Me: Julia", "url": "https://geekmonkey.org/tag/lwm-julia/", "published_at": "2021-05-17T15:00:12+00:00" }, { "id": "01a0877c-130e-72c3-b995-2e1275bec6c1", "title": "Learn With Me: Julia - Introduction (#1)", "url": "https://geekmonkey.org/lwm-julia-1/", "published_at": "2021-05-13T15:00:00+00:00" }, { "id": "01a0d0db-24d0-7345-ac1d-01eba67664ca", "title": "Julia GPU Programming with WSL2", "url": "https://geekmonkey.org/julia-gpu-programming-with-wsl2/", "published_at": "2021-05-08T21:04:03+00:00" }, { "id": "01a0d0db-24d1-7299-a3e8-92ba8c6986a9", "title": null, "url": "https://geekmonkey.org/tag/cuda/", "published_at": "2021-05-05T07:53:05+00:00" }, { "id": "01a0d0db-24d1-7299-a3e8-92ba8c6abd71", "title": "GPU Programming", "url": "https://geekmonkey.org/tag/gpu-programming/", "published_at": "2021-05-05T07:53:05+00:00" }, { "id": "01a0d0db-24d1-7299-a3e8-92ba8c96d73a", "title": null, "url": "https://geekmonkey.org/tag/wsl2/", "published_at": "2021-05-05T07:53:05+00:00" }, { "id": "01a0d0db-24d1-7299-a3e8-92ba8cbefcde", "title": null, "url": "https://geekmonkey.org/tag/ubuntu/", "published_at": "2021-05-05T07:53:05+00:00" }, { "id": "01a0d0db-24d1-7299-a3e8-92ba8d520512", "title": null, "url": "https://geekmonkey.org/tag/matomo/", "published_at": "2021-04-19T15:52:57+00:00" }, { "id": "01a0d0db-24d1-7299-a3e8-92ba8dbc907b", "title": null, "url": "https://geekmonkey.org/tag/databases/", "published_at": "2021-04-19T15:51:05+00:00" }, { "id": "01a0d0db-24d0-7345-ac1d-01eba7339a35", "title": "#100DaysOfCode: Julia Edition", "url": "https://geekmonkey.org/100daysofcode-julia-edition/", "published_at": "2021-04-12T12:03:42+00:00" }, { "id": "01a0d0db-24d0-7345-ac1d-01eba7db1d0a", "title": "Listing the used fonts of an image in GIMP", "url": "https://geekmonkey.org/listing-the-used-fonts-of-an-image-in-gimp/", "published_at": "2021-04-08T13:28:04+00:00" }, { "id": "01a0d0db-24d1-7299-a3e8-92ba8e58dba3", "title": "Machine Learning", "url": "https://geekmonkey.org/tag/machine-learning/", "published_at": "2021-04-08T12:06:02+00:00" }, { "id": "01a0d0db-24d1-7299-a3e8-92ba8efa313f", "title": "Evolutionary Computation", "url": "https://geekmonkey.org/tag/evolutionary-computation/", "published_at": "2021-04-02T08:57:21+00:00" }, { "id": "01a0d0db-24d1-7299-a3e8-92ba8f9fd0ce", "title": null, "url": "https://geekmonkey.org/tag/performance/", "published_at": "2021-04-02T08:33:10+00:00" }, { "id": "01a0d0db-24d1-7299-a3e8-92ba9028207e", "title": null, "url": "https://geekmonkey.org/tag/benchmarking/", "published_at": "2021-04-02T08:32:40+00:00" }, { "id": "01a0d0db-24d1-7299-a3e8-92ba90ec354c", "title": null, "url": "https://geekmonkey.org/tag/regex/", "published_at": "2021-04-02T08:32:28+00:00" }, { "id": "01a0d0db-24d1-7299-a3e8-92ba91d28eea", "title": null, "url": "https://geekmonkey.org/tag/time/", "published_at": "2021-04-02T08:32:21+00:00" }, { "id": "01a0d0db-24d1-7299-a3e8-92ba922c3ec2", "title": null, "url": "https://geekmonkey.org/tag/security/", "published_at": "2021-04-02T08:32:14+00:00" }, { "id": "01a0d0db-24d1-7299-a3e8-92ba9267dcfb", "title": null, "url": "https://geekmonkey.org/tag/javascript/", "published_at": "2021-04-02T08:31:55+00:00" }, { "id": "01a0d0db-24d1-7299-a3e8-92ba92d0cf82", "title": null, "url": "https://geekmonkey.org/tag/compiler/", "published_at": "2021-04-02T08:31:27+00:00" }, { "id": "01a0d0db-24d1-7299-a3e8-92ba936b630e", "title": null, "url": "https://geekmonkey.org/tag/analytics/", "published_at": "2021-04-02T08:31:20+00:00" }, { "id": "01a0d0db-24d1-7299-a3e8-92ba93de0616", "title": null, "url": "https://geekmonkey.org/tag/eclipse/", "published_at": "2021-04-02T08:30:28+00:00" }, { "id": "01a0d0db-24d1-7299-a3e8-92ba940557bf", "title": null, "url": "https://geekmonkey.org/tag/debugging/", "published_at": "2021-04-02T08:30:12+00:00" }, { "id": "01a0d0db-24d1-7299-a3e8-92ba940d1519", "title": null, "url": "https://geekmonkey.org/tag/python/", "published_at": "2021-04-02T08:30:04+00:00" }, { "id": "01a0d0db-24d0-7345-ac1d-01eba7fdeea4", "title": "Optimizing PostgreSQL queries using pg_stat_statements", "url": "https://geekmonkey.org/optimizing-postgresql-queries-using-pg_stat_statements-and-pg_buffercache/", "published_at": "2021-04-01T12:40:50+00:00" }, { "id": "01a0d0db-24d1-7299-a3e8-92ba94bbea5c", "title": null, "url": "https://geekmonkey.org/tag/julia/", "published_at": "2021-03-31T12:36:08+00:00" }, { "id": "01a0d0db-24d0-7345-ac1d-01eba86e9b15", "title": "Using layouts with jade in express.js", "url": "https://geekmonkey.org/using-layouts-with-jade-in-express-js/", "published_at": "2017-11-13T11:14:32+00:00" }, { "id": "01a0d0db-24d0-7345-ac1d-01eba90ad695", "title": "Comparison of IDEs for Google Go", "url": "https://geekmonkey.org/comparison-of-ides-for-google-go/", "published_at": "2017-11-10T11:03:03+00:00" }, { "id": "01a0d0db-24d1-7299-a3e8-92ba959c854e", "title": null, "url": "https://geekmonkey.org/tag/dokku/", "published_at": "2017-10-25T14:28:44+00:00" }, { "id": "01a0d0db-24d1-7299-a3e8-92ba967e0eb5", "title": null, "url": "https://geekmonkey.org/tag/postgresql/", "published_at": "2017-10-25T14:28:44+00:00" }, { "id": "01a0d0db-24d0-7345-ac1d-01eba9ebadeb", "title": null, "url": "https://geekmonkey.org/automatically-create-annotations-for-your-feeds-in-piwik/", "published_at": "2017-01-13T05:25:22+00:00" }, { "id": "01a0d0db-24d0-7345-ac1d-01ebaa7d6760", "title": null, "url": "https://geekmonkey.org/annotations-and-page-overlay-in-piwik-1-10/", "published_at": "2017-01-13T05:24:07+00:00" }, { "id": "01a0d0db-24d0-7345-ac1d-01ebaaf6171d", "title": null, "url": "https://geekmonkey.org/baking-a-pi-for-google-go/", "published_at": "2017-01-13T05:20:04+00:00" }, { "id": "01a0d0db-24d0-7345-ac1d-01ebab3304a2", "title": null, "url": "https://geekmonkey.org/building-mruby-on-the-raspberry-pi/", "published_at": "2017-01-13T05:19:06+00:00" }, { "id": "01a0d0db-24d0-7345-ac1d-01ebac048f42", "title": null, "url": "https://geekmonkey.org/how-to-write-a-piwik-plugin/", "published_at": "2017-01-13T05:18:15+00:00" }, { "id": "01a0d0db-24d0-7345-ac1d-01ebac285df5", "title": null, "url": "https://geekmonkey.org/tracking-the-ipv6-reach-of-your-website-with-piwik/", "published_at": "2017-01-13T05:16:30+00:00" }, { "id": "01a0d0db-24d0-7345-ac1d-01ebacf89fc9", "title": null, "url": "https://geekmonkey.org/tracking-visits-with-piwik-analytics-in-rails/", "published_at": "2017-01-13T05:13:53+00:00" }, { "id": "01a0d0db-24d0-7345-ac1d-01ebad64779c", "title": null, "url": "https://geekmonkey.org/exception-applications-in-rails-3-2/", "published_at": "2017-01-13T05:11:20+00:00" }, { "id": "01a0d0db-24d0-7345-ac1d-01ebadf2cd02", "title": null, "url": "https://geekmonkey.org/using-neo4j-with-rails-3-2/", "published_at": "2017-01-13T05:09:17+00:00" }, { "id": "01a0d0db-24d0-7345-ac1d-01ebae2c8ff7", "title": null, "url": "https://geekmonkey.org/device-based-website-with-rails/", "published_at": "2017-01-13T05:07:35+00:00" }, { "id": "01a0d0db-24d0-7345-ac1d-01ebaf0bc610", "title": null, "url": "https://geekmonkey.org/static-pages-with-high-voltage/", "published_at": "2017-01-13T05:02:07+00:00" }, { "id": "01a0d0db-24d1-7299-a3e8-92ba96dacd46", "title": null, "url": "https://geekmonkey.org/tag/gem/", "published_at": "2017-01-06T16:34:44+00:00" }, { "id": "01a0d0db-24d1-7299-a3e8-92ba97bea44b", "title": null, "url": "https://geekmonkey.org/tag/kotlin/", "published_at": "2017-01-06T16:34:44+00:00" }, { "id": "01a0d0db-24d1-7299-a3e8-92ba97d6c2b8", "title": null, "url": "https://geekmonkey.org/tag/ant/", "published_at": "2017-01-06T16:34:44+00:00" }, { "id": "01a0d0db-24d1-7299-a3e8-92ba98292db5", "title": null, "url": "https://geekmonkey.org/tag/jetbrains/", "published_at": "2017-01-06T16:34:44+00:00" }, { "id": "01a0d0db-24d1-7299-a3e8-92ba984a99ed", "title": null, "url": "https://geekmonkey.org/tag/gimp/", "published_at": "2017-01-06T16:34:44+00:00" }, { "id": "01a0d0db-24d1-7299-a3e8-92ba98da1c88", "title": null, "url": "https://geekmonkey.org/tag/java/", "published_at": "2017-01-06T16:34:44+00:00" }, { "id": "01a0d0db-24d1-7299-a3e8-92ba99455edc", "title": null, "url": "https://geekmonkey.org/tag/mysql/", "published_at": "2017-01-06T16:34:44+00:00" }, { "id": "01a0d0db-24d1-7299-a3e8-92ba9a0260f8", "title": null, "url": "https://geekmonkey.org/tag/ide/", "published_at": "2017-01-06T16:34:44+00:00" }, { "id": "01a0d0db-24d1-7299-a3e8-92ba9a264830", "title": null, "url": "https://geekmonkey.org/tag/netbeans/", "published_at": "2017-01-06T16:34:44+00:00" }, { "id": "01a0d0db-24d1-7299-a3e8-92ba9b263175", "title": null, "url": "https://geekmonkey.org/tag/api/", "published_at": "2017-01-06T16:34:44+00:00" }, { "id": "01a0d0db-24d1-7299-a3e8-92ba9b699c7d", "title": null, "url": "https://geekmonkey.org/tag/jsr/", "published_at": "2017-01-06T16:34:44+00:00" }, { "id": "01a0d0db-24d1-7299-a3e8-92ba9bc2e337", "title": null, "url": "https://geekmonkey.org/tag/date/", "published_at": "2017-01-06T16:34:44+00:00" }, { "id": "01a0d0db-24d1-7299-a3e8-92ba9bfe9657", "title": null, "url": "https://geekmonkey.org/tag/neo4j/", "published_at": "2017-01-06T16:34:44+00:00" }, { "id": "01a0d0db-24d1-7299-a3e8-92ba9cf40f85", "title": null, "url": "https://geekmonkey.org/tag/jruby/", "published_at": "2017-01-06T16:34:44+00:00" }, { "id": "01a0d0db-24d1-7299-a3e8-92ba9d59bddd", "title": null, "url": "https://geekmonkey.org/tag/pjax/", "published_at": "2017-01-06T16:34:44+00:00" }, { "id": "01a0d0db-24d1-7299-a3e8-92ba9e36dc65", "title": null, "url": "https://geekmonkey.org/tag/jquery/", "published_at": "2017-01-06T16:34:44+00:00" }, { "id": "01a0d0db-24d1-7299-a3e8-92ba9eec3042", "title": null, "url": "https://geekmonkey.org/tag/geoip/", "published_at": "2017-01-06T16:34:44+00:00" }, { "id": "01a0d0db-24d1-7299-a3e8-92ba9f377498", "title": null, "url": "https://geekmonkey.org/tag/php-fpm/", "published_at": "2017-01-06T16:34:44+00:00" }, { "id": "01a0d0db-24d1-7299-a3e8-92ba9ffbfca6", "title": null, "url": "https://geekmonkey.org/tag/ipv6/", "published_at": "2017-01-06T16:34:44+00:00" }, { "id": "01a0d0db-24d1-7299-a3e8-92baa0909540", "title": null, "url": "https://geekmonkey.org/tag/php/", "published_at": "2017-01-06T16:34:44+00:00" }, { "id": "01a0d0db-24d1-7299-a3e8-92baa0f798df", "title": null, "url": "https://geekmonkey.org/tag/plugin/", "published_at": "2017-01-06T16:34:44+00:00" }, { "id": "01a0d0db-24d1-7299-a3e8-92baa18d29d0", "title": null, "url": "https://geekmonkey.org/tag/mruby/", "published_at": "2017-01-06T16:34:44+00:00" }, { "id": "01a0d0db-24d1-7299-a3e8-92baa2058a0f", "title": null, "url": "https://geekmonkey.org/tag/raspbian/", "published_at": "2017-01-06T16:34:44+00:00" }, { "id": "01a0d0db-24d1-7299-a3e8-92baa2a92720", "title": null, "url": "https://geekmonkey.org/tag/raspberry-pi/", "published_at": "2017-01-06T16:34:44+00:00" } ] posts Claim your blog
Back to halfdan
Blog · corpus.blog/blogs/geekmonkey.org/posts

halfdan

geekmonkey.org

2026

2025

2024

2023

2022

2021

2017