<?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: Ricardo Filipe dos Santos</title>
    <description>The latest articles on DEV Community by Ricardo Filipe dos Santos (@rf-santos).</description>
    <link>https://dev.to/rf-santos</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%2F752467%2F673a0fab-6da6-43c4-8611-384812d40134.jpeg</url>
      <title>DEV Community: Ricardo Filipe dos Santos</title>
      <link>https://dev.to/rf-santos</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/rf-santos"/>
    <language>en</language>
    <item>
      <title>Europe Takes the Lead: A Quick Look at the Groundbreaking EU AI Act</title>
      <dc:creator>Ricardo Filipe dos Santos</dc:creator>
      <pubDate>Thu, 21 Mar 2024 10:52:24 +0000</pubDate>
      <link>https://dev.to/rf-santos/europe-takes-the-lead-a-quick-look-at-the-groundbreaking-eu-ai-act-4be7</link>
      <guid>https://dev.to/rf-santos/europe-takes-the-lead-a-quick-look-at-the-groundbreaking-eu-ai-act-4be7</guid>
      <description>&lt;p&gt;The European Union (EU) has recently positioned itself in the forefront of artificial intelligence (AI) regulation with the historic introduction of the AI Act. This groundbreaking legislation is pioneering in its scope and ambition, aiming to establish a comprehensive and all-encompassing framework for the development, deployment, and use of AI across the entire European space. What does the Act entail in detail, and what are the implications it holds for the future of AI, both within Europe and on the global stage?&lt;/p&gt;

&lt;h3&gt;
  
  
  A Risk-Based Approach
&lt;/h3&gt;

&lt;p&gt;The EU AI Act adopts a pragmatic and nuanced approach by categorizing AI applications into four distinct levels of risk:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Unacceptable Risk:&lt;/strong&gt; This category encompasses AI systems that pose a clear and immediate threat to safety, livelihoods, and fundamental rights. Such systems are outrightly banned and include, for instance, social scoring by governments, and toys using voice assistants that encourage dangerous behavior.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;High-Risk:&lt;/strong&gt; AI applications falling under this category require strict scrutiny and rigorous assessment before they can be introduced to the market. Examples include AI used in critical infrastructures such as transport, educational or vocational training, safety components of products, employment, law enforcement, and more.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Limited Risk:&lt;/strong&gt; Under this category, the focus is primarily on transparency. AI systems, such as chatbots, must disclose their non-human nature to users, and content generated by AI must be explicitly labelled as such.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Minimal or No Risk:&lt;/strong&gt; This category includes the vast majority of AI applications, such as video games and spam filters. These applications face minimal regulations due to their low potential for harm.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  A Gradual Implementation
&lt;/h3&gt;

&lt;p&gt;The implementation of the AI Act will follow a phased approach:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Entry into Force:&lt;/strong&gt; The Act will come into force 20 days after its publication in the Official Journal.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Full Applicability:&lt;/strong&gt; Full applicability of the Act will be realized 2 years after entry into force, with certain exceptions.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Prohibitions:&lt;/strong&gt; Prohibitions under the Act will become effective after 6 months.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Governance &amp;amp; General-Purpose AI Models:&lt;/strong&gt; This aspect of the Act will become applicable after 1 year.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI in Regulated Products:&lt;/strong&gt; This will become applicable after 3 years.
This phased approach allows businesses and other entities ample time to adapt to the new regulations and ensure compliance.&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%2Fp4il18eaoyofnwtu67xw.jpeg" 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%2Fp4il18eaoyofnwtu67xw.jpeg" alt="Generated by AI for the purpose of this blog post." width="800" height="800"&gt;&lt;/a&gt;&lt;em&gt;Generated by AI for the purpose of this blog post.&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  The EU AI Act &amp;amp; the GDPR
&lt;/h3&gt;

