<?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: Sani</title>
    <description>The latest articles on DEV Community by Sani (@justplegend).</description>
    <link>https://dev.to/justplegend</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%2F314164%2F58df0b9e-eefa-43c5-840f-275332abbdcb.png</url>
      <title>DEV Community: Sani</title>
      <link>https://dev.to/justplegend</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/justplegend"/>
    <language>en</language>
    <item>
      <title>AI Tools 2026</title>
      <dc:creator>Sani</dc:creator>
      <pubDate>Fri, 27 Mar 2026 16:03:07 +0000</pubDate>
      <link>https://dev.to/justplegend/ai-tools-2026-333j</link>
      <guid>https://dev.to/justplegend/ai-tools-2026-333j</guid>
      <description>&lt;h3&gt;
  
  
  AI Tools to explore, test, learn and use to automate tasks, everday life in freelance, business in 2026 and next years. What do you think are worth?
&lt;/h3&gt;

&lt;p&gt;Do you have useful AI tools which help you  to achieve your daily tasks? &lt;br&gt;
Comment and share with DEV community. :) &lt;/p&gt;

&lt;h3&gt;
  
  
  List will be updated every week. So, let's start to use and update this list to be useful for everyone.
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;VOCAL REMOVER &lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
      &lt;div class="c-embed__body flex items-center justify-between"&gt;
        &lt;a href="https://vocalremover.org/" rel="noopener noreferrer" class="c-link fw-bold flex items-center"&gt;
          &lt;span class="mr-2"&gt;vocalremover.org&lt;/span&gt;
          

        &lt;/a&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This free online application will help remove vocals from a song by creating karaoke.&lt;/p&gt;

&lt;p&gt;Once you choose a song, artificial intelligence will separate the vocals from the instrumental ones. You will get two tracks - a karaoke version of your song (no vocals) and acapella version (isolated vocals).&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;KEYBOARD don't type, just speak.The voice-to-text AI that turns speech into clear, polished writing in every app.&lt;br&gt;
&lt;/p&gt;
&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
      &lt;div class="c-embed__body flex items-center justify-between"&gt;
        &lt;a href="https://wisprflow.ai/" rel="noopener noreferrer" class="c-link fw-bold flex items-center"&gt;
          &lt;span class="mr-2"&gt;wisprflow.ai&lt;/span&gt;
          

        &lt;/a&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;RESEARCH &lt;/p&gt;
&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
      &lt;div class="c-embed__body flex items-center justify-between"&gt;
        &lt;a href="https://www.perplexity.ai/" rel="noopener noreferrer" class="c-link fw-bold flex items-center"&gt;
          &lt;span class="mr-2"&gt;perplexity.ai&lt;/span&gt;
          

        &lt;/a&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;CLAUDE &lt;/p&gt;
&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
      &lt;div class="c-embed__body flex items-center justify-between"&gt;
        &lt;a href="https://claude.com/" rel="noopener noreferrer" class="c-link fw-bold flex items-center"&gt;
          &lt;span class="mr-2"&gt;claude.com&lt;/span&gt;
          

        &lt;/a&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;AI NOTEPAD &lt;br&gt;
&lt;/p&gt;
&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
        &lt;div class="c-embed__cover"&gt;
          &lt;a href="https://www.granola.ai/" class="c-link align-middle" rel="noopener noreferrer"&gt;
            &lt;img alt="" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.granola.ai%2Fopengraph-image.png%3Fd8119137ca8efcec" height="auto" class="m-0"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="c-embed__body"&gt;
        &lt;h2 class="fs-xl lh-tight"&gt;
          &lt;a href="https://www.granola.ai/" rel="noopener noreferrer" class="c-link"&gt;
            Granola — The AI Notepad for back-to-back meetings
          &lt;/a&gt;
        &lt;/h2&gt;
          &lt;p class="truncate-at-3"&gt;
            Granola helps you keep momentum on what matters. You stay present, Granola turns your conversations into a rich, searchable memory.
          &lt;/p&gt;
        &lt;div class="color-secondary fs-s flex items-center"&gt;
            &lt;img alt="favicon" class="c-embed__favicon m-0 mr-2 radius-0" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.granola.ai%2Ffavicon.ico%3Fv%3D2"&gt;
          granola.ai
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;

&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
        &lt;div class="c-embed__cover"&gt;
          &lt;a href="https://notebooklm.google/" class="c-link align-middle" rel="noopener noreferrer"&gt;
            &lt;img alt="" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fnotebooklm.google%2F_%2Fstatic%2Fbranding%2Fv4%2Fog%2Fnotebook_lm_share.png" height="auto" class="m-0"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="c-embed__body"&gt;
        &lt;h2 class="fs-xl lh-tight"&gt;
          &lt;a href="https://notebooklm.google/" rel="noopener noreferrer" class="c-link"&gt;
            Google NotebookLM | AI Research Tool &amp;amp; Thinking Partner
          &lt;/a&gt;
        &lt;/h2&gt;
          &lt;p class="truncate-at-3"&gt;
            Meet NotebookLM, the AI research tool and thinking partner that can analyze your sources, turn complexity into clarity and transform your content.
          &lt;/p&gt;
        &lt;div class="color-secondary fs-s flex items-center"&gt;
            &lt;img alt="favicon" class="c-embed__favicon m-0 mr-2 radius-0" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fnotebooklm.google%2F_%2Fstatic%2Fbranding%2Fv4%2Flight_mode%2Ffavicon%2Ffavicon.svg"&gt;
          notebooklm.google
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;VIDEO EDITING &lt;br&gt;
&lt;/p&gt;
&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
      &lt;div class="c-embed__body flex items-center justify-between"&gt;
        &lt;a href="https://kling.ai/" rel="noopener noreferrer" class="c-link fw-bold flex items-center"&gt;
          &lt;span class="mr-2"&gt;kling.ai&lt;/span&gt;
          

        &lt;/a&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;

&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
      &lt;div class="c-embed__body flex items-center justify-between"&gt;
        &lt;a href="https://www.opus.pro/" rel="noopener noreferrer" class="c-link fw-bold flex items-center"&gt;
          &lt;span class="mr-2"&gt;opus.pro&lt;/span&gt;
          

        &lt;/a&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;IMAGE EDITING &lt;br&gt;
&lt;/p&gt;
&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
        &lt;div class="c-embed__cover"&gt;
          &lt;a href="https://gemini.google/pt/overview/image-generation/?hl=pt-PT" class="c-link align-middle" rel="noopener noreferrer"&gt;
            &lt;img alt="" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flh3.googleusercontent.com%2F1E500rkSh8Gqkz2l12tkrKkMgsDmbQot0h3afeiRukXNficphb2zEE8o6J3dSKkiDGOOCcQ8WtRYzEYudgiYK9FkoQeYg_SP92-C%3De365-pa-nu-w1200-rj" height="auto" class="m-0"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="c-embed__body"&gt;
        &lt;h2 class="fs-xl lh-tight"&gt;
          &lt;a href="https://gemini.google/pt/overview/image-generation/?hl=pt-PT" rel="noopener noreferrer" class="c-link"&gt;
            Nano Banana 2: o gerador de imagens e editor de fotos de IA do Gemini
          &lt;/a&gt;
        &lt;/h2&gt;
          &lt;p class="truncate-at-3"&gt;
            Com o Nano Banana 2, o gerador de imagens e editor de fotos de IA do Gemini, pode criar imagens de alta qualidade e transformar fotos em inúmeras novas criações.
          &lt;/p&gt;
        &lt;div class="color-secondary fs-s flex items-center"&gt;
            &lt;img alt="favicon" class="c-embed__favicon m-0 mr-2 radius-0" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgemini.google%2Fimages%2Fspark_4c.png"&gt;
          gemini.google
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;PRESENTATION, WEBSITE, SOCIAL MEDIA &lt;/p&gt;
&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
      &lt;div class="c-embed__body flex items-center justify-between"&gt;
        &lt;a href="https://gamma.app/" rel="noopener noreferrer" class="c-link fw-bold flex items-center"&gt;
          &lt;span class="mr-2"&gt;gamma.app&lt;/span&gt;
          

        &lt;/a&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Turn your ideas into AI generated websites, also you can design social media that pops powered by AI. &lt;/p&gt;

