The Curious Engineer

All blogs / Java / JVM

A Java geek

blog.frankel.ch

Nicolas Fränkel's blog

Java / JVMDevOps / SRE / infrastructureAI / MLSecurity

Posts
712 from 12 Feb 2023 to 25 Oct 2026
Posting
weekly (55 in the last year)
Kind
personal blog
Feed
https://blog.frankel.ch/feed.xml

2026 47

  1. Security Baked Into the JVM: DirtyChai scales vertically, JGDMS scales horizontally
  2. Newsletters
  3. Maps without a tile server
  4. 404 - Page Not Found
  5. Scraping websites and bot-protection
  6. A Java geek
  7. Security Baked Into the JVM: no single party controls the outcome
  8. From documenting decisions to questioning them
  9. AI-assisted genealogy, a follow-up
  10. World geography gotchas
  11. Build an AI Agent (From Scratch)
  12. AI-assisted genealogy
  13. Security Baked Into the JVM: sixteen Subjects on the wire
  14. Solving Gradle metadata and Renovate integration
  15. Security Baked Into the JVM: two Subjects, one call
  16. GitHub agentic workflows and Renovate
  17. RFC 9880 and the IoT Validation Problem
  18. Security Baked Into the JVM: the Safe Codebase Audit Pipeline
  19. Making ServiceLoader usable: a provider factory
  20. Two nasty surprises in Home Assistant's config
  21. Focus
  22. Security Baked Into the JVM: why fork Apache River and OpenJDK?
  23. On programming languages, targets, and platforms
  24. double, BigDecimal, or Fixed-Point?
  25. Seasons time-lapse - the video
  26. AI gateways: why and how
  27. Seasons time-lapse - alignment
  28. Seasons time-lapse - the foundations
  29. Tokensparsamkeit for coding assistants
  30. Designing a team of agents
  31. Three Mastodon issues because of Cloudflare Bot protection
  32. Making illegal state unrepresentable
  33. A GitHub agentic workflow
  34. Experimenting with AI subagents
  35. One tip for successful OpenTelemetry projects
  36. The Software Architect Elevator
  37. Writing an agent skill
  38. Pi-hole behind Tailscale
  39. Ready-to-use virtual clusters
  40. JVM timing options
  41. Migrating from Jekyll to Hugo... or not
  42. Rediscovering Java ServiceLoader: Beyond Plugins and Into Capabilities
  43. Feedback on checked exceptions and lambdas
  44. From a JAR to a full-fledged MacOS app
  45. Checked exceptions and lambdas
  46. From Cloudflare Zero-trust to Tailscale
  47. 2025 in retrospective

2025 42

  1. YOW! 2025
  2. Yet another Rust ownership tutorial
  3. My second Cloudflare Tunnel
  4. My first real Rust project
  5. Are you really wasting your time in Java without these 10 libraries?
  6. XML Schema Validation 1.1 in Java
  7. Choosing a dependency
  8. AsciiDoc over Markdown
  9. Testing the untestable
  10. On dependencies in objects
  11. Transactions and ThreadLocal in Spring
  12. Comparing transitive dependency version resolution in Rust and Java
  13. Clean Design, Strong Client: The way of the Elasticsearch's Java SDK
  14. Thoughts on object creation
  15. GitHub workflows tips and tricks
  16. KCDC 2025
  17. OpenTelemetry configuration gotchas
  18. OpenTelemetry Tracing on the JVM
  19. Git default options
  20. Pattern-matching across different languages
  21. Loosely coupled configuration for Home Assistant
  22. Do You know how to batch?
  23. Broadcast devices' name on the local network
  24. Runtime-initialized variables in Rust
  25. Writing for Developers
  26. Getting a single value from a device's state in Home Assistant
  27. Cloudflare Tunnel for Home Assistant
  28. Getting my feet wet with Crossplane
  29. LangChain4J musings, six months after
  30. The subtle art of waiting
  31. High-cardinality values for build flags in Rust
  32. Even more OpenTelemetry - Kubernetes special
  33. Mutation Testing in Rust
  34. Clean your Memory: From Finalize to Cleaner
  35. One giant Kubernetes cluster for everything
  36. Improving Maven's dependency:analyze... or not
  37. WebAssembly on Kubernetes
  38. Remote Development made simple with DevPod
  39. On inheritance and subtyping
  40. My first steps with Playwright
  41. The Home Assistant companion app
  42. 2024 in retrospective