&lt;p&gt;The General Data Protection Regulation (GDPR) is primarily concerned with protecting individual privacy by regulating how personal data is collected, used, and stored. The AI Act, on the other hand, addresses the broader societal risks associated with AI development and deployment. While the two regulations serve distinct purposes, they share a common goal: fostering trust and ethical practices in the digital age.&lt;br&gt;
Here's a table summarizing the key differences, with an additional focus on enforcement measures:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;GDPR&lt;/th&gt;
&lt;th&gt;AI Act&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Focus&lt;/td&gt;
&lt;td&gt;Data privacy&lt;/td&gt;
&lt;td&gt;Societal risks of AI&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Core Principles&lt;/td&gt;
&lt;td&gt;Transparency, accountability, control&lt;/td&gt;
&lt;td&gt;Safety, fairness, transparency, human oversight&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Applicability&lt;/td&gt;
&lt;td&gt;Organizations processing personal data in EU&lt;/td&gt;
&lt;td&gt;Providers and developers of AI applications&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Compliance Obligations&lt;/td&gt;
&lt;td&gt;Data Protection Impact Assessments (DPIAs)&lt;/td&gt;
&lt;td&gt;Risk assessments, high-quality datasets, human oversight&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Enforcement&lt;/td&gt;
&lt;td&gt;Fines up to €20 million or 4% of global turnover&lt;/td&gt;
&lt;td&gt;Fines up to €35 million or 7% of global turnover&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  The Newly Established European AI Office: Fostering Collaboration and Ensuring Compliance
&lt;/h3&gt;

&lt;p&gt;In February 2024, the European Commission established the European AI Office to oversee the implementation and enforcement of the AI Act. This office will play a critical role in &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Facilitating cooperation&lt;/strong&gt; between member states and various stakeholders.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Providing guidance&lt;/strong&gt; on compliance with the AI Act.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Monitoring&lt;/strong&gt; the application of the Act across the EU.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Promoting research and innovation&lt;/strong&gt; in trustworthy AI.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Frequently Asked Questions (FAQs) about the EU AI Act:
&lt;/h3&gt;

&lt;p&gt;Here are some of the most frequently asked questions about the EU AI Act:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;When will the AI Act be enforced?&lt;/strong&gt; The Act will enter into force 20 days after its publication, with full applicability two years later (with a few exceptions, as outlined in the timeline).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Does the AI Act apply to me?&lt;/strong&gt; The Act applies to all providers and developers of AI applications that are placed on the market or used within the EU.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;How can I ensure compliance with the AI Act?&lt;/strong&gt; To ensure compliance, conduct thorough risk assessments, maintain high-quality data sets, implement human oversight mechanisms, and stay updated on the latest guidance from the European AI Office.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;What are the consequences of non-compliance?&lt;/strong&gt; Specific fines are applied depending on the risk and articles violated. Non-compliance with the AI Act can result in substantial fines, similar to the GDPR. The severity of the infringement determines the fines, ranging from &lt;strong&gt;€7.5 million or 1.5% of global turnover&lt;/strong&gt; for minor violations to &lt;strong&gt;€35 million or 7% of global turnover&lt;/strong&gt; for severe offenses. These penalties highlight the EU's commitment to responsible AI development and use.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The EU AI Act represents a significant leap forward in the realm of AI regulation. By establishing a clear, comprehensive, and robust framework for responsible development and deployment, the Act has the potential to foster a climate of trust and stimulate innovation within the European AI landscape. Although the primary focus is on the EU, the principles defined in the Act are likely to influence AI regulations worldwide. As AI continues to evolve and permeate every aspect of our lives, the EU AI Act serves as a crucial stepping stone towards a future where AI is used responsibly and benefits all.&lt;/p&gt;

</description>
      <category>euaiact</category>
      <category>responsibleai</category>
      <category>airegulation</category>
      <category>ai</category>
    </item>
    <item>
      <title>Boost Your Productivity with ntfy.sh: The Ultimate Notification Tool for Command-Line Users</title>
      <dc:creator>Ricardo Filipe dos Santos</dc:creator>
      <pubDate>Tue, 20 Feb 2024 12:02:27 +0000</pubDate>
      <link>https://dev.to/rf-santos/boost-your-productivity-with-ntfysh-the-ultimate-notification-tool-for-command-line-users-iil</link>
      <guid>https://dev.to/rf-santos/boost-your-productivity-with-ntfysh-the-ultimate-notification-tool-for-command-line-users-iil</guid>
      <description>&lt;p&gt;If you're someone who spends a significant amount of time in front of a terminal, you know the importance of staying informed about the processes you have set in motion. Whether it's a long-running script, a backup operation, or a scheduled task, keeping an eye on these activities can be crucial. That's where ntfy.sh comes into play, and if you haven't heard about it yet, prepare to be enlightened! 🚀&lt;/p&gt;

