Thoughts
Technical write-ups, personal essays, business lessons and short notes.
latestTindio: 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.
Read →
latestPickdevs: 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.
Read →
latestWhy 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.
Read →
latestWhat 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.
Read →
latestMy First Autumn Away from Home
In October 2017, 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.
Read →
latestI 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.
Read →
latestHow Do We Stay Relevant as Software Engineers in the Age of AI?
Read →
latest<form />Drupal 8 embed node form in custom page
Creating a custom module that adds a new page embedding the node creation form.
Read →
latest{{ output -}}Drupal 8 override views field template in twig
The template naming for a single views field, which the docs barely cover.
Read →
latest[ 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.
Read →
latest<details>Use Details and Summary instead of Fieldset with Drupal 8
Moving collapsible form groups off fieldset.
Read →
latestD8What's new in Drupal 8?
An Arabic video tutorial explaining the new Drupal 8 features and structure.
Read →
latest403 → 200Bypass Symfony Forbidden issue with "Web" folder in Mac OS
Why the web folder was hidden from the browser on macOS, and the fix.
Read →
latest127.0.0.1Mac 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.
Read →
latest<methodCall>Drupal 7 create node programmatically through xml-rpc request
Creating nodes remotely by calling Drupal services over XML-RPC.
Read →
latestbrowscapDrupal 7 hide block for mobile devices using browscap
Hiding blocks on mobile server-side, beyond what responsive themes can do.
Read →
latestajax().then()Drupal 7 execute javascript code after a ajax call
Calling a JavaScript function after an AJAX request using Drupal FAPI.
Read →
latestSecure 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
Read →
latestGet 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
Read →
latestSecure 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.
Read →
latestHow 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.
Read →
latestAdd 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 !!) :-#
Read →
latestAdd 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:
Read →
latestImproving 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 .
Read →
latest6 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!!
Read →
latestAdd 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 .
Read →
latestHow 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 .
Read →
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.

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.

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.

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.

My First Autumn Away from Home
In October 2017, 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.

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.

How Do We Stay Relevant as Software Engineers in the Age of AI?
<form />Drupal 8 embed node form in custom page
Creating a custom module that adds a new page embedding the node creation form.
{{ output -}}Drupal 8 override views field template in twig
The template naming for a single views field, which the docs barely cover.
[ 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.
<details>Use Details and Summary instead of Fieldset with Drupal 8
Moving collapsible form groups off fieldset.
D8Video · ArabicWhat's new in Drupal 8?
An Arabic video tutorial explaining the new Drupal 8 features and structure.
403 → 200Bypass Symfony Forbidden issue with "Web" folder in Mac OS
Why the web folder was hidden from the browser on macOS, and the fix.
127.0.0.1Video · ArabicMac 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.
<methodCall>Drupal 7 create node programmatically through xml-rpc request
Creating nodes remotely by calling Drupal services over XML-RPC.
browscapDrupal 7 hide block for mobile devices using browscap
Hiding blocks on mobile server-side, beyond what responsive themes can do.
ajax().then()Drupal 7 execute javascript code after a ajax call
Calling a JavaScript function after an AJAX request using Drupal FAPI.

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

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

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.

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.

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 !!) :-#

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:

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 .

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!!

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 .

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 .
No published thoughts yet.
27 thoughts