أنشودة المطر
عيناكِ غابتا نخيلٍ ساعةَ السَّحر
أو شُرفتانِ راح ينأى عنهما القمر
عيناكِ حين تبسِمان تورِقُ الكُروم
وترقصُ الأضواء كالأقمارِ في نهر
يرجُّه المجداف وهناً ساعة السَّحر
كأنما تنبضُ في غوريهما النّجوم
أنشودة المطر
مطر .. مطر .. مطر

تثاءبَ المساء والغُيوم ماتزال
تسِح ماتسِح .. مِن دُموعِها الثقال
كأنَ أقواسَ السَّحاب تشرب الغُيوم
وقطرةً فقطرةً تذوبُ في المطر
وتغرقانِ في ضبابٍ مِن أسن شفيف
كالبحر سرَّح اليدين
فوقه المساء .. دفءُ الشِتاء
وارتِعاشةُ الخريف
ويهطُلُ المطر
مطر .. مطر .. مطر

أتعلمين
أيَ حُزنٍ يبعث المطر
وكيف يشعُرُ الوحيدُ فيه بالضَّياع
كأنَّ طِفلاً باتَ يهذي قبل أن ينام
بأن أُمَّه التي أفاقَ…


There is a bit of debate surrounding the distinctions between software architecture vs design, or architectural pattern vs design patterns. These distinctions, at least to me over the years, have caused more confusion than they solved. In essence, these distinctions are contrived in most explanations that I have come across. There is no single definition of these terms or an agreement on their usage, and much seems to depend on the context of their application. My definition of Architecture or Design is more wholistic — or at least that I would like to believe, and abstract. I am fairly okay…


I saw the need for such a list after working in my previous company. This is not exactly in any order and with time it will get better organized.

Single responsibility principle
Open/closed principle
Liskov substitution principle
Design by contract.


I have been working as Team Lead, Engineering Manager, CTO etc some times I got praise, and other times biting criticism, both are important for growth. What matters after getting your job well done done is this:

Hey Ovais,

I’m sad to see you go but I don’t blame you at all! I just wanted to let you know that I enjoyed working with you and that I’m thankful that you introduced me to so many new technologies. I feel that I’ve learned a lot in the time you’ve been here and have grown as a developer. I wish you luck for the future and hope your next job is better than this one.

Take care!


If you are like me on Mac but do most of your programming on Linux, you probably have Vagrant machine setup and you don’t want to get rid of it. Here is how you would go about setting up Vagrant to get along with Docker Machine.

You probably created your VirtualBox machine with something like
vagrant init ubuntu/xenial, you can skip this step since you already have vagrant setup.

Run ssh-keygen to create a key pair, if you already have one, than you need to copy that to your vagrant machine using ssh-copy-id -p 2222 -i <path to your public…


Size comparison between Raspberry PI, Panda Board and Pine 64

size_comparision

Size comparison between Raspberry PI, Panda Board and Pine 64

Ovais Reza

Husband, Father, Technologist, Maker and a recent Woodworking enthusiast. Mostly blogs about Technology, but rarely about other stuff that matters.

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