&lt;p&gt;ntfy.sh is a free, open-source service that provides a command-line tool capable of sending desktop notifications or push notifications directly to your phone. Imagine initiating a command and being able to step away from your desk with the confidence that you'll be promptly notified upon its completion. That's the convenience ntfy.sh offers.&lt;/p&gt;

&lt;h2&gt;
  
  
  Key Features of ntfy.sh
&lt;/h2&gt;

&lt;h3&gt;
  
  
  😎 Easy to Use
&lt;/h3&gt;

&lt;p&gt;The beauty of ntfy.sh lies in its simplicity. To monitor any command, prepend it with ntfy, and voilà – you'll receive a notification once the command finishes executing. There's no need for complex setup procedures. Additionally, ntfy.sh allows for customization. You can change the notification sound, set priorities, and much more to suit your preferences.&lt;/p&gt;

&lt;h3&gt;
  
  
  🤸‍♂️ Flexible
&lt;/h3&gt;

&lt;p&gt;Flexibility is at the heart of ntfy.sh. It supports a plethora of notification backends, such as Pushbullet, Telegram, Slack, and others. This means you can receive notifications in the app that you use most often. Moreover, if you have unique requirements, ntfy.sh allows you to craft your own custom backends to fit your specific needs.&lt;/p&gt;

&lt;h3&gt;
  
  
  🔓 Open Source
&lt;/h3&gt;

&lt;p&gt;The open-source nature of ntfy.sh is a testament to its community-driven development. Hosted on GitHub, ntfy.sh invites contributions from users worldwide. Whether you're a developer looking to add features or an end-user wanting to report bugs or suggest improvements, you can participate in the evolution of this tool.&lt;/p&gt;

&lt;h2&gt;
  
  
  Practical Uses of ntfy.sh
&lt;/h2&gt;

&lt;p&gt;Let's explore some real-world scenarios where ntfy.sh can enhance your workflow:&lt;/p&gt;

&lt;h3&gt;
  
  
  💾 Backup Notifications
&lt;/h3&gt;

&lt;p&gt;Backups are essential, but they can take time. With ntfy.sh, you can receive a notification the moment your backup process completes. For instance, if you're using rsync for backups, you can use the command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ntfy rsync &lt;span class="nt"&gt;-avz&lt;/span&gt; /path/to/source /path/to/destination
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This command will send you a notification as soon as the rsync operation finishes, letting you know that your data is safely backed up.&lt;/p&gt;

&lt;h3&gt;
  
  
  📅 Cron Job Notifications
&lt;/h3&gt;

&lt;p&gt;Scheduled tasks, or cron jobs, often run in the background at predetermined times. Monitoring these can be a hassle, but ntfy.sh simplifies it. By integrating ntfy.sh into your cron jobs, you can get instant notifications upon their completion, ensuring that you're always aware of their status without having to manually check.&lt;/p&gt;

&lt;h3&gt;
  
  
  🔀 Code Workflow Notifications
&lt;/h3&gt;

&lt;p&gt;For developers, keeping track of workflows is crucial, especially when dealing with continuous integration and deployment. ntfy.sh can notify you when certain stages in your workflow are reached or if something goes awry. By making an HTTP POST request to a custom "ntfy.sh/my-workflow-topic" endpoint, you can receive updates with varied message bodies and priorities depending on the outcome of the workflow steps.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight http"&gt;&lt;code&gt;&lt;span class="nf"&gt;POST&lt;/span&gt; &lt;span class="nn"&gt;/my-workflow-topic&lt;/span&gt; &lt;span class="k"&gt;HTTP&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="m"&gt;1.1&lt;/span&gt;
&lt;span class="na"&gt;Host&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s"&gt;ntfy.sh&lt;/span&gt;
&lt;span class="na"&gt;Icon&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s"&gt;https://www.vhv.rs/dpng/d/518-5188627_apache-airflow-documentation-airflow-documentation-apache-airflow-logo.png&lt;/span&gt;
&lt;span class="na"&gt;Tags&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s"&gt;arrow_forward&lt;/span&gt;
&lt;span class="na"&gt;Title&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Workflow halted at step 3&lt;/span&gt;

