Home » Software Development

Software Development

Any Program Has an Unlimited Number of Bugs

This may sound strange, but I will prove it: no matter how big or stable a piece of software is, it has an unlimited number of bugs not yet found. No matter how many of them we have already managed to find and fix, there are still too many left to count. Let’s take this simple Java method that calculates ...

Read More »

Voxxed Days – Athens 2017 – short review #vdathens

Yesterday I had the pleasure to attend the very first Voxxed Days Athens. As I have written 6 months ago while attending Voxxed Days Thesalloniki, this was the day I’ve waiting for too many years, a  proper conference, with top class speakers on the main IT hub of Greece, Athens. Once again, congrats to Patroklos Papapetrou and the team around Voxxed Athens, at ...

Read More »

Single Statement Unit Tests

Many articles and books have already been written about unit testing patterns and anti-patterns. I want to add one more recommendation which, I believe, can help us make our tests, and our production code, more object-oriented. Here it is: a test method must contain nothing but a single assert.             Look at this test method ...

Read More »

Event Logs

Most system have some sort of event logs – i.e. what has happened in the system and who did it. And sometimes it has a dual existence – once as an “audit log”, and once as event log, which is used to replay what has happened. These are actually two separate concepts: the audit log is the trace that every ...

Read More »

The difference between a compiler and an interpreter

According to their definitions, the difference between a compiler and an interpreter seems clear enough: interpreter a program that directly executes instructions written in a programming language compiler a program that transforms source code in a low(er)-level language If you dig deeper, though, you might find some blurring between the two. In fact an interpreter could translate the source language in a ...

Read More »

How Does Inversion of Control Really Work

IoC seems to have become the cornerstone concept of many frameworks and object-oriented designs since it was described by Martin Fowler, Robert Martin and others ten years ago. Despite its popularity IoC is misunderstood and overcomplicated all too often.                 Look at this code: print(book.title()); It is very straight forward: we retrieve the ...

Read More »

Quick Introduction to the Computer Vision API

What Is Machine Learning? Machine learning is a hot topic these days because some of the biggest tech companies are focused on taking this technology to a new level. For instance, to help develop autonomous driving cars, better interaction between you and your house with products like the Amazon Echo. Machine learning is a core sub-area of artificial intelligence. Machine ...

Read More »

Want to take your Java skills to the next level?

Grab our programming books for FREE!

Here are some of the eBooks you will get:

  • Spring Interview QnA
  • Multithreading & Concurrency QnA
  • JPA Minibook
  • JVM Troubleshooting Guide
  • Advanced Java
  • Java Interview QnA
  • Java Design Patterns