Thoughts

Technical write-ups, personal essays, business lessons and short notes.

طائر كوكتيل جنب لعبة صفراء بتلف ومثبتة في القفص، وإيد بتحرّكها من برّه.الأحدثعربي

استخدمت Kimi K3.1 Pro علشان أعمل لعبة للكوكتيل بالـ 3D printing

كنت عايز أعمل لعبة للكوكتيل عندي، بس الـ 3D modelling كان دايمًا بيعطّلني. هل محادثة مع Kimi ممكن توصلني من مجرد فكرة لحاجة أطبعها والطيور تلعب بيها فعلًا؟

اقرأ ←
A cockatiel beside a yellow spinning toy attached to its cage, with a hand turning it from outside.

I used Kimi K3.1 Pro to make a 3D-printed toy for my cockatiels

I wanted a toy for my cockatiels, but 3D modelling kept getting in the way. Could a conversation with Kimi take me from an idea to something they would actually play with?

رسم توضيحي لنواة صغيرة في المنتصف، محاطة بحلقات وأدوات تمثّل الـ Harness اللي بيتعلّم ويتحسّن حوالين الـ Modelعربي

Harness²: هل ممكن الـ AI Agents تتعلم إزاي تطوّر نفسها من غير ما نغيّر الـ AI Model؟

بتدي الـ Agent مهمة واضحة، فيبدأ يقرأ ملفات كتير ويعمل خطوات ملهاش لازمة. السؤال مش دايمًا نغيّر الـ Model. أحيانًا تحسين النظام حواليه بيكون له تأثير أكبر.

Illustration of a small core in the centre, surrounded by rings and tools that stand for the harness learning and improving around the model

Understanding Harness²: How AI agents can improve themselves without retraining their models

Harness² lets an AI agent improve the system around its language model, learn from those improvements, and reuse that experience on later tasks. The model stays the same. The harness changes.

A developer stepping away from tangled manual handoffs as they become an automated workflow with a human approval gate

Would You Build a Development Workflow That Depends Less on You?

The better the delivery system becomes, the less it may depend on you. Would you still build it if faster, safer work also made your role easier to remove?

رسم تجريدي فاتح بألوان باستيل: سيرفر نعناعي صغير متصل بوحدات صفراء ووردية وفقاعات محادثة على خلفية كريميةعربي

Hermes Agent: المساعد الشخصي الدائم ليك

تجربتي في تشغيل Hermes Agent على VPS بـ ٧ دولار، ربطه بـ Slack، واستخدامه كمساعد دائم للتعلم اليومي ومتابعة الجديد في التكنولوجيا.

Inside Town isometric city concept with shops, roads, cars and trees.

Inside Town: Reimagining ecommerce as an SVG city

A 2015 experiment in shopping through an interactive city: SVG buildings, a drag-and-drop dashboard, animated streets, and the decision to stop development.

Early Tindio launch artwork with the green Tindio name surrounded by colourful products.

Tindio: Building a home for Egyptian makers

My first startup after graduation: building a Drupal marketplace for more than 700 local stores, the products I still love, and the lessons that stayed with me.

Five handmade clay characters with laptops, tablets and phones, surrounded by tiny food, plants, cushions, a bookshelf and a bicycle.

Pickdevs: From wireframes to handmade characters

How a small company website went from UX wireframes to handmade characters, photographed in our own lightbox and brought to life with CSS and JavaScript.

Tindio airship below a world map showing routes from Egypt to international destinations.

Why Tindio.com Failed

Four years of running Tindio taught us why a marketplace can fail even when the product and technology look good. The real problems were operations, quality, seller behaviour and weak unit economics.

An illustrated reception desk with coffee, a small gift and colourful lines connecting it to many colleagues

What Jennifer Taught Me About Work

Jennifer welcomed me on my first nervous day at work and made every colleague feel seen. She showed me that even a small role can have a huge impact.

An autumn view through a window of a wet green garden, fallen leaves, trees and parked cars

My First Autumn Away from Home

10 years ago, I arrived somewhere unfamiliar, cold, lonely and hungry. A kind host named Bea helped me learn the small things that made life feel possible again.

An open wooden drawer with a dark tablet and a silver one inside, in warm light, blank screens, no logos.

I woke up a PlayBook and an iPad 2 last weekend

Last weekend I tried to revive two tablets that had been in a drawer for years. A PlayBook and an iPad 2. I put OpenSSH, apps, games, and YouTube on them so they work for travel and reading.

Designing systems in sunlight

How Do We Stay Relevant as Software Engineers in the Age of AI?

Cover for Drupal 8 embed node form in custom page<form />

Drupal 8 embed node form in custom page

Creating a custom module that adds a new page embedding the node creation form.

Cover for Drupal 8 override views field template in twig{{ output -}}

Drupal 8 override views field template in twig

The template naming for a single views field, which the docs barely cover.

Cover for Drupal 7 - Create taxonomy based Countries list in 3 easy steps[ EG, UK ]

Drupal 7 - Create taxonomy based Countries list in 3 easy steps

A taxonomy-based countries list that holds both country name and code.

