Blog

How we made the JVM 40x faster
20-12-2017
Java / Scala or any other Java Virtual Machine (JVM) language possesses all the benefits provided by the JVM, but at the same time lacks access to low-level instruction sets required to achieve hig...

OpenSSL better than Intel IPP
24-03-2016
Recently I was in a need to generate a lot of RSA keys. As a true scientist in the making, I decided to do my research, and investigate the prior work. The simple solution was to use OpenSSL and us...

Abstracting Vector Architectures in Library Generators: Case Study Convolution Filters
01-08-2015
The slides bellow are part of my talk given on ARRAY’14 workshop, collocated with PLDI’14 in Edinburgh, UK. The slides are an overview of the FGen project that deals with vector abstractions. The ...

Intel PCM in userspace Linux
30-05-2013
Recently I have been using Intel® Performance Counter Monitor Tool quite heavily to obtain code performance. The tool has been designed to work with Nehalem, Westmere, Sandy Bridge and Ivy Bridge ...

OpenVPN to route all / selective traffic to a client
31-03-2013
This post is inspired from my urge to watch Macedonian TV (for free). Broadcast of Macedonian television is actually available on internet via Web MaxTV.mk, however it is limited to Macedonian IP a...

Fibonacci Sequence Using Return Oriented Programming (Stack Smashing Attack)
14-10-2011
The basic principles behind Return Oriented Attacks is to attack vulnerable programs such that no actual code is injected when preforming the actual attack. This methodology enables the attacker...

Mac OS X: Resolve absolute path using process’ PID
26-09-2011
Mac OS X does not have a /proc file system. Therefore resolving the absolute path and other process informations have to be obtained in a different fashion. OS X has the libproc library, which can ...

Prepare Linux for security attacks
26-09-2011
In order to be able to perform simple buffer overflow attacks, Linux should be stripped from all security mechanisms enabled by default. In this case it is the ASLR and ExecShield. The first one is...