<?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: so1</title>
    <description>The latest articles on DEV Community by so1 (@da1).</description>
    <link>https://dev.to/da1</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%2F3956838%2F5619aa0c-207d-4f3e-9157-1463f1f61d83.jpg</url>
      <title>DEV Community: so1</title>
      <link>https://dev.to/da1</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/da1"/>
    <language>en</language>
    <item>
      <title>We made an open-source DICOM viewer HIPAA-compliant — here's how</title>
      <dc:creator>so1</dc:creator>
      <pubDate>Thu, 28 May 2026 16:17:23 +0000</pubDate>
      <link>https://dev.to/da1/we-made-an-open-source-dicom-viewer-hipaa-compliant-heres-how-2bc6</link>
      <guid>https://dev.to/da1/we-made-an-open-source-dicom-viewer-hipaa-compliant-heres-how-2bc6</guid>
      <description>&lt;p&gt;Body:                                                                                                                                                                                                             &lt;/p&gt;

&lt;p&gt;Open-source medical imaging tools have zero security. No access control, no audit logs, no encryption at rest.                                                                                                    &lt;/p&gt;

&lt;p&gt;HIPAA Vault adds a compliance layer to OHIF Viewer: AES-256-GCM encryption, RBAC access control, full audit trail, BAA-ready logging, and PHI auto-masking.                                                       &lt;/p&gt;

&lt;p&gt;┌────────────────┬───────────┬─────────────┐&lt;br&gt;&lt;br&gt;
│ Capability     │ Before    │ After       │&lt;br&gt;&lt;br&gt;
├────────────────┼───────────┼─────────────┤&lt;br&gt;&lt;br&gt;
│ Encryption     │ None      │ AES-256-GCM │&lt;br&gt;&lt;br&gt;
├────────────────┼───────────┼─────────────┤&lt;br&gt;&lt;br&gt;
│ Access control │ None      │ RBAC        │&lt;br&gt;&lt;br&gt;
├────────────────┼───────────┼─────────────┤&lt;br&gt;&lt;br&gt;
│ Audit          │ None      │ Full trail  │&lt;br&gt;&lt;br&gt;
├────────────────┼───────────┼─────────────┤&lt;br&gt;&lt;br&gt;
│ BAA            │ Not ready │ Documented  │&lt;br&gt;&lt;br&gt;
└────────────────┴───────────┴─────────────┘                                                                                                                                                                      &lt;/p&gt;

&lt;p&gt;25 encryption tests passing. MIT licensed.                                                                                                                                                                        &lt;/p&gt;

&lt;p&gt;Contact: &lt;a href="mailto:16208204@qq.com"&gt;16208204@qq.com&lt;/a&gt;  &lt;/p&gt;

</description>
      <category>healthcare</category>
      <category>opensource</category>
      <category>security</category>
      <category>dicom</category>
    </item>
    <item>
      <title>We built an AI memory system that evolves itself — here's why MemOS should be worried</title>
      <dc:creator>so1</dc:creator>
      <pubDate>Thu, 28 May 2026 16:16:07 +0000</pubDate>
      <link>https://dev.to/da1/we-built-an-ai-memory-system-that-evolves-itself-heres-why-memos-should-be-worried-4o69</link>
      <guid>https://dev.to/da1/we-built-an-ai-memory-system-that-evolves-itself-heres-why-memos-should-be-worried-4o69</guid>
      <description>&lt;p&gt;Body:                                                                                                                                                                                                             &lt;/p&gt;

