Sunday, January 8, 2017

Programmer's new glasses or how to buy new glasses

    Hi again in 2017! It will be the best year so far! I decided to write about some topics which are not strictly related to programming but they live within the same ecosystem. I've been recently looking for a new pair of glasses and I encountered... yeah, some interesting facts! One may ask what can be interesting in ordinary glasses. Well, many things.

Friday, December 9, 2016

Playing with JUnit 5 and IntelliJ IDEA 2016.3

    I've been recently playing with JUnit 5 M3 and IntelliJ IDEA 2016.3. I managed to execute JUnit 5 tests from within IntelliJ IDEA and Maven. I decided to share it with you because it was not trivial.

Monday, December 5, 2016

Maven compilation errors

    Have you ever experienced a situation when newly imported Maven project had some compilation errors? If so then this post is for you.

Thursday, November 17, 2016

IntelliJ breakpoint and freezing of JVisualVM and JConsole

    Some time ago I had a situation where I had to use JVisualVM to check what happens within a test executed from IntelliJ and stopped on a breakpoint. JVisualVM had been hanging until I released the breakpoint. But why?

Sunday, November 6, 2016

File validation in Maven

Hi again after a long period of inactivity! Today's objective is to validate the files that are generated by an external system in JSON format. The files are stored under the umbrella of Maven submodule with packaging type set to POM. The external system is not perfect and sometimes it produces wrong JSONs. The application relies on these files and it is important to detect any problems as fast as possible - fail fast - by preventing a build to be successful if there is anything wrong in JSON.

Tuesday, May 31, 2016

Concurrency vs. parallelism

    I like to present some examples when describing any technical aspect. That's make it easier to understand. Today I am going to describe concurrency and parallelism - the differences between them and the similarities they share.

Sunday, April 24, 2016

Database connection pool performance

Hi again after a long break! Today I would like to focus on the performance of the database connection pools in terms of database connection retrieval: Oracle Universal Connection Pool (UCP) and Tomcat Connection Pool (org.apache.tomcat:tomcat-jdbc). Let's go to the details!

Thursday, June 25, 2015

Dynamic routing in Camel

    Howdy! Long time no see. I have some time to add a pretty simplistic trick which is related to the problem I encountered with dynamic routing in Camel.

Monday, April 27, 2015

Concurrent video stream processing in Java

    Some time ago I was asked how to deal with video stream processing. The problem was quite simple. We have sequential input of video frames. Each frame must be processed, e.g. some filter must be applied. The trick is to utilize multiple cores to process these video frames. The output should contain processed video frames in correct order. I proposed one solution.

Saturday, April 11, 2015

Programmatic access to the properties loaded by PropertySourcesPlaceholderConfigurer

     Some time ago I implemented a kind of info page for exposing actual application properties. In the application there was PropertySourcesPlaceholderConfigurer involved. It has some really nice features but it hides the properties from direct access. I had to overcome that difficulty in order to iterate over them.