Blog Posts
Tags
node(18) sql(16) java(15) vue(10) knex(10) docker(10) misc(9) kotlin(8) golang(7) container(7) koa(7) htmx(7) spring-boot(6) test(6) project structure(6) shorts(6) database migrations(5) javascript(5) docker-compose(5) kubernetes(5) github actions(5) long rant(4) react(4) jpa(4) liquibase(4) typescript(4) javalin(4) hello(3) project setup(3) git(3) gradle(3) aws(3) aws-cli(3) maven(3) dotenv-flow(3) jdbi(3) environment-variables(3) ava(3) CI/CD(3) pug(3) cordova(2) bookshelf(2) postgres(2) python(2) sqlalchemy(2) progressive(2) gorm(2) mongodb(2) project management(2) spring(2) webjars(2) thymeleaf(2) letsencrypt(2) design patterns(2) h2(2) container-orchestration(2) container-observability(2) act-cli(2) kind(2) supertest(2) recipes(2) GitOps(2) deployment(2) velocity(2) k6(2) benchmark(2) sqlite(2) tsx(2)Dates
2017(4) 2018(4) 2019(11) 2020(4) 2021(5) 2022(11) 2023(26) 2024(12) 2025(8)0084-single-responsibility-vs-locality-of-behavior 0083-server-side-components-with-htmx 0082-capacitor-mobile-app 0081-sql-tour 0080-monorepo-multiproject-execution-point 0079-hateoas-vs-architectural-patterns 0078-golang-private-modules 0077-onboarding-the-proper-way 0076-a-diabetes 0075-sampling-vitest 0074-using-java-records-with-jdbi 0073-fun-experiment-with-db-migrations 0072-node-backend-validation-exemplified 0071-test-containers-in-3-languages 0070-build-with-bld-and-why-it-matters 0069-htmx-and-go-benchmark 0068-benchmark-with-k6 0067-you-should-try-htmx 0066-relational-document-and-key-value-databases-in-go 0065-letsencrypt-on-k3s 0064-ephemeral-container-persistent-volume 0063-git-based-deployment-services 0062-containers-part-5-gitops 0061-github-actions-recipes 0060-testable-code 0059-devops-tools-fedora-39-setup 0058-containers-part-4-k8s-with-kind 0057-how-to-structure-a-java-project-part-2 0056-running-ci-cd-github-locally 0055-containers-part-3-app-container-friendly 0054-lightweight-db-access-with-jdbi 0053-mock-or-not 0052-ibm-db2-quick-overview 0051-quick-note-on-java-resources-and-classpath 0050-beyond-dto-or-back-to-dry 0049-nginx-certbot-reverse-proxy-setup 0048-progressive-vue-js-on-ssr-java 0047-sql-vs-nosql-quick-comparison 0046-scrum-ceremonies-the-way-i-remember-them 0045-keep-your-log-level-sane-on-spring-boot 0044-cra-builds-for-non-root-urls 0043-knex-still-rocks-on-modern-node 0042-getting-started-with-eleventy 0041-farewell-old-blog 0040-test-and-coverage-with-golang 0039-on-jakarta-ee-embedded 0038-how-to-publish-package-on-maven-central 0037-two-databases-on-spring-boot 0036-how-to-structure-a-java-project 0035-we-need-to-talk-about-window-functions 0034-manage-ec2-from-command-line 0033-containers-part-2 0032-introduction-to-aws-cli 0031-react-redux-vs-vue-pinia 0030-containers-part-1 0029-application-entrypoint 0028-gorm-versus-ent-in-go 0027-jest-and-typescript-setup 0026-simple-typescript-setup 0025-migrations-with-liquibase-and-sql 0024-the-beauty-of-languages 0023-the-making-of-node-libgpiod-bindings 0022-progressive-modern-web-adoption 0021-my-environment-setup 0020-a-bit-of-enterprise-kotlin 0019-the-new-blog 0018-on-docker 0017-playing-with-mqtt 0016-vanilla-sql-cookbook 0015-es6-modules-on-backend 0014-flask-sql-alchemy-pipenv 0013-real-time-communications-with-socketio 0012-about-vue-react-css-toolkits 0011-about-jpa-sequelize-and-bookshelf 0010-git-mini-crash-course 0009-gnu-make-as-js-build-tool 0008-helper-components-on-nativescript 0007-vue-and-react-side-by-side 0006-browserify-rocks 0005-updated-knex-bookshelf-cookbook 0004-vuejs-into-a-cordova-project 0003-a-few-lines-about-npm-projects-and-history 0002-the-old-blogs 0001-about-this-blog-thing 0000-hello