&lt;p&gt;Gamma is one very interest AI app, which can be useful to create fast mini websites useful for presentation, one of the things which I create it was notes about instalation Docker in VirtualBox, setup Docker and use it for testing purposes. How that look, you can see on this &lt;a href="https://docker-ubuntu-2404-verif-rnxsf1u.gamma.site/" rel="noopener noreferrer"&gt;link&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;In Images, you have different options: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Image upload or URL&lt;/li&gt;
&lt;li&gt;Stock photos&lt;/li&gt;
&lt;li&gt;GIPHY&lt;/li&gt;
&lt;li&gt;AI Images ..
&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%2Fepmqmjs364yfo0ufbwta.png" alt=" "&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;TEXT - pretty good AI is in the text, even in Slavic languages, but pay attention because sometime make a mistake, then you need to correct words, sentence or correct everything to make sense when the user is reading the text. &lt;/p&gt;

&lt;p&gt;GENERATED BUTTONS with LINKS are correct and lead you on the correct site, you can change color of button, style , alignment. If you want revert the changes, you can use keyboard buttons CTRL+Y or CTRL+Z depends which type of keyboard user is use. &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%2Fzi79hjykkeordaerdjyh.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%2Fzi79hjykkeordaerdjyh.png" alt=" "&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you find this useful, you can &lt;a href="////buymeacoffee.com/sanidivergu"&gt;buy me coffee&lt;/a&gt; and support my work and researching.&lt;/p&gt;

</description>
      <category>ai</category>
    </item>
    <item>
      <title>How to fix problem: Can't extend partition C:?</title>
      <dc:creator>Sani</dc:creator>
      <pubDate>Sat, 27 Dec 2025 20:54:34 +0000</pubDate>
      <link>https://dev.to/justplegend/how-to-fix-problem-cant-extend-partition-c-4n9c</link>
      <guid>https://dev.to/justplegend/how-to-fix-problem-cant-extend-partition-c-4n9c</guid>
      <description>&lt;p&gt;If you find value in what I offer don't hesitate and &lt;a href="https://buymeacoffee.com/sanidivergu" rel="noopener noreferrer"&gt;buy me a coffee&lt;/a&gt; 😇&lt;/p&gt;

&lt;p&gt;Sometimes user want to extend partition C: in Windows and one of usually problems is that we have healthy partition or another type of partition between Windows C: and UNALLOCATED SPACE. Problem can be very frustrated, especially if you need URGENTLY SPACE on disk where is primary system.&lt;/p&gt;

&lt;p&gt;In the Computer Management, in part Disk Management we can see all our partitions. &lt;br&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%2Ffxqamwnzndkt5zo08at4.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%2Ffxqamwnzndkt5zo08at4.png" alt=" " width="800" height="383"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Usually problem for extend the Windows (C:) partition is that Healthy(Recovery Partition) is between &lt;strong&gt;Unallocated space and partition (C:),&lt;/strong&gt;  but in my case is that I have system Ubuntu partition, between Windows (C:) and UNALLOCATED space (before this was partition D:). &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;IMPORTANT: BEFORE ANY ACTION ON YOUR SYSTEM, MAKE BACKUP OF PARTITION D: !&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;THIS IS IMPORTANT, ESPECIALLY WHEN YOU DELETE PARTITION TO GET MORE SPACE TO EXTEND THE PARTITION C: . ALL DATA WHICH YOU HAVE ON PARTITION D: IT WILL BE LOST.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Open CommandPrompt AS ADMINISTRATOR:&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%2Fyl4distc9yc16qmi8pd7.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%2Fyl4distc9yc16qmi8pd7.png" alt=" " width="430" height="119"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Command:       reagentc /disable    -  this command will disable windows recovery environment&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Command:        diskpart&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Command:         list disk&lt;/strong&gt;    &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Command:         select disk 0&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Command:         list partition      - it will give list of partitions on our disk&lt;/strong&gt;&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%2F0ods10a24ujozgrttcq4.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%2F0ods10a24ujozgrttcq4.png" alt=" " width="800" height="648"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;::::::::::::::::::::::  LOSING DATA IN THESE NEXT STEPS ::::::::::::::::::::::&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;ATTENTION: IF YOU DON’T NEED LINUX SYSTEM, THIS NEXT STEPS WILL DELETE ALL DATA, INCLUDING SYSTEM LINUX.&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;Instead to select Recovery partition, I need to select Partition 6, because on that partition is my Linux and also Linux is between my unallocated space and partition Windows C:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;ATTENTION:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If in your case is Recovery partition, between UNALLOCATED SPACE (ex D: partition) and WIndows, then you need to choose that Recovery partition. The number of partition in your case can be very different. &lt;/p&gt;

&lt;p&gt;Command:    &lt;strong&gt;select partition 6&lt;/strong&gt;          → in my case Linux partition&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;        **select partition 5**         → in my case Recovery partition 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;After selecting partition, we need command:      &lt;strong&gt;detail partition&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;This command will give us all details about our partition 6 like Type, Required, Hidden, Attributes.. For us is very important Type and Attrib! &lt;strong&gt;WE MUST COPY THESE DETAILS ON THE SAFE PLACE, BECAUSE LATER WE WILL NEED IT FOR RECOVERY DELETED PARTITION.&lt;/strong&gt;&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%2Fgqqtp5vtplf4uetsyyf1.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%2Fgqqtp5vtplf4uetsyyf1.png" alt=" " width="800" height="503"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Command:     &lt;strong&gt;delete partition override&lt;/strong&gt; &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%2Fqgqjc6gzamcnwy7zidv1.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%2Fqgqjc6gzamcnwy7zidv1.png" alt=" " width="603" height="97"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When you come back to Computer Management on Windows, you will see that there is no partition 6 or partition 5 (Recovery). &lt;/p&gt;

&lt;p&gt;In Computer Management right click on partition C: and choose EXTEND VOLUME and follow Wizard to add UNALLOCATED SPACE TO PARTITION C: &lt;/p&gt;

&lt;p&gt;In your case, if is Recovery partition which is deleted, you need to RECREATE PARTITION, where you can add more space to new partition, it can be 1024GB (1GB) or more. Click on the button SHRINK. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;UNALLOCATED PARTITION&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Right click on the partition and choose &lt;strong&gt;New simple volume, go Next and on the next window choose “DO NOT ASSIGN A DRIVE LETTER OR DRIVE PATH”&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Following this step, in File explorer it will not appear New volume and you will not need to lost time to hide it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AFTER THIS STEP, GO TO COMMAND PROMPT (CMD) AND TYPE THE NEXT COMMANDS:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;COMMAND:            &lt;strong&gt;list partition&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In the list you will see new partition with 1024MB and maybe the new number of partition.Choose that partition in the next command, for example if number of that partition is 9, the command will be:  &lt;/p&gt;

&lt;p&gt;COMMAND:         &lt;strong&gt;select partition 9&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;After this selection of partition, we need to set ID and attributes:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;       set id= COPY_ID_OF_PARTITION_WHICH_IS_BEFORE_COPIED

 gpt attributes=COPY_ATTRIBUTES_OF_PARTITION_WHICH_IS_BEFORE_COPIED
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;In Computer Management you can see that is succefully created new partition with 1024MB of space for Recovery partition, or for new System depends on the needs of users. &lt;/p&gt;

