<?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: Eth3rnit3</title>
    <description>The latest articles on DEV Community by Eth3rnit3 (@eth3rnit3).</description>
    <link>https://dev.to/eth3rnit3</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%2F248708%2F2aa9069b-b5bc-41a3-9ed7-cc65136fa9c2.jpeg</url>
      <title>DEV Community: Eth3rnit3</title>
      <link>https://dev.to/eth3rnit3</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/eth3rnit3"/>
    <language>en</language>
    <item>
      <title>C4 Modelizer – draw your C4 architecture in minutes!</title>
      <dc:creator>Eth3rnit3</dc:creator>
      <pubDate>Sat, 10 May 2025 22:54:31 +0000</pubDate>
      <link>https://dev.to/eth3rnit3/c4-modelizer-draw-your-c4-architecture-in-minutes-4pf</link>
      <guid>https://dev.to/eth3rnit3/c4-modelizer-draw-your-c4-architecture-in-minutes-4pf</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;An open‑source React/TypeScript tool for creating, exploring, and sharing C4 diagrams (Context → Containers → Components → Code).&lt;/em&gt;&lt;br&gt;
Repo: &lt;a href="https://github.com/archivisio/c4_modelizer" rel="noopener noreferrer"&gt;https://github.com/archivisio/c4_modelizer&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Why another diagram editor?
&lt;/h2&gt;

&lt;p&gt;The four layers of the C4 model often live in different places—one &lt;em&gt;draw.io&lt;/em&gt; file here, a &lt;em&gt;README.md&lt;/em&gt; there. &lt;strong&gt;C4 Modelizer&lt;/strong&gt; brings everything together in one typed JSON source of truth. Add, move, and connect your building blocks, and the tool automatically keeps every view in sync.&lt;/p&gt;




&lt;h2&gt;
  
  
  Key features
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Category&lt;/th&gt;
&lt;th&gt;Details&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Diagrams&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;System ↔ Container ↔ Component ↔ Code&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Editing&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Drag‑and‑drop canvas, contextual palette, rename via side panel&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Relationships&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Dependencies across &lt;em&gt;any&lt;/em&gt; levels, animated arrows, labels + tech annotations&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Cross‑connections&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Link items across different levels without leaving the canvas&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Import/Export&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Versioned JSON, copy‑paste between instances&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;UX&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Dark theme, i18n, MUI accessibility&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;em&gt;(Yes, even the Code level—with an embedded Prism editor!)&lt;/em&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Under the hood
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;React 19 + Vite&lt;/strong&gt; → blazing‑fast HMR&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;@xyflow/react&lt;/strong&gt; → interactive canvas&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Material UI&lt;/strong&gt; → consistent, accessible look‑and‑feel&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Zustand persist&lt;/strong&gt; → local storage for your models&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cypress + Jest&lt;/strong&gt; → confidence on every pull request&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Spin it up in 30 seconds
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;docker pull archivisio/c4_modelizer:latest
docker run &lt;span class="nt"&gt;-p&lt;/span&gt; 8080:80 archivisio/c4_modelizer:latest
&lt;span class="c"&gt;# Open http://localhost:8080&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Prefer hacking it locally?&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/archivisio/c4_modelizer.git
&lt;span class="nb"&gt;cd &lt;/span&gt;c4_modelizer &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; npm &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; npm run dev
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  A quick peek
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5213ck8s71gtr6rix244.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5213ck8s71gtr6rix244.png" alt="C4Modelizer" width="800" height="435"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Roadmap at a glance
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;🖼️ PNG/SVG export of your diagrams&lt;/li&gt;
&lt;li&gt;🧜 Mermaid export for your CI/CD pipelines and docs&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Join the adventure
&lt;/h2&gt;

&lt;p&gt;Drop a ⭐ on the repo → &lt;a href="https://github.com/archivisio/c4_modelizer" rel="noopener noreferrer"&gt;https://github.com/archivisio/c4_modelizer&lt;/a&gt;&lt;br&gt;
Have an idea? Open an issue&lt;/p&gt;

