The Curious Engineer

All blogs / Java / JVM

Adam Warski: programming articles & videos

warski.org/blog

Recent content on Adam Warski: programming articles & videos

Java / JVMFunctional / PL theoryAI / ML

’10’15’20’25
Posts
146 from 27 Sep 2007 to 27 Aug 2026
Posting
now and then (3 in the last year)
Kind
personal blog
Feed
https://warski.org/blog/index.xml

2026 3

  1. A week in Valle de Tena (Pyrenees) with kids & teenagers
  2. Docker Sandboxes (sbx) vs Sandcat
  3. Secure & Dangerous Claude Code + VS Code setup

2016 2

  1. Why I started learning Emacs in 2016
  2. Add a “dependencies” badge & tree to your project using UpdateImpact

2015 10

  1. Event sourcing + free monads = free sourcing?
  2. MacWire 2.0: composing modules & cleanup
  3. When & why to use Supler for web forms?
  4. MacWire 1.0 is here!
  5. Supler update: 0.3.0 release
  6. Quicklens: traversing options and lists
  7. Quicklens: modify deeply nested case class fields
  8. In today’s post-OO world, is dependency injection still relevant?
  9. Supler 0.2.0: docs and features added, bugs removed
  10. MacWire 0.8.0: towards 1.0, tagging, anonymous functions support

2014 19

  1. Supler 0.1.0: complex forms made easier
  2. Clustering reactmq with akka-cluster
  3. Introducing Supler: a Functional Reactive Form Library
  4. MacWire 0.7: dynamically accessing the object graph
  5. Making the Reactive Queue durable with Akka Persistence
  6. Evaluating persistent, replicated message queues (updated w/ Kafka)
  7. Benchmarking SQS
  8. Cluster-wide Java/Scala application deployments with Docker, Chef and Amazon OpsWorks
  9. Reactive Queue with Akka Reactive Streams
  10. Codebrag: why post- and per- commit?
  11. Functional Discrete Optimization @ Coursera with Scala
  12. Spray server in a Docker container
  13. Inverse beacon positioning
  14. Makerland, hackaton and turtles
  15. Big data: when single node is better than clustered
  16. Using Scala traits as modules, or the “Thin Cake” Pattern
  17. Using JavaCV with Scala and SBT
  18. How do iBeacons work?
  19. Traffic simulation game in Elm

2013 23

  1. BuildStuff 2013 is over – looking forward to ’14!
  2. Using Amazon’s Elastic Map Reduce to compute recommendations with Apache Mahout 0.8
  3. Creating an on-line recommender system with Apache Mahout
  4. MacWire 0.5: Interceptors
  5. Java Zone 2013 trip report
  6. Automatic generation of delegate methods with Macro Annotations
  7. Dependency Injection in Play! with MacWire
  8. Verifying usage of 3rd party libraries using Veripacks
  9. Akka vs Storm
  10. Implementing factories in Scala & MacWire 0.3
  11. ElasticMQ 0.7.0: long polling, non-blocking implementation using Akka and Spray
  12. Typed ask for Akka
  13. MacWire 0.2: Scopes are simple!
  14. Per-commit e-mail GitHub notifications
  15. MacWire 0.1: Framework-less Dependency Injection with Scala Macros
  16. How to replace a build module with Veripacks
  17. Dependency injection with Scala macros: auto-wiring
  18. Veripacks 0.3: importing packages (transitively, of course)
  19. xsbt-proguard-plugin – taking over, new release
  20. Veripacks 0.2: exporting subpackages
  21. Dry parameter names
  22. Updating to Scala 2.10: ElasticMQ and scala-macro-debug
  23. Veripacks 0.1 – Verify Package Specifications

2012 16

  1. Starting with Scala Macros: a short tutorial
  2. Event streaming with MongoDB
  3. ElasticMQ is now synced to Maven central
  4. Let’s turn packages into a module system!
  5. ElasticMQ 0.6: batch operations, strict/relaxed SQS-compatibility mode
  6. Unexpected problems with Apache and mod_rewrite under high load
  7. Missing OO and FP bridge in Scala
  8. Connecting a piano pedal to a computer
  9. Generational caching and Envers
  10. Implementing message replication in ElasticMQ with JGroups
  11. Hibernate 4.1.4: Envers tests run&pass on multiple DBs
  12. ElasticMQ 0.5: journalling, stand-alone server
  13. Frameworks vs Libraries as Inheritance vs Composition?
  14. ElasticMQ 0.4: message replication
  15. ElasticMQ 0.3: new API, new in-memory storage
  16. ElasticMQ 0.2 – support for delayed queues and messages