&lt;p&gt;AT THE END, DO NOT FORGET TO ENABLE REAGENT WHICH IS ON THE BEGIN DISABLED:&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%2F9u2876l230hdoxnbqgb5.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%2F9u2876l230hdoxnbqgb5.png" alt=" " width="603" height="306"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>systems</category>
      <category>partition</category>
    </item>
    <item>
      <title>How to connect Powerbeats Pro 1 with Ubuntu 24.04.1 LTS (UPDATE)</title>
      <dc:creator>Sani</dc:creator>
      <pubDate>Mon, 19 May 2025 16:19:41 +0000</pubDate>
      <link>https://dev.to/justplegend/how-to-connect-powerbeats-pro-1-with-ubuntu-24041-lts-update-3jjh</link>
      <guid>https://dev.to/justplegend/how-to-connect-powerbeats-pro-1-with-ubuntu-24041-lts-update-3jjh</guid>
      <description>&lt;p&gt;I have always been huge fan of powerbeats but..when I need to connect this headphones with Ubuntu...there are always troubles :D &lt;/p&gt;

&lt;p&gt;The commands which was useful for me, after upgrading on Ubuntu 24.04.1 LTS and procedure are easy, just you need a little bit of patience. :D &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;First I check are my headphones still available on the list. There are two ways to do this: &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;a) using BT manager &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%2F19a7z0jyw7t2fjie0rky.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%2F19a7z0jyw7t2fjie0rky.png" alt=" " width="669" height="120"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;b) Using command in terminal: &lt;/p&gt;

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

&lt;/div&gt;

&lt;p&gt;Before using command devices the steps are: &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Execute the command: &lt;strong&gt;bluetoothctl&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Then use command &lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;   $ scan 
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;to scan devices new (if you don't see your headphones on list this command is useful), if you see your headphones on list then you can use next command to show you devices. &lt;/p&gt;

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

&lt;/div&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%2F00tlxr9dihrwj2q31djg.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%2F00tlxr9dihrwj2q31djg.png" alt=" " width="572" height="97"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;After this, then use command to pair your Ubuntu with Powerbeats, maybe you will get error message:&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;  "Failed to pair: org.bluez.Error.AlreadyExist"
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;In my case, I removed my headphones totally from Ubuntu and pair it again with Ubuntu. &lt;/p&gt;

&lt;p&gt;Commands: &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%2Fo8mljuqjm70janys6ega.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%2Fo8mljuqjm70janys6ega.png" alt=" " width="489" height="63"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;  $ power on 
  $ agent on 
  $ default-agent 
  $ scan on  
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;when you find your device, then you can execute command to turn off scaning: &lt;/p&gt;

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

&lt;/div&gt;

&lt;p&gt;Then I open BT manager in Ubuntu and I saw the icon of Powerbeats, click on icon with right click and you will see option "Connect" for Powerbeats and also in terminal [bluetooth], will be changed in [Powerbeats Pro]. &lt;/p&gt;

&lt;p&gt;Another option to pair your device with Ubuntu is using terminal, execute command:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;  # pair the_address_of_your_device
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;After that you should be able to use the gui to connect your headphones.&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%2Fek8nfnjb4pod74bl91rj.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%2Fek8nfnjb4pod74bl91rj.png" alt=" " width="585" height="238"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After these steps, your headphones should be connected with Ubuntu. &lt;/p&gt;

&lt;p&gt;When you want to turn off your heapdhones from Ubuntu, the best way is to TURN OFF BT in the right corner. &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%2Fp5glf2gwxrzus9dss3wb.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%2Fp5glf2gwxrzus9dss3wb.png" alt=" " width="335" height="142"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Next time when you need your headphones on laptop, then you TURN ON BT and on BT manager click on "Connect" for Powerbeats headphones. &lt;/p&gt;

&lt;p&gt;2.Another problem which can be is installation of &lt;strong&gt;pulseaudio-module-bluetooth&lt;/strong&gt;, to install module use commands: &lt;/p&gt;

&lt;p&gt;sudo apt install pulseaudio-module-bluetooth &lt;br&gt;
  pulseaudio -k&lt;br&gt;
  pulseaudio --start&lt;/p&gt;

&lt;p&gt;A common solution to this problem is restart PulseAudio. Note that it is perfectly fine to run bluetoothctl as root while PulseAudio runs as user. After restarting PulseAudio, retry to connect. It is not necessary to repeat the pairing.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;If these solution above doesn't work, try to load module-bluetooth-discover.&lt;/p&gt;

&lt;p&gt;$ sudo pactl load-module module-bluetooth-discover&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The same load-module command can be added to /etc/pulse/default.pa. If this does not work, or you are using PulseAudio's system-wide mode, also load the following PulseAudio modules (again these can be loaded via your default.pa or system.pa):&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;   $ module-bluetooth-policy
   $ module-bluez5-device
   $ module-bluez5-discover
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;If you don't hear immediately the sound, try to connect/disconnect in BT manager headphones and then should work normally. &lt;/p&gt;

&lt;p&gt;IF this solution worked and you find it useful, leave a comment..&lt;/p&gt;

&lt;p&gt;OR :)) &lt;/p&gt;

&lt;p&gt;If you find value in what I offer don't hesitate and BUY ME COFFEE: &lt;a href="https://buymeacoffee.com/sanidivergu" rel="noopener noreferrer"&gt;https://buymeacoffee.com/sanidivergu&lt;/a&gt;&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%2F5jnf36h1p4idudidx42x.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%2F5jnf36h1p4idudidx42x.png" alt=" " width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ubuntu</category>
      <category>learning</category>
      <category>powerbeats</category>
      <category>headphones</category>
    </item>
    <item>
      <title>How to publish Docker images to AWS ECR</title>
      <dc:creator>Sani</dc:creator>
      <pubDate>Wed, 10 Jul 2024 19:15:42 +0000</pubDate>
      <link>https://dev.to/justplegend/how-to-publish-docker-images-to-aws-ecr-1n8p</link>
      <guid>https://dev.to/justplegend/how-to-publish-docker-images-to-aws-ecr-1n8p</guid>
      <description>&lt;h3&gt;
  
  
  ABOUT ECS
&lt;/h3&gt;

&lt;p&gt;ECS - Elastic Container Service is to containers what EC2 is to virtual machines. ECS have to modes: &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;EC2 mode which uses EC2 instances as container hosts (you can see this inside your aws account). &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;FARGATE MODE - this is serverless way of running docker containers where AWS manage the container host part, you can architect your environment using containers. You don't need to provision the infrastructure (you don't need to manage EC2 instances,everything is serverless).&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;In Fragate mode(launch type) user need just to create a task definition to define own ECS tasks. Then AWS will run these ECS tasks for us based on how many CPU and RAM you need for task.&lt;/p&gt;

&lt;p&gt;ECR - Elastic Container Registry is managed Container image registry service, it’s like Docker Hub but this is for AWS, this mean that this is a service which AWS provide which hosts and manages container images. &lt;/p&gt;

&lt;p&gt;Every user which have AWS account has a &lt;strong&gt;PUBLIC and PRIVATE REGISTRY, EACH AWS account is provided with one of each. Every registry (PUBLIC or PRIVATE) can have many REPOSITORIES.&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;This is something like GitHub, Bitbucket where you can have so many repositories which are public or private. Just like on GitHub where you can have so many folders inside of repository, in ECR each repository can contain MANY CONTAINER IMAGES. &lt;/p&gt;

&lt;p&gt;IMAGES can have several tags and IMPORTANT &lt;strong&gt;IS THAT THESE TAGS ARE UNIQUE&lt;/strong&gt; within your repository in ECR.  &lt;/p&gt;

&lt;p&gt;PUBLIC means that anyone can have only READ-ONLY ACCESS to anything within that registry, but to have more power over repoistory, user will need to have read-write permissions for public repository.  Just like in Docker hub, if the repository is public you or other user can pull the image, but to push in this repository or make changes you need to have permissions.  &lt;/p&gt;