&lt;p&gt;Happy mapping!&lt;/p&gt;

</description>
      <category>architecture</category>
      <category>webdev</category>
      <category>javascript</category>
      <category>opensource</category>
    </item>
    <item>
      <title>🚀 Introducing Chromate: Build AI Agents Easily with Ruby and the Chrome DevTools Protocol (CDP)</title>
      <dc:creator>Eth3rnit3</dc:creator>
      <pubDate>Sat, 16 Nov 2024 08:04:08 +0000</pubDate>
      <link>https://dev.to/eth3rnit3/introducing-chromate-build-ai-agents-easily-with-ruby-and-the-chrome-devtools-protocol-cdp-i04</link>
      <guid>https://dev.to/eth3rnit3/introducing-chromate-build-ai-agents-easily-with-ruby-and-the-chrome-devtools-protocol-cdp-i04</guid>
      <description>&lt;p&gt;Hey there, fellow Ruby enthusiasts! 👋&lt;/p&gt;

&lt;p&gt;I’m excited to introduce &lt;strong&gt;Chromate&lt;/strong&gt;, a brand new Ruby gem that aims to simplify browser automation by leveraging the &lt;strong&gt;Chrome DevTools Protocol (CDP)&lt;/strong&gt;. Whether you want to create intelligent scraping bots, automate UI testing, or build interactive AI agents, &lt;strong&gt;Chromate&lt;/strong&gt; provides an easy, lightweight solution—&lt;strong&gt;all in Ruby&lt;/strong&gt;!&lt;/p&gt;

&lt;h2&gt;
  
  
  💡 What is Chromate?
&lt;/h2&gt;

&lt;p&gt;Chromate is a Ruby gem that directly interacts with Chrome using the &lt;strong&gt;CDP&lt;/strong&gt;, offering a simple and efficient way to control the browser without the overhead of tools like Selenium or Playwright. It’s designed for developers who want &lt;strong&gt;full control over Chrome&lt;/strong&gt; while building powerful automation scripts or intelligent agents.&lt;/p&gt;

&lt;h3&gt;
  
  
  🤖 Why Use Chromate for AI-Powered Agents?
&lt;/h3&gt;

&lt;p&gt;One of the main goals of Chromate is to help developers create &lt;strong&gt;AI-powered agents&lt;/strong&gt; that can interact with web pages in a human-like way. By combining Ruby’s capabilities with direct access to the CDP, you can easily build bots that:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Navigate complex websites&lt;/strong&gt; with JavaScript-heavy content.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Simulate realistic user interactions&lt;/strong&gt;, making them harder to detect.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Extract data dynamically&lt;/strong&gt; and respond in real time.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  ⚙️ Features at a Glance
&lt;/h2&gt;

&lt;p&gt;Here’s what you can expect from Chromate:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Direct CDP Integration&lt;/strong&gt;: Skip the browser extensions and gain full control over Chrome.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Headless Mode Support&lt;/strong&gt;: Perfect for running scripts on a server or CI pipeline.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Virtual Mouse &amp;amp; Keyboard&lt;/strong&gt;: Simulate real user actions, which is great for mimicking human behavior.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ruby-first API&lt;/strong&gt;: Designed with Ruby developers in mind, making it intuitive and easy to use.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  🚀 Getting Started with Chromate
&lt;/h2&gt;

&lt;p&gt;Let’s dive into how you can start using Chromate in your projects. It’s as simple as installing the gem and writing a few lines of code!&lt;/p&gt;

&lt;h3&gt;
  
  
  Installation
&lt;/h3&gt;

&lt;p&gt;You can install Chromate via RubyGems:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;gem &lt;span class="nb"&gt;install &lt;/span&gt;chromate
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Basic Usage
&lt;/h3&gt;

