Home
Farenda
Cancel

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...

Fisher-Yates Shuffle Algorithm

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...

Calculating MD5 hash

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. ...

Parallel Merge Sort in Java

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 - fast mutations in persistent world

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

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 in Java

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 explained

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...

Clojure REPL docs

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...

Merge Sort in Java

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...