&lt;p&gt;PRIVATE ECS REPOSITORY  means that for anything READ-ONLY, READ-WRITE user will need permissions. Just like the name PRIVATE, it is private for anything and for anything you need permissions.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Setup own your own private container image registry using AWS ECR and publish images to it&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;BEFORE STARTING&lt;/strong&gt; it’s important that you have AWS CLI installed and you are logged in AWS&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;ECR is integrated with IAM (Permissions) . IAM is controlling permissions for access to ECS, anything within the product. This is similar for other products in AWS just like EC2, S3 etc..&lt;/p&gt;

&lt;p&gt;One of the cool features which ECR have is that offers security scanning on images, so we have: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Image scanning BASIC&lt;/li&gt;
&lt;li&gt;Image scanning ENHANCED → using inspector product&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Amazon Inspector automatically discover workloads and scans them for software vulnerabilities and unintended network exposure. Support compliance requirements and best practices for NIST, CSF, PCI, DSS and other regulations with Amazon Inspector scans.&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%2Fcw9p2trf87vsj1h8pstv.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%2Fcw9p2trf87vsj1h8pstv.png" alt="console-aws-ecs-ecr" width="800" height="376"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Leave visibility settings to private since we don’t want our images public for the world to be used. &lt;/p&gt;

&lt;h3&gt;
  
  
  DOCKER IMAGES ON AWS ECR AND REPOSITORY
&lt;/h3&gt;

&lt;p&gt;When you launch Docker containers on AWS, you are launching what's called and ECS TASK on ECS Cluster.&lt;/p&gt;

&lt;p&gt;If you want to have more images on AWS ECR, you need to create a single repository for every image that you want to publish up into AWS Elastic Container Registry.&lt;/p&gt;

&lt;p&gt;IF you have three different docker images you want to publish, you will need to create three separate containers for each. Why? Well, because the repository name here is actually going to line up directly with URL forward slash the image name that we’re going to use when we build and tag our images.&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%2Fml9jom5kdjmijwsf4zem.jpg" 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%2Fml9jom5kdjmijwsf4zem.jpg" alt="docker-ecr-images" width="457" height="463"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  CREATING REPOSITORY ON AWS ECR
&lt;/h3&gt;

&lt;p&gt;Login on your AWS account and in the console bar type AWS ECS. Click on the button below "Create a repository". In the new view you will need to fill data and create new repository for docker image. In the part "General settings" leave like on the picture "Private" and give your name to repository, it can be whatever you want or nodejs-repo or similar.&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%2Fobchtdzejx76xlm8h4s1.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%2Fobchtdzejx76xlm8h4s1.png" alt="creating-repository-on-ecr" width="800" height="566"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Other settings in “Create Repository” can be default, scroll down and click on “Create repository”.&lt;/p&gt;

&lt;p&gt;After creating repository, click on repository name and in the right corner you will see button “VIEW PUSH COMMANDS”. It will walk you how to push image on different OS, macOS/Linux, WIndows, which commands you need to type in terminal and push it.&lt;/p&gt;

&lt;p&gt;On this window you will see something like(in your account it will be different): 34235252452452332.dkr.ecr.us-east-1.amazonaws.com, copy it somewhere on safe because you will need it in next steps.&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%2Fyvykr1v871icvg7tq137.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%2Fyvykr1v871icvg7tq137.png" alt="created-private-repo" width="800" height="252"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  PUSHING DOCKER IMAGE ON ECR USING TERMINAL
&lt;/h3&gt;

&lt;p&gt;IMPORTANT: YOU WILL NEED TO HAVE ALREADY INSTALLED AWS CLI. If you don't have installed, you can use this this tutorial to install AWS CLI v2.0.&lt;/p&gt;

&lt;p&gt;In terminal we need to write some commands to:&lt;/p&gt;

&lt;p&gt;Retrieve an authentication token and authenticate your Docker client to your registry. Use the AWS CLI:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;aws ecr get-login-password --region us-east-1 | docker login --username AWS --password-stdin 5723528375274520.[dkr.ecr.us-east-1.amazonaws.com]&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;aws ecr get-login-password --region us-east-1 -&amp;gt;&amp;gt;&amp;gt; this will going to generate a login password for the actual Docker client and connect to ECR and it’s ging to PIPE that into the docker login command.&lt;/p&gt;

&lt;p&gt;It will take the password (stdin) that was created from aws ecr get-login-password and it’s going to pipe that into the docker login.&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%2F8gfc82njhkfm941uaq0f.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%2F8gfc82njhkfm941uaq0f.png" alt="cli-login" width="800" height="40"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After this command HIT enter, if the login was successful you will have message:&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%2Fc7oya90t981r085xwk74.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%2Fc7oya90t981r085xwk74.png" alt="login-success" width="800" height="125"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;IMPORTANT: This login HAS NOTHING TO DO WITH YOUR IAM PERMISSIONS IN AWS.&lt;br&gt;
If you try to push this image on your ECR, you will probably get error, because your IAM permissions/credetionals are not configured properly.&lt;/p&gt;

&lt;h3&gt;
  
  
  DOCKER BUILD IMAGE and PUSH ON ECR
&lt;/h3&gt;

&lt;p&gt;Build your Docker image using the following command:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;$ docker build . -t sun-repo-html-app&lt;/code&gt;&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%2Fvhz1c6zagnwjked5w2qp.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%2Fvhz1c6zagnwjked5w2qp.png" alt="build-docker" width="800" height="199"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After the build completes, tag your image so you can push the image to this repository:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;docker tag sun-repo-html-app:latest 5723528375274520[.dkr.ecr.us-east-1.amazonaws.com/sun-repo-html-app:latest](http://637423384432.dkr.ecr.us-east-1.amazonaws.com/sun-repo-html-app:latest)&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Run the following command to push this image to your newly created AWS repository:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;docker push 5723528375274520[.dkr.ecr.us-east-1.amazonaws.com/sun-repo-html-app:latest](http://637423384432.dkr.ecr.us-east-1.amazonaws.com/sun-repo-html-app:latest)&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;After pushing image on ECR, go to AWS console in ECR registry to check your image in your created repository on AWS.&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%2Fqmmpsbo0tnuoecnugj4p.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%2Fqmmpsbo0tnuoecnugj4p.png" alt="repo-of-pushed-image-on-ecr" width="800" height="199"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you go inside of latest folder, you can get more info: &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%2F3bpiclnxfwwl28806ite.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%2F3bpiclnxfwwl28806ite.png" alt="details-of-picture" width="800" height="337"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  DELETING LOCALLY DOCKER IMAGE AND PULL FROM ECR
&lt;/h3&gt;

&lt;p&gt;We will delete locally created docker image, so we can PULL it from AWS ECR. &lt;/p&gt;

&lt;p&gt;In terminal type: &lt;/p&gt;

&lt;p&gt;&lt;code&gt;$docker images&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;$ docker image rm your_image_id&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;For example: &lt;/p&gt;

&lt;p&gt;&lt;code&gt;$docker image 8e1d12601bcc&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;or using command&lt;/p&gt;

&lt;p&gt;&lt;code&gt;docker image ls | grep sun-repo-html-app&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;DOcker message that docker file is deleted locally:&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%2Fu6ig6rfy9zjmjfnfqptb.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%2Fu6ig6rfy9zjmjfnfqptb.png" alt="LOCALLY-DELETED-Docker-image" width="800" height="70"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  PULLING IMAGE FROM ECR
&lt;/h3&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%2Ftzx1i0e72j89wa6vmoi4.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%2Ftzx1i0e72j89wa6vmoi4.png" alt=" " width="800" height="176"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Checking with command docker images, that image is pulled from ECR:&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%2F4lk8g21mi6no6m0em8r0.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%2F4lk8g21mi6no6m0em8r0.png" alt="pulled-image-from-ecr" width="800" height="132"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  AWS FREE TIER
&lt;/h3&gt;