&lt;p&gt;Here’s a quick example to get you started:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="nb"&gt;require&lt;/span&gt; &lt;span class="s1"&gt;'chromate'&lt;/span&gt;

&lt;span class="c1"&gt;# Initialize the Chromate browser&lt;/span&gt;
&lt;span class="n"&gt;browser&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;Chromate&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;new&lt;/span&gt;

&lt;span class="c1"&gt;# Navigate to a website&lt;/span&gt;
&lt;span class="n"&gt;browser&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;navigate_to&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'https://example.com'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;# Click a button&lt;/span&gt;
&lt;span class="n"&gt;browser&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;find_element&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'button#start'&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;click&lt;/span&gt;

&lt;span class="c1"&gt;# Close the browser&lt;/span&gt;
&lt;span class="n"&gt;browser&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;close&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;With just a few lines, you’re able to navigate to a website, interact with elements, and extract content—all in Ruby!&lt;/p&gt;

&lt;h2&gt;
  
  
  🔗 Check Out the GitHub Repo
&lt;/h2&gt;

&lt;p&gt;The full source code and documentation are available on GitHub: &lt;a href="https://github.com/Eth3rnit3/chromate" rel="noopener noreferrer"&gt;Eth3rnit3/Chromate&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I’d love to hear your thoughts, feedback, and suggestions! Feel free to &lt;strong&gt;open issues, report bugs, or contribute&lt;/strong&gt; to the project. Your input will help shape the future of Chromate!&lt;/p&gt;

&lt;h2&gt;
  
  
  ⭐ Conclusion
&lt;/h2&gt;

&lt;p&gt;Chromate is just getting started, and I’m excited to see what the Ruby community will build with it. Whether you’re developing bots, testing tools, or creating AI agents, Chromate aims to provide a flexible and efficient solution for browser automation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;If you like the project, give it a star on GitHub and share it with your fellow Ruby developers!&lt;/strong&gt; Let’s build something amazing together! 💎✨&lt;/p&gt;

</description>
      <category>ruby</category>
      <category>automation</category>
      <category>web</category>
      <category>ai</category>
    </item>
    <item>
      <title>Best rails api template</title>
      <dc:creator>Eth3rnit3</dc:creator>
      <pubDate>Sat, 01 Oct 2022 20:21:57 +0000</pubDate>
      <link>https://dev.to/eth3rnit3/best-rails-api-template-16la</link>
      <guid>https://dev.to/eth3rnit3/best-rails-api-template-16la</guid>
      <description>&lt;p&gt;Try this templates for your rails api project&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/Eth3rnit3/rails_api_template"&gt;https://github.com/Eth3rnit3/rails_api_template&lt;/a&gt;&lt;/p&gt;

</description>
      <category>rails</category>
      <category>ruby</category>
    </item>
    <item>
      <title>How to easily deploy and serve docker applications on personal server</title>
      <dc:creator>Eth3rnit3</dc:creator>
      <pubDate>Wed, 01 Jun 2022 20:48:52 +0000</pubDate>
      <link>https://dev.to/eth3rnit3/how-to-easily-deploy-and-serve-docker-applications-on-personal-server-57i5</link>
      <guid>https://dev.to/eth3rnit3/how-to-easily-deploy-and-serve-docker-applications-on-personal-server-57i5</guid>
      <description>&lt;p&gt;I wondered how I could deploy different personal applications on the same vps without having to bring out the heavy artillery with kubernetes and everything else. &lt;/p&gt;

&lt;p&gt;I didn't reinvent the wheel and found 2 nice projects which are &lt;a href="https://hub.docker.com/r/jwilder/nginx-proxy"&gt;jwilder/nginx-proxy&lt;/a&gt; and &lt;a href="https://hub.docker.com/r/jrcs/letsencrypt-nginx-proxy-companion"&gt;jrcs/letsencrypt-nginx-proxy-companion&lt;/a&gt; I just put it all together to be able to easily deploy any application with ssl&lt;/p&gt;

