All Posts


If you’re working on a web application that uses canvas to render any kind of data, you probably need to render some kind of textual information on top of your rendered scene. Today I wanted to see how cheap (or expensive) it is to render text on canvas so I setup some test code to measure the performance of text rendering on current generation of browsers (as time of writing). Please note that if you don’t update your scene frequently (30 frames per second for example, as in games) or don’t have lots of texts to display then performance shouldn’t be a concern. Also note that I’m not by any means rendering guru and these tests are not very standard so take the results with grain of salt. With this away lets see how it went:

Keep Reading →


After I discovered Son of Obsidian color scheme, I fell in love and suddenly I used it in every IDE I work with. Its easy to read and put less strain on eyes.

Here is original Son of Obsidian for C#.

You can download my C++ version here (Includes original C# styles as well).

If you have any suggestion or improvements, please let me know in comments section.

Perhaps you’re like me and want to know how those big libraries like jQuery do animation. Basic concepts of animation applies to almost every programming language out there so it doesn’t matter whether its written in JavaScript or C# etc. I chose JavaScript because its a little bit easier to demonstrate concepts than other languages.

Keep Reading →

I came from windows background so I’m relatively new in linux world. I wanted to install SOCKS 5 server with authentication on my Ubuntu box and it turned up that the easiest to install and reliable one is Dante so i started installing it.

I couldn’t find much detailed installation process for Dante on Ubuntu so I decided to write one. Please note that my Ubuntu server version is 12.04 ( Precise Pangolin ) so i can not guarantee it will work on other versions as well but most probably it will.

What should be done:

  1. Install Dante server and PAM library
  2. Edit Dante configuration file “/etc/danted.conf”
  3. Add PAM configuration file
  4. Create user accounts
  5. Start the server and check settings
  6. Troubleshoot

Keep Reading →

My name is Mohsen Heydari and I work as a freelance software developer. Started with a Pentium III PC, I loved games ( and still love ) so much that I decided I need to learn programming to create games so I taught myself how to program in VB.NET. After that, my journey in programming world has began. I learned a lot from game development path. So much that I still use some of its concepts in my everyday work.

These days I work as a web developer and I consider myself a reasonably experienced one. I like to build softwares that everybody use and enjoy as much as I love to create them. Computers and creative possibilities they bring always amaze me but they’re not my only source of inspiration. In my spare time I also like to play guitar and I own a little home studio.

Why do you started this blog?

I think I owe people who taught me a lot and I like to be able to give something ( even little ) back to the community through this blog. Also in my opinion a blog is a two way communication between the author and people who read it so I could always learn something new and make few friends as well.

How can I contact you?

You can contact me using “mohsenheydari [at]”