2024 40

  1. An example of HACS: Adaptive Lighting
  2. A solution to the problem of cluster-wide CRDs
  3. Replace Philips Hue automation with Home Assistant's
  4. The Home Assistant model
  5. Why Home Assistant?
  6. Pseudo-Random Number Generators: From the Origins to Modern Algorithms
  7. Langchain4J musings
  8. DuckDB in Action
  9. Digital Twins: A digital counterpart for a new concept of Product
  10. DRY your Apache APISIX config
  11. When (not) to write an Apache APISIX plugin
  12. Kotlin Coroutines and OpenTelemetry tracing
  13. Default map value
  14. OpenTelemetry Tracing on Spring Boot, Java Agent vs. Micrometer Tracing
  15. Free tier API with Apache APISIX
  16. Differentiating rate limits in Apache APISIX
  17. Advanced URL rewriting with Apache APISIX
  18. Renovate for everything
  19. A refresher on GitHub Pages
  20. Random and fixed routes with Apache APISIX
  21. Even more Opentelemetry!
  22. Parsing structured environment variables in Rust
  23. Workflow, from stateless to stateful
  24. My opinion on the Tauri framework
  25. The Vary HTTP header
  26. Five ways to pass parameters to Apache APISIX
  27. The try block in Rust
  28. Dissolving Design Patterns In Design Elements
  29. Implementing the Idempotency-Key specification on Apache APISIX
  30. Fixing duplicate API requests
  31. Apache APISIX North America Tour
  32. The pitfall of implicit returns
  33. Using my new Raspberry Pi to run an existing GitHub Action
  34. From Kotlin Scripting to Python
  35. Error management in Rust, and libs that support it
  36. Hardening Apache APISIX with the OWASP's Coraza and Core Ruleset
  37. Improving upon my OpenTelemetry Tracing demo
  38. Keeping your fonts in embedded SVG
  39. Kicking the tires of Docker Scout
  40. 2023 in retrospective

2023 39

  1. Five Apache projects you probably didn't know about
  2. Apache APISIX plugin priority, a leaky abstraction?
  3. Canary releases with Apache APISIX
  4. Chopping the monolith in a smarter way
  5. A retrospective on Errors Management: where do we go from here?
  6. Exploring the OpenTelemetry Collector
  7. API versioning
  8. Feedback from calling Rust from Python
  9. Calling Rust from Python
  10. Resizing images on-the-fly
  11. Down the rabbit hole of an Apache APISIX plugin
  12. Monkey-patching in Java
  13. Problem Details for HTTP APIs - RFC 7807 is dead, long live RFC 9457
  14. Offering my blog to new authors
  15. Send your logs to Loki
  16. Introduction to the Tower library
  17. Ops friendly Apache APISIX
  18. My final take on Gradle (vs. Maven)
  19. System architecture: move authentication to the API Gateway
  20. Apache APISIX without etcd
  21. Designing APIs with Swagger and OpenAPI
  22. Reactive database access on the JVM
  23. Evaluating Apache APISIX vs. Spring Cloud Gateway
  24. Playing with WASM on Docker
  25. GitLab Pages preview
  26. Health Check Response Format for HTTP APIs
  27. Working on an unfamiliar codebase
  28. Server-side rendering in Rust - a Dall.E use-case
  29. Leverage the richness of HTTP status codes
  30. Fearless Distroless
  31. The importance of rel=canonical for content writers
  32. My first Firefox extension
  33. My evaluation of the Scaleway Cloud provider
  34. mTLS everywhere!
  35. gRPC on the client side
  36. Authenticate with OpenID Connect and Apache APISIX
  37. Make your security policy auditable
  38. The right feature at the right place
  39. Null safety: Kotlin vs. Java

