Ales Nosek - The Software Practitioner

Practicing to make software perfect.

Diagrams and Images in Doxygen

Is your technical documentation hard to read? Diagrams and images liven up technical documentation and help the reader to better understand the subject. In the last article of the Doxygen miniseries we’ll go over a couple of options how to include diagrams and images in Doxygen documentation.

Technical Documentation with Doxygen

Do you create project documentation in your company’s internal wiki? I did it for quite some time until I realized that a good old Doxygen combined with Git can do a much better job.

Seven Tips for Better Code

It’s a pleasure to read and maintain your code, right? Software practice teaches that code is written once but read many times. Your teammates will appreciate it if you put your effort into writing a good looking and understandable code. Needless to say that when you’ll read your code one year later you’ll appreciate it, too. Let’s discuss a couple of basic guidelines to write a better code.

OpenStack Dynamic DNS Updates

Today’s user story is: As a private cloud user I’d like to have virtual machines registered with internal DNS. Let’s look at how a software practitioner solves this problem in a truly agile way.

OpenStack Nova Notifications Subscriber

OpenStack components generate notifications that can provide useful insight into what is going on in OpenStack. Let’s create a simple subcriber that dumps incoming notifications from OpenStack Nova to standard output.

Five Basic Tips for Logging in Java

Where do you look when your server application doesn’t work as expected? Application logs can provide invaluable information when the systems in production misbehave. That’s why a great software practitioner desings the application logs carefully. Let’s review a couple of basic tips for great logging in Java.

Java Logging Quick Reference

The Simple Logging Facade for Java (SLF4J) serves as a simple abstraction for various logging frameworks. Let’s look at how to configure SLF4J to work with SLF4J Simple logger, JDK 1.4 logger, Log4j, Logback and Log4j2 framework.

Dynamic DNS with BIND and dhclient

In this blogpost we’re going to configure the BIND server to accept dynamic updates. Client machines themselves will send the updates to the DNS server instead of letting DHCP server update the DNS. A great setup for situations where the DHCP server is not in your control.

Using Cloud-Init Outside of Cloud

In EC2 and OpenStack cloud environments user data can be passed to the cloud instance to customize the cloud instance on the first boot. But what if your virtual machine doesn’t run in the cloud environment? In this article we’re going to configure our virtual machines with user data regardless if they’re running in the cloud or not.