Saman Saadi

Welcome to my personal blog

Contact Me Home Tutorial

Most keyboards send scancodes when a keys are pressed which contain the row and column of the key. It's the responsibility of the Operating System to convert them into characters. This mapping is done by keyboard layouts.

There are a lot of single-board computers in the market; the most famous ones are Raspberry Pi series. There are more powerful alternatives like Odroid N2+ that I'm going to explain how to prepare two Operating Systems for it. I mainly focus on partitioning the storage unit using parted command line. You can use GParted which is a front-end for it.

C++17 introduces std::optional. Before C++17 we could use Boost.Optional. The question is when we should use smart pointers and when to use std::optional?

Sometimes it's desireable to not expose our payment cards to the merchants. Besides services like PayPal, are there other alternatives? Can we use cryptocurrenices like Bitcoin?

When you use messaging apps like WhatsApp or Telegram you are 100% sure that the communication is encrypted. Unfortunately that's not the case for emails.

You can find a lot of Credit Cards with different Rewards Programs. Basically we have two rewards category: cash-based cards and point-based cards.