InnerSource? What’s that?

Have you ever had a task to write something commonly used in a company (like an authentication mechanism) for your greenfield project, but there was nobody to ask for hints how to connect to a corporate infrastructure? You checked with a couple of teams and discovered that the most experienced developers in the topic… are not there anymore. Luckily, you have found some pieces of documentation… but it turned out to be outdated. Finally, you have figured out which systems used similar mechanisms in production and you were able to identify developers who still maintain them. You would like to Read more…

JavaMelody – monitoring made easy

A properly monitored application can make life much easier, especially if something goes wrong in the production environment. Without the ability to see measurements related to resource utilization (like heap space, CPU usage, disk space, active threads, GC pauses, HTTP requests, and so on) it is pretty challenging to understand how the application behaves. Companies usually provide access to monitoring tools for developers. “Usually” does not mean “always”. The quality of data from those tools also differs. It may also happen that the access to the corporate dashboard expires for you… in the worst possible moment 🙂 How to prevent Read more…

Make your documentation awesome with PlantUML!

Some time ago, I briefly described one pretty useful Python tool that can draw fantastic diagrams from code: Draw architecture diagrams like a boss! There is yet another tool I can recommend – PlantUML. Despite the initial release in 2009, I have not heard about this tool for a long time. So there is a chance that you also haven’t. If so, do not be put off by the “UML” there. This tool can help in several aspects – from Work Breakdown Structure, Mind Maps, architecture, and deployment, to Sequence or Use Case diagrams. What is a PlantUML then? Generally Read more…

Building your own knowledge database? Try Obsidian

For many years I was searching for a tool that could help me to build my knowledge database (and categorize notes or documents). Each application had its pros and cons. Among others, I used mostly Google Keep (fast, simple, searchable), Notion (powerful but slow for me), OneNote (generally good but not for programming notes), Evernote and Gist (web version was not appealing to me, external tools became paid). Recently I started using Obisidan and it looks like I will stick with that for a longer time. Below you can find why. Markdown and a folder structure is a good marriage Read more…

Draw architecture diagrams like a boss!

I am always grateful when I see any architecture diagram once I join a new project. A picture is better than a thousand words. A well-designed diagram can quickly enlighten us about the architecture of the project. The more we see such diagrams in the company we work for, the better understanding w have of what is actually going on from a more high-level perspective. Nevertheless, I do not see such diagrams as often as I would wish and I guess you have the same feeling (hopefully not!). There are a couple of reasons for that, I think the main Read more…

How helpful are Architectural Decision Records (ADRs)?

A few years ago, my team started to write ADRs. We had several green projects and we were all responsible for the architecture of these new systems. We had also the ability to choose the tech stack – at least to some extent. Obviously, we did not want to contaminate this happy time by spending it writing extensive documentation that almost nobody likes writing and almost nobody reads. We have decided to go with ADRs and this was the way to go! Right now, more and more projects in the company adopt this approach and it really makes our life Read more…

Own a blog in the cloud in less than 5 mins with Docker. Free, fast, and with SSL!

In my recent post, I described how cool is the Free Tier in the Oracle Cloud – we can for example spawn a pretty strong ARM server and use it for free (see Oracle Cloud Free Tier – too good to be true? for more details). While I was using GitHub pages to host my personal website as well as a programming blog for a few years (I have written more about GitHub Pages in this post: Java’s guy journey to GitHub pages), I decided to switch to WordPress hosted in the cloud – and Oracle Cloud was a perfect Read more…

Oracle Cloud Free Tier – too good to be true?

Cloud-related topics are trendy for many years. There is no escape from that and sooner or later, every dev will need to get familiar at least with the key concepts. Yes, I know there are DevOps teams for that, and I have already heard complaints from developers that the maintenance of infrastructure is not their duty. Even if I somehow agree with that, having a dedicated environment to play in would be awesome. Why Oracle Cloud? I always hesitated to provide my payment card to cloud providers. While experimenting, it is not that difficult to make a mistake and eventually, Read more…

Secure your files in the cloud – Cryptomator for the rescue!

The 3-2-1 backup rule I guess we all know this saying and I guess all of us have already advanced from type 2 to type 1 a long ago: There are two types of people : People who do backup People who will start doing backup — Author: life, for sure 🙂 If we talk about backups, there is also one another pretty wise rule: The 3-2-1 backup rule: 3-2-1 backup rule:3: Create one primary backup and two copies of your data.2: Save your backups to two different types of media.1: Keep at least one backup file offsite. While I Read more…

Delivering high-quality software – a code review

Other posts in the “Delivering high-quality software” series: 1. Delivering high-quality software – a clean code 2. Delivering high-quality software – a code review A proper process of code review is another part required to deliver software that not only “works” but also evolves correctly. Doing a code review is like playing a good game – “easy to learn and difficult to master”. The are several challenges we have to face in this process, yet we may be unaware of them. Today I am going to write a little about these challenges and tips that can help to overcome them. Read more…