&lt;p&gt;As a new Amazon ECR customer, you get 500 MB per month of storage for your private repositories for one year as part of the &lt;a href="https://aws.amazon.com/free/" rel="noopener noreferrer"&gt;AWS Free Tier.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Both new and existing customers get 50 GB per month of always-free storage for their public repositories. You can anonymously (without using an AWS account) transfer 500 GB of data to the Internet from a public repository each month for free. If you sign up for an AWS account, or authenticate to Amazon ECR with an existing AWS account, you can transfer 5 TB of data to the Internet from a public repository each month for free. You also get unlimited bandwidth at no cost when transferring data from a public repository to AWS compute resources in any AWS Region.&lt;/p&gt;

&lt;p&gt;With Amazon ECR, there are no upfront fees or commitments. You pay only for the amount of data you store in your public or private repositories, and data transferred to the internet.&lt;/p&gt;

&lt;p&gt;Amazon ECR automatically encrypts images at rest using Amazon S3 server-side encryption or AWS KMS encryption and transfers your container images over HTTPS. You can configure policies to manage permissions and control access to your images using AWS Identity and Access Management (IAM) users and roles without having to manage credentials directly on your EC2 instances.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Error after upgrade on Ubuntu 24.04 "Oh no! Something went wrong"</title>
      <dc:creator>Sani</dc:creator>
      <pubDate>Thu, 13 Jun 2024 18:39:11 +0000</pubDate>
      <link>https://dev.to/justplegend/error-after-upgrade-on-ubuntu-2404-oh-no-something-went-wrong-1840</link>
      <guid>https://dev.to/justplegend/error-after-upgrade-on-ubuntu-2404-oh-no-something-went-wrong-1840</guid>
      <description>&lt;p&gt;Before upgrading on new version BACKUP ALL DATA!!!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I upgraded to Ubuntu 24.04 (from Ubuntu 22.04).&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;After rebooting and login on my account I saw white background with message "Oh no! Something went wrong!". I tried to Log out, but it was not successful. &lt;/p&gt;

&lt;p&gt;Solutions I read included next steps: &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Before Log out, press next &lt;strong&gt;CTRL+ALT+F3&lt;/strong&gt;. Login with your credentials and password. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Execute commands (of your wifi is disabled, then plug-in cable)&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo apt-get update &amp;amp;&amp;amp; sudo apt-get upgrade

sudo dpkg --configure -a

sudo apt-get clean &amp;amp;&amp;amp; sudo apt-get autoremove 

sudo reboot 
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If these steps doesn't resolve your problem, then execute these commands. Use again CTRL+ALT+F3&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;    sudo apt --fix-broken install

    sudo dpkg --configure -a 

    sudo apt-get update

    sudo reboot 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;This solution worked for me in error message "Oh no!Something get wrong."&lt;/p&gt;

&lt;p&gt;Did you have other errors in upgrading on Ubuntu 24.04? How did you resolved problems? &lt;/p&gt;

&lt;p&gt;If this was helpful share it with others to help each other. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;TIP Additional which worked for others is command:&lt;/strong&gt;&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;   sudo apt reinstall ubuntu-desktop
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;If you find value in what I offer don't hesitate and BUY ME COFFEE: &lt;a href="https://buymeacoffee.com/sanidivergu" rel="noopener noreferrer"&gt;https://buymeacoffee.com/sanidivergu&lt;/a&gt; :)&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%2Fso725vvqx6iyhp9x9zm9.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%2Fso725vvqx6iyhp9x9zm9.png" alt=" " width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>upgrade</category>
      <category>ubuntu</category>
      <category>linux</category>
    </item>
    <item>
      <title>How to connect Powerbeats Pro with Ubuntu 22.04</title>
      <dc:creator>Sani</dc:creator>
      <pubDate>Sat, 24 Feb 2024 20:26:32 +0000</pubDate>
      <link>https://dev.to/justplegend/how-to-connect-powerbeats-pro-with-ubuntu-2204-52mh</link>
      <guid>https://dev.to/justplegend/how-to-connect-powerbeats-pro-with-ubuntu-2204-52mh</guid>
      <description>&lt;p&gt;Sometimes Linux doesn't recognize immediately your headphones. In Ubuntu 22.04 you can do it on this way to work your headphones. &lt;/p&gt;

&lt;p&gt;Default setup for bluetooth you can find on the location: &lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; /etc/bluetooth/main.conf
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&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%2Fyhdr2ihedan6x0m1ohn3.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%2Fyhdr2ihedan6x0m1ohn3.png" alt=" " width="800" height="651"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To change some settings you need to go in the main.conf and instead of &lt;code&gt;ControllerMode= dual, change it to bredr&lt;/code&gt;, &lt;br&gt;
&lt;code&gt;ControllerMode= bredr&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;You can try it without deleting # in the front of ControllerMode. &lt;/p&gt;

&lt;p&gt;Edit file: &lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; sudo nano /etc/bluetooth/main.conf
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;After this, you need to restart bluetooth, using command: &lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; sudo /etc/init.d/bluetooth restart
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;In the next step go to Settings -&amp;gt; Bluetooth and discover your device Powerbeats Pro, Air Pods ... It should be on the list. If this method doesn't work. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;TRY NEXT&lt;/strong&gt;: &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;DELETE # IN THE FRONT OF ControllerMode&lt;/strong&gt;= bedr and then use command for restart bluetooth through CLI. &lt;/p&gt;

&lt;p&gt;If after restart through CLI doesn't work, then you should restart your computer. &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%2Fuvljkgb6t1rfhy9u2ycv.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%2Fuvljkgb6t1rfhy9u2ycv.png" alt="new-settings-for-bluetooth" width="800" height="124"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;UPDATE&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dev.to/justplegend/how-to-connect-powerbeats-pro-1-with-ubuntu-24041-lts-update-3jjh"&gt;How to connect on PBeats after upgrading Ubuntu on 24.04.1 LTS&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you find value in what I offer don't hesitate and BUY ME COFFEE: &lt;a href="https://buymeacoffee.com/sanidivergu" rel="noopener noreferrer"&gt;https://buymeacoffee.com/sanidivergu&lt;/a&gt;&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%2Fr65df8c2n5ner4t4yvuh.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%2Fr65df8c2n5ner4t4yvuh.png" alt=" " width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>tutorial</category>
      <category>headphones</category>
      <category>ubuntu</category>
      <category>connection</category>
    </item>
    <item>
      <title>How to Host Static Webpage-CloudFront, S3 and AWS ACM (part2)</title>
      <dc:creator>Sani</dc:creator>
      <pubDate>Sat, 10 Feb 2024 20:29:36 +0000</pubDate>
      <link>https://dev.to/justplegend/cloudfront-s3-and-aws-acm-part2-2e0c</link>
      <guid>https://dev.to/justplegend/cloudfront-s3-and-aws-acm-part2-2e0c</guid>
      <description>&lt;p&gt;In this part of tutorial, it will be imported ACM. What is ACM? AWS ACM is AWS Certificate Manager.&lt;/p&gt;

&lt;p&gt;We can use AWS Certificate Manager (ACM) to provision, manage, and deploy public and private SSL/TLS certificates for use with AWS services and your internal connected resources. ACM removes the time-consuming manual process of purchasing, uploading, and renewing SSL/TLS certificates. (source Amazon)&lt;/p&gt;

&lt;p&gt;More about security and ACM you can find on &lt;a href="https://aws.amazon.com/certificate-manager/features/" rel="noopener noreferrer"&gt;AWS Amazon web page&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;How to import ACM in AWS? &lt;/p&gt;

