<?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>Forem: rafaone</title>
    <description>The latest articles on Forem by rafaone (@rafaone).</description>
    <link>https://forem.com/rafaone</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%2F925139%2F6300b7e4-85d7-4aa8-88b0-7b4b1fe2a3ad.jpg</url>
      <title>Forem: rafaone</title>
      <link>https://forem.com/rafaone</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/rafaone"/>
    <language>en</language>
    <item>
      <title>My Guidelines for Codebase</title>
      <dc:creator>rafaone</dc:creator>
      <pubDate>Fri, 30 Jan 2026 18:54:19 +0000</pubDate>
      <link>https://forem.com/rafaone/my-guidelines-for-codebase-14b9</link>
      <guid>https://forem.com/rafaone/my-guidelines-for-codebase-14b9</guid>
      <description>&lt;h1&gt;
  
  
  Engineering Guidelines &amp;amp; Codebase Principles
&lt;/h1&gt;

&lt;p&gt;This project integrates low-level hardware communication (&lt;strong&gt;STM32/ESP&lt;/strong&gt;) with a high-level orchestration layer (&lt;strong&gt;Java 21&lt;/strong&gt;). To ensure system reliability and maintainability, all contributors must adhere to the following principles.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Combatting Software Entropy
&lt;/h2&gt;

&lt;p&gt;We prevent system degradation by strictly following the &lt;strong&gt;Broken Windows Theory&lt;/strong&gt;: no bug or "quick fix" (workaround) should be left unaddressed.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Avoid Rigidity &amp;amp; Fragility:&lt;/strong&gt; Code must be modular. If a change in the protocol breaks the USB handler, the coupling is too high.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Immobility Prevention:&lt;/strong&gt; Ensure code is reusable and testable to avoid "technical debt paralysis."&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Load-Modify-Store (LMS) Awareness:&lt;/strong&gt; Always consider the atomic nature of operations to prevent race conditions.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  2. Naming Conventions &amp;amp; Style
&lt;/h2&gt;

