Some time ago I came across a very strange issue – tests that worked at one host started failing an another host with NullPointerException. Hosts were very identical, and after debugging it appeared that Java handles hosts with non-standard characters …

Read more

Timing issues are not studied in universities. While you study computer science, you somehow think about time in terms of comparing execution time of different algorithms, but time itself doesn’t bother you too much. These problems strike you unexpectedly when …

Read more

Deadlocks happen when two or more threads are blocked forever because each has acquired a resource and waits for another resource which is already taken by another thread. They are usually nasty and unpredictable, but it’s possible to make them …

Read more

Most sorting algorithms, or at least their names, are widely known – quicksort, mergesort, etc. Some companies even like to discuss their nuances at their job interviews.
However, there’s a sorting algorithm that most developers haven’t heard of, meet sleepsort.…

Read more