Undated 544

  1. Mentions
  2. Speaking
  3. Secure apisix admin
  4. Http api rust
  5. Quest for rest
  6. Api design patterns
  7. 2022 retrospective
  8. Immutable mastodon handle
  9. Move away twitter
  10. Poor man api
  11. Spring modulith modularity maturity
  12. Georouting apisix
  13. Structured errors http apis
  14. Discuss problem not solution
  15. Exceptions lambdas
  16. Different test scopes rust
  17. Kubernetes extensibility
  18. Maze python dependency management
  19. Kubernetes gateway api
  20. End to end tracing opentelemetry
  21. Renovate alternative dependabot
  22. Backend for frontend demo
  23. Basics access kubernetes pods
  24. On cosmetics vs intrinsics programming
  25. Backend for frontend
  26. Own service discovery client apisix
  27. Secure webapps api gateway
  28. Learning auditing kubernetes manifests
  29. Hard things computer science
  30. Take vscode spin
  31. Miss in java kotlin developer
  32. Running jekyll mac
  33. Jprime 2022
  34. Chopping monolith demo
  35. Kotlin context receivers
  36. Conditional build gitlab
  37. Authenticate google cloud github
  38. Chopping monolith
  39. Beautify github repo
  40. Rust action
  41. Optional nullable type
  42. Apisix api gateway
  43. Error handling
  44. Lessons learned previous projects
  45. Alternatives dto
  46. Evolve apis
  47. Avoid stringly typed kotlin
  48. System logger
  49. Maven flatten plugin
  50. Treat security as risk
  51. Running untrusted code
  52. Comparison fault tolerance libraries
  53. Beautify third party api kotlin
  54. Multiple spring boot apps same project
  55. Port management local kubernetes
  56. Extending third party apis
  57. Kotlin faas impossible union
  58. Multiple ways configure spring
  59. Reassessing testng junit
  60. Annotation free spring
  61. Metrics
  62. Online public speaking
  63. Free docker registries
  64. Data files commits vs pull requests
  65. Gitlab continuous deployment one stop shop
  66. Blockhound how it works
  67. Hacking third party api jvm
  68. Timely computation derived values
  69. Teeing java api
  70. Real world stream collector
  71. Example overengineering
  72. Kotlin delegation
  73. Custom spring data repository
  74. Changing field type recent jdks
  75. Guide lazyinitializationexception
  76. Kick spring native tires
  77. Backpressure reactive systems
  78. Goodbye minikube
  79. Monitoring across frameworks
  80. Optional stream
  81. Creating self contained executable jars
  82. Musings dockerfile jekyll
  83. Feedback log4j2 hack spring boot
  84. Hack ease usage log4j2 spring boot
  85. Event streams in action
  86. Solving substitution graalvm issue
  87. Common jdks
  88. Spring to quarkus
  89. Spring to micronaut
  90. Reactor to coroutines
  91. Update state java modularization
  92. Dos donts conference organizers
  93. Hitchhiker guide containerizing java apps
  94. On learning new programming language
  95. Defense xml
  96. On house building software development projects
  97. Github actions maven releases
  98. Handcrafting own svg
  99. Date time gotchas
  100. Advices writing blog posts
  101. Different kinds testing
  102. Sorting bug
  103. Challenges open data
  104. On opensource licenses changes
  105. Digging hibernate query cache
  106. Illusion statelessness
  107. Project loom reactive coroutines
  108. Managing risk not upgrading
  109. Why love vaadin
  110. Changing coding habits stream friendly
  111. Assessing projects sustainability github
  112. Introductory guide annotation processor
  113. Logging additional metadata
  114. Teaching remotely
  115. Coping incompatible code graalvm compilation
  116. Map merge compute
  117. Versatility kubernetes initcontainer
  118. Minification html javaee webapps
  119. Tricky servlet mappings
  120. Creative use filters
  121. Inserting new commit git history
  122. Developers productivity
  123. My blogging stack publishing process
  124. Even more readable code without if else
  125. Six interesting features programming languages
  126. Write extension functions own classes kotlin
  127. No such thing as ci cd
  128. Composition over inheritance applied docker
  129. Easier attribute management javaee
  130. Kotlin operators
  131. What version jekyll site
  132. Advices junior conference speakers
  133. Migrating serviceloader java 9 module system
  134. Onbuild overlooked docker directive
  135. Hibernate query by example
  136. Cherry pick automation bash
  137. Default git options
  138. Layering docker images dependencies
  139. Creating git shortcuts
  140. Comparison assertion libraries
  141. Deduplication trick
  142. Options manage derived attributes kotlin
  143. Spring devtools jib intellij idea
  144. Java streams state
  145. Git service providers comparison
  146. Sieve eratosthenes
  147. Openjdk 11 tools trade
  148. Hard look state java modularization
  149. Hacking webpage javascript
  150. Teaching java jupyter notebooks
  151. Even odd coroutines
  152. Limits programming interface
  153. Kotlin collections sequences
  154. Builder pattern finite state machine
  155. Listing annotated classes javaee
  156. Cloneable java design gotcha
  157. Next milestone career
  158. Default methods java 8
  159. Basics dependency injection
  160. Decoding clojure code
  161. Java serialization
  162. Spring boot integration intellij idea
  163. Configuring graal native aot reflection
  164. Refining functional spring
  165. Spring boot migrating functional
  166. On containers frameworks
  167. Elements combination kotlin collections
  168. Agile cargo cult
  169. Webapps desktop integration
  170. Dont git push
  171. Check quality kotlin code
  172. First impressions graalvm
  173. Spring boot 2 actuator change analysis
  174. Multiple modules spring boot apps
  175. Search static website
  176. Git cleanup
  177. Open source has won
  178. Java environment management
  179. Feature lifecycle java
  180. Dynamic casting java
  181. Programming by contract jvm
  182. Authentication alternatives javaee
  183. Refining redirect semantics servlet api
  184. Unit test vs integration test
  185. Managing randomness java
  186. Design gotchas jdk functional interfaces
  187. Using kotlin sap hybris platform
  188. Make life easier kotlin stdlib
  189. Making most out conferences
  190. Developer shortage
  191. Oop compatible enterprise context
  192. Multiple usages git rebase onto
  193. Alternative navigator vaadin
  194. Truly immutable builds
  195. Bypassing javascript checks
  196. Lambdas clean code
  197. Synthetic
  198. Flavors spring application context configuration
  199. Exceptions
  200. You not compiler
  201. Rise fall jvm languages
  202. Automating generation asciidoctor output
  203. Strategies optimizing docker maven image
  204. Dockerfile maven based github projects
  205. Kotlin collections
  206. Use case google fusion tables
  207. Managing publications jekyll
  208. It depends
  209. What archive format should use war jar
  210. Why are you testing software
  211. Concurrency java futures kotlin coroutines
  212. Java service loader vs spring factories
  213. Fixing own spring boot starter demo
  214. Custom collectors java 8
  215. Kotlin front end developers
  216. Common code spring mvc
  217. Cloud offerings free tier
  218. Fully configurable mappings spring mvc
  219. Coping stringly typed
  220. Use case spring component scan
  221. Use case for local class declaration
  222. Elasticsearch api cheatsheet
  223. Compilation java code on the fly
  224. Exploring data sets with kibana
  225. Open your classes and methods in kotlin
  226. Feedback on feeding spring boot metrics to elasticsearch
  227. Exploratory infrastructure projects
  228. Starting beats development for java developers
  229. Starting logstash plugin development for java developers
  230. Feeding spring boot metrics to elasticsearch
  231. Structuring data with logstash
  232. Debugging hints for logstash
  233. Another post processor for spring boot
  234. Travis ci tutorial for java projects
  235. Easy dsl design with kotlin
  236. Http headers management with spring
  237. Extension functions for more consistent apis
  238. Making sure inter teams communication doesnt work
  239. Typesafe annotations
  240. Should tests be ordered or not
  241. Are you guilty of overengineering
  242. Adventures in seo with vaadin
  243. Limits of technical debt analogy
  244. Starting with cucumber for end to end testing
  245. Performance cost of reflection
  246. Dont talk about refactoring club
  247. Fixing floating point arithmetics with kotlin
  248. Comparing lombok and kotlin
  249. Faster mutation testing
  250. Smart logging in java8 kotlin
  251. Encapsulation dont think means think means
  252. Rolling dice kotlin
  253. Software labels translation not easy
  254. Immutable data structures java
  255. Gitlab the overlooked git solution in the cloud
  256. Code improvement kotlin
  257. Maze walking algorithm
  258. Experimental kotlin mutation testing
  259. Feedback customizing vaadin html template
  260. Customizing vaadin html template
  261. Feedback jospehus problem
  262. Solving the josephus problem in kotlin
  263. Sad state developer interviews
  264. Log management in spring boot
  265. Why you shouldnt trust the html password input
  266. Java security manager
  267. Playing spring boot vaadin kotlin
  268. 8 years blogging retrospect
  269. Refactoring code testability example
  270. On powermock abuse
  271. The danger of injectmocks
  272. Initializing your mockito mocks
  273. Semantics state or dependency not both
  274. Forget the language the important is the tooling
  275. Using a framework or not
  276. My case for event bus
  277. Springone2gx 2015
  278. True singletons with dagger 2
  279. Running your domain on https for free
  280. Creative rx usage in testing setup
  281. Compile time dependency injection tradeoffs in android
  282. More devops for spring boot
  283. Fully automated android build pipeline
  284. Improve your tests with mockitos capture
  285. Spring 2015 european conferences tour
  286. Quality tools humble servants or tyrans
  287. Connection leaky abstraction
  288. Whats the version of my deployed application
  289. Better developer to developer collaboration with bintray
  290. Become a devops with spring boot
  291. Final release of integration testing from the trenches
  292. Work company not lead finance
  293. Avoid sequences if else
  294. Show blog love
  295. Developing around plantuml
  296. Entropy code
  297. Improving the vaadin 4 spring project with a simpler mvp
  298. Je suis charlie
  299. Spring profiles or maven profiles
  300. Optional dependencies in spring
  301. Avoid conditional logic in configuration
  302. From vaadin to docker a novices journey
  303. Metrics metrics everywhere
  304. Dear recruiters
  305. Integration testing around europe
  306. On resources scarcity application servers and micro services
  307. You shouldnt follow rules blindly
  308. Your code coverage metric is not meaningful
  309. Throwing a nullpointerexception or not
  310. Thank you mr beck
  311. Another valid openclosed principle
  312. The best there is at what it does
  313. Using exceptions when designing an api
  314. Past present future
  315. Sanitizing webapp outputs as an an afterthought
  316. Session fixation and how to fix it
  317. Spring configuration modularization for integration testing
  318. Choosing a password manager
  319. Easier spring version management
  320. First release of integration testing from the trenches
  321. Right bean at the right place
  322. Back to basics encapsulating collections
  323. A single simple rule for easier exception hierarchy design
  324. Scala on android and stuff lessons learned
  325. My summary of jeeconf 2014
  326. Dead simple api design for dice rolling
  327. Playing with constructors
  328. The visitor design pattern
  329. Introduction to mutation testing
  330. Can we put an end to this estimate game of fools
  331. My recap of javaland
  332. Vaadin and spring integration through javaconfig
  333. Teaser for cargo culting and memes in javaland
  334. Chaining url view resolvers in spring mvc
  335. Reusing front end components in web applications
  336. Doubly geeky stuff angularjs meets marvel comics
  337. Extrinsic vs intrinsic equality
  338. Webjars and wro4j integration
  339. Guava is an heavyweight library and i would like this to change
  340. Solr as a spring data module
  341. Spreading some javafx love
  342. Integrate spring javaconfig with legacy configuration
  343. My case against autowiring
  344. Spring method injection with java configuration
  345. Rich domain objects and spring dependency injection are compatible
  346. Getcaller hack
  347. A dive into the builder pattern
  348. Learning vaadin 7 is out
  349. No more hibernate really
  350. On the merits of verbosity and the flaws of expressiveness
  351. Happy summer holidays
  352. The leprechauns of software engineering
  353. Stop the f about gradle
  354. You should check angularjs
  355. Maven between different environments
  356. Spring 3 2 sweetness
  357. Writing a tech book why and how
  358. Mongodb course thoughts and feedback
  359. There is no such thing as an absolute best architecture
  360. Modularity in spring configuration
  361. The next gutenberg moment is now
  362. Deployit deployment automation made easy
  363. Integration tests from the trenches
  364. Design by contract and bean validation
  365. The middle path approach
  366. Javascript namespace and restricted access
  367. Kiss your architecture
  368. Consider replacing spring xml configuration with javaconfig
  369. Solr overview from a beginners point of view
  370. Spring beans overwriting strategy
  371. The case for spring inner beans
  372. Changing default spring bean scope
  373. Dry your spring beans configuration file
  374. The power of naming
  375. Pet catalog for javaee 6 reengineered
  376. Do we really need the dao
  377. Short term benefits in the information service business
  378. The cost and value of knowledge
  379. Drupal 7 to jekyll an epic journey
  380. Scala cheatsheet part 1 collections
  381. My view on courseras scala courses
  382. The problem lies not in the technology
  383. Powermock features and use cases
  384. Use local resources when validating xml
  385. Why i enrolled in an online scala course
  386. Web services jax ws vs spring
  387. Lessons learned from integrating jbpm 4 with spring
  388. Xml validation with importedincluded schemas
  389. Re use your test classes across different projects
  390. Spring data spring security and envers integration
  391. Method injection with spring
  392. Transaction management ejb3 vs spring
  393. Empower your css in your maven build
  394. Easier jpa with spring data jpa
  395. How to test code that uses envers
  396. Vagrant your drupal
  397. Ways of comparing date objects in java
  398. Database unit testing with dbunit spring and testng
  399. Arquillian on legacy servers
  400. Ejb3 facade over spring services
  401. Quick evaluation of twitter bootstrap
  402. Specification by example review
  403. Why eclipse wtp doesnt publish libraries when using m2e
  404. Food for my thoughts after a week at conferences
  405. Jenkins users conference paris
  406. Spring profiles or not profiles
  407. Dependency injection on gui components
  408. Trying griffon and loving it
  409. Dangers of implicitness
  410. I made the step forward into virtualization
  411. Html5 still a non event
  412. A spring hard fact about transaction management
  413. Osgi in action
  414. Trust stores and java versions
  415. Announcing more vaadin
  416. Cdi worse than spring for autowiring
  417. Adapters in jaxb
  418. Shoud you change your design for testing purposes
  419. Strategies to improve your knowledge
  420. Properly closing swing windows
  421. Managing unmanaged beans in cdi
  422. Java scala complexity and aardvarks
  423. Learning vaadin contest winners
  424. Win free copies of learning vaadin book
  425. Apache maven 3 cookbook
  426. Configuring maven to use slf4j
  427. Learning vaadin is out
  428. Simplest push
  429. Maven doesnt suck your pom does
  430. Free ebook apache maven 3 cookbook
  431. Testng fest et cdi
  432. Migrating from m2eclipse to m2e
  433. Better maven integration leads to unforeseen consequences bugs
  434. Skinny war done right
  435. Enough spam
  436. Do we need other languages on the jvm
  437. Property editors
  438. Give back to the community please
  439. Ssl your tomcat 7
  440. Get the handle on the manifest mf in a webapp
  441. Maven repositories in anger
  442. New declarative security features in servlet 3 0
  443. Vaadin courses on javablackbelt
  444. New filter api in vaadin 6 6
  445. First try with cloudfoundry
  446. 100 code coverage
  447. Cons of custom assertion matchers
  448. Java twitter integration
  449. Learning vaadin
  450. Identity federation and openid
  451. Cost of correcting rule breaks
  452. Dropbox and other backup products overview
  453. Both sides of the story
  454. Symbolic links for windows
  455. Second try with vaadin and scala
  456. Mixing vaadin and scala
  457. Playing with spring roo and vaadin
  458. Hades your next persistence angel
  459. Tread carefully with entities equality
  460. Critical analysis of frameworks comparison
  461. Stay up to date and think in contexts
  462. Why cdi wont replace spring
  463. A java language quirk
  464. The opensessioninview antipattern
  465. Server client push with vaadin
  466. Softshake 2010
  467. My first scala servlet
  468. The hunt for architectural solutions
  469. Automate your integration tests
  470. Automated beans conversion
  471. Unselect all toggle buttons of a group
  472. Managing pom versions
  473. Further into cdi
  474. Safely give away your demo applications
  475. Flamingo tutorial
  476. Next book review spring security 3
  477. Lessons learned from cdi in swing
  478. Tomcat 6 developers guide
  479. Decrease your pages load time 2
  480. The power of proxies in java
  481. Chicken and egg problem with spring and vaadin
  482. Frankel ch goes mobile
  483. Dry and skinny war
  484. Gmail html signature
  485. Debugging hibernate generated sql
  486. Vaadin spring integration
  487. Let others work for you with selenium
  488. Bean validation and jsr 303
  489. Managing web sessions
  490. Spring persistence with hibernate
  491. Clustering tomcat
  492. Free online svn repositories
  493. Seamless installation convention over configuration
  494. Securing middleware products
  495. Maven the complete reference
  496. Context root tweaking
  497. Typology of rich client technologies
  498. My first try at flex
  499. Discover spring authoring
  500. Html ui over a rest backend
  501. Lombok reduces your boilerplate code
  502. Apache maven 2 effective implementations
  503. Thoughts on java logging and slf4j
  504. Packt book reviews
  505. Simple templating solution with sitemesh
  506. Spring can inject servlets too
  507. Tomcats valve an alternative to filter
  508. Shark shark in the it business
  509. Top eclipse plugins i wouldnt go without
  510. Development infrastructure a personal experience
  511. Patterns book trinity
  512. Customize your jaxb bindings
  513. Ego driven architecture
  514. Jmx use cases
  515. Dto in anger
  516. Web start your legacy applications
  517. Jna meets jni
  518. Theme change
  519. Mockito spy method and spring
  520. Two different mocking approaches
  521. Google appengine limitations
  522. Free java hosting
  523. Custom loginmodule in tomcat
  524. Do not use taglibs use tagfiles
  525. Simplest java decoupling without 3rd party frameworks
  526. Decrease your pages load time
  527. Framework agnostic jpa
  528. Wordpress 271 upgrade
  529. Against french hadopi
  530. Easy offline javadoc
  531. Ubuntu pocket guide for free
  532. Age of spring
  533. Manage the quality of your projects with sonar
  534. Gracefully stop your batches
  535. Java the power of reflection
  536. Ganymede is out
  537. Html 5 a non event
  538. Speeding up your dbunit tests with javadb
  539. The unit test war junit vs testng
  540. Firefox 3 dowload day
  541. Ooops i dit it again
  542. https://blog.frankel.ch/lm/
  543. Displaytag
  544. Scjp