How we made the JVM 40x faster
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
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
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.
Intel PCM in userspace Linux
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 m...
OpenVPN to route all / selective traffic to a client
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)
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
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
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...