<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Khaled Alam Blog</title><description>Software engineering, PHP internals, AI, and side projects by Khaled Alam.</description><link>https://blog.khaledalam.net/</link><language>en</language><item><title>Contributing to PHP Core: Fixing a NAN Reflection Bug</title><link>https://blog.khaledalam.net/contributing-to-php-core/</link><guid isPermaLink="true">https://blog.khaledalam.net/contributing-to-php-core/</guid><description>Contributing to PHP core is more approachable than you think — here is how I fixed a Reflection NAN warning and merged the PR into PHP 8.5.</description><pubDate>Fri, 17 Jul 2026 12:02:28 GMT</pubDate></item><item><title>Avatoon: 3D Talking Avatar with Lip-Sync in React</title><link>https://blog.khaledalam.net/avatoon-3d-talking-avatar-lip-sync-react/</link><guid isPermaLink="true">https://blog.khaledalam.net/avatoon-3d-talking-avatar-lip-sync-react/</guid><description>Avatoon is a free React component for a 3D talking avatar with real-time lip-sync on web and React Native. Learn what it is and how it works.</description><pubDate>Thu, 16 Jul 2026 10:55:44 GMT</pubDate></item><item><title>Semantic Search from Scratch: Build Search That Understands Meaning</title><link>https://blog.khaledalam.net/semantic-search-from-scratch/</link><guid isPermaLink="true">https://blog.khaledalam.net/semantic-search-from-scratch/</guid><description>Learn semantic search from scratch in Python — embeddings, cosine similarity, a working example, and how to scale it with a vector database.</description><pubDate>Tue, 14 Jul 2026 20:30:37 GMT</pubDate></item><item><title>PR #20902 Merged into PHP Core: ReflectionConstant::inNamespace()</title><link>https://blog.khaledalam.net/pr-20902-merged-into-php-core-reflectionconstantinnamespace/</link><guid isPermaLink="true">https://blog.khaledalam.net/pr-20902-merged-into-php-core-reflectionconstantinnamespace/</guid><description>My PR #20902 added ReflectionConstant::inNamespace() to PHP core, aligning the Reflection API so constants match classes and functions.</description><pubDate>Tue, 17 Feb 2026 05:50:12 GMT</pubDate></item><item><title>Packing List Generator (Travel / Work / Gym)</title><link>https://blog.khaledalam.net/packing-list-generator/</link><guid isPermaLink="true">https://blog.khaledalam.net/packing-list-generator/</guid><description>A packing list generator app with ready templates for travel, work, and gym. Build checklists, tick items off as you pack, and work fully offline.</description><pubDate>Fri, 02 Jan 2026 20:26:28 GMT</pubDate></item><item><title>From Prompt Engineers to “Brain Data Trainers”: The Rise of EEG/fMRI Slaves</title><link>https://blog.khaledalam.net/from-prompt-engineers-to-brain-data-trainers-the-rise-of-eeg-fmri-slaves/</link><guid isPermaLink="true">https://blog.khaledalam.net/from-prompt-engineers-to-brain-data-trainers-the-rise-of-eeg-fmri-slaves/</guid><description>From prompt engineers to brain data trainers: why EEG and fMRI recordings are becoming the next frontier of AI training data, and what it costs.</description><pubDate>Sun, 05 Oct 2025 08:12:44 GMT</pubDate></item><item><title>Beware of Fake Coding Interviews: How Crypto Wallet Scammers Target Developers</title><link>https://blog.khaledalam.net/beware-of-fake-coding-interviews-how-crypto-wallet-scammers-target-developers/</link><guid isPermaLink="true">https://blog.khaledalam.net/beware-of-fake-coding-interviews-how-crypto-wallet-scammers-target-developers/</guid><description>Fake coding interviews are targeting developers with crypto wallet tasks. Here are the red flags I saw twice and how to protect your wallet.</description><pubDate>Thu, 02 Oct 2025 08:29:40 GMT</pubDate></item><item><title>Devbox: Reproducible Development Environments Made Simple</title><link>https://blog.khaledalam.net/devbox-reproducible-development-environments-made-simple/</link><guid isPermaLink="true">https://blog.khaledalam.net/devbox-reproducible-development-environments-made-simple/</guid><description>Devbox uses Nix hashing to give your team reproducible development environments from one devbox.json file, with no global installs and no drift.</description><pubDate>Wed, 17 Sep 2025 04:29:33 GMT</pubDate></item><item><title>The Hidden Clock: When Code Leaks Secrets</title><link>https://blog.khaledalam.net/the-hidden-clock-when-code-leaks-secrets/</link><guid isPermaLink="true">https://blog.khaledalam.net/the-hidden-clock-when-code-leaks-secrets/</guid><description>A timing attack on your Forgot Password flow can reveal which emails exist. See how response delays leak data and how to reply in constant time.</description><pubDate>Thu, 07 Aug 2025 06:13:02 GMT</pubDate></item><item><title>تأخير TLS: الميلي ثانية اللي بتبطّأ موقعك من غير ما تحس</title><link>https://blog.khaledalam.net/%d8%aa%d8%a3%d8%ae%d9%8a%d8%b1-tls-%d8%a7%d9%84%d9%85%d9%8a%d9%84%d9%8a-%d8%ab%d8%a7%d9%86%d9%8a%d8%a9-%d8%a7%d9%84%d9%84%d9%8a-%d8%a8%d8%aa%d8%a8%d8%b7%d9%91%d8%a3-%d9%85%d9%88%d9%82%d8%b9%d9%83/</link><guid isPermaLink="true">https://blog.khaledalam.net/%d8%aa%d8%a3%d8%ae%d9%8a%d8%b1-tls-%d8%a7%d9%84%d9%85%d9%8a%d9%84%d9%8a-%d8%ab%d8%a7%d9%86%d9%8a%d8%a9-%d8%a7%d9%84%d9%84%d9%8a-%d8%a8%d8%aa%d8%a8%d8%b7%d9%91%d8%a3-%d9%85%d9%88%d9%82%d8%b9%d9%83/</guid><description>تأخير TLS ممكن يزود وقت كل اتصال جديد 350-500 ميلي ثانية. اعرف يعني إيه مصافحة TLS وإزاي تقللها وتسرّع موقعك من غير ما تغير الكود.</description><pubDate>Tue, 29 Jul 2025 05:49:18 GMT</pubDate></item><item><title>[PHP-DEV] [RFC Idea] Proposal: Loop Unrolling in Userland via #[Unroll(N)] Attribute</title><link>https://blog.khaledalam.net/php-dev-rfc-idea-proposal-loop-unrolling-in-userland-via-unrolln-attribute/</link><guid isPermaLink="true">https://blog.khaledalam.net/php-dev-rfc-idea-proposal-loop-unrolling-in-userland-via-unrolln-attribute/</guid><description>PHP loop unrolling from userland: an early RFC idea for an #[Unroll(N)] attribute that lets the compiler expand hot loops at compile time.</description><pubDate>Mon, 07 Jul 2025 05:58:15 GMT</pubDate></item><item><title>How I Built and Published SoftCropper – A Python Tool to Automate Image Prep for CanvasMagnet</title><link>https://blog.khaledalam.net/softcropper-python-image-blur-tool/</link><guid isPermaLink="true">https://blog.khaledalam.net/softcropper-python-image-blur-tool/</guid><description>SoftCropper is a Python tool to resize and blur images for print. It squares photos and adds soft blurred borders with OpenCV. Open source CLI.</description><pubDate>Thu, 08 May 2025 02:57:15 GMT</pubDate></item><item><title>How I Added Token &amp;amp; LLM Cost Estimation to the Indexing Pipeline of Microsoft GraphRAG</title><link>https://blog.khaledalam.net/how-i-added-token-llm-cost-estimation-to-the-indexing-pipeline-of-microsoft-graphrag/</link><guid isPermaLink="true">https://blog.khaledalam.net/how-i-added-token-llm-cost-estimation-to-the-indexing-pipeline-of-microsoft-graphrag/</guid><description>LLM token cost estimation for GraphRAG: how I added a feature to preview token usage and projected OpenAI costs before indexing large datasets.</description><pubDate>Tue, 06 May 2025 19:03:30 GMT</pubDate></item><item><title>How I’m Shaping the Future of Makyee Through Collaboration and User Engagement</title><link>https://blog.khaledalam.net/how-im-shaping-the-future-of-makyee-through-collaboration-and-user-engagement/</link><guid isPermaLink="true">https://blog.khaledalam.net/how-im-shaping-the-future-of-makyee-through-collaboration-and-user-engagement/</guid><description>User-driven product design in practice: how I let Makyee users vote between two designs and turned their feedback into the feature we shipped.</description><pubDate>Tue, 28 Jan 2025 11:52:20 GMT</pubDate></item><item><title>How to Hire Developers: Lessons from My Journey in Dubai</title><link>https://blog.khaledalam.net/how-to-hire-developers-lessons-from-my-journey-in-dubai/</link><guid isPermaLink="true">https://blog.khaledalam.net/how-to-hire-developers-lessons-from-my-journey-in-dubai/</guid><description>How to hire developers: what I learned from Amazon&apos;s process, running technical assignments, and interviewing engineers as a manager in Dubai.</description><pubDate>Tue, 21 Jan 2025 17:23:36 GMT</pubDate></item><item><title>Makyee’s First Contest: Building Community and Achieving Success</title><link>https://blog.khaledalam.net/makyees-first-contest-building-community-and-achieving-success/</link><guid isPermaLink="true">https://blog.khaledalam.net/makyees-first-contest-building-community-and-achieving-success/</guid><description>The first Makyee community contest, plus new WhatsApp and Telegram channels, grew engagement and brought the platform closer to its audience.</description><pubDate>Fri, 17 Jan 2025 07:24:28 GMT</pubDate></item><item><title>توثيق رحلتي مع ماكي: دروس تعليمية باللغة العربية لتحقيق التميز في العقارات (Makyee)</title><link>https://blog.khaledalam.net/%d8%aa%d9%88%d8%ab%d9%8a%d9%82-%d8%b1%d8%ad%d9%84%d8%aa%d9%8a-%d9%85%d8%b9-%d9%85%d8%a7%d9%83%d9%8a-%d8%af%d8%b1%d9%88%d8%b3-%d8%aa%d8%b9%d9%84%d9%8a%d9%85%d9%8a%d8%a9-%d8%a8%d8%a7%d9%84%d9%84%d8%ba/</link><guid isPermaLink="true">https://blog.khaledalam.net/%d8%aa%d9%88%d8%ab%d9%8a%d9%82-%d8%b1%d8%ad%d9%84%d8%aa%d9%8a-%d9%85%d8%b9-%d9%85%d8%a7%d9%83%d9%8a-%d8%af%d8%b1%d9%88%d8%b3-%d8%aa%d8%b9%d9%84%d9%8a%d9%85%d9%8a%d8%a9-%d8%a8%d8%a7%d9%84%d9%84%d8%ba/</guid><description>سلسلة دروس ماكي التعليمية باللغة العربية تشرح مزايا المنصة واستراتيجيات المحترفين في السوق العقاري الأساسي والثانوي خطوة بخطوة.</description><pubDate>Sat, 04 Jan 2025 21:29:13 GMT</pubDate></item><item><title>Behind Makyee: My Journey as CTO in Revolutionizing Real Estate Technology</title><link>https://blog.khaledalam.net/behind-makyee-my-journey-as-cto-in-revolutionizing-real-estate-technology/</link><guid isPermaLink="true">https://blog.khaledalam.net/behind-makyee-my-journey-as-cto-in-revolutionizing-real-estate-technology/</guid><description>My journey as a real estate technology CTO at Makyee: leading the tech team and building a broker-free property platform for Dubai&apos;s market.</description><pubDate>Sun, 22 Dec 2024 22:10:12 GMT</pubDate></item><item><title>Transform Your Photos with ArtifyMaster’s Swap Face Feature</title><link>https://blog.khaledalam.net/transform-your-photos-with-artifymasters-swap-face-feature/</link><guid isPermaLink="true">https://blog.khaledalam.net/transform-your-photos-with-artifymasters-swap-face-feature/</guid><description>How ArtifyMaster&apos;s AI face swap feature works, what makes its results stand out, and how to use it for social, marketing, and creative projects.</description><pubDate>Sat, 05 Oct 2024 11:52:07 GMT</pubDate></item><item><title>ArtifyMaster vs. ChatGPT: Why My AI Tool Outshines the Competition</title><link>https://blog.khaledalam.net/artifymaster-vs-chatgpt-why-my-ai-tool-outshines-the-competition/</link><guid isPermaLink="true">https://blog.khaledalam.net/artifymaster-vs-chatgpt-why-my-ai-tool-outshines-the-competition/</guid><description>ArtifyMaster vs ChatGPT: a real comparison on removing backgrounds and watermarks, and why a purpose-built AI image editor wins on these tasks.</description><pubDate>Thu, 03 Oct 2024 21:43:53 GMT</pubDate></item><item><title>I Designed A Tiny Hardware Microcontroller Automation Project That Saved Me +60 Hours / Per Week</title><link>https://blog.khaledalam.net/hardware-microcontroller-automation/</link><guid isPermaLink="true">https://blog.khaledalam.net/hardware-microcontroller-automation/</guid><description>A tiny hardware microcontroller automation project, with my algorithm flashed onto its memory, saved me over 60 hours per week. Here is the story.</description><pubDate>Thu, 30 May 2024 17:17:35 GMT</pubDate></item><item><title>CloudyInputs | SaaS for Auto words and sentences prediction using AI and Drafting users&apos; inputs</title><link>https://blog.khaledalam.net/cloudyinputs-saas-for-auto-words-and-sentences-prediction-using-ai-and-drafting-users-inputs/</link><guid isPermaLink="true">https://blog.khaledalam.net/cloudyinputs-saas-for-auto-words-and-sentences-prediction-using-ai-and-drafting-users-inputs/</guid><description>CloudyInputs adds AI form autocomplete and sentence prediction to web forms, saves user input instantly, and gives you a dashboard of insights.</description><pubDate>Fri, 15 Mar 2024 17:11:29 GMT</pubDate></item><item><title>whereisdep a C++ CLI application to search package.json dependencies in given directories</title><link>https://blog.khaledalam.net/whereisdep-a-c-cli-application-to-search-package-json-dependencies-in-given-directories/</link><guid isPermaLink="true">https://blog.khaledalam.net/whereisdep-a-c-cli-application-to-search-package-json-dependencies-in-given-directories/</guid><description>whereisdep is a C++ CLI tool that finds unused package.json dependencies across directories, so you can trim bundle size and speed up loading.</description><pubDate>Tue, 23 Jan 2024 01:37:26 GMT</pubDate></item><item><title>When SSR Meets Vercel Limits: Solving 15s Timeout on Serverless APIs</title><link>https://blog.khaledalam.net/set-maxduration-of-vercel-serverless-functions-execution-duration-limit/</link><guid isPermaLink="true">https://blog.khaledalam.net/set-maxduration-of-vercel-serverless-functions-execution-duration-limit/</guid><description>Fix Vercel serverless function timeout and 504 errors by setting maxDuration in vercel.json. Pro allows up to 300 seconds, Hobby only 10.</description><pubDate>Tue, 12 Dec 2023 20:08:35 GMT</pubDate></item><item><title>Released My First Hardware Product | IR LED Sensor</title><link>https://blog.khaledalam.net/ir-led-sensor/</link><guid isPermaLink="true">https://blog.khaledalam.net/ir-led-sensor/</guid><description>I built a low-budget IR LED sensor that detects infrared from any remote control at over 5 meters. Here is how the 3x3cm circuit works.</description><pubDate>Thu, 16 Nov 2023 02:55:28 GMT</pubDate></item><item><title>Get Live Real-time Price Of Gold in Grams In Google Sheets For Free</title><link>https://blog.khaledalam.net/get-live-real-time-price-of-gold-in-grams-in-google-sheets-for-free/</link><guid isPermaLink="true">https://blog.khaledalam.net/get-live-real-time-price-of-gold-in-grams-in-google-sheets-for-free/</guid><description>Get the live gold price in Google Sheets for free with a short Apps Script function. Fetch real-time gram rates and refresh the cell automatically.</description><pubDate>Sun, 29 Oct 2023 20:50:14 GMT</pubDate></item><item><title>Bug in iPhone “General&quot; settings page title</title><link>https://blog.khaledalam.net/bug-in-iphone-general-settings-page-title/</link><guid isPermaLink="true">https://blog.khaledalam.net/bug-in-iphone-general-settings-page-title/</guid><description>An iPhone General settings bug shows the wrong page title and a dead Select button after navigating back from Review My Videos. Steps to reproduce.</description><pubDate>Sun, 08 Oct 2023 20:47:41 GMT</pubDate></item><item><title>LinkNexa - Paste your frequent forms inputs with only 1-click</title><link>https://blog.khaledalam.net/linknexa/</link><guid isPermaLink="true">https://blog.khaledalam.net/linknexa/</guid><description>LinkNexa is a Chrome extension that saves your frequent form inputs in folders and pastes them into any field with one click. Save time on forms.</description><pubDate>Mon, 18 Sep 2023 21:29:02 GMT</pubDate></item><item><title>Random Quotes Mobile Application</title><link>https://blog.khaledalam.net/random-quotes-mobile-application/</link><guid isPermaLink="true">https://blog.khaledalam.net/random-quotes-mobile-application/</guid><description>A simple random quotes app for Android. Pick how many daily quotes to fetch and let positive, inspirational quotes guide your day. Free on Google Play.</description><pubDate>Thu, 31 Aug 2023 18:30:52 GMT</pubDate></item><item><title>PHP Closure Recursive Functions - Variable Scope</title><link>https://blog.khaledalam.net/php-closure-recursive-functions-variable-scope/</link><guid isPermaLink="true">https://blog.khaledalam.net/php-closure-recursive-functions-variable-scope/</guid><description>A PHP closure recursive function fails unless you bind the variable by reference. Here is the error, why it happens, and the one-character fix.</description><pubDate>Thu, 31 Aug 2023 08:40:24 GMT</pubDate></item></channel></rss>