sebastiandaschner blog
All blog entries
13 Cool IntelliJ Features (You Probably Didn’t Know)
5 Ways to Debug Quarkus JVM Applications
A Simple Plain-Text Knowledge System
Uploading Files With Quarkus (Update)
Vim Tips I Wish I Knew Earlier
Tour of My Dotfiles
How to Become Better at the Keyboard
Why I’m Using a Tiling Window Manager
Effective Developer Workflows With Quarkus
Effective Test Execution With Quarkus
Why You Should Learn Vim
Using Maven Efficiently
Quarkus Panache Active Record vs. Repository Pattern
Persistence With Quarkus Panache
Updating Quarkus Projects to Version 3.0
How to Create a Quarkus Extension
Programmatically Listen to Test Results (Incl. Hardware LED)
How to Init Databases With Quarkus
Why You Want to Code With Quarkus in 2023
How to Structure Modern Enterprise Java Projects
Quarkus Native or JVM Mode for Enterprise Projects?
Command Line Tools With Quarkus, Picocli & GraalVM
How To Configure Cloud-Native Quarkus Projects
IntelliJ Coding Shortcuts You Need to Know
Programmatically Listen to JUnit Test Results
IntelliJ Navigation Shortcuts You Need to Know
Controlling Elgato Keylights From the Command Line
Modern Linux Terminal With Alacritty, JetBrains Mono & Emojis
IntelliJ Live Templates You Need to Know
Mapping Neo4j OGM Query Results to DTOs & Records
My JChampions Conf Session ‘Principles of Effective Developers’
Automation That I Use in My Vim Environment
The Effective Developer Podcast — Most Listened Episodes 2022
How I’m Using Vim for Everyday Writing
Helpful Command Line Scripts and Automation in My Setup
My Most Used CLI Commands
New Quarkus Workshops in April 2023
Simple, Rolling-Update Production Setup With Docker & Traefik
Coding Session With ChatGPT — How Helpful Is It?
How to Generate AI Texts & Images With Quarkus & OpenAI
How to Use Java Records With Quarkus
Capitalize English Titles With Java, Quarkus & GraalVM
What You Need to Know About Java Records
What You Need to Know About Java Text Blocks
Sending Email Using the Gmail API And Java
Using Gmail More Effectively
Using Git on The Command Line Effectively
Uploading Files With Quarkus
Video Courses on Effective Quarkus Development
Configuring Quarkus URLs Behind A SSL/TLS Reverse Proxy
Using the Command Line as File Explorer
New Quarkus Workshop Dates in December 2022
Logging Performance Comparison
10 Advanced Vim Features
Developer Productivity Masterclass Available
The Case Against Logging
How to Search Full-text in Neo4j with Java & Quarkus OGM
Getting Started With the Terminal as Developer
8 Tips and Experiences on Neo4j With Java
Neo4j OGM with Quarkus extension (Update)
Creating and using a Telegram Bot with Java
Using Nginx as Browsersync proxy
Creating Quarkus Command Mode standalone applications
Calculations in Quarkus Qute using AtomicInteger
Editing structured text effectively with Vim
The Log4Shell vulnerability and how to fix it
Coding Session — 99 bottles of beer
Using JaCoCo to measure system test coverage
Executing IntelliJ actions with IdeaVim
Configuring plain Java projects using MicroProfile Config
Running complex project setups with Testcontainers
Building recommendations with Neo4j & Quarkus
New Quarkus workshop dates in October 2021
Developer Productivity Masterclass early access available
Inject Quarkus list types with @ConfigProperty
How to crawl websites with Selenide and JDK 14+
Map complex configuration structures with Quarkus
Tests that spark flow — A poem
New Quarkus workshops in July 2021
Using the Quarkus dev
mode for non-Quarkus projects (Video)
Reducing test turnaround times with Quarkus 2.0 (Video)
Effective note taking as developer (Video)
Effective Bash scripting for software developers (Video)
Why I switched to using Selenide for UI tests (Video)
My favorite IdeaVim features (Video)
AsciiBlog updated to Quarkus
Things I’ve automated on my development system (Video)
Why I’m using Linux (Video)
Why we built yet another task management application (Video)
Managing your tasks and time effectively as developer (Video)
My tips for using IntelliJ IDEA effectively (Video)
Development workflows that put you in a flow state (Video)
Creating effective UI system tests with Selenium (Video)
My review of the Ultimate Hacking Keyboard (Video)
My content favorites of 2020
Undo feature with Neo4J & Enterprise Java
Quarkus remote dev in Docker containers (Update)
Video course on cloud-native CI/CD with Tekton & ArgoCD
Interview with Adam Bien — The Effective Developer podcast
AMA live session next Monday
Creating presentations with VIM (Video)
Pragmatic database migrations with Quarkus and Flyway (Video)
Database migrations in Kubernetes applications with Flyway (Video)
Converting JAX-RS parameters with ParamConverters
Migrating Neo4j graph schemas in Kubernetes (Video)
Developer Productivity Q&A live session next Monday
How to restore a Neo4J backup on managed Kubernetes (Video)
How to backup Neo4J on managed Kubernetes (Video)
Deploying a Neo4J single core on managed Kubernetes (Video)
Deploying a Neo4J cluster on managed Kubernetes (Video)
Neo4J OGM with Quarkus (Video)
Using IdeaVim with IntelliJ
Supersonic subatomic Enterprise Java from the ground up (Video)
My IntelliJ Live Templates
Workshop Java with Docker, Kubernetes & Istio
Announcing The Effective Developer podcast
Effective keyboard usage Q&A live session next Wednesday
Git switch
and restore
Debugging system tests in containers with Quarkus (Video)
Advanced Qute templating features (Video)
Effective Testing with Java Q&A live session next Wednesday
Qute Templates with Quarkus (Video)
Quarkus on OpenJ9 JVM & resource consumption (Video)
Quickly creating URIs with UriBuilder
Quarkus' additional (non-standard) CDI features (Video)
Quarkus remote dev in Docker containers (Video)
Escape JSON property names in jq
Tips on working from home
Create Git patches from command line
Video course on efficient enterprise testing
GitHub on the command line
Matching patterns with Java
Global gitignore
Managing multiple Java installations
Efficient enterprise testing — conclusion (6/6)
Efficient enterprise testing — test frameworks (5/6)
Efficient enterprise testing — workflows & code quality (4/6)
Efficient enterprise testing — integration tests (3/6)
Efficient enterprise testing — unit & use case tests (2/6)
Thoughts on efficient enterprise testing (1/6)
Minimize turnaround times with Open Liberty’s dev mode
Enhanced CDI contexts & bulkheads with MicroProfile Context Propagation
Proposal on Jakarta EE’s innovation & relationship with MicroProfile
Using metric tags with MicroProfile Metrics 2.0
Video course — Effective keyboard usage for developers
Hot-deploying into Kubernetes using Telepresence & WAD
Thoughts on the Jakarta EE package name change
Thoughts on Quarkus
Hot-deploying Java Enterprise with WAD & Docker (Video)
Monitoring Open Liberty with Prometheus & Grafana (Video)
Applying Bulkheads And Backpressure using MicroProfile (Video)
Monitor applications using Prometheus Operator on Kubernetes
Java EE, Jakarta EE, MicroProfile, or maybe all of them
Discover applications running on Kubernetes with Prometheus
MicroProfile 2.2 BOM import support
Configuring Open Liberty datasources in cloud native environments (Video)
Jakarta EE plus MicroProfile on Open Liberty (Video)
Difference between Java EE, Jakarta EE & MicroProfile (Video)
Selecting Git commits by message
Monitoring resiliency behavior with MicroProfile (Video)
Configuring Open Liberty Datasources via Kubernetes Secrets
Open Liberty Override Configuration
Webinar on Java Microservice Development
Seeking New Challenges
Zero-Downtime Rolling Updates With Istio
Zero-Downtime Rolling Updates With Kubernetes
Jakarta EE And MicroProfile At CodeOne
Instrumenting Porcupine With Prometheus & Grafana
Video Course — Java EE 8 on Docker & Kubernetes
My Chroma Keying Video Setup
Video Course — Learning Java EE 8
JSON-B Asymmetrical Property Binding
Istio’s Networking API Explained
MicroProfile’s Role in the Age of Jakarta EE
Thoughts On Jakarta EE’s Vision
MicroProfile Fault Tolerance With Java EE (Video)
Applying Bulkheads And Backpressure to Java EE (Video)
Improving Your Command Line Productivity (Video)
Increasing Shell Productivity With Zsh Aliases
Proposed Jakarta EE Design Principles
Off to another motorbike dev tour in Japan
Git commit fixup and autosquash
Custom Git subcommands
Injecting multiple Kubernetes volumes to the same directory
Strategy Pattern with CDI and lambdas
Distributed tracing with Java EE, Istio & MicroProfile (Video)
Java code style operator new line formatting
Prometheus with Java EE & MicroProfile Metrics (Video)
PostgreSQL on Open Liberty
EnumSet for enum collections
Mapping enum keys with EnumMaps
Continuous Delivery video course
Write custom AssertJ assertions
Transactional exception handling in CDI
Caching method results with JCache
Handle custom exception types in JAX-RS
Joker 2017 Event sourcing, event-driven architectures & CQRS
Continuous Delivery friendly Maven versions
Using JAX-RS exceptions for status codes
JPA persistence.xml SQL script definitions
Joker 2017 Cloud Native Java EE
Access Git repositories with Java using SSH keys
Remove collection elements that match a criteria
exa
as ls
replacement
WildFly Kubernetes exec probes
Dockerized Java EE 8 applications with GlassFish 5.0
Jersey client dependencies for JAX-RS 2.1
jSpirit 2018 unconference (Video)
Prometheus with Java EE (Video)
Book on modern Java EE (Video)
Thoughts on Opening up Java EE
Kubernetes IDE support with IntelliJ (Video)
Acceptance tests with WireMock & Kubernetes (Video)
Zero-downtime deployment with Kubernetes (Video)
JOnsen 2017 Unconference
Maven 3.5.0 colored output (Video)
Inject Kubernetes ConfigMap values with Java EE & WildFly
How to change private static final
fields
How to change environment variables in Java
W-JAX 2016 — Testing, aber richtig (in German)
How to choose technology
Wrap-up early 2017
Video Course — Event Sourcing, Distributed Systems & CQRS
Video Course — Developer Productivity
Leichtgewichtiges Java EE — Java Aktuell Artikel (in German)
Enhancing JAX-RS project analysis with JavaDoc (Video)
Java EE — the most lightweight enterprise framework?
Video Course — REST as in Hypermedia with Java
How to be productive (as a developer)
Why I’m using Java EE
Released JAX-RS Analyzer v0.10
Siren 4 Java EE Hypermedia Client (Video)
Designing and implementing REST acceptance tests (Video)
JavaOne 2016 Lightweight Java EE talk
Thoughts on Java EE 8 roadmap update
Link to JAX-RS resources (Video)
JavaZone 2016 Lightweight Java EE talk
Hypermedia REST workshops in Oslo
Java EE workshops in Munich
Java activities for end of 2016
JavaOne 2016 sessions
First look at JUnit 5
Hacking with the JSONB 1.0 Public Review
Java EE workshops in Munich
Introducing Siren 4 Java EE 1.0
Enabling Hypermedia REST with JAX-RS
Thoughts on JSRs, TCKs and Open Source
Testing Java EE (or why integration tests are overrated)
Stop saying “heavyweight”
On tour with NightHacking
JSON mapping polymorphism support
Thoughts on Java EE 8
Making Java esoteric — adding a maybe
keyword (Video)
Thoughts on JSONB (or one of the main advantages of Java EE)
Create links to JAX-RS resources
Maven multiple module overhead (Video)
UTF-8 charset as constant in Java
Analyze Maven build time
Making Java esoteric — adding a maybe
keyword
Running Java Web Start Apps in a Docker sandbox
Released JAX-RS Analyzer v0.5
AsciiBlog on JavaEE MVC (JSR 371)
JAX-RS Analyzer explained (Video)
Released JAX-RS Analyzer v0.4
AsciiBlog Application explained (Video)
Log JPA schema creation with Hibernate
JPA joined subclass strategy example
JCache with MapDB as persistence provider
Simple and powerful cache in JavaEE
Java collections as JAX-RS JSON response on TomEE
Blog written in AsciiDoc (Update)
Released JAX-RS Analyzer v0.3
Feature list of JAX-RS Analyzer (v0.2)
Released JAX-RS Analyzer
Jenkins as a docker orchestrator
Import self-signed SSL certificate in Java
Unorthodox docker connection without links
Blog written entirely in AsciiDoc
Java 8 Comparator