&lt;p&gt;EdgeMem SDK v5 does three things no other open-source memory system does:                                                                                                                                         &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Self-Evolving Memory (L1→L2) — 3+ fragments on same topic → auto-consolidated into insight
&lt;/li&gt;
&lt;li&gt;Memory Correction with Audit Trail — Fix a memory, original preserved, correction logged
&lt;/li&gt;
&lt;li&gt;Cross-Task Skill Reuse — Patterns crystallize into reusable skills automatically
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;┌───────────────────┬─────────┬────────────┐&lt;br&gt;&lt;br&gt;
│ Feature           │ MemOS   │ EdgeMem v5 │&lt;br&gt;&lt;br&gt;
├───────────────────┼─────────┼────────────┤&lt;br&gt;&lt;br&gt;
│ Self-evolving     │ ✅      │ ✅         │&lt;br&gt;&lt;br&gt;
├───────────────────┼─────────┼────────────┤&lt;br&gt;&lt;br&gt;
│ Memory correction │ ❌      │ ✅         │&lt;br&gt;&lt;br&gt;
├───────────────────┼─────────┼────────────┤&lt;br&gt;&lt;br&gt;
│ Full audit trail  │ ❌      │ ✅         │&lt;br&gt;&lt;br&gt;
├───────────────────┼─────────┼────────────┤&lt;br&gt;&lt;br&gt;
│ Local-first       │ Partial │ ✅ Full    │&lt;br&gt;&lt;br&gt;
├───────────────────┼─────────┼────────────┤&lt;br&gt;&lt;br&gt;
│ License           │ Custom  │ MIT        │&lt;br&gt;&lt;br&gt;
└───────────────────┴─────────┴────────────┘                                                                                                                                                                      &lt;/p&gt;

&lt;p&gt;Contact: &lt;a href="mailto:16208204@qq.com"&gt;16208204@qq.com&lt;/a&gt;                      &lt;/p&gt;

</description>
      <category>aimemory</category>
      <category>opensource</category>
      <category>machinelearning</category>
      <category>agents</category>
    </item>
    <item>
      <title>We patched Chromium with 49 C++ hooks to beat Cloudflare — here's how BrowserHand works</title>
      <dc:creator>so1</dc:creator>
      <pubDate>Thu, 28 May 2026 16:06:55 +0000</pubDate>
      <link>https://dev.to/da1/we-patched-chromium-with-49-c-hooks-to-beat-cloudflare-heres-how-browserhand-works-4p15</link>
      <guid>https://dev.to/da1/we-patched-chromium-with-49-c-hooks-to-beat-cloudflare-heres-how-browserhand-works-4p15</guid>
      <description>&lt;p&gt;Body:                                                                                                                                                                                                             &lt;/p&gt;

&lt;p&gt;Every web scraper hits the same wall: Cloudflare.                                                                                                                                                                 &lt;/p&gt;

&lt;p&gt;You rotate IPs. You spoof headers. You use Playwright's stealth plugin. And Cloudflare still blocks you — because it checks things no JavaScript library can fake: WebGL renderer fingerprint, font enumeration,&lt;br&gt;&lt;br&gt;
audio context, hardware concurrency, Canvas2D image data, WebRTC local IPs, and more.                                                                                                                             &lt;/p&gt;

&lt;p&gt;BrowserHand takes a different approach — C++ hooks at the Chromium binary level.                                                                                                                                  &lt;/p&gt;

&lt;p&gt;Instead of patching JavaScript objects at runtime (which Cloudflare can detect), we patched the browser engine itself. 49 hooks across 12 subsystems:                                                             &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;GPU: Forced WebGL vendor/renderer strings at the driver layer
&lt;/li&gt;
&lt;li&gt;Fonts: Controlled which system fonts the browser exposes
&lt;/li&gt;
&lt;li&gt;Audio: Faked audio context fingerprint at the OS level
&lt;/li&gt;
&lt;li&gt;Network: Spoofed WebRTC IPs before the JS runtime could read them
&lt;/li&gt;
&lt;li&gt;Canvas: Injected noise into Canvas2D/SVG fingerprinting reads
&lt;/li&gt;
&lt;li&gt;Timing: Normalized JS timer precision to match real hardware profiles
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The result: same browser, same IP, same everything — but the fingerprint looks like a real Windows/Chrome user in Dallas, Texas.                                                                                  &lt;/p&gt;

&lt;p&gt;After 6 months of production use across 200+ sites:                                                                                                                                                               &lt;/p&gt;

&lt;p&gt;┌──────────────────────────┬─────────────────────────────┬─────────────────────┐&lt;br&gt;&lt;br&gt;
│ Metric                   │ Before (Playwright stealth) │ After (BrowserHand) │&lt;br&gt;&lt;br&gt;
├──────────────────────────┼─────────────────────────────┼─────────────────────┤&lt;br&gt;&lt;br&gt;
│ Cloudflare bypass rate   │ 34%                         │ 92%                 │&lt;br&gt;&lt;br&gt;
├──────────────────────────┼─────────────────────────────┼─────────────────────┤&lt;br&gt;&lt;br&gt;
│ reCAPTCHA v3 pass rate   │ 28%                         │ 87%                 │&lt;br&gt;&lt;br&gt;
├──────────────────────────┼─────────────────────────────┼─────────────────────┤&lt;br&gt;&lt;br&gt;
│ Average session lifetime │ 12 min                      │ 4+ hours            │&lt;br&gt;&lt;br&gt;
├──────────────────────────┼─────────────────────────────┼─────────────────────┤&lt;br&gt;&lt;br&gt;
│ Detection rate           │ 66% flagged                 │ &amp;lt;8% flagged         │&lt;br&gt;&lt;br&gt;
└──────────────────────────┴─────────────────────────────┴─────────────────────┘                                                                                                                                  &lt;/p&gt;

