الجمعة، 22 ديسمبر 2023

لا تيأسوا من روح الله

بسم الله الرحمن الرحيم

في أي يومِ جمعة يكون لخطبة الجمعة نصيبٌ من الأحاديث التي تدور بين الناس لأهمية يومِ الجمعة وتأثير خطبة الإمام على الحاضرين كان سلبا أم إيجابا. ولعل خطبة الجمعة لهذا اليوم كانت في محلها مهما اختلف فهمها بين الناس فقد كانت تتحدث عن اليأس في الحياة وأثره على الإيمان.

مُلَخص الخطبة هو قول الله تعالى "إِنَّهُ لَا يَيْأَسُ مِن رَّوْحِ اللَّهِ إِلَّا الْقَوْمُ الْكَافِرُونَ" وهذه كانت مما قرأه الإمام خلال الصلاة اليوم فالآية تقرِن اليأس من قدرة الله وعظمته بالكفر والكفر نقيض الإيمان وخسران الإيمان هو أعظم ما قد يخسره المرء في حياته الدنيا كمن فقد الهدف في الحياة ولم يعد يعلم ماذا يصنع.

كانت الخطبة موجهة للناس بسبب ما يحدث في غزة بعد ما بدأت معركة طوفان الأقصى في السابع من أكتوبر لهذا العام وذكّر الإمام بأن صمود أهل غزة سببه الإيمان وكأنه يقول بأن كل ما في الدنيا لم يعد ينفع. تذكرت حينها قول محمود درويش "بأن على هذه الأرض ما يستحق الحياة" لكن إخوتنا في غزة فقدوا كلَّ شيء بما فيه من يحبون فلا أعتقد أن على هذه الأرض ما يستحق الحياة لولا إيمانهم بالله, ثم تذكرت قول المصطفى "طوبى للغرباء" واصفا المؤمنين في آخر الزمان وثباتهم على الحق.

لا نُزَكّي على الله أحدا لكنّ طوبى لأهل غزة ونسأل الله أن يثبتنا على الحق وأن لا يفتتنا في ديننا.

الخميس، 3 أغسطس 2023

ضبط الذات حرية

 مرَّ يوم عاشوراء بهدوء ككثير من أيام صيام النافلة لكنه لا يمر بشكل عاديٍ عليَّ دون أن أفكر بأن عليَّ الصوم تهذيبا لنفسي إضافة إلى طلبِ رضى المولى عز وجل.


يقول علي بيكوفتش في كتاب الإسلام بين الشرق والغرب: "أما الصيام فهو التعبير الأسمى عن الإرادة, إنَّهُ عملٌ صادرٌ عن الحرية, هذه الحرية هي الدلالة الأعظم للصيام, وليس أي سبب طبّي" ولعل هذا الكلام هو أعظم ما قيل عن الصيام في العصر الحديث. ولعلَّ ما يدعم هذا الكلام ما قيل في كتاب مفهوم الحرية لعبدالله العروي حيث يقول الكاتب: "لا تكتمل الإنسانية في الفرد إلا إذا شُرِّفَ بالتكليف, أي إذا أصبح قادرا على الانضباط لقواعد وأوامر السماء" وفي ذلك دلالة على أن الإنسان المسلم يصل إلى أعلى درجات الحرية ما دام واعيا بتكليفه أمام الله فلا يرضى بالظلم سواء لنفسه أو غيره وفي حالة الصيام نرى أن الإنسان يعلم أن صيامه ليس مجرد طاعة وإنما ابتعاد عن ما لا ترضاه النفس البشرية لنفسها ما دامت واعية بعلوِّها عن باقي المخلوقات.


وضبط الذات جزء من ضبط مخترعات البشر في زمن بدأ الناس يرون ما يحلمون به واقعا فترى الآلات تفكر عنك وتجيبك بل قد تقودك لما لا تعرف نفعه أو ضره, كل الأمور مرتبطة بِك فابدأ بنفسك دائمًا.

الأحد، 23 يوليو 2023

IFS Algorithm

Have you ever tried to explain your code to someone? And once you are done, people look at you like “Oh! this is darn simple you stupid” but when you apply some sophisticated jargon people suddenly respect you and start wondering how did you do that what a prodigy!

People in tech always through jargons even for the most simple things even if they don’t know what it means and more miserable are those who know their work is not worth it so they try to make it look complex for the sake of getting respect and attention.

Based on that one we can have a cool name for the most simple solution of them all by using IF conditions everywhere and we shall call that solution “IFS Algorithm” to make people impressed by our approach believing it is complicated though it is the expected for any simple logic in computer science! 

To make it more sophisticated, here is a simple code for the IFS algorithm!

Here is an academic version as well.

This reminds me of the days when people thought JavaScript is only good via a framework and didn’t believe people could write code directly with plain JavaScript and build up from their so one developer created a website called http://vanilla-js.com/ to make plain JavaScript looks like a framework to make people believe in it. I believe the term Vanilla JavaScript came or popularized because of this website.


Credit goes for Hamzeh Abu Sahyoun for the idea of this blog.

الأربعاء، 28 يونيو 2023

Extending the Front-End Engineer role

This blog have been shared on Medium in a better structure and more organized thoughts, please read it over there for a better experience: https://medium.com/@KhaledElAnsari/extending-the-front-end-engineer-role-77d86100d2