2011 17

  1. ElasticMQ 0.1 released!
  2. Envers bundled with JBoss AS 7.0.2!
  3. How to handle inheritance and @Audited?
  4. Blending Ruby (on Rails) and CDI on OpenBlend 2011
  5. Modules, modules, modules …
  6. Introducing ElasticMQ: Scala SQS alternative
  7. Using Envers with AS7
  8. Trying to understand CAP
  9. Envers: track entity types changed in revisions
  10. Static typing is a great static analysis tool
  11. After Confitura 2011
  12. CDI Portable Extensions on Confitura 2011
  13. Envers & TorqueBox on RivieraJUG – May 6th
  14. DI in Scala: Cake Pattern pros & cons
  15. Envers and Hibernate 4.0.0.Alpha2 – automatic listener registration
  16. Ruby on Rails + CDI/Weld on Torquebox example app
  17. Timing interceptor for CDI/Weld

2010 22

  1. Dependency Injection in Scala: Extending the Cake Pattern
  2. Improving autofactories/assisted inject
  3. DB test: run tests with a database using Arquillian
  4. DI and OO: Assisted Inject in CDI / Weld
  5. Dependency injection discourages object-oriented programming?
  6. New Envers contributor
  7. Envers at JBoss One Day Talk 2010
  8. Envers query performance improvements with end-revision column
  9. Envers 1.2.3-hibernate-3.3 – backport release
  10. New features in cdi-ext
  11. Ruby on Rails + CDI? Why not! Enter TorqueBox + Weld
  12. Initial valid-time support in Envers
  13. NEnvers
  14. Object Services in Scala
  15. Object Services, or bridging anemic and rich models, in CDI/Weld
  16. CDI & Weld Extensions in Git
  17. JSR-308, checkers framework and static analysis on GeeCON
  18. Extending the security interceptor for Weld/JSF2
  19. Hibernate 3.5-Final, Envers included, released!
  20. Simple security interceptor in Weld/JSF2
  21. JSF2 navigation: post->redirect->get
  22. Projects Using Envers wikipage

2009 12

  1. Envers 1.2.2 released!
  2. Dependency Injection and replacing dependencies in CDI/Weld
  3. Nonnull-check generator: a scala compiler plugin
  4. Typestate checker – checking iterators
  5. Javarsovia, static analysis and annotations
  6. Envers on Jazoon
  7. Envers 1.2.1.GA released
  8. StaticAccess detector for FindBugs
  9. New features in Typestate Checker
  10. Envers 1.2.0.GA in Maven repository; JSR308 typestate and maven plugin in GIT
  11. Envers 1.2.0.GA released!
  12. JSR308 Checkers Maven2 plugin

2008 18

  1. Envers in Anvers!
  2. Typestate checker – introduction
  3. Envers moves to Hibernate!
  4. Adding structure to Seam events
  5. Envers 1.1.0.GA released
  6. Envers on JDD 08
  7. Envers 1.1.0.beta2 released with collections support
  8. Envers on Herbstcampus 2008
  9. Envers is back from vacations
  10. Envers 1.0.0.GA released!
  11. Bi-temporal versioning with Envers
  12. Envers beta – now with queries!
  13. What data should be stored in versions tables? – a poll
  14. Envers preview 3: logging data for revisions, Seam demo
  15. Value-to-variable binding “let” tag for JSF, Facelets and Seam
  16. Envers preview 2: versioning relations
  17. Introducing Envers: Easy Entity Versioning
  18. Clean URLs in Seam: URLRewriteFilter

2007 4

  1. Instant Facelets: changes in .xhtml and no redeploying
  2. Developing with Seam and without frequent redeploying
  3. UTF-8 in JBoss/Tomcat + MySQL + Hibernate + JavaMail
  4. Developing JSP/JSF pages without frequent redeploying