The workflow &amp;lt;dag_id&amp;gt; failed during &amp;lt;task_id&amp;gt; at &amp;lt;timestamp&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  The Power of Personalization
&lt;/h2&gt;

&lt;p&gt;The ability to personalize notifications is not just about aesthetics; it's about creating a workflow that aligns perfectly with your needs and preferences. ntfy.sh understands this and offers a myriad of options for tailoring messages to your liking.&lt;/p&gt;

&lt;h3&gt;
  
  
  💬 Custom Titles and Messages
&lt;/h3&gt;

&lt;p&gt;You can specify custom titles and messages for each notification, ensuring that the information you receive is clear and immediately recognizable. This is particularly useful when you're monitoring multiple processes at once and need to distinguish between them quickly.&lt;/p&gt;

&lt;h3&gt;
  
  
  ⚠ Prioritization
&lt;/h3&gt;

&lt;p&gt;ntfy.sh lets you set priority levels for your notifications. High-priority messages can break through your do-not-disturb mode or silent settings, so you never miss an important alert.&lt;/p&gt;

&lt;h3&gt;
  
  
  📜 Rich Notifications
&lt;/h3&gt;

&lt;p&gt;ntfy.sh supports rich notifications, which include images and emojis. This feature can make your notifications more engaging and easier to digest at a glance. It also supports Markdown!&lt;/p&gt;

&lt;h3&gt;
  
  
  📲 Actionable Notifications
&lt;/h3&gt;

&lt;p&gt;For supported backends, ntfy.sh notifications can include actions that you can take directly from the notification itself. This means less time switching between applications and more time focusing on what's important.&lt;/p&gt;

&lt;h3&gt;
  
  
  Customization Examples
&lt;/h3&gt;

&lt;p&gt;Let's look at a few examples of how you can personalize your ntfy.sh notifications:&lt;/p&gt;

&lt;p&gt;Custom Titles for Backup Completion&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ntfy &lt;span class="nt"&gt;-t&lt;/span&gt; &lt;span class="s2"&gt;"Backup Completed"&lt;/span&gt; send &lt;span class="s2"&gt;"Your backup of /path/to/source is now safely stored at /path/to/destination."&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Using Emojis for Cron Job Notifications&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ntfy send &lt;span class="s2"&gt;"✅ Cron job finished: Daily database backup"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Setting Priority Levels for Workflow Notifications&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ntfy &lt;span class="nt"&gt;-p&lt;/span&gt; urgent send &lt;span class="s2"&gt;"🚨 Attention: Deployment workflow failed at stage 3"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Attaching Images to Notifications&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ntfy send &lt;span class="s2"&gt;"Here's a preview of the latest build:"&lt;/span&gt; &lt;span class="nt"&gt;-a&lt;/span&gt; http://example.com/image.png

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Getting Started with ntfy.sh
&lt;/h2&gt;

&lt;p&gt;Ready to integrate ntfy.sh into your daily routine? Getting started is as simple as visiting the ntfy.sh documentation at &lt;a href="https://docs.ntfy.sh/"&gt;https://docs.ntfy.sh/&lt;/a&gt; where you'll find all the information needed to begin. Whether you're a seasoned developer or a command-line novice, ntfy.sh is designed to be accessible and useful for anyone who could benefit from timely notifications.&lt;/p&gt;

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

&lt;p&gt;ntfy.sh stands out as a versatile and user-friendly tool that can significantly boost your productivity. By keeping you informed about your command-line tasks, it enables you to manage your time more effectively and focus on what's important. Give ntfy.sh a try today, and experience firsthand how it can streamline your workflow and make your life easier!&lt;/p&gt;

&lt;p&gt;Don't forget to share your experiences and tips with the community using the hashtag #ntfysh. Happy notifying!&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Disclaimer: The author of this blog post is not affiliated with ntfy.sh and the views expressed are solely their own.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>commandline</category>
      <category>opensource</category>
      <category>notifications</category>
    </item>
    <item>
      <title>Terminal shortcuts</title>
      <dc:creator>Ricardo Filipe dos Santos</dc:creator>
      <pubDate>Wed, 02 Mar 2022 01:15:30 +0000</pubDate>
      <link>https://dev.to/rf-santos/terminal-shortcuts-2gmm</link>
      <guid>https://dev.to/rf-santos/terminal-shortcuts-2gmm</guid>
      <description>&lt;h2&gt;
  
  
  Intro
