Archive for the ‘Blog’ Category

I got a new job, take 3

I got a new job, again. Dell decided to obtain what have left of Exanet LTD, a company I worked for in the past. They kindly decided to offer a job to majority of ex-Exanet engineers, me included.
So, I decided to leave Fabrix and as of last week I am software engineer and senior consultant [...]

What’s is direct I/O anyway?

Few days ago I’ve written a post explaining how to do a direct I/O in Python. But then I thought that it might be a good idea to explain what direct I/O is. So, here we go.
As surprising as it is, when you write some information to the disk, it doesn’t get there immediately. In [...]

I got a new job, take 2

I got a new job, again Today I signed a contract with a company named Fabrix.TV. Fabrix is developing a new generation of video content delivery platform.
I am joining as a chief video content consumer senior software engineer.

Rethinking linked list insertion

There is one nice thing in looking for a new job. That is, you meet lots of new people and have a chance to learn from them. For example in one of the companies I was asked about something called anti-debugging. I didn’t have a clue what that is and had to ask for an [...]

I am looking for a new job

I am sorry to say that, but Exanet, a company that I joined less than a month ago, has been closed.
This means that I am looking for a new job. The good thing is that now your or your friend’s company has  a chance to hire a programmer with ten years of experience in writing [...]

I got a new job

You probably noticed that I didn’t write anything new for awhile. Well, I was looking for a new job and didn’t have much time to write. Luckily, this is over. I am now a senior software engineer at Exanet LTD.
Exanet is developing storage solutions for large organisations. ExaStore, main product of the company, is a [...]

MSI-X – the right way to spread interrupt load

When considering ways to spread interrupts from one device among multiple cores, I can’t not to mention MSI-X. The thing is that MSI-X is actually the right way to do the job.
Interrupt affinity, which I discussed here and here, has a fundamental problem. That is inevitable CPU cache misses. To emphasise this, think about what [...]

Why interrupt affinity with multiple cores is not such a good thing

One of the features of x86 architecture is ability to spread interrupts evenly among multiple cores. Benefits of such configuration seems to be obvious. Interrupts consume CPU time and by spreading them on all cores we avoid bottle-necks.
I’ve written an article explaining this mechanism in greater detail. Yet let me remind you how it works [...]

PSC for Personal Super Computer

I’ve been waiting for this for quiet some time and now it is finally here. I am talking about Personal Super Computers.
Five years ago I purchased a brand new laptop computer. It is a decent computer – I am still using it today. It cost me around 1500$ U.S. Obviously, today it is less powerful [...]

2 reasons why small package repository is better than large

I am in the middle of CentOS and Ubuntu comparison frenzy. It started with an attempt to assert quality of Linux distributions made for busy people. Today I am considering packaging.
When comparing Ubuntu and CentOS packaging systems, first thing that crosses my mind is that, well, size matters. Ubuntu has nearly 70000 packages. CentOS has [...]