Saturday, September 26, 2015

Why is there more talent in lower ranks than in management?

At generally unmotivated companies, why can you find more motivation and talent in the lowest ranks than in management? Not a number ga...

Friday, June 19, 2015

Removing Malware and Bloatware from Lenovo K3 Note (K50-T5)

I’ve recently purchased a Lenovo K3 Note from Gearbest and it came with preinstalled malware and bloatware. Here are the things I had to ...

How to remove adware (browser hijack or pop-up malware) from Android

The browser hijack style malware is getting pretty widespread on Android devices, especially the cheaper ones that can be purchased direc...

Monday, March 30, 2015

Apple Swift language - crash course & language reference

Apple recognised that Objective-C is not only not modern but very much not appealing to developers who are used to modern languages. As thi...

Wednesday, July 2, 2014

Taming Zookeeper - introduction and “how to” for Java and Python

Zookeeper is one of the most versatile projects out there but still somewhat underutilized and feared; however, almost every software pro...

Friday, June 6, 2014

Beating the binary search algorithm – interpolation search, galloping search

Binary search is one of the simplest yet most efficient algorithms out there for looking up data in sorted arrays. The question is, can it...

Monday, May 26, 2014

Java 8 parallel sort - internals

Java 8 is a quite big update to the platform and luckily they focused on multicore systems too. The new Arrays.parallelSort() implementa...

Sunday, May 4, 2014

Git cheat sheet - the most useful commands

After a little practise, Git can be fully utilised from the command line without any GUI. Adding, committing, pulling, and pushing is part ...

Saturday, October 19, 2013

Creating a simple TCP server in Java and using it from Python – to use the Stanford POS tagger

As the advanced network protocols flood the market we forgot how easy it is to create a simple server and a client if we want to integrat...

Wednesday, September 4, 2013

Drawing circle and calculating sinus function without trigonometry, power, or root

The formula of a circle is quite straightforward ( r=sqrt(x^2+y^2) ) but it's not trivial how to draw a circle or calculate the trigono...

Monday, September 2, 2013

Dutch national flag problem - performance in Python and C (two pivot partition, three way partition)

One of the typical interview questions is the three way partitioning, also known as the Dutch national flag problem: given an array with ...

Sunday, August 18, 2013

Introsort algorithm in .NET 4.5 – internal implementation details

Even though introspective sort was invented in 1997 (by David Musser) and was taken on  by many frameworks no too long after, Microsoft d...

Thursday, August 15, 2013

Async-Await in .NET is not for performance – it’s for readability

While I see the LINQ on the .NET platform one of the best if not the best language feature, I think the async-await idea is more like smo...