&lt;p&gt;It's not a SaaS. It's a Go binary you run locally. No cloud dependency, no logs leaving your machine.                                                                                                             &lt;/p&gt;

&lt;p&gt;If you're fighting Cloudflare, reCAPTCHA, or any bot detection system — the approach matters more than the tool. Binary-level patching beats JS-level stealth every time.                                         &lt;/p&gt;

&lt;p&gt;For implementation details and licensing: &lt;a href="mailto:16208204@qq.com"&gt;16208204@qq.com&lt;/a&gt;      &lt;/p&gt;

</description>
      <category>automation</category>
      <category>cpp</category>
      <category>security</category>
      <category>webscraping</category>
    </item>
    <item>
      <title>How We Replaced Claude with DeepSeek in a Popular AI Infrastructure Project — and Cut Costs by 97%</title>
      <dc:creator>so1</dc:creator>
      <pubDate>Thu, 28 May 2026 15:37:30 +0000</pubDate>
      <link>https://dev.to/da1/how-we-replaced-claude-with-deepseek-in-a-popular-ai-infrastructure-project-and-cut-costs-by-97-44m7</link>
      <guid>https://dev.to/da1/how-we-replaced-claude-with-deepseek-in-a-popular-ai-infrastructure-project-and-cut-costs-by-97-44m7</guid>
      <description>&lt;p&gt;Body:                                                                                                                                                                                                             &lt;/p&gt;

&lt;p&gt;There's a popular open-source project called Personal AI Infrastructure (PAI). Great concept — Life OS, Pulse dashboard, 171 workflows. But it has one critical flaw: hardcoded to Claude only.                   &lt;/p&gt;

&lt;p&gt;No other models. No choice. If Claude's down or too expensive, you're stuck.                                                                                                                                      &lt;/p&gt;

&lt;p&gt;We forked it and swapped the model layer with our 9router Gateway. Here's what changed:                                                                                                                           &lt;/p&gt;

&lt;p&gt;Before:                                                                                                                                                                                                           &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Only Claude Code CLI ($15 per 1M tokens)
&lt;/li&gt;
&lt;li&gt;No audit logging
&lt;/li&gt;
&lt;li&gt;No rate limiting
&lt;/li&gt;
&lt;li&gt;Vendor locked
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;After:                                                                                                                                                                                                            &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;DeepSeek ($0.50 per 1M tokens — that's 97% less)
&lt;/li&gt;
&lt;li&gt;OpenAI fallback option
&lt;/li&gt;
&lt;li&gt;Full audit trail on every API call
&lt;/li&gt;
&lt;li&gt;Rate limiting built in
&lt;/li&gt;
&lt;li&gt;Provider switchable at runtime
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The transformation took one evening. The gateway module is clean — about 100 lines of core logic. Audit log, rate limits, multi-provider support all built in.                                                    &lt;/p&gt;

&lt;p&gt;What the end customer gets:                                                                                                                                                                                       &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Choose their own model provider
&lt;/li&gt;
&lt;li&gt;97% cost reduction if they pick DeepSeek
&lt;/li&gt;
&lt;li&gt;Full audit compliance for enterprise use
&lt;/li&gt;
&lt;li&gt;No vendor lock-in
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If you're running PAI or thinking about it — you don't have to be stuck on one model.                                                                                                                             &lt;/p&gt;

&lt;p&gt;For the full transformation guide and commercial inquiries:&lt;a href="mailto:16208204@qq.com"&gt;16208204@qq.com&lt;/a&gt;                                                                                  &lt;/p&gt;

&lt;h1&gt;
  
  
  opensource #AI #DeepSeek #Claude #PAI
&lt;/h1&gt;

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