&lt;/h2&gt;

&lt;p&gt;When I first starting using a UNIX terminal it wasn't love at first sight... It rarely is, for someone used to talk to a computer through mouse clicking. Unless, I guess, you start delving in it out of curiosity, free to explore with no pressure and no expectations to meet. My advice: don't dive into it on a tight schedule expecting great results.&lt;/p&gt;

&lt;p&gt;GNU/Linux operating systems are very powerful. In honest truth, the best way to harness all that power is through the command line. Hence, I started this series of posts - "&lt;a href=""&gt;Termifobia&lt;/a&gt;" - to share some personal tips I wish I had when first starting off. This is meant to help those transitioning to or ocassionally using a Linux Terminal. Hopefully, it might help you get the most out of it, with less work and head bashing moments.&lt;/p&gt;

&lt;h2&gt;
  
  
  Absolute essential
&lt;/h2&gt;

&lt;p&gt;Yes, some might already know these, but I was one of the few who didn't, and it made my life so much harder without me ever knowing how hard it was until I realized these shortcuts existed since the &lt;em&gt;"beginning of time"&lt;/em&gt;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;Tab&lt;/code&gt; - &lt;strong&gt;Autocomplete&lt;/strong&gt; - Just start typing something and press &lt;code&gt;Tab&lt;/code&gt; and the Terminal will show you the available possibilities to finish your word. This might be a command, a file, a folder... Absolute magic!&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;Ctrl + C&lt;/code&gt; - &lt;strong&gt;Kill currently running command&lt;/strong&gt; - More often than what you might think at first, you will run a command and regret it. This one will take care of it, stopping everything in its tracks.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;Ctrl + L&lt;/code&gt; - &lt;strong&gt;Clear terminal screen&lt;/strong&gt; - Type as little as 5-6 commands and your Terminal screen will look too crowded. This shortcut will clear the screen and give you some breathing air.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;Up/Down arrows&lt;/code&gt; - &lt;strong&gt;Navigate through previous commands&lt;/strong&gt; - Again, more often than what you might think, you will need to re-run your previous command or a very similar version of it. With your command line empty, hit the &lt;code&gt;Up arrow&lt;/code&gt; key and the previous command will show up. You can now use the &lt;code&gt;Left/Right arrows&lt;/code&gt; to navigate the line and modify it as required.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Here is a free Mnemonic to help you remember the essentials:&lt;br&gt;
&lt;strong&gt;T&lt;/strong&gt;ake &lt;strong&gt;C&lt;/strong&gt;are &lt;strong&gt;L&lt;/strong&gt;ittle &lt;strong&gt;U&lt;/strong&gt;nicorn 🦄&lt;/p&gt;