&lt;p&gt;In your AWS account, in search bar type ACM. On that page click on &lt;strong&gt;Request certificate&lt;/strong&gt; (name-of-your-registred-domain.com)&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%2F7socd5w0yzn277yvdjqe.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%2F7socd5w0yzn277yvdjqe.png" alt="service-acm" width="800" height="433"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Request public certificate&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%2Fx3lr6iw9i0bvt995eekk.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%2Fx3lr6iw9i0bvt995eekk.png" alt="public-certificate" width="800" height="279"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In domain name, type the name of your REGISTRED DOMAIN. In my case that is awsdevopsresources.com. Validation method and Key algorithm leave by default. &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%2Fevh9dt9umx1cuo4lq6gb.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%2Fevh9dt9umx1cuo4lq6gb.png" alt="domain-name" width="800" height="609"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You will need to wait a few minutes, until you see in Status that is the message Issued.&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%2F84o6e83xr3qskza0cs7w.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%2F84o6e83xr3qskza0cs7w.png" alt="issued-certificcate-acm" width="641" height="97"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In search box type CloudFront, select your created distribution. Click on EDIT button and add CNAME, alternate domain is your-registred-domain.com. If everything is fine with your ACM, click on box and choose your issued certificate. &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%2Fmfri30bnf7o4x4w6otoh.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%2Fmfri30bnf7o4x4w6otoh.png" alt=" " width="800" height="318"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After you Save the changes in distribution, in search box go to service Route 53, choose the name of your domain. In the new window click on button Create record.&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%2Fltfmo6rjyookgq8c87lw.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%2Fltfmo6rjyookgq8c87lw.png" alt="route-53" width="537" height="319"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Go in your browser and type name of your domain. In security of website, you will see that certificate is issued by Amazon.&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%2Fp0n5s5u7h6666kl0eifj.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%2Fp0n5s5u7h6666kl0eifj.png" alt="secure-web" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>security</category>
      <category>aws</category>
      <category>cybersecurity</category>
      <category>s3</category>
    </item>
    <item>
      <title>How to Host Static Webpage-CloudFront with S3 (part1)</title>
      <dc:creator>Sani</dc:creator>
      <pubDate>Wed, 07 Feb 2024 23:50:08 +0000</pubDate>
      <link>https://dev.to/justplegend/cloudfront-with-s3-part1-c48</link>
      <guid>https://dev.to/justplegend/cloudfront-with-s3-part1-c48</guid>
      <description>&lt;p&gt;In these steps we will use AWS service CloudFront with S3 bucket. In the next tutorial (part 2), we will add ACM certificate, use Route 53 and improve security of website. &lt;/p&gt;

&lt;p&gt;CloudFront is &lt;strong&gt;Content Delivery Network (CDN)&lt;/strong&gt;, one of the benefits of this service is caching content. It improves the read performance, because the content of the website is cached at the different edge locations. The fact, that our content is cached all around the world , then your users all around the world will have: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;LOWER LATENCY&lt;/li&gt;
&lt;li&gt;IMPROVED THE USER EXPERIENCE BECAUSE OF LOW LATENCY&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The best thing is that AWS keeps on adding locations to improve user experience even in the future everywhere. Also the users are protected by DDoS attacks, but you can use also Shield and Web Application Firewall. &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%2Fobg1ghqdx329o2ztezts.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%2Fobg1ghqdx329o2ztezts.png" alt="cloudfront-s3-edge-location" width="800" height="596"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In your AWS account, on the search bar type S3 bucket and create S3 bucket with unique name. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;a) Create S3 bucket to hold our files for distribution. Name of the bucket should be unique, per example below:&lt;/strong&gt;&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%2Fu45dgbcya27ebo6vm85t.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%2Fu45dgbcya27ebo6vm85t.png" alt="cloudfront-with-s3-create-bucket" width="800" height="441"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Everything else in setup leave by default: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Bucket versioning disabled&lt;/li&gt;
&lt;li&gt;Tags &lt;/li&gt;
&lt;li&gt;Default encryption &lt;/li&gt;
&lt;li&gt;IMPORTANT: Block Public Access (LEAVE - you will see later why)

&lt;ul&gt;
&lt;li&gt;Object ownership : ACLs disabled&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;b) Upload your files in the bucket&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;c) If we try to open index.html (object URL), we will get the message "persmission is denied".&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;d) If we try and go on button "Open" , this generates pre-signed URL for S3 object, which allow us you to see your object.&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;You won't see the image, however, you should probably see the text. Why can't we see the image well? Because the image is not public (in our setup we blocked all public access for S3 for a reason.)&lt;/p&gt;

&lt;p&gt;To resolve this "problem" and to see our files we will use CloudFront. CloudFront allow us to see the files, and protect them as well, using distribution, OAI security, S3 policy. In the next steps, we will make secure access to our files using CloudFront.     &lt;/p&gt;

&lt;p&gt;In the search bar, type CloudFront and in the right corner you will see that is writing Global. Why? &lt;br&gt;
CloudFront is global service, you can make global distribution and use all benefits of security for your website. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Click on "Create distribution"&lt;/strong&gt;&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Origin domain: here you will choose your S3 bucket which you create in previous step. 
               (also you can put here custom origin HTTP domain )

