Creator of #DotCommand, #DotEnvy & #DotSense | #OpenSource Developer | #AI & #VSCode Specialist

Joined January 2018
56 Photos and videos
I forgot my GPG passphrase at 11 PM. Release blocked. No recovery button. Just a cursor blinking at me. Instead of generating a new key β€” I decided to crack it. Here's what happened
1
2
The uncomfortable truth: GPG's key derivation would take ~455 years to brute-force on modern hardware. What failed wasn't the cryptography. It was the human who chose the passphrase. We all build password patterns β€” and those patterns are always the easier target.
1
Full writeup β€” forensics methodology, SQL query, bash script, and why targeted attacks beat brute force every time: dev.to β†’ dev.to/freerave/how-i-hacked… Hashnode β†’ freerave.hashnode.dev/how-i-…
I just shipped DotShare v3.4.0 It has a code screenshot tool built directly inside VS Code β€” no Carbon, no Ray.so, no tab switching. Select code β†’ Snap β†’ pick platform β†’ composer opens with image attached. Zero native deps. Thread
1
9
The full workflow: 1) Select code in editor 2) Right-click β†’ DotShare: CodeSnap 3) Adjust theme, size, padding 4) Share β†’ pick platform 5) Composer opens with image attached 6) Write caption β†’ post Or hit "πŸ“Έ Add CodeSnap" from inside the Composer.
1
6
Lost 2,800 words of a Dev.to article to a VS Code WebView reset. Wrote for 2 hours. Switched tabs. Came back to an empty form. So I built a proper drafts system. Here's what I shipped in DotShare v3.2.5 The problem with WebViews: they're iframes. They suspend when hidden. They wipe on restart. Any state you haven't explicitly saved is gone the moment you look away. For a tweet that's annoying. For a 3,000-word article β€” it's devastating. The fix: one Draft interface covering everything. Social posts. Blog articles. Dev.to drafts pulled from the API. All the same type, all resumable with one click. No two separate systems. No branching logic. One union type does the job. The part I'm most proud of: Two-Way Sync. Loading a draft rewrites BOTH the WebView form AND the active .md editor file simultaneously. One click. Two surfaces. Always identical. Never out of sync. Remote drafts too. DotShare pulls your existing Dev.to articles from the API and shows them alongside local drafts in the same grid. Load one β†’ Two-Way Sync fires β†’ article lands in both the WebView and your Markdown editor. Also shipped: β†’ Split-Editor: opening Dev.to/Medium auto-creates dotshare-devto.md beside the panel β†’ Reset Boilerplate button: one click back to clean state β†’ Upsert saves: no duplicates no matter how many times you hit save All in v3.2.5 "Nexus" Watch it in action πŸ‘‡ youtube.com/watch?v=AIb4Ye9P… Here is the deep dive into the Two-Way Sync and UI code: Read Part 2 here: dev.to/freerave/building-a-u… (If you missed it, Part 1 on Types & Storage is here: dev.to/freerave/building-a-u… ) Install free on VS Code: marketplace.visualstudio.com… VSCodium / Open VSX: open-vsx.org/extension/freer… Source: github.com/kareem2099/DotSha… #VSCodeExtensions #DotShare #VSCode #OpenSource #FreeRave
18
🚨 Vercel confirmed a security breach today. GitHub tokens. NPM tokens. Internal employee systems. API keys. Thread on what happened, why it's serious, and what you need to do right now. --- 1/ First β€” what's confirmed vs claimed. βœ… Confirmed by Vercel: - Unauthorized access to internal systems - Limited subset of customers affected - Incident response team engaged - Services still operational ⚠️ Claimed (unverified): - GitHub NPM tokens stolen - ~580 employee records exposed - $2M ransom demanded --- 2/ Why Vercel specifically? Because it's a crown jewel target. It holds: β†’ Secrets for thousands of apps β†’ Deep GitHub integration β†’ NPM publish access β†’ DB credentials β†’ OAuth tokens to literally everything One breach. Thousands of blast radii. This is textbook Supply Chain Compromise. --- 3/ The misconception killing people right now: ❌ "They encrypt env vars, I'm safe." Encryption at rest β‰  access control. If the attacker has authenticated access to internal systems, the system decrypts for them on request. The encryption layer never even sees the attack. --- 4/ The Linear exposure is underrated. Vercel uses Linear internally. Alleged access means: β†’ Unpatched bug reports β†’ Architecture discussions β†’ Accidentally pasted credentials in comments β†’ Post-mortems documenting past weaknesses An issue tracker is a treasure map. --- 5/ NPM tokens are the scariest part. Publish access to any package = push malicious code to everyone downstream. npm audit won't save you here. You need to think about WHO has publish access to your deps, not just what the current code does. --- 6/ πŸ”΄ Do these RIGHT NOW: β†’ Revoke Vercel's GitHub OAuth β†’ re-authorize β†’ Rotate Upstash / Redis / DB credentials β†’ Revoke reissue NPM tokens β†’ Audit connected OAuth apps on GitHub β†’ Review recent build logs for leaked secrets --- 7/ The real lesson: If rotating your secrets takes more than 30 minutes β€” you don't have a Vercel problem. You have a resilience problem. Build rotation infrastructure BEFORE you need it. --- 8/ Wrote a full deep-dive: β†’ Full attack surface breakdown β†’ Why GitHub tokens are catastrophic β†’ NPM ecosystem risk β†’ Exact steps to take dev.to/freerave/the-vercel-b… RT if this helped someone in your timeline.
1
1
74
We hit 2,500 followers on dev.to in 15 days. The goal was April 30th. We finished April 15th. Here's the honest story behind 20 tools, a chaotic scoreboard, and why laziness is actually engineering. You didn't just follow β€” you engaged. Comments that pushed me to think harder. DMs with Easter egg screenshots from dotUniverse. Real people sharing real work. 2,631 of you did that. I don't take it lightly. The real origin story: I'm lazy. Every single tool in the DotSuite ecosystem exists because past-me refused to do something the hard way ever again. Laziness, scaled properly, is just engineering. VS Code Extensions I built out of spite: DotShare β€” post to 8 platforms at once (1,979 DLs) dotenvy β€” .env manager AI secret detection (1,130 ) dotcommand β€” command manager ML suggestions (909 ) CodeTune β€” Quran, prayer times in your editor (899 ) More VS Code tools: DotFetch β€” HTTP client with .env support (692 ) DotReadme β€” README quality auditor, A to F (515 ) dotsense β€” AI burnout detection wellness (129 ) Total across Marketplace Open VSX: 6,253 downloads. CLI Telegram: DotGhostBoard β€” AES-256 encrypted clipboard manager DotScramble β€” auto face/plate blur, 8 effects, Arabic RTL support DotDownloader β€” Instagram/TikTok/YouTube/Reddit/Spotify bot DotFormate β€” PDF/DOCX/PPTX conversion with OCR Mobile Apps: DotReminder β€” AI reminders, biometric auth, location-based DotBurn β€” Gym & calorie system management app DOTShredzilla β€” offline-first workout tracker, Kotlin Jetpack Compose The April scoreboard. Some of it is painful. βœ… dev.to: 2,631 / 2,500 β€” DONE πŸ’Ό LinkedIn: 396 / 500 β€” 79% 🎡 TikTok: 33 / 100 β€” 33% ▢️ YouTube: 29 / 100 β€” 29% 𝕏 Twitter: 16 / 500 β€” 3% X at 3% is basically a comedy sketch. The scoreboard stays public. What's shipping next: β†’ DotShare v3.2 β€” Reddit media uploads, S3 pipeline almost stable β†’ dotenvy β€” LLM layer for config management, full release article incoming β†’ dotUniverse Terminal 2.0 β€” piping, SSH sim, VIM-lite (Q2) β†’ dotsuite β€” full portfolio platform this year I'm self-taught. Building all of this from a small city in Egypt. Mostly at night. Mostly alone. No team, no VC, no algorithm boost. Next target: 3,000. I give it two weeks. Live portfolio: kareem2099.github.io/dotuniv… Type `ls ~/tools` in the terminal πŸ¦₯
65
1/6 I built a clipboard manager that syncs across Linux machines with zero cloud, zero server, zero plaintext on the wire. No more leaking passwords in plain SQLite. Full architecture v1.5.1 (Nexus) just dropped github.com/kareem2099/DotGho… #DotGhostBoard #GhostProtocol
1
12
6/7 The API also has a sliding window rate limiter. 3 pairing attempts per 60s per IP. Shared state protected by threading.Lock. Sounds obvious. Took a real race condition under concurrent requests to learn it the hard way. Every release artifact β€” AppImage DEB β€” is GPG-signed in CI. SHA256SUMS.txt ships with every release. A secure app with an unsigned binary is still a supply chain risk.
1
12
7/7 Known issue in v1.5.1: DEB theme inconsistency on first launch manual migration step from v1.4.x not surfaced in UI. Both fixed in v1.5.2 β€” tomorrow. I'd rather ship honest software than pretend it's perfect. Full architecture write-up is live on Dev.to! πŸ‘‡ πŸ”— dev.to/freerave/engineering-… Next: v2.0.0 Cerberus β€” a Zero-Knowledge Password Vault with pattern-based secret detection. No keywords. Pure entropy. github.com/kareem2099/DotGho… Follow @FreeRave2 for more #OpenSource Linux tools.
6