2026-07-16• 886 كلمة • 4 دقايق • tools# • editors# • cli#

لية نيو ڤيم في عصر الاجينتس؟

Introduction

انا بكتب كود بقالي 4 سنين تقريباً. في الفترة دي, انا بدأت زي اي طالب CS بـVSCode. عايز اكتب كود, هكتبه كأني بكتب اي Text تاني. عايز اعمل Run للكود بتاعي, كنت بدوس Shortcut و VSCode يشغلهولي. مكنتش فاهم اصلاً الكود بيشتغل ازاي. كنت عارف انه It just runs.

How Neovim and I met

بعدها بفترة, بدأت اتفرج على يوتيوبر اسمه ThePrimeagen. ساعتها كان Software Engineer في Netflix, وكنت كل لما ابص عالـStreams بتاعته على Twitch او YouTube, عيني مكنتش بتعرف تواكب اصلاً هو بيعمل اية. بعيداً عن ان سرعته فالكتابة عالية جداً, وانه بيستعمل Keyboard غير العادية (dvorak), بس دا مكنش السبب الرئيسي اللي كان…

2026-07-12• 2835 كلمة • 14 دقيقة • systems# • cpp# • memory-management#

ادخل الحلبة

لية بنستعمل Python؟ JavaScript؟ Java؟ Dart؟ اي طالب CS في سنة اولى ممكن يقولك ان اللغات دي بطيئة بالنسبة للغات تانية زي C. لو احنا عايزين الـSoftware بتاعنا يبقى اسرع مايمكن, لية بنستعمل اللغات دي لما ممكن نكون بنستعمل C++ مثلاً في كل حاجة؟

الأجابة بسيطة: Ease of use. اللغات دي سهلة جداً فالاستعمال, الـSyntax بتاعها بسيط, بتقرأ زي الـEnglish, غالباً بتبقى Portable, ومن اهم الصفات انها Garbage Collected.

Garbage Collected يعني الـCoder مش بيفكر فالـMemory. بينساها من دماغه (Ironically). لو كتبت برنامج بيستعمل 100 كيلوبايت, انا مش محتاج اعمل للـ100 كيلوبايت دي free, لأني عارف ان الـRuntime بتاعت…

2026-03-23• 1957 كلمة • 10 دقايق • math# • complex-numbers#

الاعداد التخيلية حقيقية

الـMath كعلم موجودة من بداية التاريخ. من اول مالبشرية بدأت تعمل حضارة, الارقام شيء موجود ولكن مكنش كل الارقام اللي احنا عارفينها دلوقت موجودة. الاول بدأنا بالاعداد الصحيحة: 1,2,3,4,5,...1, 2, 3, 4, 5, ...

الاعداد دي كانت كفاية لحد مابدأنا نواجه مشاكل في حساب النسب. في الفترة دي الاعداد الكسرية, الـFractions, اتوجدوا عشان يحلوا بعض المشاكل اللي واجهناها.

بعدها اكتشفنا ان مش كل الاعداد ممكن نكتبها ككسر, زي مثلاً 2\sqrt{2}.الفترة دي كانت صعبة شوية, لأن كان في ثقافات بتعتبر الارقام الصحيحة مقدسة وان كل حاجة في الكون ممكن نكتبها كأعداد صحيحة و كسور.

تطور الارقام

في قصة قديمة بتحكي ان في الاغريق, كان في جماعة بيتبعوا مدرسة فلسفية ودينية…

2026-03-13• 46 كلمة • 1 دقيقة • math# • physics# • visualization#

ڤيكتور فيلدس

من اكتر الحاجات الجميلة في الـMathematics عامتاً والـVector Calculus خاصتاً هي الـVector Fields. الـVector Fields بتمثل حاجات كتيرة. الجاذبية, مجال كهرومغناطيسي, Neural Network.

العب شوية بالـTool اللي تحت جرب ارقام وشوف هيطلعلك اية. في Presets ممكن تختارها لو عايز الهام.