Origin access: 

    Public: This means that bucket itself must be public (we don't want that because of security)
    **Origin access control settings (OAC) (recommended): -----&amp;gt;&amp;gt;&amp;gt; choose this &amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;-----**
    Legacy access identities (this is used before)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Click on button "Create new OAC":&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%2Fr7frxyqkxj93y9qw4pbg.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%2Fr7frxyqkxj93y9qw4pbg.png" alt="create-new-oac-dialog" width="800" height="441"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click on "Create":&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%2Fbluedn3jvkuo0hh4oxpp.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%2Fbluedn3jvkuo0hh4oxpp.png" alt="create-new-oac" width="672" height="666"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After this, we need to update S3 policy, so that CLoudFront can access the files in S3 bucket, but in MORE SECURE WAY. Files are not PUBLIC, BUT they are SAFE!&lt;/p&gt;

&lt;p&gt;In this moment policy for S3 bucket is empty, public access is also blocked,so we need to edit bucket policy so CloudFront could access. &lt;/p&gt;

&lt;p&gt;To check permissions for S3, go to S3 bucket -&amp;gt; Permissions -&amp;gt; Edit and copy policy to allow CLoudFront access to files in S3.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;In CloudFront you can additional setup:&lt;/strong&gt; &lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;- Disable WAF
- Viewer protocol policy : Redirect from http to https
- Default root object is : **index.html**
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;You can see that we have option, also import ACM certificate in out distribution, but we will come back on this later and show how to import ACM.&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%2F1w4slyf7aiqlnl1bo0u9.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%2F1w4slyf7aiqlnl1bo0u9.png" alt="custom-certificate-import" width="800" height="284"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;FOR THIS PART OF DISTRIBUTION, AT THE END CLICK "CREATE DISTRIBUTION"&lt;/strong&gt;. We will need to wait a few minutes, maybe even 10 minutes, for our distribution to be created.&lt;/p&gt;

&lt;p&gt;After you click to create distribution, you will see yellow warning for S3 to update policy.&lt;/p&gt;

&lt;p&gt;You can click on &lt;strong&gt;Copy policy&lt;/strong&gt; and then click on sentence "Go to S3 and update policy." This will open new window with Bucket policy, where we need to click on Edit and paste the new policy to allow CloudFront access our files.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Click "Save changes" button.&lt;/strong&gt; &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%2Fggaork6j9b77ixrvrc12.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%2Fggaork6j9b77ixrvrc12.png" alt="warning-for-s3-policy" width="800" height="82"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
"Version": "2008-10-17",
"Id": "PolicyForCloudFrontPrivateContent",
"Statement": [
    {
        "Sid": "AllowCloudFrontServicePrincipal",
        "Effect": "Allow",
        "Principal": {
            "Service": "cloudfront.amazonaws.com"
        },
        "Action": "s3:GetObject",
        "Resource": "arn:aws:s3:::awsdevops-demo-bucket/*",
        "Condition": {
            "StringEquals": {
                "AWS:SourceArn": "arn:aws:cloudfront::55555555555555:distribution/KFHAKLFKFLASFHALSF"
            }
        }
    }
]
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Explanation of policy: &lt;/p&gt;

&lt;p&gt;We allow the platform service to get object on any file in our bucket (our-bucket/*), as long as the platform distribution is the one we created to access S3 bucket. This policy is generated by AWS and it's correct.&lt;/p&gt;

&lt;p&gt;Deploying distribution, we need to wait for message "deployed".&lt;/p&gt;

&lt;p&gt;When you see message "&lt;strong&gt;DEPLOYED&lt;/strong&gt;", you will copy domain name which will look something like: &lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;https://dhssfjsj3w23.cloudfront.net 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Copy the link and in new browser paste it and click enter. You will need to see your page. &lt;/p&gt;

&lt;p&gt;First time you will retrieve  the webpage from S3, all other times when you access your pictures, it will be retrieved from the cache and you will have it immediately in your browser. &lt;/p&gt;

&lt;p&gt;If you find value in what I offer don't hesitate and BUY ME COFFEE: &lt;a href="https://buymeacoffee.com/sanidivergu" rel="noopener noreferrer"&gt;https://buymeacoffee.com/sanidivergu&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Instagram: aws.devops.resources&lt;br&gt;
Twitter:   awsdevopssource&lt;br&gt;&lt;br&gt;
GitHub: &lt;a href="https://github.com/awsdevopresources" rel="noopener noreferrer"&gt;https://github.com/awsdevopresources&lt;/a&gt;&lt;br&gt;
GitHub: &lt;a href="https://github.com/JustPLegend" rel="noopener noreferrer"&gt;https://github.com/JustPLegend&lt;/a&gt;&lt;/p&gt;

</description>
      <category>cloudfront</category>
      <category>aws</category>
      <category>s3</category>
      <category>security</category>
    </item>
    <item>
      <title>AWS CloudQuest Networking-Monitor and analyze Network Traffic</title>
      <dc:creator>Sani</dc:creator>
      <pubDate>Fri, 28 Jul 2023 19:57:08 +0000</pubDate>
      <link>https://dev.to/justplegend/aws-cloudquest-networking-monitor-and-analyze-network-traffic-2o9d</link>
      <guid>https://dev.to/justplegend/aws-cloudquest-networking-monitor-and-analyze-network-traffic-2o9d</guid>
      <description>&lt;ol&gt;
&lt;li&gt;Setup CloudWatch log group &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;In creating log group there is option for setup "retention setting". Retention setting can be used how long &lt;strong&gt;log events&lt;/strong&gt; are kept in CloudWatch Logs. They are very useful in detecting problems with applications in real time, because CloudWatch is service to monitor in real time situation in AWS. &lt;/p&gt;

&lt;p&gt;Expired log events get deleted automatically. Just like metric filters, retention settings are also assigned to log groups and the retention assignes to a log group is applied to their log stream. &lt;/p&gt;

&lt;p&gt;Option "Never expire" can increase your log storage &lt;strong&gt;COSTS.&lt;/strong&gt;&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%2Fqlr878xe3692utfadogm.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%2Fqlr878xe3692utfadogm.png" alt="cwatch-never-expire" width="800" height="345"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AWS System Manager&lt;/strong&gt;, feature Session Manager is fully managed AWS System Manager. Session Manager help users to manage services: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;EC2&lt;/li&gt;
&lt;li&gt;Edge devices&lt;/li&gt;
&lt;li&gt;On-premises servers&lt;/li&gt;
&lt;li&gt;Virtual Machines (VMs) &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Session Manager allow to user specify amount of time to allow a user to be inactive before the systems ends a session. &lt;/p&gt;

&lt;p&gt;If you are planning to play this task "Monitor and analyze Network", the task have error during connection on EC2 instance. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AWS Support is contacted so I hope so that it will be resolved soon.&lt;/strong&gt; You can see error on the &lt;a href="https://www.youtube.com/watch?v=cwmmf43w2aI" rel="noopener noreferrer"&gt;link&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>aws</category>
      <category>cloudquest</category>
      <category>cloud</category>
    </item>
    <item>
      <title>AWS Cloud Quest Networking</title>
      <dc:creator>Sani</dc:creator>
      <pubDate>Wed, 26 Jul 2023 14:06:29 +0000</pubDate>
      <link>https://dev.to/justplegend/aws-cloudquest-networking-3gem</link>
      <guid>https://dev.to/justplegend/aws-cloudquest-networking-3gem</guid>
      <description>&lt;p&gt;Solution for task "Connection on Premises Networks". &lt;/p&gt;

&lt;p&gt;Video about the problem and possible solutions for the company: &lt;a href="https://www.youtube.com/watch?v=vSNYygtX7xc" rel="noopener noreferrer"&gt;Problem and suggest for solution&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;PRACTICE mode &lt;a href="https://www.youtube.com/watch?v=LvPmFuIapDw" rel="noopener noreferrer"&gt;it's part of solution&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;IT'S IMPORTANT TO FINISH PRACTICE MODE TILL THE END, AND THEN USE THESE COMMANDS FOR TURN OFF AND TURN ON TUNNEL2. &lt;/p&gt;

&lt;p&gt;In practice mode is MUST to be turned both tunnels UP, on the beginning when user setup tunnels using configuration file, where are IP address and Customer Gateway. &lt;/p&gt;

&lt;p&gt;First file which you need to download is in Lab part on the beginning of practice mode, second file which is important to download is "Download Configuration" in &lt;strong&gt;VPN Connections&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Check the IP address of tunnel1 and tunnel2 and copy in &lt;a href="https://www.memonotepad.com/" rel="noopener noreferrer"&gt;https://www.memonotepad.com/&lt;/a&gt;, it can be useful to copy some details, like IP. &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%2Fiek9dl6di14osr9do194.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%2Fiek9dl6di14osr9do194.png" alt="vpn-tunnels" width="800" height="395"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;In the setting up tunnel1 and tunnel2 in practice mode, pay attention that all tunnels are UP. You will need to see that tunnel1 and tunnel2 are up. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;To turn off, tunnel1, you need to use command in DIY section.&lt;br&gt;
&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;   sudo strongswan down tunnel1
&lt;/code&gt;&lt;/pre&gt;

&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;To turn on tunnel2, use command :&lt;br&gt;
&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;   sudo strongswan up tunnel2
&lt;/code&gt;&lt;/pre&gt;

&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Check the status of tunnel:&lt;br&gt;
&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;   sudo strongswan status
&lt;/code&gt;&lt;/pre&gt;

&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;AWS CloudQuest Networking &lt;a href="https://www.youtube.com/watch?v=aytTu0NqVVk&amp;amp;list=PL5wpffL0WhBRoBCNQeNXJLfr6s1Gfm0mU" rel="noopener noreferrer"&gt;playlist problems, practice mode and solutions.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;GitHub &lt;a href="https://github.com/JustPLegend/AWS-Cloud-Quest-Networking" rel="noopener noreferrer"&gt;playlist&lt;/a&gt; for Cloud Quest Networking. &lt;/p&gt;

</description>
      <category>cloudquest</category>
      <category>aws</category>
      <category>game</category>
      <category>cloud</category>
    </item>
    <item>
      <title>CloudQuest Solution Architect -task Serverless</title>
      <dc:creator>Sani</dc:creator>
      <pubDate>Sun, 02 Jul 2023 11:22:42 +0000</pubDate>
      <link>https://dev.to/justplegend/cloudquest-solution-arhitect-471</link>
      <guid>https://dev.to/justplegend/cloudquest-solution-arhitect-471</guid>
      <description>&lt;p&gt;CloudQuest Solution Architect is for the people which have already knowledge of cloud or they passed AWS Certified Cloud Practitioner Certification.&lt;/p&gt;

&lt;p&gt;AWS Certified Cloud Practitioner is a good starting point on the certification journey, for individuals with no prior IT or cloud experience switching to a cloud career. More details for this certification is on the &lt;a href="https://aws.amazon.com/certification/certified-cloud-practitioner/" rel="noopener noreferrer"&gt;link&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;One of the best courses for learning all levels in AWS is using &lt;a href="https://learn.cantrill.io/" rel="noopener noreferrer"&gt;Cantril&lt;/a&gt; lectures with a lot of hands-on explanations, labs. &lt;/p&gt;

&lt;p&gt;Also, Cantrill have amazing &lt;a href="https://github.com/acantril" rel="noopener noreferrer"&gt;GitHub profile&lt;/a&gt;.&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%2Fk7drnydspbezbytrkcce.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%2Fk7drnydspbezbytrkcce.png" alt="github-cantrill" width="800" height="325"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Tutorials Dojo and Stephane Maarek, have very useful practice exams for cloud certifications from beginner to specialty certifications in AWS.&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%2Fk4vldruqicq8c3hurwfk.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%2Fk4vldruqicq8c3hurwfk.png" alt="tutorial-dojo" width="800" height="507"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Good practice would be to practice first these exams and then schedule real exam.&lt;/p&gt;

&lt;p&gt;After passing elementary exam to enroll in Cloud, you can start to prepare yourself for Solution Architect Associate. &lt;/p&gt;

&lt;p&gt;During your learning, one of the good things is to play CloudQuest game SAA to test your knowledge and understanding of services on Associate level. &lt;/p&gt;

&lt;p&gt;One of the task which was for me and most of the people problematic, it was the task "Lambda &amp;amp; Serverless". &lt;/p&gt;

&lt;p&gt;Problems:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;If you are not familiar with Python, then through this task you can understand that your programming skills are not the best and that you need give yourself additional time to learn Python.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Find useful courses and websites to better understand Python, at least to resolve this task in the game. &lt;br&gt;
Useful links to learn Python: &lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=nLRL_NcnK-4&amp;amp;t=10181s" rel="noopener noreferrer"&gt;Harvard CS50’s Introduction to Programming with Python – Full University Course&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.learnpython.org/" rel="noopener noreferrer"&gt;Learn Python&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://trinket.io/console" rel="noopener noreferrer"&gt;Interactive Trinket Python&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;After reading little bit about Python, trying to resolve some stuff using variables, lists etc.. I figure out how to resolve the task in the game. &lt;/p&gt;

&lt;p&gt;In the game SAA role in one of the tasks you need to change code and deploy it to work to finish solution. &lt;/p&gt;

&lt;p&gt;"Modify the Lambda function code to display different feeling values based on the emoji_type value in the JSON element."&lt;/p&gt;

&lt;p&gt;The code which work for me is in the next block:&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%2Fgh1b77nc9u4czumxa8zo.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%2Fgh1b77nc9u4czumxa8zo.png" alt="task" width="800" height="1310"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;AWS Lambda is a serverless, event-driven compute service that lets you run code for virtually any type of application or backend service without provisioning or managing servers. You can trigger Lambda from over 200 AWS services and software as a service (SaaS) applications, and only pay for what you use.&lt;/p&gt;

&lt;p&gt;Use cases of Lambda service in AWS: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Quickly process data at scale&lt;/li&gt;
&lt;li&gt;Run interactive web and mobile backends&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;AWS have option free tier, where you can use the AWS Lambda which includes one million free requests per month and 400,000 GB-seconds of compute time per month.&lt;/p&gt;

&lt;p&gt;During CloudQuest in &lt;a href="https://www.youtube.com/watch?v=TnNrMt9rH5k&amp;amp;list=PL5wpffL0WhBRqqWjL1a7Ly3KVk5cQ7N7q" rel="noopener noreferrer"&gt;video concepts&lt;/a&gt;  is usefull lessons about Lambda,AWS serverless platform, benefits, how it works, triggers, AWS Lambda invocation, error handling ...&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;ADVICE:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;To sharp more your skills and prepare yourself for SAA exam, try to resolve first on your own attempts, try to figure out alone..If even after so many attempts, you can't find solutions, always you can check my list of solutions, lessons and practice mode.&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Playlist with the lessons, solutions and practice mode of the CloudQuest game is on the &lt;a href="https://www.youtube.com/watch?v=TnNrMt9rH5k&amp;amp;list=PL5wpffL0WhBRqqWjL1a7Ly3KVk5cQ7N7q" rel="noopener noreferrer"&gt;youtube link&lt;/a&gt; &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Link on the &lt;a href="https://www.youtube.com/watch?v=5BmhEMTLRMc" rel="noopener noreferrer"&gt;youtube video&lt;/a&gt; to see the solution: &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;On the GitHub profile &lt;a href="https://github.com/awsdevopresources/CloudQuest-Solution-Arhitect" rel="noopener noreferrer"&gt;AWS DevOps Resources&lt;/a&gt; you can find also code and copy/paste to your solution. &lt;/p&gt;&lt;/li&gt;
&lt;/ul&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%2F0xh6agkeh9m8buspgf9b.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%2F0xh6agkeh9m8buspgf9b.png" alt=" " width="800" height="412"&gt;&lt;/a&gt;&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%2F56aea8hah99bs41oa0cg.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%2F56aea8hah99bs41oa0cg.png" alt=" " width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>cloud</category>
      <category>aws</category>
      <category>gamedev</category>
    </item>
    <item>
      <title>Try HackMe - AWS</title>
      <dc:creator>Sani</dc:creator>
      <pubDate>Thu, 08 Jun 2023 11:32:47 +0000</pubDate>
      <link>https://dev.to/justplegend/try-hackme-aws-54i8</link>
      <guid>https://dev.to/justplegend/try-hackme-aws-54i8</guid>
      <description>&lt;p&gt;In constantly researching for learning new things from DevOps world, cloud world, improving knowledge. &lt;/p&gt;

&lt;p&gt;I am subscribed on different topics and websites where I get info about new courses, very often free, but this AWS training unfortunately it's not free. But I think it's very useful for all new users, even experienced to check and try it. If you are lucky to have access this labs and you don't want learn and try, you can contact me and I will try for you :D. &lt;/p&gt;

&lt;p&gt;If you want to sign up for a premium membership within 7 days, follow this &lt;a href="https://tryhackme.com/signup?referrer=6186ebc3d4ebe5004a05cfee" rel="noopener noreferrer"&gt;LINK&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;On the popular web site try hack me it is available course "Attacking &amp;amp; Defending AWS Environments". &lt;/p&gt;

&lt;p&gt;To access this AWS training user need to be on paid Business and Education packages. Another thing is that AWS training can not be bought by individual users and you need minimum of 3 users within your business or education organisation to access this training.&lt;/p&gt;

&lt;p&gt;If you want to access this training and you are not part of Business or education, user can contact them using details on &lt;a href="https://tryhackme.com/business" rel="noopener noreferrer"&gt;https://tryhackme.com/business&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;Available courses to learn: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;IAM Credentials &lt;/li&gt;
&lt;li&gt;AWS IAM Enumeration &lt;/li&gt;
&lt;li&gt;The Quest for Least privilege&lt;/li&gt;
&lt;li&gt;AWS VPC (Virtual Private CLoud) Attack and Defense&lt;/li&gt;
&lt;li&gt;STS Credentials Lab&lt;/li&gt;
&lt;li&gt;AWS S3 Attack and Defense&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Some of this topics will be available in the future posts on DEV. &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%2Fn6xwki3pqcoc526lb84c.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%2Fn6xwki3pqcoc526lb84c.png" alt="try-hack-me" width="800" height="482"&gt;&lt;/a&gt;&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%2Fgdybe47p956mftewv6pf.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%2Fgdybe47p956mftewv6pf.png" alt="try-hack-me-aws" width="800" height="487"&gt;&lt;/a&gt;&lt;/p&gt;

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