Cover for Use Details and Summary instead of Fieldset with Drupal 8<details>

Use Details and Summary instead of Fieldset with Drupal 8

Moving collapsible form groups off fieldset.

Cover for What's new in Drupal 8?D8Video · Arabic

What's new in Drupal 8?

An Arabic video tutorial explaining the new Drupal 8 features and structure.

Cover for Bypass Symfony Forbidden issue with "Web" folder in Mac OS403 → 200

Bypass Symfony Forbidden issue with "Web" folder in Mac OS

Why the web folder was hidden from the browser on macOS, and the fix.

Cover for Mac OSx Create new local host and change the default Pointing Directory (In Arabic)127.0.0.1Video · Arabic

Mac OSx Create new local host and change the default Pointing Directory (In Arabic)

Creating a virtual host or local domain and changing the default directory.

Cover for Drupal 7 create node programmatically through xml-rpc request<methodCall>

Drupal 7 create node programmatically through xml-rpc request

Creating nodes remotely by calling Drupal services over XML-RPC.

Cover for Drupal 7 hide block for mobile devices using browscapbrowscap

Drupal 7 hide block for mobile devices using browscap

Hiding blocks on mobile server-side, beyond what responsive themes can do.

Cover for Drupal 7 execute javascript code after a ajax callajax().then()

Drupal 7 execute javascript code after a ajax call

Calling a JavaScript function after an AJAX request using Drupal FAPI.

Database vault protected from malicious query fragments.

Secure development with Drupal 7- part 2

In Part 1 I discussed Cross Site Scripting attacks and how to prevent and avoid it while coding, In this part I will talk about SQL Injection attacks and how to prevent it by using Drupal API functions

Terminal connected to shared hosting servers with a developer toolbox.

Get Drush to work in Godaddy shared hosting plane

Drush is very important tool for drupal Developers, Its managed from Shell so a lot of people failed in getting it work at shared hosts like godaddy, I will explain briefly how to install Drush on godaddy shared hosting plane. 1- Open your Linux Terminal and create SSH Connection to you account

Four data streams passing through a security filter.

Secure development with Drupal 7- part 1

Drupal is one of the most secure CMS because its support its developers with the appropriate API functions that keep drupal applications secure from sql injection and Cross site scripting attacks . In this tutorial i will discuss the most important API functions , bad and good development behaviors that affects your applications security.

Human-readable input transforming into a structured machine name.

How to create Machine name field in drupal 7

In this tutorial we will use Drupal 7 Form Api to create Machine name Field which is not well Documented in drupal.org . To create Machine name field we need another Field which is the Parent/Source field, Source field contain the Human Readable Text that will be converted Automatically by Using "misc/machine-name.js" to machine Friendly name. End users Usually working Directly with Source Field. Lets Create Form like what we get when we Add vocabulary from Structure > taxonomy > Add vocabulary.

Translucent page panel floating above connected route layers.

Add overlay View to any page or path

Drupal come with a great Overlay Module which make you able to display your pages in overlay view,I wonder when i see a lot of drupal developers uses another Jquery libraries such as Fancybox, Lightbox, ShadowBox...etc, Anyway overlay View is usually limited for administration pages, So in order to make our visitors access our pages in overlay view we should tell drupal "Hey Drupal !! This page is for administrators" ;-) (okkk i know we lie !!) :-#

Modular cabinet with a nested configuration drawer.

Add menu block in administrator configuration page

Although Drupal has a great API, But i see that its not well Documents, Anyway a few people have asked me about how they can create a block in administrator configuration page "admin/config", its easy but not well documented, I will do this by using HOOK_MENU, lets see:

A heavy group of web assets compressed into a lightweight, fast-moving page.

Improving drupal performance

Drupal is a High performance Content Management System, But there is a different reasons that may decrease the performance of your web applications, And there is a different steps that should be taken into account when developing your great application with Drupal .

Workbench with six tools representing key development tasks.

6 Important Tools For Drupal Development

Drupal is not Only a Perfect Content Managment System (CMS), But its a Great Content Management Framework (CMF) . A Lot of Developers around the world Contribute Drupal. Drupal has more than 9000 Modules !!! .In this topics i will discuss The most important 6 modules and tools for Drupal Development, Lets Goo!!

Three-stage signal path ending in rising data points.

Add Google Analytics Code to your drupal 7 in 3 steps

In Our Drupal World there is a lot of modules that can help us in different purposes. Google Analytics is one of the most important modules that help you to integrate your drupal web application with Google Analytics using some GUI configurations. But if you are looking for performance you should reduce the number of installed modules, Thats why we are going to Explain how to Integrate google Analytics Code to your Drupal web applications Easly in 3 Steps by using "drupal_add_js()" function .

Metadata tiles assembling into a social sharing card.

How your Drupal 7 Application appear in facebook ?

What if you shared your Drupal web site URL in Facebook !! What is the Title, Description and Image You will Got ? Is that Exactly what You want ? In this Tutorial i will show You How To control The Appearance of your Drupal Front page In Facebook .

34 thoughts