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) 
Dates2017(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