Caesar cipher in Java
One of the simplest cryptographic algorithms is Caesar cipher. Although it is not secure at all, it shows how basic synchronous ciphers work. Intro The cipher method is named after Julius Caesa...
One of the simplest cryptographic algorithms is Caesar cipher. Although it is not secure at all, it shows how basic synchronous ciphers work. Intro The cipher method is named after Julius Caesa...
Shuffling of collection of items sounds like a trivial task, but in reality there are subtle traps. In this post we’re going to learn how to shuffle things using unbiased Fisher-Yates Shuffle Algor...
MD5 is a popular cryptographic algorithm used for sign messages, as checksum, and various other cases. In this post we’re going to show a few approaches to calculate it, especially in JVM land. ...
Divide and Conquer algorithms are great subject for parallelism. Here we present Parallel Merge Sort implemented using Java ForkJoin Framework. Parallel sort steps Parallel Merge Sort consists o...
Clojure transients is a nice way to optimize performance of sensitive code without leaving familiar Clojure world. In this post we show how to use them to boost performance. Basic flow with tran...
Insertion sort in Clojure can be implemented in different ways. In this post we compare implementations with and without Clojure transients. Unit Test Sometimes, after writing a test, it turns ...
Quicksort is one of the fastest sorting algorithms. In this article we implement Quicksort in Java, describe how it works and its properties. How Quicksort works Similarly to the merge sort, qu...
Composed Method Pattern is the most useful and practical pattern I use and at the same time it’s not known to many developers. It’s surprising, because the pattern is the foundation of maintainable...
In this post we show how to read docs in Clojure REPL. You’ll learn useful commands to find and display Clojure and Java docs, how to display Clojure source code. Print documentation To print d...
In this post we’ll implement Merge Sort in Java. It’s fast, divide and conquer, sorting algorithm that can be also parallelized. How Merge Sort works The algorithm belongs to the Divide and Con...