&lt;p&gt;We maintain a clear visual distinction between Java (Business Logic) and C (Hardware Logic).&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Context&lt;/th&gt;
&lt;th&gt;Pattern&lt;/th&gt;
&lt;th&gt;Example&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Java Classes&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;PascalCase&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;UsbPacketHandler&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Java Methods/Variables&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;camelCase&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;rawUsbData&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;C Variables/Functions&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;snake_case&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;raw_usb_data&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Global Constants&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;SCREAMING_SNAKE_CASE&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;MAX_BUFFER_SIZE&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Context-First Naming:&lt;/strong&gt; Variables must be structured by context (e.g., &lt;code&gt;EA_XX_KI&lt;/code&gt;, &lt;code&gt;SIZE_DF_VAR&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Enums over Magic Numbers:&lt;/strong&gt; Use Enums with (code, description) for state machines and error codes.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  3. Communication Protocols
&lt;/h2&gt;

&lt;p&gt;Reliable hardware-software synchronization requires structured framing:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Buffering:&lt;/strong&gt; Prefer fixed-size buffers. For high-throughput requirements, implement a &lt;strong&gt;Circular Buffer&lt;/strong&gt; to prevent data loss.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  4. Concurrency &amp;amp; Threading Model
&lt;/h2&gt;

&lt;p&gt;We use a &lt;strong&gt;Hybrid Threading Model&lt;/strong&gt; to balance hardware latency with cloud scalability.&lt;/p&gt;

&lt;h3&gt;
  
  
  Java 21 Layer
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Platform Threads (Kernel Space):&lt;/strong&gt; Dedicated to high-priority, blocking I/O (e.g., USB/Serial reading).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Virtual Threads (User Space):&lt;/strong&gt; Used for lightweight, concurrent tasks such as PLC connections and API processing.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Synchronization:&lt;/strong&gt; Prefer &lt;code&gt;ReentrantLock&lt;/code&gt; over &lt;code&gt;synchronized&lt;/code&gt; to avoid thread pinning in Virtual Threads.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Firmware Layer (STM32/ESP)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Atomic Operations:&lt;/strong&gt; Use &lt;code&gt;stdatomic.h&lt;/code&gt; or disable IRQs during critical sections to prevent Race Conditions.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Volatile vs. Atomic:&lt;/strong&gt; * Use &lt;code&gt;volatile&lt;/code&gt; for &lt;strong&gt;Visibility&lt;/strong&gt; (state flags/booleans).

&lt;ul&gt;
&lt;li&gt;Use &lt;strong&gt;Atomics&lt;/strong&gt; for &lt;strong&gt;Integrity&lt;/strong&gt; (shared counters and global variables).&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Interruption Safety:&lt;/strong&gt; Minimize variable sharing between the Main Loop and ISRs (Interrupt Service Routines).&lt;/li&gt;

&lt;/ul&gt;

&lt;h2&gt;
  
  
  5. Performance Optimization
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Deterministic Execution:&lt;/strong&gt; Avoid heavy time computing inside high-frequency loops. Use modular tasks for precision.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;State Counters:&lt;/strong&gt; Use sequential counters (&lt;code&gt;cnt == 10&lt;/code&gt;, &lt;code&gt;cnt == 11&lt;/code&gt;) to orchestrate non-blocking state machine actions.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  6. Documentation &amp;amp; Quality Assurance
&lt;/h2&gt;

&lt;p&gt;A "Lint-First" approach is mandatory to prevent code rot.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Documentation:&lt;/strong&gt; Use &lt;strong&gt;Doxygen&lt;/strong&gt; for C/C++ and &lt;strong&gt;JavaDoc&lt;/strong&gt; for Java.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Static Analysis:&lt;/strong&gt; * &lt;strong&gt;C/C++:&lt;/strong&gt; Mandatory &lt;code&gt;Cppcheck&lt;/code&gt; scans (clean report policy).

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Java:&lt;/strong&gt; &lt;code&gt;PMD&lt;/code&gt;, &lt;code&gt;Checkstyle&lt;/code&gt;, and &lt;code&gt;SpotBugs&lt;/code&gt; for bug pattern detection.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Automation:&lt;/strong&gt; If code quality deviates, Linters and Formatters will be enforced via CI/CD gates.&lt;/li&gt;

&lt;/ul&gt;

</description>
      <category>java</category>
      <category>and</category>
      <category>c</category>
    </item>
    <item>
      <title>Java8 + JavaFx updates issues</title>
      <dc:creator>rafaone</dc:creator>
      <pubDate>Tue, 18 Mar 2025 09:31:58 +0000</pubDate>
      <link>https://forem.com/rafaone/java8-javafx-updates-issues-56ak</link>
      <guid>https://forem.com/rafaone/java8-javafx-updates-issues-56ak</guid>
      <description>&lt;p&gt;Java8 with JavaFX: A Challenging Task to Update a Legacy System 200 Updates Behind&lt;/p&gt;

&lt;p&gt;A legacy system, running on a dedicated Linux totem-like device with the "&lt;strong&gt;twm&lt;/strong&gt;" minimal window manager, and only the main application running in X, presented a significant challenge. The system, using &lt;strong&gt;Java8&lt;/strong&gt; with &lt;strong&gt;JavaFX&lt;/strong&gt;, was 200 updates behind, necessitating a major update from 8.0u232 to 8.0u442.&lt;/p&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%2Fnmv057tcw750tqcpw7si.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%2Fnmv057tcw750tqcpw7si.png" alt="Image description" width="800" height="648"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Upon upgrading to the latest currently version 8u442, the same "&lt;strong&gt;.jar&lt;/strong&gt;" binary exhibited window positioning issues. Despite setX(0) and setY(0) being set in the code, the window no longer appeared at the top-left corner. Since the window manager remained the same, the issue was clearly attributed to Java.&lt;/p&gt;

&lt;p&gt;To accommodate the need for the latest Java version, a workaround was devised to move the application window via a script. This approach leveraged the window ID, reminiscent of techniques used in keyloggers that monitor application title bars.&lt;/p&gt;

&lt;p&gt;xdotool proved to be an invaluable tool for simulating X input.&lt;/p&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%2Fos4urimmxxd2644rxxzp.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%2Fos4urimmxxd2644rxxzp.png" alt="Image description" width="638" height="607"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;AI struggled to provide a simple script for this task. It became apparent that for complex tasks, breaking them into smaller problems, manageable problems was more effective for AI assistance. However, the ultimate solution was found in the documentation. The AI's suggestion to retrieve the window ID by application title worked for the initial window, but became impractical for subsequent forms with varying titles. The &lt;strong&gt;getwindowfocus&lt;/strong&gt; option in &lt;strong&gt;xdotool&lt;/strong&gt; provided the necessary solution.&lt;/p&gt;

&lt;p&gt;By running the script every 2 seconds, the focused window was moved to X(0) and Y(0), effectively centering it (assuming full-screen windows).&lt;/p&gt;

&lt;p&gt;This type of solution highlights the limitations of AI in handling complex, macro-level problems. While AI can be helpful, it often lacks the ability to grasp the bigger picture.&lt;/p&gt;

</description>
      <category>java</category>
      <category>javafx</category>
      <category>linux</category>
      <category>windowmanager</category>
    </item>
    <item>
      <title>Vscodium for privacy</title>
      <dc:creator>rafaone</dc:creator>
      <pubDate>Wed, 11 Sep 2024 20:29:10 +0000</pubDate>
      <link>https://forem.com/rafaone/vscodium-for-privacy-5gaa</link>
      <guid>https://forem.com/rafaone/vscodium-for-privacy-5gaa</guid>
      <description>&lt;p&gt;&lt;a href="https://vscodium.com/" rel="noopener noreferrer"&gt;Vscodium&lt;/a&gt;  is an open-source project based on Visual Studio Code by Microsoft. It's essentially a clone of VSCode, but with a key difference: VSCodium removes all telemetry code. This means it doesn't collect any usage data and send it back to Microsoft.&lt;/p&gt;

&lt;p&gt;The big difference is regarding the Telemetry Sends usage data to Microsoft, &lt;em&gt;"helping the company improve the product and identify issues.&lt;/em&gt;"&lt;br&gt;
In really it track your preferences, time usage, .env files, all to Microsoft.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flol296k7e9ib93e0g5cp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flol296k7e9ib93e0g5cp.png" alt="Image description" width="760" height="357"&gt;&lt;/a&gt;&lt;br&gt;
Alternatively VSCodium has No telemetry Does not collect or send usage data.&lt;/p&gt;

&lt;p&gt;Greater privacy for users who are concerned about data collection. &lt;/p&gt;

&lt;p&gt;The extensions that you use on VSCODE will work normally on VsCodium.&lt;br&gt;
For more info &lt;a href="https://itsfoss.com/vscodium/" rel="noopener noreferrer"&gt;itsfoss.com/vscodium&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Stay free from big techs, also pay attention in the Copilot assistance, has huge &lt;a href="https://github.com/orgs/community/discussions/7263" rel="noopener noreferrer"&gt;discussion&lt;/a&gt;, the collect your files like .env, preferences etc.&lt;/p&gt;

&lt;p&gt;Imagine that it can be collect sensitive data, like your business core from your project. COMPLICATED! pay attention.&lt;/p&gt;

</description>
      <category>vscode</category>
      <category>privacy</category>
      <category>telemetry</category>
    </item>
    <item>
      <title>Android alternative app and block trackers</title>
      <dc:creator>rafaone</dc:creator>
      <pubDate>Thu, 11 Jul 2024 13:10:27 +0000</pubDate>
      <link>https://forem.com/rafaone/android-alternative-apps-1loi</link>
      <guid>https://forem.com/rafaone/android-alternative-apps-1loi</guid>
      <description>&lt;p&gt;Focusing in the avoid at all the apps that track you, skipping from Google Play Services, Facebook, Amazon in general big tech.&lt;br&gt;
Tracker are lib's that the apps install inside, to spyware you and collect data in silent mode.&lt;/p&gt;

&lt;p&gt;To Monitor/Analyses you can you &lt;a href="https://trackercontrol.org/" rel="noopener noreferrer"&gt;Tracker Control&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe70xj05jih5sw78lio4u.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe70xj05jih5sw78lio4u.png" alt="Tracker" width="756" height="502"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It's in action on my Phone&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8eriwf11tukynhbfujmm.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8eriwf11tukynhbfujmm.jpg" alt="If you Click" width="800" height="1253"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fopxhzzyv0vi9j3ykwsu1.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fopxhzzyv0vi9j3ykwsu1.jpg" alt="Image description" width="631" height="1280"&gt;&lt;/a&gt;&lt;br&gt;
With this app you can block some requests from specific apps.&lt;br&gt;
Another way to check if an specific app are tracking you is the Exodus Reports, check this out for &lt;a href="https://reports.exodus-privacy.eu.org/en/reports/com.strava/latest/" rel="noopener noreferrer"&gt;Strava&lt;/a&gt; app.&lt;/p&gt;

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

&lt;p&gt;Mostly of the apps you can install using &lt;a href="https://f-droid.org/" rel="noopener noreferrer"&gt;F-Droid&lt;/a&gt; o &lt;a href="https://www.auroraoss.com/" rel="noopener noreferrer"&gt;Aurora Store&lt;/a&gt;, alternative option to Google Play Store. &lt;/p&gt;

&lt;p&gt;Alternative Apps&lt;br&gt;
I really like this list &lt;a href="https://github.com/pluja/awesome-privacy" rel="noopener noreferrer"&gt;Awesome-Privacy&lt;/a&gt; and &lt;a href="https://github.com/tycrek/degoogle" rel="noopener noreferrer"&gt;DeGoogle&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The both list are very good to start, For youtube, no ads, no trackers, no sponsor, &lt;a href="https://newpipe.net/" rel="noopener noreferrer"&gt;newPipe&lt;/a&gt; is very good, but &lt;a href="https://github.com/polymorphicshade/Tubular" rel="noopener noreferrer"&gt;Tubular&lt;/a&gt; is awesome,&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fumt7nps8ftdxcxcz3lw2.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fumt7nps8ftdxcxcz3lw2.gif" alt="tubular" width="" height=""&gt;&lt;/a&gt;&lt;br&gt;
for Desktop I recommend &lt;a href="https://materialio.us/" rel="noopener noreferrer"&gt;Materialio&lt;/a&gt;, good replacement for Youtube, and no tracks no ads.&lt;/p&gt;

&lt;p&gt;For explorer Files &lt;a href="https://github.com/zhanghai/MaterialFiles" rel="noopener noreferrer"&gt;Material Files&lt;/a&gt; is very good, and have a option to make a internal temporary FTP server, and you can connect from you computer using &lt;a href="https://filezilla-project.org/" rel="noopener noreferrer"&gt;FileZilla&lt;/a&gt; client and download your files.&lt;/p&gt;

&lt;p&gt;To listening musics &lt;a href="https://github.com/KRTirtho/spotube" rel="noopener noreferrer"&gt;Spotube&lt;/a&gt; is decent but works only for Music, To Podcast&lt;a href="https://antennapod.org/" rel="noopener noreferrer"&gt; Antenna Pod &lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;To message, step back and use &lt;a href="https://simplex.chat/" rel="noopener noreferrer"&gt;SimpleX&lt;/a&gt;, or PGP communication for any messageria service, if you don't have Xmpp server you need to guarantee that use PGP to encrypt your message, but the another people need to learning PGP.&lt;/p&gt;

&lt;p&gt;Email &lt;a href="//mail.proton.me"&gt;proton&lt;/a&gt; is a decent to start, they have a good support and you can download the PGP keys and you, but I still recommend that you learn about PGP and use yours.&lt;/p&gt;

</description>
      <category>android</category>
      <category>alternative</category>
      <category>privacy</category>
      <category>apps</category>
    </item>
    <item>
      <title>Android for Privacy</title>
      <dc:creator>rafaone</dc:creator>
      <pubDate>Mon, 08 Jul 2024 11:47:47 +0000</pubDate>
      <link>https://forem.com/rafaone/android-for-privacy-af1</link>
      <guid>https://forem.com/rafaone/android-for-privacy-af1</guid>
      <description>&lt;p&gt;&lt;strong&gt;Introduction&lt;/strong&gt;&lt;br&gt;
Kind of guide to my-self to install and configure my de-googled cellphone.&lt;br&gt;
Android provided by brands has totally googled eco-system, that force you to use the big-tech services, and blind you in terms of trade off about your privacy and the free services.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Alternatives OS&lt;/strong&gt;&lt;br&gt;
To bypass this we have a some alternatives in terms of Operation System for android, I tested LinageOS, CalyxOS, because they have support for my currently hardware, you can consider GrapheneOS and DivestOS. On of advantage is that you can update your phone to newest  android(14).&lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw08t3gccto2j42f4yfhf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw08t3gccto2j42f4yfhf.png" alt="LinageOS" width="800" height="189"&gt;&lt;/a&gt;&lt;br&gt;
Considering that you are getting a pure S.O with minimal to start to install the Apps that will attend you with functionality versus privacy.&lt;/p&gt;

&lt;p&gt;Many ways to follow, because of this I'm writing to my self back and re-learn with my chooses. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Apps that track info from you&lt;/strong&gt;&lt;br&gt;
My approach is avoid at all big-tech services, and replace for community options, to this you will need spirit of auto custody. &lt;br&gt;
And take care about you backups, e-mail, calendar, contacts etc.&lt;/p&gt;

&lt;p&gt;Transitory time is acceptable to use some tracked apps, but important to you know how to check that and decide considering the risks.&lt;/p&gt;

&lt;p&gt;The most popular way is use Exodus Privacy reports to verify this info, basically the web site tell you how many "tracks" the app has, and track means a inside codes in app that collect data from you.&lt;br&gt;
&lt;a href="https://reports.exodus-privacy.eu.org/en/reports/com.twitter.android/latest/" rel="noopener noreferrer"&gt;Twitter/X&lt;/a&gt; has 4 tracks and you check will have information about the data that are collect from you.&lt;/p&gt;

&lt;p&gt;It's a pain in the ass verify and decide, much time to test and consider witch app you will use.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Apps&lt;/strong&gt;&lt;br&gt;
List of Alternatives &lt;a href="https://github.com/pluja/awesome-privacy" rel="noopener noreferrer"&gt;Awesome-Privacy&lt;/a&gt; and &lt;a href="https://github.com/tycrek/degoogle" rel="noopener noreferrer"&gt;DeGoogle&lt;/a&gt;&lt;br&gt;
The first app to use is F-Droid, unpopular store no need google account basically is a repository that you can trust more than download the apk from another sources.&lt;br&gt;
I recommend to install Aurora Store, this one "need" google account that you can choose anonymous one and its connected with PlayStore but has linked report with Exodus Services than is easy to check if the app has trackers.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg9rce7inmo0aeoz0tp7k.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg9rce7inmo0aeoz0tp7k.png" alt="Aurora Store" width="785" height="182"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Store&lt;/strong&gt;: F-Droid, Aurora Store&lt;br&gt;
&lt;strong&gt;Home&lt;/strong&gt;: TCP/UDP WIDGET (developed by KJM), Ewlink&lt;br&gt;
&lt;strong&gt;Sec&lt;/strong&gt;: Aegis Authentication, OpenKeyChain.&lt;br&gt;
&lt;strong&gt;Chat&lt;/strong&gt;: Telegram Foss, Signal, SimpleX, Proton-Mail.&lt;br&gt;
&lt;strong&gt;Browser&lt;/strong&gt;: Mull, Firefox.&lt;br&gt;
&lt;strong&gt;Social&lt;/strong&gt;: Amethyst nostr Client.&lt;br&gt;
&lt;strong&gt;Media&lt;/strong&gt;: Spotube, Tubular, LibreTube, Materialious, FocusPodcast.&lt;br&gt;
&lt;strong&gt;Maps&lt;/strong&gt;: OsmAnd, GMaps WV.&lt;br&gt;
&lt;strong&gt;Others&lt;/strong&gt;: Material Files, ConnectBot&lt;br&gt;
&lt;strong&gt;VPN/Firewall&lt;/strong&gt;: Orbot, Wireguard Client, NetGuard.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwqtbne3k8e27167gndks.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwqtbne3k8e27167gndks.png" alt="Exodus Reports" width="390" height="409"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://reports.exodus-privacy.eu.org" rel="noopener noreferrer"&gt;Exodus Reports&lt;/a&gt; are amazing to help you to decide, if you really need install an app or not, sometimes is better to use the service in the web-browser to avoid tracks, sure that on web-site they can collect data, but you can use Firefox extension like uBlock Origin and Privacy Badger that will mitigate that and block the track .&lt;br&gt;
Your Firefox/based Firefox browser is a good option, you need to configure and remove the telemetry about mozilla, but is easy to do this, the extension to improve the privacy are enough. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;br&gt;
Nowadays we good services for privacy approach like Proton services, Next-Cloud etc, the best option is your auto custody of your data creating your setup, has more work to do, but has more privacy.&lt;/p&gt;

</description>
      <category>privacy</category>
      <category>degoogle</category>
      <category>android</category>
      <category>tracker</category>
    </item>
    <item>
      <title>Dicas de Terminal e SSH</title>
      <dc:creator>rafaone</dc:creator>
      <pubDate>Tue, 18 Jun 2024 22:55:39 +0000</pubDate>
      <link>https://forem.com/rafaone/dicas-de-terminal-e-ssh-47bd</link>
      <guid>https://forem.com/rafaone/dicas-de-terminal-e-ssh-47bd</guid>
      <description>&lt;p&gt;Algumas dicas para ter um pouco mais de segurança no seu terminal, principalmente de uma segurança espacial no sentido do seu entorno e em conexões ssh.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Use customizador de prompt como starship, nele é possível ocultar o nome da maquina e do usuário, podendo customizar de acordo com seu uso podendo criar seu próprio padrão.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs3yx8gztdfykhwcvbrfo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs3yx8gztdfykhwcvbrfo.png" alt="Image description" width="176" height="118"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Evite ter login por senha em seu servidor SSH, estude sobre chaves ssh mantenha ela em local criptografado e use uma passphrase;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Configure seu .ssh/config com seus host, portas e nome de usuário.&lt;br&gt;
vai sair disso "ssh -p7642 &lt;a href="mailto:usexpto@server.com"&gt;usexpto@server.com&lt;/a&gt;" para "ssh server.com".&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4fbr6u2psl4804sgssrl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4fbr6u2psl4804sgssrl.png" alt="Image description" width="431" height="237"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Mude a porta do seu SSH, isso ajuda mas não resolve os ataques.&lt;/li&gt;
&lt;li&gt;Se não consegue por um acesso somente por VPN, se possível implemente um "Port Knocking".
#dicas #linux #ssh #terminal&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>linux</category>
      <category>ssh</category>
      <category>terminal</category>
    </item>
    <item>
      <title>Updating repository recursively</title>
      <dc:creator>rafaone</dc:creator>
      <pubDate>Fri, 09 Feb 2024 11:48:34 +0000</pubDate>
      <link>https://forem.com/rafaone/updating-repository-recursively-4o76</link>
      <guid>https://forem.com/rafaone/updating-repository-recursively-4o76</guid>
      <description>&lt;p&gt;Many use systems like GitHub and BitBucket, but some companies have their own repository structure in directory mode.&lt;/p&gt;

&lt;p&gt;So imagine that a devops backs up a directory called &lt;strong&gt;repos&lt;/strong&gt; where it has all the versioned projects and the dev has this copy but needs to update it.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;cd repos&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;for i in */.git; do ( echo $i; cd $i/..; git fetch origin; ); done;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;You can change your command there with your need, if it were mercurial easily adapted to&lt;/p&gt;

&lt;p&gt;&lt;code&gt;for i in */.hg; do ( echo $i; cd $i/..; hg update; ); done&lt;/code&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Raspberry 4 with SSD and nvme adapters performance</title>
      <dc:creator>rafaone</dc:creator>
      <pubDate>Mon, 20 Nov 2023 22:46:37 +0000</pubDate>
      <link>https://forem.com/rafaone/raspberry-4-with-ssd-and-nvme-adapters-perfomance-8pc</link>
      <guid>https://forem.com/rafaone/raspberry-4-with-ssd-and-nvme-adapters-perfomance-8pc</guid>
      <description>&lt;p&gt;Studying to create a NAS with raspberry pi4, it's not a reliable NAS but kind of backup of backup.&lt;/p&gt;

&lt;p&gt;Since raspberry 4 has only USB3.0 this is our limit, but depends on the brand/chip of adapter the results are different.&lt;/p&gt;

&lt;p&gt;The test to read used hdparm command and to write a dd command.&lt;br&gt;
&lt;strong&gt;Read&lt;/strong&gt;&lt;br&gt;
&lt;code&gt;hdparm -tT /dev/sda&lt;br&gt;
&lt;/code&gt;&lt;br&gt;
&lt;strong&gt;Write&lt;/strong&gt;&lt;br&gt;
&lt;code&gt;dd if=/dev/zero of=./TestingFile bs=100M count=10 oflag=direct status=progress&lt;br&gt;
&lt;/code&gt;&lt;br&gt;
&lt;strong&gt;Nvme + usb3.0 Orico / Realtek adapter&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpn8iybc2qlk4gkqvag85.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpn8iybc2qlk4gkqvag85.png" alt="Image description" width="800" height="409"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzro8mnccp5xsynqs7zok.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzro8mnccp5xsynqs7zok.png" alt="Image description" width="800" height="144"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9hhkvjvt2ensrwbead1w.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9hhkvjvt2ensrwbead1w.png" alt="Image description" width="681" height="106"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;SSd + usb3.0 sata adapter Jmicron&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft5p4yaph8g9iq30fsw8u.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft5p4yaph8g9iq30fsw8u.png" alt="Image description" width="732" height="242"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;sucks 33 mb read and write on Jmicron chip&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fith1i6y2vn7kijlviroi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fith1i6y2vn7kijlviroi.png" alt="Image description" width="800" height="342"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;SSd + usb3.0 sata adapter ASmedia&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqcbq70070cys5snsfgt3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqcbq70070cys5snsfgt3.png" alt="Image description" width="764" height="209"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvq7gboq6kxpvq4qtpqfc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvq7gboq6kxpvq4qtpqfc.png" alt="Image description" width="800" height="159"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Not bad with usb3.0 and asmedia chip to sata.&lt;/p&gt;

&lt;p&gt;Final Results&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flv5lcexsksftgsecs9b8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flv5lcexsksftgsecs9b8.png" alt="Image description" width="800" height="95"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;From my opinion the better option is SSD SATA with asmedia chip, is good cost and benefit, nvme is good also but more expansive price.&lt;/p&gt;

&lt;p&gt;In my case I have 4tb nvme for this test, but I'm waiting  the special case for raspberry pi that has the&lt;a href="https://wiki.52pi.com/index.php?title=EP-0171" rel="noopener noreferrer"&gt; NVME adapter for raspberry pi  &lt;/a&gt; from 52pi that I hope that have a good chip like asmedia or realtek.&lt;/p&gt;

</description>
      <category>raspberrypi</category>
      <category>nvme</category>
      <category>ssd</category>
      <category>nas</category>
    </item>
    <item>
      <title>2009 dev hacks</title>
      <dc:creator>rafaone</dc:creator>
      <pubDate>Thu, 09 Nov 2023 17:25:12 +0000</pubDate>
      <link>https://forem.com/rafaone/2009-dev-hacks-23ld</link>
      <guid>https://forem.com/rafaone/2009-dev-hacks-23ld</guid>
      <description>&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftckps8mcfeurzvf7asge.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftckps8mcfeurzvf7asge.png" alt="Image description" width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>cabo de rede duplo, um cabo 2 pontos de rede.</title>
      <dc:creator>rafaone</dc:creator>
      <pubDate>Thu, 09 Nov 2023 17:15:24 +0000</pubDate>
      <link>https://forem.com/rafaone/cabo-de-rede-duplo-um-cabo-2-pontos-de-rede-45gg</link>
      <guid>https://forem.com/rafaone/cabo-de-rede-duplo-um-cabo-2-pontos-de-rede-45gg</guid>
      <description>&lt;p&gt;&lt;strong&gt;original post 02/05/2010 rafaelgimenes.net&lt;/strong&gt;&lt;br&gt;
Em casa possuo um roteador, mas meu desktop utiliza de cabo de rede por motivos de downloads etc, não curto muito wireless em desktop ainda não confio nisso.&lt;br&gt;
Agora eu encomendei um módulo de rede para brincar com o arduino, ou seja necessitaria de outro cabo de rede saindo  do quarto do meu pai para o meu quarto.&lt;br&gt;
Porém o cabo tem quatro pares, mas  rede categoria 5 e utiliza somente 2 pares para funcionar,  então porque eu iria passar outro cabo sendo que temos ali 2 pares inutilizados.&lt;br&gt;
Eu sempre utilizei o padrão de cores  A,  então dando uma relembrada em TX e RX, cheguei a seguinte combinação.&lt;/p&gt;

&lt;p&gt;Pino / Cor / Status&lt;br&gt;
1 / Branco  Verde / TX +&lt;br&gt;
2 / Verde / TX –&lt;br&gt;
3 / Branco Laranja / RX +&lt;br&gt;
4 / Azul / não utilizado&lt;br&gt;
5 / Branco Azul / não utilizado&lt;br&gt;
6 / Laranja / RX –&lt;br&gt;
7 /Branco Marrom / não utilizado&lt;br&gt;
8 / Marrom / não utilizado&lt;/p&gt;

&lt;p&gt;Ou seja o que interessa pra gente é o pino 1 e 3,  2 e 6, então mantive o esquema de cores do padrão, e no segundo cabo fiz o seguinte esquema:&lt;br&gt;
Pino / Cor / Status&lt;br&gt;
1 / Branco Azul/ TX +&lt;br&gt;
2 / Azul / TX –&lt;br&gt;
3 / Branco Marrom / RX +&lt;br&gt;
4 / não utilizado&lt;br&gt;
5 / não utilizado&lt;br&gt;
6 / Marrom / RX –&lt;br&gt;
7 / não utilizado&lt;br&gt;
8 buy drugs online / não utilizado&lt;/p&gt;

&lt;p&gt;Material utilizado:  alicate Crimpador, 4 conectores RJ45, * cola quente e fita isolante.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Como os espaço dos conectores ficaram vazios pois foi utilizado somente 2 pares eu preenchi internamente no conector&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh0j3qk03c7d3nkquxm80.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh0j3qk03c7d3nkquxm80.png" alt="Image description" width="800" height="927"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0lklvhjmovhlqsbgdm4q.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0lklvhjmovhlqsbgdm4q.png" alt="Image description" width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvq5hlf5evfujcstsnyaf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvq5hlf5evfujcstsnyaf.png" alt="Image description" width="640" height="411"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;com cola quente deixando assim bem fixo e firme os pares. É um dispedicio usar deixar 2 pares lá nulos, com esse esquema economizei um cabo, a questão não é o dinheiro mas sim espaço e organização.&lt;/p&gt;

</description>
      <category>gambiarra</category>
      <category>double</category>
      <category>ethernet</category>
      <category>cable</category>
    </item>
    <item>
      <title>executando comando em um novo terminal</title>
      <dc:creator>rafaone</dc:creator>
      <pubDate>Thu, 09 Nov 2023 17:11:14 +0000</pubDate>
      <link>https://forem.com/rafaone/executando-comando-em-um-novo-terminal-1a5j</link>
      <guid>https://forem.com/rafaone/executando-comando-em-um-novo-terminal-1a5j</guid>
      <description>&lt;p&gt;&lt;em&gt;original post 01/12/2009 rafaelgimenes.net&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Dica rápida que salvou minha vida hoje em uma aplicação, é executar com comando em um novo terminal. Geralmente é a opção “-e” do seu terminal.&lt;br&gt;
Eu uso o xterm, hoje tive que fazer um shell script que teve que ser aberto em uma nova janela, então usei essa instrução:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;xterm -e comando &amp;amp;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Dentro do meu shell script ficou mais ou menos assim:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;xterm -e sh segundosh.sh &amp;amp;;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Não posso usar o meu exemplo que fiz por se tratar de um sw da empresa, e um exemplo didático não me vem a  cabeça mas fica a dica.&lt;/p&gt;

</description>
      <category>terminal</category>
      <category>new</category>
      <category>command</category>
      <category>linux</category>
    </item>
    <item>
      <title>Ubuntu Minimal Install</title>
      <dc:creator>rafaone</dc:creator>
      <pubDate>Thu, 09 Nov 2023 17:03:47 +0000</pubDate>
      <link>https://forem.com/rafaone/ubuntu-minimal-install-1oek</link>
      <guid>https://forem.com/rafaone/ubuntu-minimal-install-1oek</guid>
      <description>&lt;p&gt;&lt;em&gt;original post 28/12/2010 rafaelgimenes.net&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Para você que se sente meio preso ao instalar o Ubuntu, pois ele já vem pronto para um usuário final, mas isso não me agrada parece que perco o espirito de liberdade.&lt;/p&gt;

&lt;p&gt;Mas o ponto forte Ubuntu são suas atualizações, então eu fui em busca de como fazer uma instalação customizada somente com os pacotes do Ubuntu.&lt;br&gt;
Depois de muita pesquisa e anos de experiência com linux desenvolvi o que chamo de instalação mínima, para MIM(Rafael Gimenes Leite) é perfeita.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Alguns conceitos da minha instalação&lt;/strong&gt;&lt;br&gt;
– Não tem gerenciador de login gráfico.&lt;br&gt;
– Precisar habilitar o root, na unha e você usa isso.&lt;br&gt;
– Não tem menus, os aplicativos são chamados via tecla de atalho ou docks.&lt;br&gt;
– Não tem menu para desligar.&lt;br&gt;
– Não é um desktop, usa apenas um gerenciador de Janelas.&lt;br&gt;
– Aqui tudo é minimalista, não é bonito também não quer dizer que é feio, é apenas simples faz o necessário.&lt;br&gt;
– Não importa a versão do ubuntu, atual ou não essa técnica quase nunca mudará.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Seria bom/Pré-Requisitos&lt;/strong&gt;&lt;br&gt;
– Se você tem conceitos de particionamento.&lt;br&gt;
– Se você já instalou um Debian.&lt;br&gt;
– Se você sabe usar o vim.&lt;br&gt;
– Conexão com internet via placa de rede 10/100 (sim tem que ser assim).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Introdução&lt;/strong&gt;&lt;br&gt;
A idéia é usar a instalação mínima do Ubuntu (&lt;a href="https://help.ubuntu.com/community/Installation/MinimalCD" rel="noopener noreferrer"&gt;https://help.ubuntu.com/community/Installation/MinimalCD&lt;/a&gt;), onde é bem parecida com a NetInstall do Debian. Iremos baixar a imagem(12 ~ 13MB) do link acima e queimar em um cd rom e dar boot.&lt;/p&gt;

&lt;p&gt;Vamos usar o assistente de instalação, e não selecionaremos nenhum pacote na instalação, tudo sera instalado via linha de comando usando o apt. Pra quem já instalou usando o anaconda da RedHat não terá problemas, qualquer ser capaz de ler consegue instalar.&lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhoas633qd1j8x5l1t7ti.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhoas633qd1j8x5l1t7ti.png" alt="Image description" width="407" height="295"&gt;&lt;/a&gt;&lt;br&gt;
Esta é a primeira tela exibida após o boot, selecione o menu&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvvimff8dbjw4a8i83a5r.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvvimff8dbjw4a8i83a5r.png" alt="Image description" width="798" height="591"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Va seguindo o instalador conforme as telas, não quer que eu fique explicando tudo né?&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5wn7k6l3xoeu9c6chj4k.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5wn7k6l3xoeu9c6chj4k.png" alt="Image description" width="795" height="592"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvtqd08smxd4dw5g519l7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvtqd08smxd4dw5g519l7.png" alt="Image description" width="790" height="595"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs2pq0p9riity3c7xw81s.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs2pq0p9riity3c7xw81s.png" alt="Image description" width="789" height="598"&gt;&lt;/a&gt;&lt;br&gt;
Coloque o nome que quiser, este é o nome da sua maquina pense em algo inspirador.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffq2izycsgbvx6e9910br.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffq2izycsgbvx6e9910br.png" alt="Image description" width="792" height="591"&gt;&lt;/a&gt;&lt;br&gt;
Aqui você estara selecionando daonde  pacotes serão baixados.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fitqvj17kp62tbkmjkgnw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fitqvj17kp62tbkmjkgnw.png" alt="Image description" width="794" height="592"&gt;&lt;/a&gt;&lt;br&gt;
Se não tiver proxy de um [enter], se tiver pesquise no google como configurar.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh2ju2mtsk9jv5ttr9uug.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh2ju2mtsk9jv5ttr9uug.png" alt="Image description" width="793" height="595"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5hbglasa5iqn1f6zoxgp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5hbglasa5iqn1f6zoxgp.png" alt="Image description" width="786" height="592"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy2gfa1scttu2ysu10lbi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy2gfa1scttu2ysu10lbi.png" alt="Image description" width="788" height="596"&gt;&lt;/a&gt;&lt;br&gt;
Chegamos a parte onde todo usuário de windows faz cagada, na configuração das particões, bom use o método manual, não vou entrar em detalhes, pra esse tutorial eu criei uma partição só.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnb13a1nz87oqttzb2uwk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnb13a1nz87oqttzb2uwk.png" alt="Image description" width="792" height="591"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvq8keuortqm8e5x9cagq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvq8keuortqm8e5x9cagq.png" alt="Image description" width="790" height="589"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F01ezif78f8nk45tn7mrh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F01ezif78f8nk45tn7mrh.png" alt="Image description" width="797" height="597"&gt;&lt;/a&gt;&lt;br&gt;
Após criar, FINISH!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F62sxiahq6pxtg4knsewq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F62sxiahq6pxtg4knsewq.png" alt="Image description" width="785" height="563"&gt;&lt;/a&gt;&lt;br&gt;
Aguarde, vai demorar, o instalador esta baixando o minimo para poder instalar o sistema, no debian o cd é de 170mb essa parte é mais rápida.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F07tsn7iatbdvmnfacboq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F07tsn7iatbdvmnfacboq.png" alt="Image description" width="795" height="597"&gt;&lt;/a&gt;&lt;br&gt;
O nome do usuario, eu coloquei “lion”, coloque ai o seu usuário.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F666xuw5u707r5bfuyoxg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F666xuw5u707r5bfuyoxg.png" alt="Image description" width="795" height="596"&gt;&lt;/a&gt;&lt;br&gt;
senha é bom por né.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsq2j3mbs8yrv2ztu7d5k.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsq2j3mbs8yrv2ztu7d5k.png" alt="Image description" width="783" height="600"&gt;&lt;/a&gt;&lt;br&gt;
Aqui você tem a opção de encriptar seus dados, tudo que estiver no /home/ você deve pro governo? eu encriptei.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0iura37wqwb28o4lw9gw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0iura37wqwb28o4lw9gw.png" alt="Image description" width="800" height="594"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7c627ytqeo5ntb0gh2f6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7c627ytqeo5ntb0gh2f6.png" alt="Image description" width="797" height="596"&gt;&lt;/a&gt;&lt;br&gt;
Aqui você pode selecionar a primeira opção, eu prefiro atualizar manualmente.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5kqlf3bwxh1iqh4vjpbk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5kqlf3bwxh1iqh4vjpbk.png" alt="Image description" width="797" height="592"&gt;&lt;/a&gt;&lt;br&gt;
Neste tela desmarque tudo, isso faz você ser o cara livre do sistema, aguarde pois vai demorar.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Feaz614ysnhyverey6anh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Feaz614ysnhyverey6anh.png" alt="Image description" width="797" height="599"&gt;&lt;/a&gt;&lt;br&gt;
Grub é o gerenciador de boot, instale ele ai sem medo.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb6y3zqh4k50m1spqgwvn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb6y3zqh4k50m1spqgwvn.png" alt="Image description" width="798" height="598"&gt;&lt;/a&gt;&lt;br&gt;
Cara se você chegou nessa tela eu já estou orgulhoso, pois provavelmente não fez nenhuma cagada.&lt;/p&gt;

&lt;p&gt;Logue-se com seu usuário, meu caso “lion” (que coisa gay figura 24 ainda).&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fttkkfto0t62b34lxwwmk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fttkkfto0t62b34lxwwmk.png" alt="Image description" width="719" height="354"&gt;&lt;/a&gt;&lt;br&gt;
**Apartir daqui acabou as figurinhas fio, espero que você saiba o mínimo de VI.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Torna-se root&lt;/strong&gt;&lt;br&gt;
Isso é primordio no linux, sempre somos o ROOT, o Ubuntu tem essa filosofia para você não fazer cagada, mas na vida uma boa técnica de aprendizado é fazendo cagada, então vamos habilitar o root.&lt;br&gt;
Calma usaremos o root para tarefas como instalar novos software, mas a execução e configuração de nosso ambiente será com nosso usuário.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ sudo passwd root
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Pronto a partir de agora os comandos começados com # quer dizer que você tem que estar logado como root, e quando estiver $ você deve executar com seu usuário.&lt;/p&gt;

&lt;p&gt;Loge-se como root vamos usar bastante de um $su ou entre num novo tty como root.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Instalando o vim&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;#apt-get install vim
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;(repare # você tem que estar logado como root)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Removendo o boot-splash&lt;/strong&gt;&lt;br&gt;
Amigos estamos falando de uma maquina limpa, o boot splash só come memória.&lt;br&gt;
Faça um backup antes e depois edite o arquivo “/boot/grub/grub.cfg”  procure a palavra splash e apague somente ela e salve o arquivo. É necessário dar diretos de gravação e depois volte como somente leitura.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Removendo Mensagem de boas vindas MOTD&lt;/strong&gt;&lt;br&gt;
Logo após o login, é exibida uma mensagem de boas vindas enorme do ubuntu, eu não gosto dela, nem do debian eu gostava e eu a removia editando o script “/etc/init.d/boot-misc.sh” mas no ubuntu esse arquivo não existe.&lt;br&gt;
Depois de muito fuçar eu descobri que removendo os arquivos do diretorio  “/etc/update-motd.d/” a mensagem some, pra mim basta, também removi o conteudo do arquivo /var/run/motd ;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;UPDATE&lt;/strong&gt;&lt;br&gt;
Dica do comentário do Marcelo Godim&lt;br&gt;
Ele é gerenciado pelo pam_motd basta ir em /etc/pam.d nos arquivos “login” e “sshd” e comentar essas linhas abaixo:&lt;br&gt;
login:&lt;/p&gt;
&lt;h1&gt;
  
  
  session optional pam_motd.so
&lt;/h1&gt;

&lt;p&gt;sshd:&lt;/p&gt;
&lt;h1&gt;
  
  
  session optional pam_motd.so # [1]
&lt;/h1&gt;

&lt;p&gt;&lt;strong&gt;Mudando mensagem da versão&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Dica velha edite o arquivo “/etc/issue” coloque o que preferir.&lt;/p&gt;

&lt;p&gt;——Se você não precisa de modo gráfico a instalação terminou aqui.&lt;/p&gt;

&lt;p&gt;Alterando o sources.list adicionando outros repositórios&lt;/p&gt;

&lt;p&gt;Edite o arquivo /etc/apt/sources.list e deixe assim, basicamente adicionados pacotes do site Medibuntu, se prefereir siga esses passos é melhor do que editar o arquivo.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Instalando o resto dos pacotes&lt;/strong&gt;&lt;/p&gt;
&lt;h1&gt;
  
  
  apt-get install xserver-xorg xinit alsa-base alsa-utils openbox obconf obmenu feh nitrogen tint2 k3b conky gmrun pcmanfm gtk-theme-switch ssh smbfs smbclient dosfstools setserial usbutils leafpad x11-apps openbox-themes terminator chromium-browser xcompmgr gcc g++ openjdk-6-jdk mysql-server mysql-query-browser gftp gcc-avr avrdude imagemagick gparted ntfs-3g file-roller zip unrar gpicview gtk2-engines gnome-icon-theme-gartoon vim unace rar unrar zip unzip p7zip-full p7zip-rar sharutils uudeview mpack lha arj cabextract file-roller pidgin pidgin-data pidgin-lastfm pidgin-guifications msn-pecan pidgin-musictracker pidgin-plugin-pack pidgin-themes mplayer vlc cairo-dock w32codecs audacious
&lt;/h1&gt;

&lt;p&gt;Vai dormir, seila vai baixar ai uns 500mb, você pode tirar ou por o que quiser ai isso é minha instalação.&lt;/p&gt;

&lt;p&gt;Como entrar no modo gráfico?&lt;/p&gt;

&lt;p&gt;Logue-se com seu usuário&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$startx
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;O comando antigo, simples, que dei a primeira vez no meu conectiva 4.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq6gu27t3qn2e7j3dp460.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq6gu27t3qn2e7j3dp460.png" alt="Image description" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Este é o resultado final, mas para isso vamos algumas dicas.&lt;/p&gt;

&lt;p&gt;Toda incialização dos aplicativos eu concentrei no .config/openbox/autostart.sh segue o meu ai&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# Set desktop wallpaper
nitrogen –restore &amp;amp;
# Enable Eyecandy – off by default
xcompmgr -cCfF -r7 -o.65 -l-10 -t-8 &amp;amp;
# Launch network manager applet
(sleep 4s &amp;amp;&amp;amp; nm-applet) &amp;amp;
# Launch clipboard manager
#(sleep 1s &amp;amp;&amp;amp; parcellite) &amp;amp;
# Uncomment to enable system updates at boot
#(sleep 180s &amp;amp;&amp;amp; system-update) &amp;amp;
cairo-dock &amp;amp;
# Launch Conky
#conky -q &amp;amp;
# Launch panel
tint2 &amp;amp;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Configurando teclas de atalho&lt;/strong&gt;, edite o arquivo .config/openbox/rc.xml, vá até a seção keybinds as minhas são essas abaixo:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;keybind key=”W-a”&amp;gt;&amp;lt;action name=”Execute”&amp;gt;  &amp;lt;execute&amp;gt;audacious&amp;lt;/execute&amp;gt;&amp;lt;/action&amp;gt;&amp;lt;/keybind&amp;gt;&amp;lt;keybind key=”W-1″&amp;gt;&amp;lt;action name=”Execute”&amp;gt;  &amp;lt;execute&amp;gt;xcompmgr -cCfF -r7 -o.65 -l-10 -t-8&amp;lt;/execute&amp;gt;&amp;lt;/action&amp;gt;&amp;lt;/keybind&amp;gt;&amp;lt;keybind key=”W-2″&amp;gt;&amp;lt;action name=”Execute”&amp;gt;  &amp;lt;execute&amp;gt;pkill xcompmgr&amp;lt;/execute&amp;gt;&amp;lt;/action&amp;gt;&amp;lt;/keybind&amp;gt;&amp;lt;keybind key=”W-a”&amp;gt;&amp;lt;action name=”Execute”&amp;gt;  &amp;lt;execute&amp;gt;audacious&amp;lt;/execute&amp;gt;&amp;lt;/action&amp;gt;&amp;lt;/keybind&amp;gt;&amp;lt;keybind key=”W-e”&amp;gt;&amp;lt;action name=”Execute”&amp;gt;  &amp;lt;execute&amp;gt;pcmanfm&amp;lt;/execute&amp;gt;&amp;lt;/action&amp;gt;&amp;lt;/keybind&amp;gt;&amp;lt;keybind key=”W-g”&amp;gt;&amp;lt;action name=”Execute”&amp;gt;  &amp;lt;startupnotify&amp;gt;    &amp;lt;enabled&amp;gt;true&amp;lt;/enabled&amp;gt;    &amp;lt;name&amp;gt;transset&amp;lt;/name&amp;gt;  &amp;lt;/startupnotify&amp;gt;  &amp;lt;command&amp;gt;transset .50&amp;lt;/command&amp;gt;&amp;lt;/action&amp;gt;&amp;lt;/keybind&amp;gt;&amp;lt;keybind key=”W-h”&amp;gt;&amp;lt;action name=”Execute”&amp;gt;  &amp;lt;startupnotify&amp;gt;&amp;lt;enabled&amp;gt;true&amp;lt;/enabled&amp;gt;&amp;lt;name&amp;gt;transset 1&amp;lt;/name&amp;gt;&amp;lt;/startupnotify&amp;gt;&amp;lt;command&amp;gt;transset 1&amp;lt;/command&amp;gt;&amp;lt;/action&amp;gt;&amp;lt;/keybind&amp;gt;&amp;lt;keybind key=”W-l”&amp;gt;&amp;lt;action name=”Execute”&amp;gt;&amp;lt;startupnotify&amp;gt;&amp;lt;enabled&amp;gt;true&amp;lt;/enabled&amp;gt;&amp;lt;name&amp;gt;Lock screen&amp;lt;/name&amp;gt;&amp;lt;/startupnotify&amp;gt;&amp;lt;command&amp;gt;gnome-screensaver-command -l&amp;lt;/command&amp;gt;&amp;lt;/action&amp;gt;&amp;lt;/keybind&amp;gt;&amp;lt;keybind key=”W-t”&amp;gt;&amp;lt;action name=”Execute”&amp;gt;&amp;lt;execute&amp;gt;terminator&amp;lt;/execute&amp;gt;&amp;lt;/action&amp;gt;&amp;lt;/keybind&amp;gt;&amp;lt;keybind key=”W-r”&amp;gt; &amp;lt;action name=”Execute”&amp;gt; &amp;lt;execute&amp;gt;gmrun&amp;lt;/execute&amp;gt; &amp;lt;/action&amp;gt;&amp;lt;/keybind&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Pesquise como instalar temas GTK, configurar o TINT2 (desk bar), Cairo Dock, também tem muitas configurações de openbox na internet.&lt;/p&gt;

&lt;p&gt;Esse tutorial vem de anos de convivio com linux, é duro passar tudo a limpo aqui, uma dica e testar o Linux Crunch-Bang aprendi muitas customizações com ele.&lt;/p&gt;

</description>
      <category>ubuntu</category>
      <category>minimal</category>
      <category>install</category>
      <category>tip</category>
    </item>
  </channel>
</rss>
