---
title: "Mahmoud Daghash (@mahmouddaghash) | Hashnode"
description: "Building Confileo — free PDF and text tools. I write about Arabic text rendering, Unicode, and the bugs that only show up in right-to-left."
url: "https://hashnode.com/@mahmouddaghash"
---

@mahmouddaghash

# Mahmoud Daghash

@mahmouddaghash · Cairo, Egypt · Joined August 2026

Building Confileo — free PDF and text tools. I write about Arabic text rendering, Unicode, and the bugs that only show up in right-to-left.

### [How to Extract Text from an Image or Scanned PDF (Arabic & English)](https://confileo-eng.hashnode.dev/how-to-extract-text-from-an-image-or-scanned-pdf-arabic-english?utm_source=hashnode&utm_medium=feed)

Got a photo of a document, a screenshot, or a scanned PDF and need the text as editable, copyable text? That's what OCR (Optical Character Recognition) does — and you can do it free in your browser, w

2 min read · [confileo-eng.hashnode.dev](https://confileo-eng.hashnode.dev/how-to-extract-text-from-an-image-or-scanned-pdf-arabic-english?utm_source=hashnode&utm_medium=feed)

[3h ago](https://hashnode.com/posts/how-to-extract-text-from-an-image-or-scanned-pdf-arabic-english/6af95883a914fc2c586c5aa7)

### [How to Protect Sensitive PDF Documents Before Sharing Them](https://confileo-eng.hashnode.dev/how-to-protect-sensitive-pdf-documents-before-sharing-them?utm_source=hashnode&utm_medium=feed)

A PDF can leak in four different ways, and each one has a different fix. A password stops a stranger from opening the file. It does nothing about a bank account number that should never have been in t

5 min read · [confileo-eng.hashnode.dev](https://confileo-eng.hashnode.dev/how-to-protect-sensitive-pdf-documents-before-sharing-them?utm_source=hashnode&utm_medium=feed)

[1d ago](https://hashnode.com/posts/how-to-protect-sensitive-pdf-documents-before-sharing-them/6af73743bc87d8b305316dbd)

### [Unix Timestamp to Excel Date: Why Serial 60 Is a Day That Never Existed](https://confileo-eng.hashnode.dev/unix-timestamp-to-excel-date-why-serial-60-is-a-day-that-never-existed?utm_source=hashnode&utm_medium=feed)

You paste 1756771200 into a spreadsheet and want to see a date. Or you export a sheet and your API receives a column of numbers like 46236.5 instead of dates. Both directions look trivial and both go

5 min read · [confileo-eng.hashnode.dev](https://confileo-eng.hashnode.dev/unix-timestamp-to-excel-date-why-serial-60-is-a-day-that-never-existed?utm_source=hashnode&utm_medium=feed)

[1d ago](https://hashnode.com/posts/unix-timestamp-to-excel-date-why-serial-60-is-a-day-that-never-existed/6af736bbbc3059303572572f)

### [The Arabic PDF bug was never in my code — it was the library version](https://confileo-eng.hashnode.dev/the-arabic-pdf-bug-was-never-in-my-code-it-was-the-library-version?utm_source=hashnode&utm_medium=feed)

I spent months writing bidi reconstruction logic for reversed Arabic text in PDF extraction. The actual fix was deleting all of it and upgrading two dependencies. Here is how to tell which one is lying to you.

6 min read · [confileo-eng.hashnode.dev](https://confileo-eng.hashnode.dev/the-arabic-pdf-bug-was-never-in-my-code-it-was-the-library-version?utm_source=hashnode&utm_medium=feed)

[Sep 1](https://hashnode.com/posts/the-arabic-pdf-bug-was-never-in-my-code-it-was-the-library-version/6a96eb4843ef22f15e185402)
