Monday 02/February/2026 – 11:15 PM

















Dar Al-Walaa for Publishing and Distribution, in cooperation with the Lines Initiative to Support Writers, presented the novel “Dead People Talking” by journalist Mohamed Farag Abu Al-Ela, as part of its recent publications. At the Cairo International Book Fair 2026, which will be held between January 21 and February 3 of this year.

A novel by journalist and writer Muhammad Faraj Abu Al-Ela at the book fair

The events of the novel take place within a rural village in Menoufia Governorate, where it begins with a search into the inheritance of the mayor’s family, to reveal a hidden secret related to the killing of Shawqi Al-Najjar forty years ago, with the truth of his murder buried in an unknown place within the village.

<strong>A novel by the journalist writer Muhammad Faraj Abu Al-Ala</strong>” width=”990″ height=”1400″/><figcaption><strong>A novel by journalist and writer Muhammad Faraj Abu Al-Ela </strong></figcaption></figure>
<p>Regarding the focus of the novel, journalist Mohamed Faraj Abu Al-Ela explained that the character “Hassan”, the mayor’s nephew, finds himself facing mysterious facts full of betrayal and silence that dominate the lives of the village people. His conflicts arise when he is determined to uncover the truth behind his father’s death, only to discover with time that the truth was not erased, but rather remained engraved as a silent witness within the walls of the shrine, waiting for someone to decipher it.</p>
<p>Abu Al-Ela added that Hassan, with the help of his comrades, discovers secrets and plans that span several generations, while facing a powerful regime that fears the truth will be revealed. He stressed that the novel was inspired by realistic events, noting that it is not only limited to the search for the culprit behind a murder, but also delves into the journey of searching for conscience and raising the word of truth that overwhelmed its authors until they encountered dead people who broke the silence and spoke.</p>
</p></div>
<p><script type= replaceOembeds(); function replaceOembeds() { var allEmbeds = document.getElementsByTagName("OEMBED"); while (allEmbeds.length != 0) { replaceOembedWithHtml(allEmbeds[0], extractLinkFromOembed(allEmbeds[0])); allEmbeds = document.getElementsByTagName("OEMBED"); } runYoutubeLazyLoad(); window.onscroll = function () { loadAPI(); window.onscroll = null; } // loadfbApi(); } function replaceOembedWithHtml(element, sourceData) { if (sourceData.source.toLowerCase() === "youtube") { var html="
" + '
' + '
' + '
' + '' + '
' + '
'; replaceElementWithHtml(element, html); } else if (sourceData.source.toLowerCase() === "instagram") { var html="
'; replaceElementWithHtml(element, html); } else if (sourceData.source.toLowerCase() === "twitter") { var html="
'; replaceElementWithHtml(element, html); } else if (sourceData.source.toLowerCase() === "facebook") { var html="
' replaceElementWithHtml(element, html); } else { replaceElementWithHtml(element, ""); } } function extractLinkFromOembed(element) { return getUrlSource(element.getAttribute("url")); } function getUrlSource(url) { var ytRegex = /http(?:s?):\/\/(?:www\.)?youtu(?:be\.com\/watch\?v=|\.be\/)([\w\-\_]*)(&(amp;)?‌​[\w\?‌​=]*)?/; var instaRegex = /(https?:\/\/www\.)?instagram\.com(\/p\/(\w+)\/?)/; var twitterRegex = /twitter\.com\/.*\/status(?:es)?\/([^\/\?]+)/; var fbRegex = /^https?:\/\/www\.facebook\.com.*\/(video(s)?|watch|story|posts)(\.php?|\/).+$/; if (ytRegex.test(url)) { return { source: "Youtube", url: url, id: ytRegex.exec(url)[1] }; } if (instaRegex.test(url)) { return { source: "Instagram", url: url, id: instaRegex.exec(url)[3] }; } if (twitterRegex.test(url)) { return { source: "Twitter", url: url, id: twitterRegex.exec(url)[1] }; } if (fbRegex.test(url)) { return { source: "Facebook", url: url, id: fbRegex.exec(url)[1] }; } return { source: "Unknown", url: url, id: "" }; } function replaceElementWithHtml(element, html) { var str = html; var Obj = element; //any element to be fully replaced if (Obj.outerHTML) { //if outerHTML is supported Obj.outerHTML = str; ///it's simple replacement of whole element with contents of str var } else { //if outerHTML is not supported, there is a weird but crossbrowsered trick var tmpObj = document.createElement("div"); tmpObj.innerHTML = ''; ObjParent = Obj.parentNode; //Okey, element should be parented ObjParent.replaceChild(tmpObj, Obj); //here we placing our temporary data instead of our target, so we can find it then and replace it into whatever we want to replace to ObjParent.innerHTML = ObjParent.innerHTML.replace('
', str); } } function loadfbApi() { var js = document.createElement('script'); js.src="https://connect.facebook.net/en_US/sdk.js#xfbml=1&version=v3.2"; document.body.appendChild(js); } function runYoutubeLazyLoad() { /// youtube lazyload var youtube = document.querySelectorAll(".youtube"); for (var i = 0; i < youtube.length; i++) { var source = "https://img.youtube.com/vi/" + youtube[i].dataset.embed + "/0.jpg"; var image = new Image(); image.src = "/themes/cairo2/assets/images/no.jpg"; image.classList.add('lazyload'); image.setAttribute("data-src", source); image.setAttribute("alt", "youtube"); image.addEventListener("load", function () { youtube[i].appendChild(image); }(i)); youtube[i].addEventListener("click", function () { var iframe = document.createElement("iframe"); iframe.setAttribute("frameborder", "0"); iframe.setAttribute("allowfullscreen", ""); iframe.setAttribute("src", "https://www.youtube.com/embed/" + this.dataset .embed + "?rel=0&showinfo=0&autoplay=1"); this.innerHTML = ""; this.appendChild(iframe); }); }; }

LEAVE A REPLY

Please enter your comment!
Please enter your name here