Seriously Front-End Engineers need to handle more than the client side application where they only update the UI and send AJAX requests to get data, yes some application require an experience person to handle some serious interaction like interactive games or financial apps with so many charts but still Front-End Engineers to be part of some stuff that considered ambiguous for people who should handle just because it is related to UI and they don't like dealing UI or anything close to it.

Some of what I'm going to say was part of what some companies used to call Web Engineer but anyway let's kick it to the topic.

For example:

  • DevOps: FEEs need to have knowledge about what is CORS and how to allow servers to give access to their apps specially if there is an edge case like calling a proxy API.
  • System Design: knows your main components in the app and start drawing them, draw how state management is handled, draw how fetching data from local cache work and so, do what others brag about and don't know how to do!
  • Cloud Engineering: not sure if this is the right term but you need to know how to prepare your own container and deploy it, setup a basic CDN, setting a pipeline and storing the package in the a bucket or an FTP server or what ever, just learn some cloud development basics please.
If you don't like doing this for your own sake at least do it so they won't say you are not working!

I might make it a full post with some examples and for those who are already part of such things please share your experience.
 


الثلاثاء، 6 يونيو 2023

The Brogrammer Phenomenon

So geeks and nerds are known to be awkward specially geeks and programmers are geeks by nature because they are mostly introverts or because they just like to enjoy some solo activities quietly like reading a book or playing video games or maybe learning a new thing for work (yes private time is for learning in this career!) and so far it is ok and fun to be in such a position where you can find fellow geeks and enjoy the nice little thing productively.

Nowadays with the rise of big companies and the way they changing the world and affecting our lives people want some of what some called it "The Revenge of The Nerds", everyone wants the big money everyone wants to be cool and hip again and everybody wants to brag about the secret life of the nerds that people are wondering how it changed the world and how it is nicer than the way that the rest of the world is living. This wave of nerd winning brought us what I like to call the "Brogrammer Phenomenon".

Now companies wants a good PR, looking good will attract customers and will create a crowd of loyally blind people that want to be part of your movement (see Google and Facebook as a clear example) and that's what the nerds did with their companies in a way that drove people to crazy preparations to be part of the nerds and this is where it all started!

People started to talk about their journey to prepare for the interview and how some of them managed to get a job without a previous experience or a degree making it look so good even though it is just an entry level job or maybe just an internship, I'm not mocking their achievement but I don't the brag here which created a wave of people who want to talk about the Utopian life that everyone should have by having such a job and focus on how eat good, look good, and spend good leveraging the PR of the work life balance and the social media trends to get more audience.

Nowadays we don't have programmers we have BROGRAMMERS! People who focus on how to look and how programmers have a different mind and life where in fact these BROGRAMMERS are just copy cats who wants attention through social media and the misery of others who are watching them and guess what? they are toxic to work with because they spend time talking about nonsense and being lame and fill everything with jargons they don't even understand to impress the naive people around.

Trust me when it comes to hard work these people would fail and their videos about cool features in VS Code or the hottest new framework won't get them anywhere so please focus on being a PROGRAMMER not a BROGRAMMER.

Note: this is a criticism to the toxic actions by everyone following the paradigm and not to be confused with the "Brogrammer Culture" in the US where people mix programming with activities like drinking and chasing women or even being sexist.
 
Update: after writing this article I stumbled upon a Reddit post for someone finding an article titled "SQL vs. CSS What’s the Difference? Which Is Better?" and guess what? The article exist! Now you can see what this phenomenon is getting us.

السبت، 27 مايو 2023

It's all about perspective

There is a quote by Tupac Shakur that I find really inspiring, it says "Just because you lost me as a friend, doesn't mean you gained me as an enemy. I'm bigger then that, I still wanna see you eat, just not at my table".

Such words are strong because people change but that doesn't mean they become bad! Your perception of them is short and that's why you think they are bad though they become better and bigger.

I like this way as it shows how people grow in silence and surprise others while these days people calling this as passive aggressive encouraging people to be toxic by not trusting anyone and make trouble instead of minding their own business somewhere else!

It's all about perspective my friend, all about perspective!





This article was published originally as a thought on my Telegram Channel, follow me if you are interested.

الخميس، 25 مايو 2023

The "Family" Developer

 Many of you, if not all, know about the Fast and Furious movies and the cliche of the family where it become a world wide meme where people make fun of Dom Torreto character and the family thing.

Now as a software engineer I can see Dom almost everywhere in my career, you know that guy who always underestimate the work and when he gets in trouble he start asking for help saying words like "come on man it won't take 5 mins to deploy forget about testing" in a downplay tone thinking he's your friend so it's ok to do that since it's logical to him and he deserves to be covered up to look good in front of others. Will this guy is the "Family" developer.


Now such developers makes our life harder, why? Will you will say because they are not smart which is not right as some of them is aware he is wrong and kinda knows the right action so it's not about being smart. So what is? It's their disrespect to other's work and to the engineering culture inside the team and to the global community, I'm not trying here to over complicate things but trying to make things faster by downplaying others work and allow a path to mess things up is not ok and even if you have to you need to discuss your opinion with the other side and put a plan to avoid such things as much as you can (unless you have a bad management/business team then good luck lol).

At the end software engineers needs to be both exact and creative not reckless and oblivious like a mechanic so try to be that and stop missing around!


This article was published originally as a thought on my Tech Telegram Channel, follow me if you are interested.