2026-03-06• 303 كلمة • 2 دقيقتين • math# • calculus#

أويلر

تخيل انك معاك جنية, وقولتلك هاتلي الجنية دا وهديلك بعد سنة 100%100\% من القيمة اللي انت حطيتها. يعني بعد سنة هتاخد جنية كمان.

ييبقى انت كدا بعد سنة هيبقى معاك 1+11 + 1 جنية. دلوقت, لو انا قولتلك مش هديلك الـ100%100\% على طول, هحسبلك 50%50\% بعد 6 شهور, و50%50\% كمان بعد 6 شهور. كدا هيبقى معاك كام بعد سنة؟

بعد 6 شهور هيبقى معاك

1×1.5=1.51 \times 1.5 = 1.5

والـ6 شهور اللي بعدهم هيبقى

1.5×1.5=2.251.5 \times 1.5 = 2.25

طيب, لو قولتلك 3 شهور؟ يعني هتاخد 25%25\% كل 3 شهور لحد ماتكمل سنة, هيبقى كام؟

بعد 3 شهور هيبقى 1×1.251 \times 1.25

بعد 6 شهور هيبقى 1×1.25×1.251\times 1.25 \times 1.25

بعد 9 شهور هيبقى 1×1.25×1.25×1.251 \times 1.25 \times 1.25 \times 1.25

بعد 12 شهر هيبقى 1×1.25×1.25×1.25×1.251\times 1.25 \times 1.25 \times 1.25 \times 1.25

هنلاقي نمط. فالأخر العدد هيساوي 1.2541.25^4

نقدر نخلي 1.251.25 عبارة عن 1+1.251 + 1.25 يعني (1+14)4(1 + \frac{1}{4})^4, وهيساوي 2.441406252.44140625. لاحظ ان المبلغ بتاعنا بيكبر كل لما نحسب الفايدة بتاعتنا في اوقات اكتر.

افرض…

2025-08-10• 787 كلمة • 4 دقايق • cpp# • memory-management#

طرمبة الـMemory بتسرب

عشان معظم اللغات اللي بنستعملها فيها نوع من الـGarbage Collection, قليل اوي اللي بتلاقيه بيفكر فالـMemory بطريقة عملية. فيها اية يعني لو عملت new Foo()؟

عندك حق. لو بتستعمل لغة زي Java او Go, غالباً مش هتفكر فالموضوع كتير. بس, لو بتستعمل ++ C, الموضوع يختلف. اي Heap Allocation بتعملها بnew لازم تعملها Free بdelete. الموضوع بسيط, صح؟ لما اخلص حاجة, همسحها!

بالرغم من ان الموضوع بسيط سطحياً, البني ادمين بطبيعتهم خطائين. وبسبب دا, مايكروسوفت بتقول ان %70 من الـSecurity Bugs في منتجاتها بسبب Bugs ليها علاقة بالـMemory. اغلبية الـBugs دي بسبب Use After Free, يعني انك تستعمل vector معموله Allocation بـ…

2025-08-09• 840 كلمة • 4 دقايق • web# • astro#

هيللو وورلد!

إن كانت المطرقة هي كل ما بيدك, فسترى كل الأشياء مسامير

دا غالباً هيبقى اول بوست فالبلوج دي.

معظم الناس لو طلبت منهم يعملوا موقع بسيط, هيقربوا ببطء لReact1 , Angular, Vue, او الخمسوميت فريم وورك اللي موجودين حالياً.

بصراحة, اول لما جيت افكر اعمل البلوج دي اتجهت للحاجة اللي انا اعرفها, React. بس, بعدها بدأت افكر شوية وافتكرت اني كنت قريت عن استرو وانه يعتبر مخصص للStatic Sites, حاجات مش محتاجة Interactivity كتير.

قبل مابدأ, انا كنت محتاج حاجات معينة: