<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Adler Medrado</title>
    <description>The latest articles on DEV Community by Adler Medrado (@spacexnu).</description>
    <link>https://dev.to/spacexnu</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3148172%2Fc7e37c86-6307-4bc1-9ccb-901e3a20646c.jpeg</url>
      <title>DEV Community: Adler Medrado</title>
      <link>https://dev.to/spacexnu</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/spacexnu"/>
    <language>en</language>
    <item>
      <title>Evolving HADES</title>
      <dc:creator>Adler Medrado</dc:creator>
      <pubDate>Sat, 10 Jan 2026 02:30:41 +0000</pubDate>
      <link>https://dev.to/spacexnu/evolving-hades-4o0j</link>
      <guid>https://dev.to/spacexnu/evolving-hades-4o0j</guid>
      <description>&lt;p&gt;This post describes how HADES evolved to detect fraudulent URLs without relying on paid services.&lt;br&gt;
The focus was to strengthen detection with in-house code, local heuristics (PT/BR), and open public sources, while keeping full control of the pipeline.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://adlermedrado.com.br/posts/hades-evolution/" rel="noopener noreferrer"&gt;https://adlermedrado.com.br/posts/hades-evolution/&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>My simple cli tool for http requests</title>
      <dc:creator>Adler Medrado</dc:creator>
      <pubDate>Sat, 10 Jan 2026 02:28:53 +0000</pubDate>
      <link>https://dev.to/spacexnu/my-simple-cli-tool-for-http-requests-5406</link>
      <guid>https://dev.to/spacexnu/my-simple-cli-tool-for-http-requests-5406</guid>
      <description>&lt;p&gt;Tired of using a cannon to kill a mosquito, I switched from Postman to bash + curl for HTTP requests in integration tests. However, the scripts became repetitive, messy, and stopped scaling. To address this, I built a small CLI tool in C to perform exactly what I needed.&lt;/p&gt;

&lt;p&gt;Blog post: &lt;a href="https://adlermedrado.com.br/posts/pinga-cli-tool-for-http-requests/" rel="noopener noreferrer"&gt;https://adlermedrado.com.br/posts/pinga-cli-tool-for-http-requests/&lt;/a&gt;&lt;br&gt;
Repo: &lt;a href="https://github.com/spacexnu/pinga" rel="noopener noreferrer"&gt;https://github.com/spacexnu/pinga&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Simple tools with fewer layers and more control.&lt;/p&gt;

</description>
      <category>api</category>
      <category>c</category>
      <category>cli</category>
      <category>tooling</category>
    </item>
    <item>
      <title>Say Cheese: Catch Curious Eyes on Your Mac with a Snapshot</title>
      <dc:creator>Adler Medrado</dc:creator>
      <pubDate>Mon, 14 Jul 2025 14:36:51 +0000</pubDate>
      <link>https://dev.to/spacexnu/say-cheese-catch-curious-eyes-on-your-mac-with-a-snapshot-1k0f</link>
      <guid>https://dev.to/spacexnu/say-cheese-catch-curious-eyes-on-your-mac-with-a-snapshot-1k0f</guid>
      <description>&lt;p&gt;Ever worried someone might peek at your MacBook when you’re not around?&lt;/p&gt;

&lt;p&gt;Last Friday, I built a simple, effective, and open-source solution to deal with that — and I called it Say Cheese.&lt;/p&gt;

&lt;p&gt;Here’s the idea: if someone opens your Mac’s lid without authenticating via Touch ID, a photo is instantly taken and sent to your iPhone through iMessage. You get a live snapshot of the intruder — no fuss.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How It Works&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Under the hood, Say Cheese integrates with &lt;a href="https://objective-see.org/products/dnd.html" rel="noopener noreferrer"&gt;Do Not Disturb&lt;/a&gt;, an open-source tool from Objective-See that monitors the lid sensor on your Mac.&lt;/p&gt;

&lt;p&gt;If someone opens the lid without a valid Touch ID authentication, Do Not Disturb creates a temporary file. I hooked into that event and wrote a script that gets triggered automatically.&lt;/p&gt;