&lt;h2&gt;
  
  
  Time-savers
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;Ctrl + Z&lt;/code&gt; - &lt;strong&gt;Suspend/Move to background&lt;/strong&gt; - Your currently running command usually prints output to your screen. This shortcut is very useful if you need to rescue your terminal prompt. It will send whatever is running to the background and allow to have control of your terminal again. When you are done and want to see the output of the first command again, just run &lt;code&gt;fg&lt;/code&gt;, a linux command that brings background running jobs to the foreground.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;Ctrl + A&lt;/code&gt; / &lt;code&gt;Ctrl + E&lt;/code&gt; - &lt;strong&gt;Move cursor to beginning/end of line&lt;/strong&gt; - Similar to &lt;code&gt;Home&lt;/code&gt;/&lt;code&gt;End&lt;/code&gt; keys on keyboards that have them. This will automatically move the cursor to the beginning or end of the line with A or E, respectively. Very useful for editing long commands.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;Ctrl + R&amp;gt;R&amp;gt;O/G&lt;/code&gt; - &lt;strong&gt;Seek and revive&lt;/strong&gt; - This one looks strange, but it will make sense. Hit &lt;code&gt;Ctrl + R&lt;/code&gt; once and a prompt will show up showing the following message: &lt;em&gt;''bck-i-search:"&lt;/em&gt; and you can now type to search for any command in your history. You might remember running program but aren't sure about the arguments you used. Well, you can search for the program's name and the matches will show up in your terminal. Hit &lt;code&gt;Ctrl + R&lt;/code&gt; again to cycle through all the history entries that match your search. Hit &lt;code&gt;Ctrl + O&lt;/code&gt; when you find it to put it in your Terminal prompt and run it immediately. Alternatively, hit &lt;code&gt;Ctrl + G&lt;/code&gt; instead to leave the command in the terminal prompt without running, so you can edit it. Hence R&amp;gt;R&amp;gt;O/G.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;Ctrl + U&lt;/code&gt; - &lt;strong&gt;Delete everything behind the cursor's position&lt;/strong&gt; - Imagine you type a command, arguments, or even a oneliner and it fails. And you get a hint from the output in the likes of: &lt;em&gt;bash: command not found&lt;/em&gt;. You get it back to inspect it (remember: &lt;code&gt;Up arrow&lt;/code&gt;) and notice that there is a typo in the command. With this shortcut you can delete the command, fix the typo and keep the rest of the line intact.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Here is a second Mnemonic:&lt;br&gt;
&lt;strong&gt;Z&lt;/strong&gt;ombies &lt;strong&gt;A&lt;/strong&gt;re &lt;strong&gt;R&lt;/strong&gt;unning &lt;strong&gt;U&lt;/strong&gt;phill 🧟&lt;/p&gt;

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

&lt;p&gt;So, take home message: &lt;em&gt;Take Care Little Unicorn, Zombies Are Running Uphill&lt;/em&gt;. Use this mnemonic, create your own, pin this blog post, copy the Mini-cheatsheet, ... Whatever works best for you. Just keep in mind that the more you use the shortcuts, the more they will stick with you, and the more productive you will be in your Terminal.&lt;/p&gt;

&lt;p&gt;Now here is a Zombiecorn, because, why not?&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--tjeFp9W5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://encrypted-tbn0.gstatic.com/images%3Fq%3Dtbn:ANd9GcQJAzE7G9_xV08GwORMXCsjS94UuW0W3wrhRA%26usqp%3DCAU" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--tjeFp9W5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://encrypted-tbn0.gstatic.com/images%3Fq%3Dtbn:ANd9GcQJAzE7G9_xV08GwORMXCsjS94UuW0W3wrhRA%26usqp%3DCAU" alt="zombiecorn" width="225" height="225"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Mini-cheatsheet
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Mnemonic&lt;/th&gt;
&lt;th&gt;Shortcut&lt;/th&gt;
&lt;th&gt;Behavior&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Take&lt;/td&gt;
&lt;td&gt;&lt;code&gt;Tab&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Autocomplete&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Care&lt;/td&gt;
&lt;td&gt;&lt;code&gt;Ctrl + C&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Kill running command&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Little&lt;/td&gt;
&lt;td&gt;&lt;code&gt;Ctrl + L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Clear terminal screen&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Unicorn&lt;/td&gt;
&lt;td&gt;&lt;code&gt;Up/Down&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Cycle previous commands&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Zombies&lt;/td&gt;
&lt;td&gt;&lt;code&gt;Ctrl + Z&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Suspend running command&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Are&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;Ctrl + A&lt;/code&gt; / &lt;code&gt;Ctrl + E&lt;/code&gt;
&lt;/td&gt;
&lt;td&gt;Move cursor to beginning/end of line&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Running&lt;/td&gt;
&lt;td&gt;&lt;code&gt;Ctrl + R&amp;gt;R&amp;gt;O/G&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Search command history and re-apply line&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Uphill&lt;/td&gt;
&lt;td&gt;&lt;code&gt;Ctrl + U&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Delete all left of cursor position&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Refs
&lt;/h2&gt;

&lt;p&gt;Inpired by Waseem Mansour's &lt;a href="https://www.redhat.com/sysadmin/top-10-shortcuts"&gt;post&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>linux</category>
      <category>bash</category>
      <category>codenewbie</category>
    </item>
  </channel>
</rss>
