41554 blogs · [ { "id": "01a087bb-6b96-7356-9f81-d05fef827d68", "title": "Pioneers, Settlers and Town Planners", "url": "https://owehrens.com/pioneers-settlers-townplanner/", "published_at": "2026-09-01T00:00:00+00:00" }, { "id": "01a087bb-6b96-7356-9f81-d05ff00d12d2", "title": "The Dark Factory", "url": "https://owehrens.com/the-dark-factory/", "published_at": "2026-08-20T00:00:00+00:00" }, { "id": "01a087bb-6b96-7356-9f81-d05ff072f51c", "title": "Quick test Qwen3.8 27B", "url": "https://owehrens.com/quick-qwen38-tetris/", "published_at": "2026-08-15T00:00:00+00:00" }, { "id": "01a087bb-6b96-7356-9f81-d05ff08582ff", "title": "Product Development Workflow", "url": "https://owehrens.com/product-development-workflow/", "published_at": "2026-07-05T00:00:00+00:00" }, { "id": "01a087bb-6b96-7356-9f81-d05ff14192bc", "title": "Nightshift with Claude Sandbox Runtime (SRT)", "url": "https://owehrens.com/nightshift-with-claude-sandbox-runtime-srt/", "published_at": "2026-06-29T00:00:00+00:00" }, { "id": "01a087bb-6b96-7356-9f81-d05ff2101a15", "title": "How Agents Find Their Own Tools: Agentic Resource Discovery", "url": "https://owehrens.com/how-agents-find-their-own-tools-agentic-resource-discovery/", "published_at": "2026-06-21T00:00:00+00:00" }, { "id": "01a087bb-6b96-7356-9f81-d05ff30afd72", "title": "AI coding test turned to product", "url": "https://owehrens.com/ai-coding-test-turned-to-product/", "published_at": "2025-10-05T00:00:00+00:00" }, { "id": "01a087bb-6b96-7356-9f81-d05ff38c1a80", "title": "Using AI and Model Context Protocol to create more usable Jira Tickets", "url": "https://owehrens.com/ai-and-mcp-to-create-more-usable-jira-tickets/", "published_at": "2025-03-31T00:00:00+00:00" }, { "id": "01a087bb-6b96-7356-9f81-d05ff3dd5f09", "title": "iOS Development Setup with Cursor AI", "url": "https://owehrens.com/ios-development-with-cursor-ai/", "published_at": "2025-02-08T00:00:00+00:00" }, { "id": "01a087bb-6b96-7356-9f81-d05ff405aafc", "title": "The return of product and requirements development. Writing software without being a developer.", "url": "https://owehrens.com/the-return-of-product-and-requirements-development-writing-software-without-being-a-developer/", "published_at": "2025-02-04T00:00:00+00:00" }, { "id": "01a087bb-6b96-7356-9f81-d05ff448fb70", "title": "Running Deepseek 671B Model on a PC locally", "url": "https://owehrens.com/running-deepseek-671b-on-a-pc-locally/", "published_at": "2025-02-03T00:00:00+00:00" }, { "id": "01a087bb-6b96-7356-9f81-d05ff44d0f73", "title": "The Pivotal Role of Tech Leadership in Overseeing the Big Picture", "url": "https://owehrens.com/the-pivotal-role-of-tech-leadership-in-overseeing-the-bigpicture/", "published_at": "2024-08-28T00:00:00+00:00" }, { "id": "01a087bb-6b96-7356-9f81-d05ff4bf5387", "title": "Reporting on a big waterscrum project", "url": "https://owehrens.com/reporting-on-a-big-waterscrum-project/", "published_at": "2024-06-13T00:00:00+00:00" }, { "id": "01a087bb-6b96-7356-9f81-d05ff4ca51c4", "title": "Fuckup: Goodhart's Law in practice - tie a metric to a bonus", "url": "https://owehrens.com/fuckup-goodharts-law-in-practice-tie-a-metric-to-a-bonus/", "published_at": "2024-04-18T00:00:00+00:00" }, { "id": "01a087bb-6b96-7356-9f81-d05ff536b922", "title": "Fuckup: Programming Languages and Organizations", "url": "https://owehrens.com/fuckup-programming-languages-and-organizations/", "published_at": "2024-04-17T00:00:00+00:00" }, { "id": "01a087bb-6b96-7356-9f81-d05ff5c73002", "title": "Clean code ... should you DRY?", "url": "https://owehrens.com/clean-code-should-you-dry/", "published_at": "2024-03-19T00:00:00+00:00" }, { "id": "01a087bb-6b96-7356-9f81-d05ff5c7f0b1", "title": "Why you need a macro architecture", "url": "https://owehrens.com/why-you-need-a-macro-architecture/", "published_at": "2024-03-17T00:00:00+00:00" }, { "id": "01a087bb-6b96-7356-9f81-d05ff62c64df", "title": "Can AI replace me as a consultant?", "url": "https://owehrens.com/can-ai-replace-me-as-a-consultant/", "published_at": "2023-12-24T00:00:00+00:00" }, { "id": "01a087bb-6b96-7356-9f81-d05ff67fcbd5", "title": "Whisper: Nvidia RTX 4090 vs M1Pro with MLX (updated with M2/M3)", "url": "https://owehrens.com/whisper-nvidia-rtx-4090-vs-m1pro-with-mlx/", "published_at": "2023-12-09T00:00:00+00:00" }, { "id": "01a087bb-6b96-7356-9f81-d05ff71684e4", "title": "Artifacts for effective alignment", "url": "https://owehrens.com/artifacts-for-effective-alignment/", "published_at": "2023-10-31T00:00:00+00:00" }, { "id": "01a087bb-6b96-7356-9f81-d05ff7a60d54", "title": "Podcast time", "url": "https://owehrens.com/podcast-time/", "published_at": "2023-04-13T00:00:00+00:00" }, { "id": "01a087bb-6b96-7356-9f81-d05ff7c5bd4a", "title": "OpenAI Whisper Performance on Nvidia RTX 4090", "url": "https://owehrens.com/whisper-performance-on-nvidia-rtx-4090/", "published_at": "2023-03-21T00:00:00+00:00" }, { "id": "01a087bb-6b96-7356-9f81-d05ff817ea4a", "title": "Semantic Search with Cosine Similarity", "url": "https://owehrens.com/semantic-search-with-cosine-similarity/", "published_at": "2023-02-23T00:00:00+00:00" }, { "id": "01a087bb-6b96-7356-9f81-d05ff82c64e7", "title": "OpenAI Whisper Benchmark Nvidia Tesla T4 / A100", "url": "https://owehrens.com/openai-whisper-benchmark-on-nvidia-tesla-t4-a100/", "published_at": "2022-12-22T00:00:00+00:00" }, { "id": "01a087bb-6b96-7356-9f81-d05ff8f4e874", "title": "OpenAI Whisper on Apple M1", "url": "https://owehrens.com/openai-whisper-on-apple-m1-cpp-version/", "published_at": "2022-12-08T00:00:00+00:00" }, { "id": "01a087bb-6b96-7356-9f81-d05ff9242a50", "title": "What does it take to become a software architect?", "url": "https://owehrens.com/what-does-it-take-to-become-a-software-architekt/", "published_at": "2021-07-21T00:00:00+00:00" }, { "id": "01a087bb-6b96-7356-9f81-d05ff930ad4f", "title": "How hands-on should a CTO be?", "url": "https://owehrens.com/how-hands-on-should-a-cto-be/", "published_at": "2021-03-12T00:00:00+00:00" }, { "id": "01a087bb-6b96-7356-9f81-d05ff95d3724", "title": "Sketch Book Summary: No Estimates", "url": "https://owehrens.com/sketch-book-summary-no-estimates/", "published_at": "2020-12-30T00:00:00+00:00" }, { "id": "01a087bb-6b96-7356-9f81-d05ff9791b66", "title": "Four weeks of home office", "url": "https://owehrens.com/four-weeks-of-home-office/", "published_at": "2020-04-17T00:00:00+00:00" }, { "id": "01a087bb-6b96-7356-9f81-d05ff9812ffa", "title": "Sketch Book Summary: Good Strategy, Bad Strategy", "url": "https://owehrens.com/sketch-book-summary-good-strategy-bad-strategy/", "published_at": "2020-01-15T00:00:00+00:00" }, { "id": "01a087bb-6b96-7356-9f81-d05ffa099be4", "title": "2019", "url": "https://owehrens.com/my-year-2019/", "published_at": "2020-01-01T00:00:00+00:00" }, { "id": "01a087bb-6b96-7356-9f81-d05ffadc2641", "title": "Technical Agility", "url": "https://owehrens.com/technical-agility/", "published_at": "2019-09-21T00:00:00+00:00" }, { "id": "01a087bb-6b96-7356-9f81-d05ffbd2721a", "title": "Wardley Mapping Canvas", "url": "https://owehrens.com/wardley-mapping-canvas/", "published_at": "2019-09-04T00:00:00+00:00" }, { "id": "01a087bb-6b96-7356-9f81-d05ffcc77fff", "title": "Using Sketch Book Summary (SBS) to remember content what matters to me.", "url": "https://owehrens.com/sketch-book-summary-sbs/", "published_at": "2019-08-23T00:00:00+00:00" }, { "id": "01a087bb-6b96-7356-9f81-d05ffdc07f95", "title": "Sketch Book Summary: Atomic Habits", "url": "https://owehrens.com/sbs-atomic-habbits/", "published_at": "2019-08-06T00:00:00+00:00" }, { "id": "01a087bb-6b96-7356-9f81-d05ffde28b20", "title": "CD und DevOps im Expertencheck", "url": "https://owehrens.com/cd-und-devops-im-expertencheck/", "published_at": "2017-06-01T00:00:00+00:00" }, { "id": "01a087bb-6b96-7356-9f81-d05ffe19397a", "title": "Warum wir auf DevOps setzen", "url": "https://owehrens.com/warum-wir-auf-devops-setzen/", "published_at": "2017-06-01T00:00:00+00:00" }, { "id": "01a087bb-6b96-7356-9f81-d05ffe301419", "title": "2017-90 - Random Tech Links", "url": "https://owehrens.com/2017-90-randomtechlinks/", "published_at": "2017-03-31T00:00:00+00:00" }, { "id": "01a087bb-6b96-7356-9f81-d05ffe4628e8", "title": "Service Discovery For Machines And Humans", "url": "https://owehrens.com/service-discovery-for-machines-and-humans/", "published_at": "2017-02-01T19:54:58+00:00" }, { "id": "01a087bb-6b96-7356-9f81-d05fff4061a5", "title": "Microservices bei der E-POST", "url": "https://owehrens.com/microservices-bei-der-e-post/", "published_at": "2017-01-01T00:00:00+00:00" }, { "id": "01a087bb-6b96-7356-9f81-d05fff890827", "title": "Der Real-Life-Check", "url": "https://owehrens.com/der-real-life-check/", "published_at": "2016-05-01T00:00:00+00:00" }, { "id": "01a087bb-6b96-7356-9f81-d05fffe7aa60", "title": "How is your microservice architecture doing?", "url": "https://owehrens.com/how-is-your-microservice-architecture-doing/", "published_at": "2016-01-15T00:00:00+00:00" }, { "id": "01a087bb-6b96-7356-9f81-d06000b63ca6", "title": "Entwicklung verteilter Systeme - Herausforderungen nicht nur an die Architektur", "url": "https://owehrens.com/entwicklung-verteilter-systeme/", "published_at": "2015-09-29T00:00:00+00:00" }, { "id": "01a087bb-6b96-7356-9f81-d06001377a66", "title": "Wider den Monolith - Am Ende wird alles gut", "url": "https://owehrens.com/wider-den-monolith/", "published_at": "2014-11-06T00:00:00+00:00" }, { "id": "01a087bb-6b96-7356-9f81-d06001cb7bd5", "title": "Migrating a monolith", "url": "https://owehrens.com/ways-to-migrate-away-from-monoliths/", "published_at": "2014-10-09T00:00:00+00:00" }, { "id": "01a087bb-6b97-73f0-bfc3-7bb0e3c01683", "title": "If you don't fight it you end up with a monolith", "url": "https://owehrens.com/if-you-dont-fight-it-you-end-up-with-a-monolith/", "published_at": "2014-10-07T00:00:00+00:00" }, { "id": "01a087bb-6b97-73f0-bfc3-7bb0e3c1aab8", "title": "A Monolith could be good for you", "url": "https://owehrens.com/a-monolith-could-be-good-for-you/", "published_at": "2014-10-06T00:00:00+00:00" }, { "id": "01a087bb-6b97-73f0-bfc3-7bb0e3e35a74", "title": "How you might know that you have a monolith", "url": "https://owehrens.com/how-do-you-know-you-have-a-monolith/", "published_at": "2014-10-03T00:00:00+00:00" }, { "id": "01a087bb-6b97-73f0-bfc3-7bb0e4c3da78", "title": "How failing tests can be green", "url": "https://owehrens.com/how-failing-tests-can-be-green/", "published_at": "2014-02-13T00:00:00+00:00" }, { "id": "01a087bb-6b97-73f0-bfc3-7bb0e5bba105", "title": "Getting Faster", "url": "https://owehrens.com/getting-faster/", "published_at": "2013-12-18T00:00:00+00:00" }, { "id": "01a087bb-6b97-73f0-bfc3-7bb0e611885e", "title": "Mit Puppet und RPM", "url": "https://owehrens.com/mit-puppet-und-rpm/", "published_at": "2013-07-01T00:00:00+00:00" }, { "id": "01a087bb-6b97-73f0-bfc3-7bb0e65c0e99", "title": "Doing a Sprint Review with a Review Fair", "url": "https://owehrens.com/doing-sprint-reviews-with-a-review-fair/", "published_at": "2013-06-23T00:00:00+00:00" }, { "id": "01a087bb-6b97-73f0-bfc3-7bb0e7348ee5", "title": "Using KVM and Virt-Manager via XQuartz on MacOSX (and solving the keymapping trouble)", "url": "https://owehrens.com/using-xquartz-virt-manager-and-macosx/", "published_at": "2013-06-03T00:00:00+00:00" }, { "id": "01a087bb-6b97-73f0-bfc3-7bb0e8026127", "title": "Getting started with veewee and vagrant", "url": "https://owehrens.com/getting-started-with-veewee-and-vagrant/", "published_at": "2013-05-26T00:00:00+00:00" }, { "id": "01a087bb-6b97-73f0-bfc3-7bb0e8fabd46", "title": "From Development to Production", "url": "https://owehrens.com/from-development-to-production/", "published_at": "2013-04-26T00:00:00+00:00" }, { "id": "01a087bb-6b97-73f0-bfc3-7bb0e937c0c4", "title": "Do not use Javadoc", "url": "https://owehrens.com/do-not-use-javadoc/", "published_at": "2012-07-27T00:00:00+00:00" }, { "id": "01a087bb-6b97-73f0-bfc3-7bb0e9b502ee", "title": "Javascript testing for Java projects", "url": "https://owehrens.com/javascript-testing-for-java-projects/", "published_at": "2012-07-12T00:00:00+00:00" }, { "id": "01a087bb-6b97-73f0-bfc3-7bb0eaadd708", "title": "Realtime Push Events zum Browser", "url": "https://owehrens.com/realtime-push-events-zum-browser/", "published_at": "2012-05-01T00:00:00+00:00" }, { "id": "01a087bb-6b97-73f0-bfc3-7bb0eabceaba", "title": "Cucumber-jvm for Java", "url": "https://owehrens.com/cucumber-jvm-for-java/", "published_at": "2012-04-12T00:00:00+00:00" }, { "id": "01a087bb-6b97-73f0-bfc3-7bb0eb1639b4", "title": "One assert per test, really", "url": "https://owehrens.com/one-assert-per-test-really/", "published_at": "2011-06-14T00:00:00+00:00" }, { "id": "01a087bb-6b97-73f0-bfc3-7bb0ebbe7cf1", "title": "Spring 3 MVC, Ajax and jQuery Magic (or better: simplicity)", "url": "https://owehrens.com/spring-3-mvc-ajax-and-jquery-magic-or-better-simplicity/", "published_at": "2010-07-20T00:00:00+00:00" }, { "id": "01a087bb-6b97-73f0-bfc3-7bb0ec4bbfa3", "title": "Busy Programmers Guide on where to buy eBooks", "url": "https://owehrens.com/busy-programmers-guide-on-where-to-buy-ebooks/", "published_at": "2010-06-05T00:00:00+00:00" }, { "id": "01a087bb-6b97-73f0-bfc3-7bb0ecd04a8f", "title": "How to detect if your server is down when making jQuery Ajax calls", "url": "https://owehrens.com/how-to-detect-if-your-server-is-down-when-making-jquery-ajax-calls/", "published_at": "2010-04-26T00:00:00+00:00" }, { "id": "01a087bb-6b97-73f0-bfc3-7bb0ed174535", "title": "Lightweight Web Prototyping for the Framework loving (Java) Developer", "url": "https://owehrens.com/lightweight-web-prototyping-for-the-framework-loving-java-developer/", "published_at": "2010-04-20T00:00:00+00:00" }, { "id": "01a087bb-6b97-73f0-bfc3-7bb0eda4b912", "title": "How we switched from Subversion to Git", "url": "https://owehrens.com/how-we-switched-from-subversion-to-git/", "published_at": "2010-03-22T00:00:00+00:00" }, { "id": "01a087bb-6b97-73f0-bfc3-7bb0edc09e39", "title": "5 code metrics you need to watch", "url": "https://owehrens.com/5-code-metrics-you-need-to-watch/", "published_at": "2010-02-23T00:00:00+00:00" }, { "id": "01a087bb-6b97-73f0-bfc3-7bb0edd9763b", "title": "Name your objects right", "url": "https://owehrens.com/name-your-objects-right/", "published_at": "2010-02-09T00:00:00+00:00" }, { "id": "01a087bb-6b97-73f0-bfc3-7bb0edfefefa", "title": "One year of blogging", "url": "https://owehrens.com/one-year-of-blogging/", "published_at": "2010-02-06T00:00:00+00:00" }, { "id": "01a087bb-6b97-73f0-bfc3-7bb0ee097d07", "title": "What's your preferred development infrastructure stack?", "url": "https://owehrens.com/whats-your-preferred-development-infrastructure-stack/", "published_at": "2010-01-13T00:00:00+00:00" }, { "id": "01a087bb-6b97-73f0-bfc3-7bb0ee20d7e6", "title": "Using Selenium2 for web testing (and not Selenium IDE)", "url": "https://owehrens.com/using-selenium-2-for-web-testing/", "published_at": "2010-01-04T00:00:00+00:00" }, { "id": "01a087bb-6b97-73f0-bfc3-7bb0ee881634", "title": "Story based daily stand-up meeting", "url": "https://owehrens.com/story-based-daily-stand-up-meeting/", "published_at": "2009-12-25T00:00:00+00:00" }, { "id": "01a087bb-6b97-73f0-bfc3-7bb0ef0616d3", "title": "Integrate early, integrate often", "url": "https://owehrens.com/integrate-early-integrate-often/", "published_at": "2009-11-28T00:00:00+00:00" }, { "id": "01a087bb-6b97-73f0-bfc3-7bb0ef098636", "title": "Concordion vs. Cucumber and Java based Acceptance Testing", "url": "https://owehrens.com/concordion-vs-cucumber-and-java-based-acceptance-testing/", "published_at": "2009-10-13T00:00:00+00:00" }, { "id": "01a087bb-6b97-73f0-bfc3-7bb0ef6f2f0d", "title": "Test JBoss Rules 5 (or Drools) with TestNG", "url": "https://owehrens.com/test-jboss-rules-5-with-testng/", "published_at": "2009-09-23T00:00:00+00:00" }, { "id": "01a087bb-6b97-73f0-bfc3-7bb0f01c4a87", "title": "How pair programming can help you to get into Test Driven Development", "url": "https://owehrens.com/how-pair-programming-can-help-you-to-get-into-test-driven-development/", "published_at": "2009-09-13T00:00:00+00:00" }, { "id": "01a087bb-6b97-73f0-bfc3-7bb0f0a4241e", "title": "4 ways to test your code", "url": "https://owehrens.com/4-ways-to-test-your-code/", "published_at": "2009-08-20T00:00:00+00:00" }, { "id": "01a087bb-6b97-73f0-bfc3-7bb0f0a4eea8", "title": "How to get your developers to pay more attention to the burn down chart (and have fun)", "url": "https://owehrens.com/how-to-get-your-developers-to-pay-more-attention-to-the-burn-down-chart-and-have-fun/", "published_at": "2009-08-05T00:00:00+00:00" }, { "id": "01a087bb-6b97-73f0-bfc3-7bb0f13fba77", "title": "Two upgrades to cut down development time", "url": "https://owehrens.com/two-upgrades-to-cut-down-development-time/", "published_at": "2009-07-24T00:00:00+00:00" }, { "id": "01a087bb-6b97-73f0-bfc3-7bb0f21a7b72", "title": "Getting started with JSF 2 (and Maven)", "url": "https://owehrens.com/getting-started-with-jsf-2-and-maven/", "published_at": "2009-07-03T00:00:00+00:00" }, { "id": "01a087bb-6b97-73f0-bfc3-7bb0f256a9c5", "title": "Update on Quant TestTester", "url": "https://owehrens.com/update-on-quant-testtester/", "published_at": "2009-06-25T00:00:00+00:00" }, { "id": "01a087bb-6b97-73f0-bfc3-7bb0f2966bb0", "title": "Quant - Check your Tests", "url": "https://owehrens.com/quant-check-your-tests/", "published_at": "2009-05-30T00:00:00+00:00" }, { "id": "01a087bb-6b97-73f0-bfc3-7bb0f325b95d", "title": "Jetbrains released a Google App Engine plugin for IntelliJ", "url": "https://owehrens.com/jetbrains-released-a-google-app-engine-plugin-for-intellij/", "published_at": "2009-05-08T00:00:00+00:00" }, { "id": "01a087bb-6b97-73f0-bfc3-7bb0f36f99e0", "title": "IntelliJ Idea Plugin Property Sorter updated", "url": "https://owehrens.com/intellij-idea-plugin-property-sorter-updated/", "published_at": "2009-05-05T00:00:00+00:00" }, { "id": "01a087bb-6b97-73f0-bfc3-7bb0f3b4fede", "title": "How to test Spring Webflow 2 (with parent flows)", "url": "https://owehrens.com/how-to-test-spring-webflow-2-with-parent-flows/", "published_at": "2009-04-20T00:00:00+00:00" }, { "id": "01a087bb-6b97-73f0-bfc3-7bb0f3ee5027", "title": "Getting the Browsers GeoLocation with HTML 5", "url": "https://owehrens.com/getting-the-browsers-geolocation-with-html-5/", "published_at": "2009-04-11T00:00:00+00:00" }, { "id": "01a087bb-6b97-73f0-bfc3-7bb0f40d3197", "title": "A Quick Look at Google App Engine for Java", "url": "https://owehrens.com/a-quick-look-at-google-app-engine-for-java/", "published_at": "2009-04-08T00:00:00+00:00" }, { "id": "01a087bb-6b97-73f0-bfc3-7bb0f4f90ea5", "title": "Coloring your IDE", "url": "https://owehrens.com/coloring-your-ide/", "published_at": "2009-04-06T00:00:00+00:00" }, { "id": "01a087bb-6b97-73f0-bfc3-7bb0f54f8cd7", "title": "IE7 caches rendered elements?", "url": "https://owehrens.com/ie7-caches-rendered-element/", "published_at": "2009-03-30T00:00:00+00:00" }, { "id": "01a087bb-6b97-73f0-bfc3-7bb0f612adac", "title": "Using TestNG with DataProviders to cover more test cases", "url": "https://owehrens.com/using-testng-with-dataproviders-to-cover-more-test-cases/", "published_at": "2009-03-23T00:00:00+00:00" }, { "id": "01a087bb-6b98-7362-9b80-06a6f0e9021a", "title": "How to refactor Spring Webflow variables in your JSF pages with IntelliJ IDEA", "url": "https://owehrens.com/how-to-refactor-spring-webflow-variables-in-your-jsf-pages-with-intellij-idea/", "published_at": "2009-03-18T00:00:00+00:00" }, { "id": "01a087bb-6b98-7362-9b80-06a6f1037479", "title": "Updated Scrum Board Cheat Sheet with Story Owner", "url": "https://owehrens.com/updated-scrum-board-cheat-sheet-with-story-owner/", "published_at": "2009-03-12T00:00:00+00:00" }, { "id": "01a087bb-6b98-7362-9b80-06a6f1423b17", "title": "SOLID Development Principles In Motivational Pictures (enhanced)", "url": "https://owehrens.com/solid-development-principles-in-motivational-pictures-enhanced/", "published_at": "2009-03-08T00:00:00+00:00" }, { "id": "01a087bb-6b98-7362-9b80-06a6f1eedf18", "title": "Why our current Sprint commitment will fail", "url": "https://owehrens.com/why-our-current-sprint-commitment-will-fail/", "published_at": "2009-03-05T00:00:00+00:00" }, { "id": "01a087bb-6b98-7362-9b80-06a6f28b1877", "title": "Three reasons why you don't want to use a Spring context in unit tests", "url": "https://owehrens.com/three-reasons-why-you-dont-want-to-use-a-spring-context-in-unit-tests/", "published_at": "2009-02-25T00:00:00+00:00" }, { "id": "01a087bb-6b98-7362-9b80-06a6f2dab4c4", "title": "Sorting your properties files in IntelliJ Idea", "url": "https://owehrens.com/sorting-your-properties-files-in-idea/", "published_at": "2009-02-23T00:00:00+00:00" }, { "id": "01a087bb-6b98-7362-9b80-06a6f3b45fcd", "title": "The ScrumBoard Cheat Sheet", "url": "https://owehrens.com/the-scrumboard-cheat-sheet/", "published_at": "2009-02-19T00:00:00+00:00" }, { "id": "01a087bb-6b98-7362-9b80-06a6f44610e7", "title": "Extreme visibility in an agile environment", "url": "https://owehrens.com/extreme-visibility-in-an-agile-environment/", "published_at": "2009-02-17T00:00:00+00:00" }, { "id": "01a087bb-6b98-7362-9b80-06a6f4eff72b", "title": "My MacBook Pro loves 4 GB", "url": "https://owehrens.com/my-macbook-pro-loves-4-gb/", "published_at": "2009-02-15T00:00:00+00:00" }, { "id": "01a087bb-6b98-7362-9b80-06a6f5ebcf4a", "title": "IntelliJ IDEA Rulezzz with code completion", "url": "https://owehrens.com/intellij-idea-rulezzz-with-code-completion/", "published_at": "2009-02-14T00:00:00+00:00" }, { "id": "01a087bb-6b98-7362-9b80-06a6f6db5c3e", "title": "IntelliJ IDEA 8.1", "url": "https://owehrens.com/intellij-idea-81/", "published_at": "2009-02-11T00:00:00+00:00" } ] posts Claim your blog
Back to owehrens.com
Blog · corpus.blog/blogs/owehrens.com/posts

owehrens.com

owehrens.com

2026

2025

2024

2023

2022

2021

2020

2019

2017

2016

2015

2014

2013

2012

2011

2010

2009