&lt;p&gt;The script runs ImageSnap, which captures an image using the Mac’s front camera. Then, it uses an AppleScript to send the photo via iMessage.&lt;/p&gt;

&lt;p&gt;So:&lt;/p&gt;

&lt;p&gt;👀 Someone opened your Mac?&lt;br&gt;
📸 Photo taken.&lt;br&gt;
📱 Snapshot lands on your phone within seconds.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Open Source and Easy to Use&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Say Cheese is available on my GitHub:&lt;br&gt;
🔗 &lt;a href="https://github.com/spacexnu/say_cheese" rel="noopener noreferrer"&gt;github.com/spacexnu/say_cheese&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Just follow the setup instructions and let it run in the background. It’s lightweight, efficient, and discreet.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;More Tools from Objective-See&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If you like this kind of approach, check out the Objective-See site. They provide several powerful open-source tools for macOS, including:&lt;/p&gt;

&lt;p&gt;🔥 LuLu (firewall)&lt;br&gt;
🎙️ OverSight (mic and webcam monitoring)&lt;br&gt;
💽 BlockBlock (persistence monitoring)&lt;br&gt;
All free. All built to protect your Mac without bloat or intrusion.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Say Cheese&lt;/strong&gt; adds one more layer to your defense strategy — a clever way to catch unauthorized access attempts, especially useful if you work in cafés, shared spaces, or open environments.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;Privacy is an attitude.&lt;/strong&gt;&lt;/em&gt;&lt;br&gt;
Sometimes, it starts with a snapshot.&lt;/p&gt;

&lt;p&gt;Originally posted at: &lt;a href="https://adlermedrado.com.br/posts/say-cheese-catch-curious-eyes/" rel="noopener noreferrer"&gt;https://adlermedrado.com.br/posts/say-cheese-catch-curious-eyes/&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Real-time Deepfakes: what if "seeing is believing" no longer means anything?</title>
      <dc:creator>Adler Medrado</dc:creator>
      <pubDate>Sat, 10 May 2025 21:50:37 +0000</pubDate>
      <link>https://dev.to/spacexnu/real-time-deepfakes-what-if-seeing-is-believing-no-longer-means-anything-2248</link>
      <guid>https://dev.to/spacexnu/real-time-deepfakes-what-if-seeing-is-believing-no-longer-means-anything-2248</guid>
      <description>&lt;p&gt;An open-source project called Deep-Live-Cam is gaining traction on GitHub — and for good reason.&lt;/p&gt;

&lt;p&gt;With just a single still image, it can mimic anyone’s face in a live video call. In real-time. Running locally. No cloud required.&lt;/p&gt;

&lt;p&gt;The implication is clear: you can no longer trust a video call at face value.&lt;/p&gt;

&lt;p&gt;So here’s the question: how do we verify identity in a world where faces can be forged on demand?&lt;/p&gt;

&lt;p&gt;While many react with fear or disbelief, I see only one viable answer: digital signatures.&lt;/p&gt;

&lt;p&gt;For years, I’ve been saying: we should encrypt everything — files, messages, infrastructure. But now, that’s not enough.&lt;/p&gt;

&lt;p&gt;We need to start signing everything.&lt;/p&gt;

&lt;p&gt;Digital signatures ensure authenticity. They prove that something really came from who claims to have sent it and hasn’t been tampered with.&lt;/p&gt;

&lt;p&gt;We already sign emails, source code, and software packages. Why not apply the same principle to real-time streams?&lt;/p&gt;

&lt;p&gt;Imagine a video call cryptographically signed with the speaker’s GPG key. Even if the face looks convincing, if the signature doesn’t verify, you know something’s off.&lt;/p&gt;

&lt;p&gt;I sign every HTML page on my personal website with my GPG key. Not because I’m paranoid — but because I believe security should be a mindset.&lt;/p&gt;

&lt;p&gt;Don’t trust. Verify.&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