&lt;p&gt;Everything is in the readme&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/Eth3rnit3/configured-compose-nginx-proxy"&gt;https://github.com/Eth3rnit3/configured-compose-nginx-proxy&lt;/a&gt;&lt;/p&gt;

</description>
      <category>docker</category>
      <category>webdev</category>
      <category>productivity</category>
      <category>devops</category>
    </item>
    <item>
      <title>Eyes tracking and open source</title>
      <dc:creator>Eth3rnit3</dc:creator>
      <pubDate>Mon, 25 May 2020 19:56:54 +0000</pubDate>
      <link>https://dev.to/eth3rnit3/eyes-tracking-and-open-source-4me2</link>
      <guid>https://dev.to/eth3rnit3/eyes-tracking-and-open-source-4me2</guid>
      <description>&lt;p&gt;Hello everyone, I'm here to solicit your acquaintances! &lt;/p&gt;

&lt;p&gt;My uncle has amyotrophic lateral sclerosis, which causes him to lose the use of his muscles.&lt;br&gt;
Today he can hardly move at all. He has always liked computers and video games. &lt;br&gt;
We would like him to enjoy it as much as possible, so I did some research around eyes tracking to see what was available on the market. Unfortunately, I don't know much about it. &lt;br&gt;
I stumbled upon tobii.com products that would be really perfect but much too expensive. &lt;br&gt;
So I'm calling you to find out if someone knows this field and would be able to advise me in what exists on the open source side so that I can make the use of windows possible thanks to eyes tracking.&lt;/p&gt;

&lt;p&gt;Thank you in advance&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Rails/React developer? don't worry about authentication anymore !</title>
      <dc:creator>Eth3rnit3</dc:creator>
      <pubDate>Wed, 11 Dec 2019 20:36:04 +0000</pubDate>
      <link>https://dev.to/eth3rnit3/rails-react-developer-don-t-worry-about-authentication-anymore-251m</link>
      <guid>https://dev.to/eth3rnit3/rails-react-developer-don-t-worry-about-authentication-anymore-251m</guid>
      <description>&lt;p&gt;A few weeks ago I started developing the j-TockAuth library which allows to easily manage the authentication between a JS frontend and a Ruby on Rails backend that uses the devise token auth gem. since then I have two client projects in production that use it and it seems to work very well. of course there are still improvements to be made but any participation is welcome !&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.npmjs.com/package/j-tockauth"&gt;https://www.npmjs.com/package/j-tockauth&lt;/a&gt;&lt;/p&gt;

</description>
      <category>rails</category>
      <category>react</category>
      <category>ruby</category>
      <category>javascript</category>
    </item>
    <item>
      <title>J-tockauth - Easy way to manage Ruby on Rails auth with JS frontend</title>
      <dc:creator>Eth3rnit3</dc:creator>
      <pubDate>Sun, 13 Oct 2019 08:51:55 +0000</pubDate>
      <link>https://dev.to/eth3rnit3/j-tockauth-easy-way-to-manage-ruby-on-rails-auth-with-js-frontend-422c</link>
      <guid>https://dev.to/eth3rnit3/j-tockauth-easy-way-to-manage-ruby-on-rails-auth-with-js-frontend-422c</guid>
      <description>&lt;p&gt;Hello everyone, I recently released an npm module that allows you to easily manage all authentication when you use a ruby on rails backend with the Devise Token Auth gem.&lt;/p&gt;

&lt;p&gt;I find the existing projects too complicated and poorly maintained.&lt;/p&gt;

&lt;p&gt;Any contribution will be welcome.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.npmjs.com/package/j-tockauth"&gt;https://www.npmjs.com/package/j-tockauth&lt;/a&gt;&lt;/p&gt;

</description>
      <category>rails</category>
      <category>react</category>
      <category>javascript</category>
      <category>ruby</category>
    </item>
  </channel>
</rss>
