OpenBSD has its own hypervisor (vmm) for few years. Its primary goal is to run OpenBSD guests. Recently I played around vmm to create a minimal virtual machine without a virtual disk! It is useful when you need to create lots of similar virtual machines without worrying about accidental data corruption by them.

Virtual machine managers need a start point to start. The most obvious way is a firmware which detects and loads boot loader and other option is the boot loader itself. However some virtual machine managers (like OpenBSD vmm) are capable of loading a kernel directly. …


A typical SOS message to google

2019 Internet blackout in Iran was a great chance to analyze National Information Network. At the time I was in Tehran playing around to find a way out.

The blackout took less than 24 hours to fully operate. According to blackout’s timeline, there are at least 4 groups of internet users in Iran (Note that people living in other cities might experience different timeline):

  1. Mobile broadband Internet users
  2. Fixed broadband home users
  3. Universities and common companies
  4. Data Centers and special IT companies

Mobile broadband users are always the first ones to be disconnected during every blackout (and most of the…


Many programmers already know about header files and function declarations; however only few ones might know about different types of function declarations. There are 2 types of function declarations: function declaration without prototypes, and function declaration with prototypes.

When you declare a function without prototype, compiler doesn’t know anything about parameter types; so it may not help you by converting arguments to the right types and user is responsible for providing arguments with right types when calling a function. …

Ali Farzanrad

UNIX and C lover

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store