Recent Blog Posts

The Producer-Consumer pattern in Java made easy

An example using BlockingQueue interface

I see the usage of a recurring handy pattern for doing data collection and analysis in software engineering: the producer-consumer pattern. This pattern simplifies the data acquisition (handled by the Producer), and the data post-processing (handled by the Consumer). The Producer collects the data items one at the time and...

Continue reading...

Diversity-driven software debloat

Leveraging the wisdom of multiple coverage tools

For months, I have worked on dynamic debloat of Java artifacts with JDBL. To do so, I need to compile and execute software applications to determine what parts of the compiled application are used when executing it using some workloads. Then, with the collected usage information, I debloat the unused...

Continue reading...

Unix cmd hacks

Boosting automation from the shell

I want to share my personal notes of the edX course Unix Tools: Data, Software and Production Engineering, by Prof. Diomidis Spinellis. I attended this course from March to June, 2020. It was my first MOOC experience. I have to say that I learned a lot in this course, and...

Continue reading...

Recipes for effective academic emailing

A template-based approach

You cannot be a good researchers without being a good communicator. If you are good enough at both, they you may qualify for becoming a supervisor. Being a good academic supervisor is a matter of practice, discipline, and the development of leading skills. Handling tons of emails is the everyday...

Continue reading...

Deploying to Maven Central

A three-steps guide

Maven Central is the de-facto repository for hosting software artifacts that compile to the JVM. In this post, I’ll describe the process of releasing a new artifact in Maven Central following an step-by-step approach.

Continue reading...



Organizations

KTH WASP CASTOR